Từ nguyên tắc cơ bản của hệ thống cơ sở dữ liệu (phiên bản thứ 7) Phiên bản thứ 7 (trg 39)
Trong các DBMS có sự phân tách rõ ràng được duy trì giữa các mức khái niệm và mức bên trong, DDL được sử dụng để chỉ định lược đồ khái niệm. Một ngôn ngữ khác, ngôn ngữ định nghĩa lưu trữ (SDL) , được sử dụng để chỉ định lược đồ bên trong. Ánh xạ giữa hai lược đồ có thể được chỉ định bằng một trong hai ngôn ngữ này. Trong hầu hết các DBMS quan hệ hiện nay, không có ngôn ngữ cụ thể nào thực hiện vai trò của SDL. Thay vào đó, lược đồ bên trong được chỉ định bởi sự kết hợp của các chức năng, tham số và thông số kỹ thuật liên quan đến việc lưu trữ tệp. Những thứ này cho phép nhân viên DBA kiểm soát các lựa chọn lập chỉ mục và ánh xạ dữ liệu vào bộ lưu trữ. Đối với kiến trúc ba lược đồ thực sự , chúng ta sẽ cần một ngôn ngữ thứ ba, ngôn ngữ định nghĩa khung nhìn (VDL), để xác định các khung nhìn người dùng và ánh xạ của chúng cho lược đồ khái niệm, nhưng trong hầu hết các DBMS, DDL được sử dụng để xác định cả các lược đồ khái niệm và lược đồ bên ngoài. Trong các DBMS quan hệ, SQL được sử dụng trong vai trò của VDL để xác định các khung nhìn của người dùng hoặc ứng dụng như là kết quả của các truy vấn được xác định trước (xem Chương 6 và 7).
Trong các DBMS hiện tại, các loại ngôn ngữ trước thường không được coi là ngôn ngữ phổ biến; thay vào đó, một ngôn ngữ tích hợp toàn diện được sử dụng bao gồm các cấu trúc để định nghĩa lược đồ khái niệm, định nghĩa khung nhìn và thao tác dữ liệu. Định nghĩa lưu trữ thường được giữ riêng biệt, vì nó được sử dụng để xác định cấu trúc lưu trữ vật lý để tinh chỉnh hiệu năng của hệ thống cơ sở dữ liệu, thường được thực hiện bởi nhân viên DBA. Một ví dụ điển hình của ngôn ngữ cơ sở dữ liệu toàn diện là ngôn ngữ cơ sở dữ liệu quan hệ SQL (xem Chương 6 và 7), đại diện cho sự kết hợp của DDL, VDL và DML, cũng như các câu lệnh cho đặc tả ràng buộc, tiến hóa lược đồ và nhiều tính năng khác. SDL là một thành phần trong các phiên bản đầu tiên của SQL nhưng đã bị xóa khỏi ngôn ngữ để chỉ giữ nó ở cấp độ khái niệm và bên ngoài.
Cùng một nguồn tin cho biết, trên trang 201,
Mỗi RDBMS thương mại sẽ có, ngoài các lệnh SQL, một bộ lệnh để chỉ định các tham số thiết kế cơ sở dữ liệu vật lý, cấu trúc tệp cho các quan hệ và các đường dẫn truy cập như chỉ mục. Chúng tôi đã gọi các lệnh này là ngôn ngữ định nghĩa lưu trữ (SDL) trong Chương 2. Các phiên bản SQL trước đó có các lệnh để tạo chỉ mục, nhưng các lệnh này đã bị xóa khỏi ngôn ngữ vì chúng không ở cấp lược đồ khái niệm. Nhiều hệ thống vẫn có các CREATE INDEX
lệnh; nhưng họ đòi hỏi một đặc quyền đặc biệt. Chúng tôi mô tả điều này trong Chương 17.
Có vẻ như các thuật ngữ này VDL và SDL xuất phát từ Ba lược đồ , một ý tưởng trong những năm 1970. Theo tác giả này, họ đã ít nhiều được hợp nhất vào SQL một ngôn ngữ toàn diện, cố gắng giải quyết tất cả những điều này.
Tôi tin rằng họ cũng được tham khảo trong Thiết kế kiến trúc sơ bộ cho hệ thống phân cấp chức năng của máy tính cơ sở dữ liệu INFOPLEX. (1980) là "Khoa ngôn ngữ cơ sở dữ liệu" và "Xem lớp dịch". Tôi đã tìm thấy nhiều tài liệu tham khảo vào cuối thập niên 70 và đầu thập niên 80 để mô hình hóa ngôn ngữ và ngôn ngữ lưu trữ.
Lấy một ví dụ CREATE TABLE f (x int, y varchar(25));
. Ở đây, bạn đang xác định
- SDL: lưu trữ cho hàng
int, varchar(25)
.
- DDL: lược đồ:
f(x,y)
một tuple quan hệ với hai vị trí.
- VDL: "khung nhìn" vào nó, đây chỉ là một mối quan hệ có cùng tên với bảng.
Ngoài những thứ dường như trùng lặp với lưu trữ, hầu hết các cơ sở dữ liệu đều mở rộng thông số kỹ thuật để nói về các chỉ mục và như bạn đề cập đến các phụ trợ lưu trữ hoàn toàn khác biệt với mô hình khái niệm và giải quyết mô hình lưu trữ cụ thể.
Bạn có thể thấy điều này một lần nữa trong Hệ thống quản lý cơ sở dữ liệu: Hiểu và áp dụng công nghệ cơ sở dữ liệu (trg 210) là "Ngôn ngữ định nghĩa lưu trữ dữ liệu (DSDL)". Rất nhiều cuộc nói chuyện về CODASYL, RDL (Ngôn ngữ dữ liệu quan hệ), NDL (Ngôn ngữ dữ liệu mạng), IRDIS (Hệ thống từ điển tài nguyên thông tin).