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ệ