แนะนำ, 2024

ตัวเลือกของบรรณาธิการ

ความแตกต่างระหว่างสคีมาและอินสแตนซ์

สคีมาและอินสแตนซ์เป็นเงื่อนไขสำคัญที่เกี่ยวข้องกับฐานข้อมูล ความแตกต่างที่สำคัญระหว่างสคีมาและอินสแตนซ์นั้นอยู่ในคำจำกัดความโดยที่สคีมานั้นเป็นคำอธิบายอย่างเป็นทางการของโครงสร้างของฐานข้อมูลในขณะที่อินสแตนซ์คือชุดของข้อมูลที่เก็บอยู่ในฐานข้อมูลในเวลาปัจจุบัน

อินสแตนซ์เปลี่ยนแปลงบ่อยมากในขณะที่สคีมารับการเปลี่ยนแปลงในลักษณะที่ไม่ค่อย

แผนภูมิเปรียบเทียบ

พื้นฐานสำหรับการเปรียบเทียบschemaตัวอย่าง
ขั้นพื้นฐานคำอธิบายของฐานข้อมูลสแนปชอตของฐานข้อมูลในช่วงเวลาหนึ่ง
เปลี่ยนการเกิดขึ้นหายากบ่อย
สถานะเริ่มต้นว่างเปล่ามีข้อมูลอยู่เสมอ

ความหมายของสคีมา

สคีมา คือการออกแบบที่สมบูรณ์ของฐานข้อมูลที่รู้จักกันว่าเป็น ความตั้งใจ มันคือชุดของวัตถุที่มีชื่อ ชื่อของตารางคอลัมน์ของแต่ละตารางประเภทข้อมูลทริกเกอร์แพคเกจมุมมองฟังก์ชั่นและวัตถุอื่น ๆ จะรวมอยู่ในสคีมา การเปลี่ยนแปลงใน schema นั้นไม่ได้ใช้บ่อยนัก แต่การเปลี่ยนแปลงในบางครั้งจำเป็นต้องนำมาใช้เป็นข้อกำหนดของการเปลี่ยนแปลงแอปพลิเคชัน การปรับเปลี่ยน schema หรือการเปลี่ยนแปลงเรียกว่า การปฏิวัติ schema

ลองมาตัวอย่างของฐานข้อมูลนักเรียน แผนภาพสคีมาสำหรับฐานข้อมูลนักเรียนอาจมีตารางเกี่ยวกับข้อมูลของนักเรียนเช่นชื่อรายละเอียดหลักสูตรผลการเรียนและข้อมูลอื่น ๆ ในแผนภาพไดอะแกรมด้านล่างเรากำลังสร้างเร็กคอร์ดสองรายการที่ชื่อเป็นนักเรียนและหลักสูตรที่มีคุณลักษณะของพวกเขา

ระบบฐานข้อมูลมี schemata ต่างๆคั่นตามระดับของนามธรรมเช่นทางกายภาพตรรกะและภายนอก / subschema โดยทั่วไปแล้ว DBMS จะช่วยให้มีหนึ่งฟิสิคัลหนึ่งตรรกะและหลายสกีมาย่อย

  • ฟิสิ คัลสคีมา เป็นระดับต่ำสุดของสคีมาซึ่งอธิบายวิธีการจัดเก็บข้อมูลบนดิสก์หรือที่เก็บข้อมูลฟิสิคัล
  • ตรรกะสคีมา คือระดับกลางของสคีมาซึ่งอธิบายถึงโครงสร้างของฐานข้อมูลให้กับผู้ออกแบบฐานข้อมูล นอกจากนี้ยังระบุความสัมพันธ์ที่มีอยู่ระหว่างข้อมูล
  • schema ภายนอก หรือ subschema เป็นระดับสูงสุดของ schema ซึ่งกำหนดมุมมองสำหรับผู้ใช้ปลายทาง

นิยามของอินสแตนซ์

