-
Chương 1: CÁC KHÁI NIỆM CƠ BẢN
Các khái niệm cơ bản
-
Chương 2: MÔ HÌNH THỰC THỂ LIÊN KẾT
Mô hình thực thể liên kết
-
Chương 3: MÔ HÌNH CƠ SỞ DỮ LIỆU QUAN HỆ
Mô hình cơ sở dữ liệu quan hệ
-
Chương 4: ĐẠI SỐ QUAN HỆ
Các phép toán trên dữ liệu
-
Chương 5: RÀNG BUỘC TOÀN VẸN
-
Chương 6: PHỤ THUỘC HÀM
-
Chương 7: CHUẨN HÓA CƠ SỞ DỮ LIỆU
4.4 Truy vấn dữ liệu trong đại số quan hệ
Từ các phép toán đại số quan hệ vừa trình bày, người ta có thể viết các truy vấn dữ liệu trên các quan hệ. Một câu lệnh truy vấn dữ liệu có thể biểu diễn dưới dạng biểu thức đại số quan hệ hoặc biểu diễn bằng một cây phép toán quan hệ.
Cho Lược đồ Cơ sở dữ liệu của bài toán quản lý Công ty gồm các quan hệ:
- ĐƠNVỊ(TênĐV, MãsốĐV, MãNVQL, Ngàybắtđầu ).
- ĐƠNVỊ_ĐỊAĐIỂM(MãsốĐV, ĐịađiểmĐV)
- DỰÁN(TênDA, MãsốDA, ĐịađiểmDA, Tgbắtđầu, MãsốĐV)
- NHÂNVIÊN(Họđệm,Tên, MãsốNV, Ngàysinh, Địachỉ, Giớitính, HSL, MãsốĐV)
- NHÂNVIÊN_NGOẠINGỮ (MãsốNV, Ngoạingữ)
- THÂNNHÂN(MãsốNV, Tên, Giớitính, Ngàysinh, Quan hệ)
- NHÂNVIÊN_DỰÁN(MãsốNV, MãsốDA, Sốgiờ)
4.4.1. Biểu thức quan hệ
Ví dụ 4.17: Đưa ra Họ đệm, Tên và địa chỉ của tất cả các nhân viên làm việc cho đơn vị có tên là “Nghiên cứu”: (Các quan hệ TG1, TG2 là các kết quả trung gian)
- Chọn đơn vị có tên nghiên cứu, quan hệ kết quả là TG1
TG1 ← σTen= “Nghiêncứu” (ĐƠNVỊ)
- Nối quan hệ TG1 với quan hệ Nhân viên, quan hệ kết quả là TG2
TG2 ← (TG1 ∗ NHÂNVIÊN)
- Quan hệ KETQUA là phép chiếu các thuộc tính Họ đêm, Tên, Địa chỉ trên quan hệ TG2
KETQUA ← πHọđệm, Tên, Địachỉ (TG2)
Ví dụ 4.18: Với mỗi dự án đặt tại Hà nội, hãy liệt kê MãsốDA, TênĐV, Tên, Địachỉ, Ngàysinh của người quản lý đơn vị.
- Chọn ra các dự án có địa điểm đặt tại Hà nội, quan hệ kết quả là TG1
TG1 ← σDiadiemDA=”Hanoi”(DỰÁN)
- Nối quan hệ TG1 với quan hệ Đơn vị, quan hệ kết quả là TG2
TG2 ← (TG1 ∗ ĐƠNVỊ)
- Nối quan hệ TG2 với quan hệ Nhân viên, quan hệ kết quả là TG3
TG3 ← (TG2 * NHÂNVIÊN)
- Quan hệ Kết quả là phép chiếu trên các thuộc tính cần hiển thị trên quan hệ TG3
KẾTQUẢ ← πMãsốDA, TênĐV, Họđệm,Địachỉ, Ngàysinh(TG3)
Ví dụ 4.19: Hãy tìm tên của các nhân viên làm việc trên tất cả các dự án do đơn vị có mã số = 5 kiểm soát.
- Chọn ra các dự án do đơn vị số 5 kiểm soát và thực hiện chiếu lấy ra thuộc tính Mã số DA, quan hệ kết quả là TG1
TG1 ← πMãsốDA (σMã sốDV = 5 (DỰÁN))
- Chiếu lấy ra các thuộc tính Mã số NV, Mã số DA trên quan hệ Nhân viên – Dự án, quan hệ kết quả là TG2
TG2 ← πMãsốNV, MãsốDA (NHÂNVIÊN_DỰÁN)
- Thực hiện phép chia hai quan hệ TG2 cho TG1 trên thuộc tính chung Mã số DA, quan hệ kết quả là TG3
TG3 ← TG2 ÷ TG1
- Nối tự nhiên hai quan hệ TG3 và Nhân viên sau đó thực hiện phép chiếu các thuộc tính Họ đệm và tên để thu được kết quả cần tìm
KETQUA ← πHọđệm, Tên(TG3 * NHÂNVIÊN)
4.4.2. Cây đại số quan hệ
Ví dụ: Đưa ra Họ đệm, Tên và địa chỉ của tất cả các nhân viên làm việc cho đơn vị có tên là “Nghiên cứu”, ta có cây biểu thức quan hệ như sau: