Data dictionary มี metadata คือ data about the database Data dictionary สำคัญมาก เพราะมีข้อมูลอย่าง: ฐานข้อมูลมีอะไรบ้าง ใครได้รับอนุญาตให้เข้าถึง ฐานข้อมูลจัดเก็บทางกายภาพที่ไหน ฯลฯ ผู้ใช้ฐานข้อมูลปกติไม่ได้โต้ตอบกับ data dictionary มันจัดการเฉพาะโดยผู้ดูแลฐานข้อมูล
Data dictionary โดยทั่วไปมีข้อมูลเกี่ยวกับต่อไปนี้ -
- ชื่อตารางฐานข้อมูลทั้งหมดและ schemas ของพวกเขา
- รายละเอียดเกี่ยวกับตารางทั้งหมดในฐานข้อมูล เช่น เจ้าของ ข้อจำกัดความปลอดภัย เมื่อไหร่สร้าง ฯลฯ
- ข้อมูลทางกายภาพเกี่ยวกับตาราง เช่น ที่จัดเก็บและวิธีการจัดเก็บ
- ข้อจำกัดของตาราง เช่น แอตทริบิวต์คีย์หลัก ข้อมูล foreign key ฯลฯ
- ข้อมูลเกี่ยวกับ database views ที่มองเห็นได้
นี่คือ data dictionary ที่อธิบายตารางที่มีรายละเอียดพนักงาน
| Field Name | Data Type | Field Size for display | Description | Example |
|---|---|---|---|---|
| Employee Number | Integer | 10 | Unique ID of each employee | 1645000001 |
| Name | Text | 20 | Name of the employee | David Heston |
| Date of Birth | Date/Time | 10 | DOB of Employee | 08/03/1995 |
| Phone Number | Integer | 10 | Phone number of employee | 6583648648 |
ประเภทของ data dictionary ที่แตกต่างกัน -
Active Data Dictionary
หากโครงสร้างฐานข้อมูลหรือข้อกำหนดเปลี่ยนแปลงที่จุดใดจุดหนึ่ง ควรสะท้อนใน data dictionary นี่คือความรับผิดชอบของระบบจัดการฐานข้อมูลที่ data dictionary อยู่
ดังนั้น data dictionary จะถูกอัปเดตโดยอัตโนมัติโดยระบบจัดการฐานข้อมูลเมื่อมีการเปลี่ยนแปลงในฐานข้อมูล นี่เรียกว่า active data dictionary เพราะมัน self-updating
Passive Data Dictionary
นี่ไม่ได้มีประโยชน์หรือง่ายต่อการจัดการเท่ากับ active data dictionary Passive data dictionary ถูกดูแลแยกจากฐานข้อมูลที่เนื้อหาถูกจัดเก็บใน dictionary นั่นหมายความว่าถ้าฐานข้อมูลถูกแก้ไข data dictionary จะไม่ถูกอัปเดตโดยอัตโนมัติเหมือนในกรณีของ Active Data Dictionary
ดังนั้น passive data dictionary ต้องอัปเดตด้วยตนเองเพื่อให้ตรงกับฐานข้อมูล ต้องจัดการอย่างระมัดระวัง ไม่เช่นนั้นฐานข้อมูลและ data dictionary จะ out of sync