Ví dụ phép chia trong đại số quan hệ
Show Đại số quan hệ (relational algebra) dùng phổ biến trong lý thuyết cơ sở dữ liệu quan hệ là một bộ các toán tử và các quy tắc tương ứng có thể được sử dụng để thao tác trên các toán học (relation) và tạo ra kết quả là một quan hệ khác. Trước đây, đại số quan hệ ít được quan tâm cho đến khi Edgar F. Codd đưa ra mô hình dữ liệu quan hệ (relational model) vào năm 1970. Từ đó đến nay, đại số quan hệ được xem là nền tảng cho các ngôn ngữ truy vấn cơ sở dữ liệu. Dựa trên lý thuyết tập hợpCác phép toán dựa trên lý thuyết tập hợp thực hiện trên 2 quan hệ R và S bao gồm:
Để thực hiện các phép toán này, 2 quan hệ R và S phải khả hợp. Điều kiện để 2 quan hệ khả hợp bao gồm:
Kết quả của các phép toán này là 1 quan hệ có cùng thuộc tính với các quan hệ ban đầu Rút trích 1 phần quan hệPhép chọnPhép chọn (selection): trích ra các bộ (dòng) từ quan hệ R. Các bộ được trích phải thỏa mãn điều kiện p.
Ví dụ: Cho quan hệ “SINH_VIÊN” với dữ liệu:
Phép chiếuPhép chiếu (project): sử dụng để trích chọn giá trị của một vài thuộc tính của quan hệ R.
Ví dụ: Với quan hệ đã cho phía trên, cho biết họ tên và giới tính của các bạn sinh viên.
Kết hợp các quan hệTích Descartes
Ví dụ: Chúng ta có 2 quan hệ SINH_VIÊN và MÔN HỌC. Chúng ta sẽ có tất cả các trường hợp sinh viên đăng ký môn học (giả sử không có điều kiện nào ràng buộc).
Tất cả các trường hợp xảy ra là kết quả của phép tích Descartes giữa 2 quan hệ SINH_VIÊN và MÔN_HỌC.
Phép kếtPhép kết (theta-join $\theta$): tương tự như phép tích Descartes kết hợp với phép chọn. Điều kiện chọn gọi là điều kiện kết.
Phép kết bằng, kết tự nhiênNếu phép kết $\theta$ là phép so sánh bằng (=), thì phép kết đó được gọi là phép kết bằng (equi-join)
Phép kết ngoài (Outer Join)Trong một số trường hợp, chúng ta cần mở rộng phép kết để tránh mất thông tin. Ví dụ: tra cứu điểm thi của sinh viên. Với phép kết bình thường, chỉ những sinh viên có thông tin trong cả quan hệ SINH_VIÊN và ĐIỂM mới có ở kết quả. Tuy nhiên, trong một vài trường hợp, chúng ta cần thu về thông tin của cả sinh viên chưa có điểm. Để thực hiện phép kết ngoài, ban đầu chúng ta sẽ thực hiện phép kết và sau đó thêm vào kết quả của phép kết các bộ của quan hệ mà không phụ hợp với các bộ trong quan hệ kia. Có 3 loại kết ngoài:
|