BMHTTT
1
NN
NN
CHƯƠNG
CHƯƠNG
Đại số quan hệ
(Relational Algebra)
(Relational Algebra)
BMHTTT 2
NN
NN
N
N
ộ
ộ
i dung
i dung
Đại số quan hệ
5 phép toán cơ bản
3 phép toán suy dẫn
Phép giao
Phép kết: kết θ, kết bằng, kết tự nhiên, nửa
kết, kết ngoài
Phép chia
2
BMHTTT 3
NN
NN
Đại số quan hệ
(Relational Algebra)
SQL
Query thực chất là 1 biểu thức chứa các
toán tử của đại số quan hệ. Kết quả của
query cũng là 1 quan hệ.
Mối liên hệ giữa SQL và đại số quan hệ??
SQL là 1 ngôn ngữ phi thủ tục ( không xác
định các thủ tục được dùng để xử lý truy
vấn), còn đại số quan hệ theo hướng thủ
tục.
4
BMHTTT 5
NN
NN
5
SQL query
SQL query
Relational algebra Expression
Relational algebra Expression
Query Execution Plain
Query Execution Plain
Executable Code
Executable Code
Parser
Query Optimizer
Query Optimizer
Code generator
BMHTTT 6
NN
NN
5 ph
n (selection)
n (selection)
Các phép toán được thực hiện cho quan hệ r
trên lược đồ quan hệ R và điều kiện F.
Điều kiện F là 1 biểu thức luận lý có giá trị
true/false, nó bao gồm:
Các toán hạng là hằng hoặc tên thuộc
tính
Các phép toán so sánh =, ≠, <, ≤,>, ≥
Các phép toán luận lý not (¬), and (∧), or
(∨)
7
BMHTTT 8
NN
NN
Ph
Ph
é
é
p ch
p ch
ọ
ọ
n
n
Phép chọn trên r theo điều kiện F, ký hiệu
là σ
F
(r), cho kết quả là 1 quan hệ bao
gồm các bộ của r thỏa mãn điều kiện F
■ Relation r
A B C D
α
α
β
β
α
β
β
β
1
5
12
23
7
7
3
10
σ
A=B ^ D > 5
(r)
A B C D
α
β
α
β
1
23
7
10
ế
u (Projection operation)
u (Projection operation)
Cho quan hệ r trên R(A1, A2, ,Am) và tập
con các thuộc tính X={Aj1, Aj2, …, Ajn}
với j1, j2, , jn là các số nguyên phân biệt
nằm trong khoảng từ 1 đến m
Phép chiếu của r trên tập thuộc tính X cho
kết quả là 1 quan hệ
Π
X
(r) = {t | ∃ u∈ r sao cho t = u[X]}
Nếu quan hệ r có bậc là n và có k bộ thì
Π
X
(r) có bao nhiêu bậc và bộ?
Î Bậc là |X| và luôn có k bộ
12
BMHTTT 13
NN
NN
Project Operation
Project Operation
–
–
Example
Example
Relation
r
:
∏
A,C
(r)
BMHTTT 14
NN
NN
Projection
Projection
14
Π
P_DESCRIPT,PRICE
(PROJECT)
Π
PRICE
(PROJECT)
Π
P_CODE,PRICE
(PROJECT)
BMHTTT 15
NN
NN
Ph
Ph
é
é
p t
p t
í
í
ch Descartes
β
1
2
A B
α
α
α
α
β
β
β
β
1
1
1
1
2
2
2
2
C D
α
β
β
γ
α
β
β
γ
10
r
s
BMHTTT 17
NN
NN
V
V
í
í
d
d
ụ
ụ
17
PRODUCT x STORE
BMHTTT 18
NN
NN
Ph
Ph
é
é
p h
p h
ợ
ợ
p (union), ph
p (union), ph
é
é
Bi
Bi
ể
ể
u th
u th
ứ
ứ
c ph
c ph
ứ
ứ
c
c
Tính σ
A=C
(
r x s
)
r x s
A B
α
α
α
α
β
β
β
β
a
a
b
b
A B C D E
α
β
β
1
2
2
α
β
β
10
10
20
a
a
b
σ
A=C
(r x s)
BMHTTT 22
NN
NN
Ba ph
Ba ph
é
é
θ
θ
-
-
join
join
Cho quan hệ r trên R, quan hệ s trên S.
Gọi T = R ∪ S, các thuộc tính của R khác
với các thuộc tính của S, θ là 1 phép so
sánh. A ∈ R và B ∈ S là 2 thuộc tính có
thể so sánh với nhau bởi phép toán θ
Phép kết θ của r và s trên 2 thuộc tính A
và B, cho kết quả là 1 quan hệ q trên lược
đồ quan hệ T bao gồm các bộ t
Q(T) = {t | ∃ t
r
∈ r và t
s
∈ s với t[R] = t
r
và t[S] = t
s
và t[A] θ t[B] }
23
BMHTTT 24
NN
NN
Ph
Ph
é
d
d
ụ
ụ
25