CHƢƠNG 4 Các ngôn ngữ thao tác trên quan hệ Tiến sĩ Lê Thị Tú Kiên Mục tiêu Biểu diễn một câu hỏi (truy vấn) trên CSDL quan hệ dưới dạng Biểu thức ngôn ngữ đại số quan hệ Biểu thức ngôn ngữ tân[.]
Trang 1CHƯƠNG 4
Các ngôn ngữ thao tác trên
quan hệ
Tiến sĩ: Lê Thị Tú Kiên
Trang 2Mục tiêu
Biểu diễn một câu hỏi (truy vấn) trên CSDL quan hệ dưới dạng
Nhận biết được sự tương đương giữa hai ngôn ngữ hình thức đại số quan hệ và ngôn ngữ tân từ
Hai ngôn ngữ hình thức là cơ sở của ngôn ngữ SQL
Dept of IS - FIT - HNUE
Trang 3Ngôn ngữ đại số quan hệ
Dept of IS - FIT - HNUE
Trang 4Giới thiệu
Là một trong hai ngôn ngữ hình thức của mô hình
dữ liệu quan hệ
Là ngôn ngữ có tính thủ tục
tự một tập các phép toán
Các phép toán
các
Trang 5Hai quan hệ khả hợp
Hai quan hệ là khả hợp nếu chúng cùng xác định trên một tập thuộc tính
STT Ho Ten GioiTinh
r1
STT Ho Ten GioiTinh
r2
Dept of IS - FIT - HNUE
Trang 6Phép hợp
r1 r2 = { t | t r1 hoặc t r2}
STT Ho Ten GioiTinh
STT Ho Ten GioiTinh
r2
r1
STT Ho Ten GioiTinh
r1 r2
Dept of IS - FIT - HNUE
Trang 7Phép giao
r1 r2 = { t | t r1 và t r2}
Ho Ten GioiTinh
Trần B Nam
Trần C Nam
Trần B Nam
r2
Ho Ten GioiTinh
r1 r2
Dept of IS - FIT - HNUE
Trang 8Phép hiệu
r1 - r2 = { t | t r1 và t r2}
Ho Ten GioiTinh
Trần B Nam
Trần C Nam
Trần B Nam
r2
r1 - r2
Ho Ten GioiTinh
r2 – r1
Dept of IS - FIT - HNUE
Trang 9Phép tích đề các
Bộ ghép nối
r1 xác định trên U1 và r2 xác định trên U2
t1= (a1, a2, , an) r1 và t2 = (b1, b2, …, bm) r2
(t1,t2) = (a1, a2, , an, b1, b2, …, bm)
Ví dụ: U1= {Ho, Ten, GioiTinh}, U2 = {SBD, DiaChi}
r1/U1 và r2/U2
t1 = (Trần, A, Nam) và t2 = (SF001, Hà nội)
(t1, t2) = (Trần, A, Nam, SF001, Hà nội) Dept of IS - FIT - HNUE
Trang 10Phép tích đề các
Định nghĩa phép tích đề các
r1 x r2 = {t= (a1, a2, , an, b1, b2, …, bm) | (a1, a2, , an) r1 và (b1, b2, …, bm) r2 }
Dept of IS - FIT - HNUE
Trang 11Ví dụ phép tích đề các
Ho Trần
Đỗ
Nguyễn
r1
Ten GioiTinh
r2
r1 x r2
Dept of IS - FIT - HNUE
Trang 12Phép chia
r1 r2 = {t | t= (am+1, am+2, , an):
(a1, a2, , am) r2, (a1, a2, , am, am+1, am+2, , an) r1}
Dept of IS - FIT - HNUE
Trang 13Ví dụ phép chia
r1
MaSV MaMonHoc Diem
r2
MaMonHoc
HP1
HP2
HP3
Cho biết những mã sinh viên đã có điểm tất cả các học phần?
Dept of IS - FIT - HNUE
Trang 14Ví dụ phép chia
r1
MaSV MaMonHoc Diem
MaSV MaMonHoc
r3 MaSV, MaMonHoc(r1)
Dept of IS - FIT - HNUE
Trang 15Ví dụ phép chia
r2
MaMonHoc HP1
HP2
HP3
MaSV
SP1
r3 r2
r3
MaSV MaMonHoc
Dept of IS - FIT - HNUE
Trang 16Phép chiếu
Bộ thu gọn
r: xác định trên tập thuộc tính U
X: một tập con thuộc tính của tập U
t r
t[X]: chỉ một thu gọn của bộ t trên tập thuộc tính X
Ví dụ
U ={Ho, Ten, GioiTinh}
X={Ho, Ten}
t=(Trần, A, Nam)
t[X]=(Trần, A)
Dept of IS - FIT - HNUE
Trang 17Phép chiếu
Định nghĩa phép chiếu
X(r) = {t[X] | t r}
Ho Ten GioiTinh
Trần E Nữ
Trần B Nam
Trần C Nam
r
Trần E Trần B Trần C
X(r) X={Ho, Ten}
Dept of IS - FIT - HNUE
Trang 18Phép chọn
F(r) = {t | t r và F(t) đúng}
F: biểu thức logic xác định trên
miền giá trị của các thuộc tính
thuộc tập U
F: GioiTinh = „Nam‟
Ho Ten GioiTinh
Trần B Nam Trần C Nam
r
Ho Ten GioiTinh
F(r)
Dept of IS - FIT - HNUE
Trang 19Phép kết nối
r1ABr2 = {(t,q) | t r1, q r2
và t[A] q[B] đúng}
Trong đó
r1/U1 và r2/U2
: <, , =, , >,
A U1 và B U2
Các giá trị của A và B có thể so sánh được với nhau
A B: biểu thức lôgic xây dựng trên phép so sánh được gọi là toán tử kết nối Dept of IS - FIT - HNUE
Trang 20Ví dụ phép kết nối
Ho Ten NamLenLuong
r1
MocTangLuong GhiChu
r2
Ho Ten NamLenLuong MocTangLuong GhiChu
2
r NamLenLuon gMocTangLuo ng
Dept of IS - FIT - HNUE