สคีมาฐานข้อมูลคือชุดของข้อมูลเมตาที่อธิบายความสัมพันธ์ระหว่างอ็อบเจ็กต์และข้อมูลในฐานข้อมูล วิธีง่ายๆ ในการมองเห็นสคีมาคือให้คิดว่าเป็นกล่องที่มีตาราง กระบวนงานที่เก็บไว้ มุมมอง และสินทรัพย์ข้อมูลที่เกี่ยวข้อง สคีมากำหนดโครงสร้างพื้นฐานของกล่องนี้
บรรทัดล่าง
ในระดับพื้นฐาน สคีมาทำหน้าที่เป็นคอนเทนเนอร์สำหรับสินทรัพย์ข้อมูล อย่างไรก็ตาม ผู้จำหน่ายฐานข้อมูลหลายรายจัดโครงสร้างสคีมาของตนในรูปแบบต่างๆ ตัวอย่างเช่น Oracle ถือว่าทุกสคีมาเป็นบัญชีผู้ใช้ ในการสร้างสคีมาใหม่ ผู้ดูแลระบบฐานข้อมูลจะสร้างผู้ใช้ฐานข้อมูลใหม่โดยใช้ชื่อสคีมาที่ต้องการ
ทำไมสคีมาจึงสำคัญ
เนื่องจากสคีมาเป็นคุณลักษณะโครงสร้างพื้นฐานของฐานข้อมูล สภาพแวดล้อมฐานข้อมูลส่วนใหญ่จึงใช้การอนุญาตการเข้าถึงวัตถุในระดับสคีมา
ตัวอย่างเช่น ฐานข้อมูลของบริษัทอาจมีกลุ่มผู้ใช้ ผู้ใช้แต่ละรายมีสคีมา แต่การเข้าถึงสคีมาที่แตกต่างกันจะได้รับเป็นรายบุคคล และมีการอนุญาตอย่างละเอียดสำหรับผู้ใช้ภายนอกสคีมาหลัก
เครื่องมือจัดการฐานข้อมูลส่วนใหญ่ไม่แสดงรายการสคีมา แต่จะแสดงรายการฐานข้อมูลและผู้ใช้
ตัวอย่างเช่น บริษัทสร้างบัญชีผู้ใช้ (สคีมา) สำหรับบ๊อบและเจน นอกจากนี้ยังสร้างบัญชีสำหรับแผนกต่างๆ เช่น HR และการตลาด จากนั้นให้นักวิเคราะห์ในแต่ละแผนกเข้าถึงบัญชีสคีมาของแผนก
นักวิเคราะห์ HR สร้างตารางและมุมมองภายในสคีมา HR และให้สิทธิ์การเข้าถึงแก่ Bob เพื่ออ่าน (แต่ไม่เขียนถึง) ตาราง HR ที่แสดงรายการชื่อพนักงานและหมายเลขประจำตัวพนักงานนอกจากนี้ นักวิเคราะห์ HR อาจให้สิทธิ์ Jane ในการอ่านและเขียนตาราง HR ที่แสดงหมายเลขโทรศัพท์ของพนักงาน
การให้สิทธิ์การเข้าถึงด้วยวิธีนี้ เฉพาะบทบาทและผู้ใช้ที่เหมาะสมเท่านั้นที่สามารถอ่าน เขียน หรือแก้ไขข้อมูลในสินทรัพย์ข้อมูลที่มีอยู่ในตัวเองภายในฐานข้อมูลขนาดใหญ่ได้
เครื่องมือฐานข้อมูลทุกตัวใช้สคีมาเป็นวิธีการพื้นฐานในการแยกข้อมูลในสภาพแวดล้อมที่มีผู้ใช้หลายคน
เครื่องมือฐานข้อมูลที่แตกต่างกันปฏิบัติต่อผู้ใช้และสคีมาต่างกัน อ้างถึงเอกสารประกอบสำหรับกลไกฐานข้อมูลของคุณเพื่อค้นหารูปแบบไวยากรณ์และตรรกะที่ล้อมรอบผู้ใช้ สคีมา และการอนุญาต
การสร้างแบบแผน
สคีมาถูกกำหนดอย่างเป็นทางการโดยใช้ Structured Query Language (SQL) ตัวอย่างเช่น ใน Oracle คุณสร้างสคีมาโดยสร้างบัญชีผู้ใช้ที่เป็นเจ้าของ:
สร้างผู้ใช้บ๊อบ
ระบุโดยชั่วคราว_รหัสผ่าน
ตัวอย่างพื้นที่ตารางเริ่มต้น
QUOTA 10M บนตัวอย่าง
ชั่วคราว TABLESPACE temp
QUOTA 5M บนระบบ
PROFILE app_user
รหัสผ่านหมดอายุ;
ผู้ใช้รายอื่นได้รับสิทธิ์เข้าถึงสคีมาใหม่โดยอาศัยชื่อผู้ใช้หรือบทบาทอย่างน้อยหนึ่งบทบาทที่บัญชีผู้ใช้ถูกเพิ่มเข้าไป
สคีมาเทียบกับโมเดลข้อมูล
สคีมาไม่มีโครงสร้างภายในเพื่อดำเนินการใดๆ เช่นเดียวกับโมเดลข้อมูล แต่เป็นโครงสร้างพื้นฐานเพื่อรองรับการอนุญาตการแบ่งส่วนในฐานข้อมูล
โมเดลข้อมูลคือชุดของตารางและมุมมองที่เชื่อมกับคีย์เฉพาะ สินทรัพย์ข้อมูลเหล่านี้ร่วมกันเพื่อวัตถุประสงค์ทางธุรกิจ การนำโมเดลข้อมูลไปใช้กับสคีมาเป็นที่ยอมรับได้สำหรับโมเดลข้อมูลขนาดใหญ่และซับซ้อน การเชื่อมโยงโมเดลข้อมูลกับสคีมาทำให้สามารถบริหารจัดการฐานข้อมูลได้อย่างชาญฉลาด แต่ไม่จำเป็นตามหลักเหตุผลที่จะใช้สคีมาสำหรับโมเดลข้อมูลหรือจัดการกับโมเดลข้อมูลเป็นสคีมา
ตัวอย่างเช่น แผนกทรัพยากรบุคคลอาจรวมแบบจำลองข้อมูลสำหรับการตรวจทานผลการปฏิบัติงานของพนักงานไว้ในสคีมา แทนที่จะสร้างสคีมาสำหรับการรีวิวเหล่านี้ ตัวแบบข้อมูลสามารถอยู่ในสคีมา HR (พร้อมกับตัวแบบข้อมูลอื่นๆ) และยังคงมีความแตกต่างทางตรรกะผ่านคำนำหน้าของตารางและดูชื่อออบเจกต์ในตัวแบบข้อมูล
รูปแบบข้อมูลอาจใช้ชื่อที่ไม่เป็นทางการ เช่น รีวิวประสิทธิภาพ จากนั้นตารางและมุมมองทั้งหมดอาจนำหน้าด้วย pr_ ตารางรายชื่อพนักงานอาจถูกอ้างอิงเป็น hr.pr_employee โดยไม่ต้องมีสคีมาใหม่สำหรับการตรวจสอบประสิทธิภาพ
คำถามที่พบบ่อย
สคีมาฐานข้อมูลและสถานะฐานข้อมูลแตกต่างกันอย่างไร
รูปแบบฐานข้อมูลอธิบายฐานข้อมูล สถานะฐานข้อมูลหมายถึงเนื้อหาของฐานข้อมูลในช่วงเวลาหนึ่งและถือได้ว่าเป็นส่วนขยายของสคีมาฐานข้อมูล
สคีมาเชิงสัมพันธ์ของฐานข้อมูลคืออะไร
สคีมาเชิงสัมพันธ์จะสรุปความสัมพันธ์ระหว่างตารางและรายการที่เกี่ยวข้องกัน สคีมาอาจเป็นภาพประกอบกราฟิกหรือแผนภูมิ หรือเขียนด้วยโค้ด SQL ก็ได้