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 từ biến bộ hoặc biến miền
Câu lệnh truy vấn trong ngôn ngữ SQL
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
Ngôn ngữ đại số quan hệ
Dept. of IS - FIT - HNUE
Giớ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
Mỗi câu hỏi được biểu diễn thông qua việc áp dụng có thứ
tự một tập các phép tốn
Các phép tốn
Tập hợp: phép hợp, phép giao, phép hiệu và phép tích đề
các
Quan hệ: phép toán quan hệ như phép chọn, phép chiếu,
Dept. of IS - FIT - HNUE
phép kết nối, phép chia
Hai 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.
r2
r1
STT
Ho
Ten
GioiTinh
STT
Ho
Ten
GioiTinh
1
Trần
A
Nam
1
Trần
D
Nữ
2
Trần
B
Nam
2
Trần
E
Nữ
3
Trần
C
Nam
Dept. of IS - FIT - HNUE
Phép hợp
r1
r2
r1 r2 = { t | t r1 hoặc t r2}
STT
Ho
Ten
GioiTinh
1
Trần
A
Nam
2
Trần
B
3
Trần
C
STT
Ho
Ten
r1 r2
STT
Ho
Ten
GioiTinh
Nam
1
Trần
A
Nam
Nam
2
Trần
B
Nam
3
Trần
C
Nam
1
Trần
D
Nữ
E
Nữ
GioiTinh
1
Trần
D
Nữ
2
Trần
E
2
Trần
Nữ Dept. of IS - FIT - HNUE
Phép giao
r1
r1 r2 = { t | t r1 và t r2}
Ho
Ten
GioiTinh
Trần
E
Trần
Trần
Ho
Ten
GioiTinh
Nữ
Trần
B
Nam
B
Nam
Trần
E
Nữ
C
Nam
Trần
C
Nữ
r1 r2
r2
Ho
Ten
GioiTinh
Trần
B
Nam
Trần
Dept.
- HNUE
E of IS - FITNữ
Phép hiệu
r1
r1 - r2 = { t | t r1 và t r2}
Ho
Ten
GioiTinh
Trần
E
Trần
Trần
Ho
Ten
GioiTinh
Nữ
Trần
B
Nam
B
Nam
Trần
E
Nữ
C
Nam
Trần
C
Nữ
r2
r2 – r1
r1 - r2
Ho
Ten
Trần
C
GioiTinh
Ho
NamDept. of IS - FIT Trần
- HNUE
Ten
GioiTinh
C
Nữ
Phé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)
Dept. of IS - FIT - HNUE
(t1, t2) = (Trần, A, Nam, SF001, Hà nội)
Phé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
Ví dụ phép tích đề các
r1
Ho
r 1 x r2
Trần
r2
Đỗ
Ho
Nguyễn
Trần
A
Nữ
Trần
B
Nam
Đỗ
A
Nữ
Đỗ
B
Nam
Nguyễn
A
Nữ
Nguyễn
B
Nam
Ten
A
B
GioiTinh
Nữ
Nam
Ten
Dept. of IS - FIT - HNUE
GioiTinh
Phép chia
r1r2 = {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
Ví dụ phép chia
r2
r1
MaSV
MaMonHoc
Diem
MaMonHoc
HP1
SP1
HP1
5.0
HP2
SP1
HP2
7.5
HP3
SP2
HP3
4.5
SP1
HP3
8.0
SP2
HP2
Cho biết những mã sinh
viên đã có điểm tất cả
7.5
Dept. of IScác
- FIT - HNUE
học phần?
Ví dụ phép chia
r3 MaSV, MaMonHoc(r1)
r1
MaSV
MaMonHoc
Diem
MaSV
MaMonHoc
SP1
HP1
5.0
SP1
HP1
SP1
HP2
7.5
SP1
HP2
SP2
HP3
4.5
SP2
HP3
SP1
HP3
8.0
SP1
HP3
SP2
HP2
7.5
SP2
HP2
Dept. of IS - FIT - HNUE
Ví dụ phép chia
r3
MaSV
r2
MaMonHoc
MaMonHoc
HP1
SP1
HP1
HP2
SP1
HP2
HP3
SP2
HP3
SP1
HP3
SP2
HP2
r3 r2
MaSV
SP1
Dept. of IS - FIT - HNUE
Phé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
tr
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}
t[X]=(Trần, A)
X={Ho, Ten}
t=(Trần, A, Nam)
Dept. of IS - FIT - HNUE
Phép chiếu
Định nghĩa phép chiếu
X(r) = {t[X] | t r}
r
Ho
X={Ho, Ten}
X(r)
Ho
Ten
Ten
GioiTinh
Trần
E
Nữ
Trần
E
Trần
B
Nam
Trần
B
Trần
C
Nam
Trần
C
Dept. of IS - FIT - HNUE
Phép chọn
r
F(r) = {t | t r và F(t) đúng}
Ho
F: biểu thức logic xác định trên
Trần
E
Nữ
Trần
B
Nam
Trần
C
Nam
miền giá trị của các thuộc tính
thuộc tập U
F(r)
Ho
Ten
Ten
GioiTinh
GioiTinh
Trần
B
Nam
Trần
C
Nam
Dept. of IS - FIT - HNUE
F: GioiTinh = „Nam‟
Phé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
Ví dụ phép kết nối
r2
r1
Ho
Ten
NamLenLuong
Trần
E
2001
Trần
B
2000
Trần
C
2004
MocTangLuong
GhiChu
2001
r1 NamLenLuong MocTangLuong r2
Ho
Ten
NamLenLuong
MocTangLuong
Trần
E
2001
2001
Trần
B
2000
2001
Dept. of IS - FIT - HNUE
GhiChu