อินสแตนซ์ คือข้อมูลที่รวบรวมในฐานข้อมูลในบางช่วงเวลาและเป็นที่รู้จักกันในชื่อ รัฐ หรือ ส่วนขยาย มันเป็นสแนปช็อตที่สถานะปัจจุบันหรือการเกิดขึ้นของฐานข้อมูลเป็นกรอบในขณะนั้น แต่ละครั้งเมื่อข้อมูลถูกแทรกหรือลบออกจากฐานข้อมูลจะเปลี่ยนสถานะของฐานข้อมูลนั่นคือสาเหตุที่อินสแตนซ์ของฐานข้อมูลเปลี่ยนแปลงบ่อยมาก

สคีมาของฐานข้อมูลถูกระบุไปยัง DBMS เมื่อมีการกำหนดฐานข้อมูลใหม่ในเวลานั้นฐานข้อมูลที่เกี่ยวข้องนั้นว่างเปล่าดังนั้นจึงมีอินสแตนซ์ที่ว่างเปล่า สถานะเริ่มต้นของฐานข้อมูลจะได้รับเมื่อฐานข้อมูลถูกโหลดครั้งแรกด้วยข้อมูลเริ่มต้น จากนั้นเป็นต้นไปทุกครั้งที่มีการอัปเดตข้อมูลเราจะได้รับอินสแตนซ์ฐานข้อมูลใหม่ ณ เวลาใดก็ตามมีสถานะปัจจุบันที่เชื่อมโยงกับฐานข้อมูล DBMS รับผิดชอบบางส่วนสำหรับการยืนยันอินสแตนซ์ที่ถูกต้องของฐานข้อมูลที่อินสแตนซ์มั่นใจโครงสร้างและข้อ จำกัด ที่ระบุในสคีมา

ลองทำตัวอย่างที่คล้ายกันในตัวอย่าง ที่นี่โครงสร้างนักเรียนจะมีเอนทิตีของตนเองในคุณลักษณะ

ความแตกต่างที่สำคัญระหว่างสคีมาและอินสแตนซ์

  1. สคีมาคือการแสดงการออกแบบของฐานข้อมูลในขณะที่อินสแตนซ์เป็นภาพรวมของฐานข้อมูลในช่วงเวลาหนึ่ง
  2. อินสแตนซ์เปลี่ยนแปลงบ่อยมากเมื่อใดก็ตามที่ข้อมูลถูกลบหรือเพิ่มในฐานข้อมูล เมื่อเทียบกับการเปลี่ยนแปลงในสคีมาเกิดขึ้นน้อยมาก
  3. ตัวอย่างเช่นสคีมาและอินสแตนซ์สามารถรับรู้ได้ง่ายโดยการเปรียบเทียบกับโปรแกรม ในช่วงเวลาของการเขียนโปรแกรมในภาษาการเขียนโปรแกรมตัวแปรของโปรแกรมนั้นถูกประกาศในตอนแรกซึ่งคล้ายกับคำจำกัดความของสคี นอกจากนี้ตัวแปรแต่ละตัวในโปรแกรมจะต้องมีค่าบางอย่างที่เกี่ยวข้องในช่วงเวลาหนึ่ง นี่คล้ายกับตัวอย่าง

ข้อสรุป

สคีมาและอินสแตนซ์นั้นสัมพันธ์กันอย่างใดอย่างหนึ่งสคีมาเป็นสถานะเริ่มต้นของฐานข้อมูลที่ฐานข้อมูลได้รับการออกแบบในตอนแรก ในทางตรงกันข้ามอินสแตนซ์เป็นสถานะเมื่อข้อมูลถูกโหลดลงในฐานข้อมูลหรือเมื่อมีการเปลี่ยนแปลงใด ๆ ที่ได้มาจากฐานข้อมูลที่เกี่ยวข้อง สคีมาคือคำอธิบายโดยละเอียดของโครงสร้างของฐานข้อมูลในขณะที่ข้อมูลที่จัดเก็บในช่วงเวลาเฉพาะในฐานข้อมูลนั้นเป็นที่รู้จักกันในชื่ออินสแตนซ์

Top