Từ điển dữ liệu chứa siêu dữ liệu (metadata), tức là dữ liệu về cơ sở dữ liệu. Từ điển dữ liệu rất quan trọng vì nó chứa thông tin như: cơ sở dữ liệu có gì, ai được phép truy cập, cơ sở dữ liệu lưu trữ vật lý ở đâu, v.v. Người dùng cơ sở dữ liệu thường không tương tác với từ điển dữ liệu, nó chỉ được xử lý bởi quản trị viên cơ sở dữ liệu.
Từ điển dữ liệu nói chung chứa thông tin sau:
- Tên tất cả các bảng cơ sở dữ liệu và schema của chúng.
- Chi tiết về tất cả bảng trong cơ sở dữ liệu, như chủ sở hữu, ràng buộc bảo mật, thời điểm tạo, v.v.
- Thông tin vật lý về bảng như vị trí lưu trữ và cách lưu trữ.
- Ràng buộc bảng như thuộc tính khóa chính, thông tin khóa ngoại, v.v.
- Thông tin về các view cơ sở dữ liệu hiển thị.
Đây là từ điển dữ liệu mô tả một bảng chứa chi tiết nhân viên.
| Tên trường (Field Name) | Kiểu dữ liệu (Data Type) | Kích thước hiển thị (Field Size for display) | Mô tả (Description) | Ví dụ (Example) |
|---|---|---|---|---|
| Mã nhân viên (Employee Number) |
Số nguyên (Integer) | 10 | ID duy nhất của mỗi nhân viên | 1645000001 |
| Tên (Name) | Văn bản (Text) | 20 | Tên nhân viên | David Heston |
| Ngày sinh (Date of Birth) | Ngày/Giờ (Date/Time) | 10 | Ngày sinh nhân viên | 08/03/1995 |
| Số điện thoại (Phone Number) | Số nguyên (Integer) | 10 | Số điện thoại nhân viên | 6583648648 |
Các loại từ điển dữ liệu khác nhau:
Từ điển dữ liệu chủ động (Active Data Dictionary)
Nếu cấu trúc cơ sở dữ liệu hoặc thông số kỹ thuật thay đổi tại bất kỳ thời điểm nào, nó phải được phản ánh trong từ điển dữ liệu. Đây là trách nhiệm của hệ quản trị cơ sở dữ liệu chứa từ điển dữ liệu.
Vì vậy, từ điển dữ liệu được cập nhật tự động bởi DBMS khi bất kỳ thay đổi nào được thực hiện trong cơ sở dữ liệu. Đây được gọi là từ điển dữ liệu chủ động vì nó tự cập nhật.
Từ điển dữ liệu bị động (Passive Data Dictionary)
Loại này không hữu ích hoặc dễ xử lý như từ điển dữ liệu chủ động. Từ điển dữ liệu bị động được duy trì riêng biệt với cơ sở dữ liệu có nội dung lưu trong từ điển. Nghĩa là nếu cơ sở dữ liệu được sửa đổi, từ điển dữ liệu không tự động cập nhật như trường hợp của Active Data Dictionary.
Vì vậy, từ điển dữ liệu bị động phải được cập nhật thủ công để khớp với cơ sở dữ liệu. Cần xử lý cẩn thận, nếu không cơ sở dữ liệu và từ điển dữ liệu sẽ out-of-sync (không đồng bộ).