PAY TITLE SAL
Hệ QTCSDL là một thành phần phần mềm hỗ trợ mô hình quan hệ và ngôn ngữ quan hệ. Một hệ QTCSDL là một chương trình reentrant được phân chia bởi nhiều thực thể hoạt động được gọi là các giao tác (transaction), chạy các chương trình CSDL. Khi chạy trên một máy tính vạn năng, hệ QTCSDL được tương tác với hai thành phần khác: hệ thống con truyền thông và hệ điều hành.
Kiến trúc chung của một hệ QTCSDL (tập trung) được mô tả như ở hình 1.7
Hình 1.7 Kiến trúc chung của HQTCSDL tập trung
Hệ thống con truyền thông cho phép tương tác HQTCSDL với các hệ thống con khác để truyền thông tin với các ứng dụng. Ví dụ, monitor đầu cuối cần truyền thông với HQTCSDL để chạy các giao tác tương tác. Hệ điều hành cung cấp sự tương tác giữa HQTCSDL với các tài nguyên của máy tính (bộ xử lý, bộ nhớ, chương trình điều khiển đĩa,…)
Các chức năng của một HQTCSDL thực hiện có thể được xếp tầng như hình 1.8, trong đó các mũi tên chỉ hướng của CSDL và luồng kiểm soát. Lấy cách tiếp cận trên xuống, các tầng là giao diện, kiểm tra, dịch, thực hiện, truy cập dữ liệu và quản trị tương thích.
Hệ thống con truyền thông
Hệ QTCSDL
Hệ điều hành
Chương trình 1 Chương trình n
Tầng giao diện quản trị giao diện đối với các ứng dụng. Có thể có nhiều giao diện như là SQL nhúng trong C hay QBE. Các chương trình ứng dụng CSDL được thực hiện trên các khung nhìn ngoài của CSDL. Với một ứng dụng, một khung nhìn là có lợi, biểu diễn sự cảm nhận cụ thể của nó với CSDL (được nhiều ứng dụng chia sẻ).
Một khung nhìn quan hệ là một quan hệ ảo suy từ các quan hệ cơ sở bằng việc áp dụng các phép toán đại số quan hệ. Quản trị khung nhìn bao gồm việc dịch các truy vấn của user từ dữ liệu bên ngoài thành dữ liệu quan niệm (các quan hệ cơ sở). Nếu truy vấn của user được diễn đạt trong tính toán quan hệ, truy vẫn áp dụng cho dữ liệu vẫn còn cùng một dạng.
Tầng kiểm tra (control layer) kiểm tra truy vấn bằng cách thêm vào các vị từ toàn vẹn ngữ nghĩa và vị từ quyền. Các ràng buộc toàn vẹn ngữ nghĩa và các quyền được chỉ rõ trong tính toán quan hệ. Dữ liệu ra của tầng này là một truy vấn được làm giàu trong tính toán quan hệ.
Tầng xử lý truy vấn (query processing layer) ánh xạ truy vấn thành một dãy tối ưu mức thấp hơn. Tầng này liên quan với thao tác. Nó phân tích truy vấn thành một cây phép toán quan hệ và cố gắng tìm thứ tự “tối ưu” của các phép toán. Kết quả được lưu trữ trong phương án thực hiện. Dữ liệu ra của tầng này là một truy vấn được diễn đạt trong đại số quan hệ (hoặc trong mã mức thấp hơn).
Tầng thực hiện (execution layer) điều khiền việc thực hiện phương án truy cập, bao gồm cả quản lý giao tác (commit, restart) làm đồng bộ hóa các phép toán quan hệ. Nó thông dịch các phép toán quan hệ bằng cách gọi tầng truy cập dữ liệu thông qua các truy vấn trích rút và cập nhật.
Tầng truy cập dữ liệu (data access layer) quản trị các cấu trúc dữ liệu thể hiện các quan hệ (files, indices). Nó cũng quản lý các buffer bằng việc lưu trữ các dữ liệu được truy cập đến các đĩa để nhận hoặc ghi dữ liệu.
Cuối cùng, tầng tương thích (consistency layer) quản lý các kiểm soát đồng thời và ghi nhật ký đối với các truy vấn cập nhật. Tầng này cho phép các giao tác, hệ thống, và các phương tiện khôi phục sau hư hỏng.
Relational calculus Relational calculus Relational algebra Retrieval/update Retrieval/update Relational calculus Interface Control Compilation Execution Data access Consistency Hình 1.8 Các tầng của HQTCSDL quan hệ