Chương 2 MÔ HÌNH DỮ LIỆU QUAN HỆ
3. Ngôn ngữ đại số quan hệ
3.9. Phép Kết Tự Nhiên (natural join)
Nếu θ được sử dụng trong phép kết trên là phép so sánh bằng (=) thì gọi là
phép kết bằng. Hơn nữa nếu Ai ≡ Bj thì phép kết bằng này được gọi là phép kết tự
nhiên. Phép kết tự nhiên là phép kết thường dùng nhất trong thực tế.
Ngơn ngữ với các phép tốn trên gọi là ngôn ngữ đại số quan hệ. Sau đây là
một vídụ về ngơn ngữ đại số quan hệ.
Ví dụ 2.6
Cho lược đồ CSDL dùng để quản lý điểm sinh viên được mô tả như ở ví dụ 2.1. Hãy thực hiện các yêu cầu sau bằng ngôn ngữ đại số quanhệ:
1. Lập danh sách các sinh viên lớp có mã lớp là CDTH2A, danh sách cần
MASV,HOTENSV
2. Lập danh sách sinh viên nữ và có mã khoa là “CNTT”, danh sách cần MASV,
HOTENSV.
3. Lập bảngđiểm thilần 1 của tất cả các môn cho sinh viên lớp CDTH2A, danh sách cần MASV, HOTENSV, TENMH, DIEMTHI.
4. Lập phiếu điểm thi lần 1 các môn cho sinh viên có MASV=”00CDTH189”. danh
sách cần MAMH,TENMH, DONVIHT, DIEMTHI. Giải:
BÀI TẬP THỰC HÀNH CỦA HỌC VIÊN
Bài 2.1. Hãy lập mơ hình dữ liệu quan hệ cho các bài toán quản lý 1.1, 1.2, 1.3, 1.4, 1.5. Hãy xác định khoá cho từng lược đồ cho mỗi bài toán trên.
Bài 2.2. Cho lược đồ cơ sở dữ liệu
Sinhvien(MASV,HTENSV,NU,NGAYSINH,NOISINH,TINH,MALOP) Lop(MALOP,TENLOP,MAKHOA) Khoa(MAKHOA,TENKHOA) Monhoc(MAMH,TENMH,DONVIHT) Giangvien(MAGV,HOTENGV,HOCVI,CHUYENNGANH,MAKHOA) Ketqua(MASV,MAMH,LANTHI,DIEMTHI) Phancong(MALOP,MAMH,MAGV)
Thực hiện các yêu cầu sau bằng ngôn ngữ đại số quan hệ:
a. Lập danh sách những sinh viên có hộ khẩu thường trú ở tỉnh “LONG AN”, danh sách cần các thông tin: MASV, HOTENSV, NGAYSINH, TENLOP
b. Lập danh sách các sinh viên của lớp có MALOP là CDTH2A, danh sách cần các thơng tin: MASV, HOTENSV, NGAYSINH, TINH.
c. Lập danh sách các giảng viên có cấp học vị là THAC SY của khoa có MAKHOA là “CNTT”, danh sách cần: MAGV, HOTENGV, CHUYENNGANH.
d. Lập bảng điểm thi lần 1 môn học “869” cho tất cả sinh viên thuộc hai lớp có MALOP là “CĐTH2A” và “CĐTH2B”, danh sách cần: MASV, HOTENSV, DIEMTHI.
e. Lập danh sách các giảng viên đã dạy lớp CĐTH2A, danh sách cần các thông tin: MAGV, HOTENGV,TENKHOA,HOCVI,TENMH.
f. Lập danh sách các môn mà lớp CDTH2A đã học, danh sách cần các thông tin: MAMH,TENMH,DONVIHT,HOTENGV.
g. Lập danh sách những giảng viên đã dạy sinh viên có MASV là “00CDTH189“, danh sách cần MAGV, HOTENGV, HOCVI, CHUYENNGANH, TENKHOA,TENMH
h. Lập danh sách các sinh viên có mã khoa “CNTT” có điểm thi lần 1 môn học “869” lớn hơn hoặc bằng 8, danh sách cần MASV, HOTENSV, DIEMTHI, TENLOP.
GỢI Ý BÀI TẬP
Áp dụng các quy tắc chuyển đổi từ E-R sang mơ hình dữ liệu quan hệ, ta có: - Chuyển đổi mỗi loại thực thể thành một lược đồ quan hệ (quy tắc 1). Ta có
các lược đồ quan hệ sau:
R1: KHÁCH HÀNG (makhachhang, tenkhachhang) R2: BÁO (mabao, tenbao, dongiaky, hinhthuc) R3: THỂ LOẠI (matheloai, tentheloai)
- Chuyển các quan hệ và bản số quan hệ:
+ Quan hệ Đặt/mua là quan hệ nhiều-nhiều có thuộc tính riêng, áp dụng quy
tắc 2, ta có được lược đồ quan hệ sau:
R4: ĐẶT BÁO (makhachhang, mabao, ngaydat, soky, thanhtien)
+ Quan hệ Thuộc là quan hệ một – nhiều (một cho nhánh THỂ LOẠI), áp
dụng quy tắc 3, ta có lược đồ quan hệ sau:
R5: BÁO (mabao, tenbao, dongiaky, hinhthuc, matheloai)
- Loại bỏ các lược đồ có tên trùng lặp (giữ lại lược đồ đã bổ sung thuộc tính), các lược đồ sau khi đã loại bỏ sẽ tạo nên mơ hình dữ liệu quan hệ cơ bản cần tìm Q, Q(R1, R3, R4, R5).