Tải bản đầy đủ (.pdf) (50 trang)

Bài tập thực hành môn HQTCSDL - Đại số quan hệ

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (719.98 KB, 50 trang )

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)


 Đại số quan hệ là ngôn ngữ tập hợp (set
language) bao gồm các toán tử (operator)
thao tác trên 1 hay nhiều quan hệ để tạo
ra 1 quan hệ khác mà không làm thay đổi
các quan hệ ban đầu.
ÎCác toán hạng và kết quả đều là quan hệ
ÎKết quả của 1 phép toán có thể trở thành
toán hạng cho 1 phép toán khác Æ tính
bao đóng (closure)
3
BMHTTT 4
NN
NN
Đ
Đ


i s
i s


quan h
quan h


v
v
à
à
SQL

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

5 ph
é
é
p to
p to
á
á
n cơ b
n cơ b


n
n
 Phép chọn (selection)
 Phép chiếu (projection)
 Phép tích Descartes (Cartesian product)
 Phép hợp (union)
 Phép hiệu (difference)
6
BMHTTT 7
NN
NN
Ph
Ph
é
é
p ch
p ch



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

σ
F
(r) = {t|t ∈r và F(t) = true}
 Nếu quan hệ r có bậc là n và có k bộ thì
σ
F
(r) có bao nhiêu bậc và bộ?
Î Bậc là n và có tối đa là k bộ
8
BMHTTT 9
NN
NN
V
V
í
í
d
d


9
BMHTTT 10
NN
NN
Select Operation
Select Operation


Example
Example

■ 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

BMHTTT 11
NN
NN
Selection
Selection
11
σ
σ
PRICE<$2.0
PRICE<$2.0
(Product
(Product
)
)
σ
σ
PCODE =311452
PCODE =311452
(Product)
(Product)
BMHTTT 12
NN
NN
Ph
Ph
é
é
p chi
p chi
ế

ế
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 B C
α
α
β
β
10
20
30
40
1
1
1
2
A C
α
α
β
β
1
1
1
2
=
A C
α
β
β
1
1
2


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

ch Descartes
 Cho quan hệ r trên lược đồ R(A1,
A2, ,Am) và s trên lược đồ S(B1,B2,…,Bn)
 Phép tích Descartes của r và s là 1 quan
hệ trên lược đồ T(A1, A2, , Am, B1, B2,
….,Bn)
r x s = {(t1,t2, ,tm,tm+1,…Tm+n) |(t1,
t2, , tm) ∈ r và (tm+1, …, tm+n) ∈ s}
 Nếu quan hệ r có bậc là m, và k bộ
Và quan hệ s có bậc là n và l bộ thì r x s có
bao nhiêu bậc và bộ?
Î Bậc là m + n và có k x l bộ
15
BMHTTT 16
NN
NN
Cartesian
Cartesian
-
-
Product Operation
Product Operation


Example
Example
■ Relations r, s:
■ r x s:
A B
α

β
1
2
A B
α
α
α
α
β
β
β
β
1
1
1
1
2
2
2
2
C D
α
β
β
γ
α
β
β
γ
10

10
20
10
10
10
20
10
E
a
a
b
b
a
a
b
b
C D
α
β
β
γ
10
10
20
10
E
a
a
b
b

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
é
é

p hi
p hi


u
u
(intersection)
(intersection)
 Phép hợp của 2 quan hệ r và s
r ∪ s = {t | t ∈ r hay t ∈ s}
 Phép hiệu của 2 quan hệ r và s
r - s = {t | t ∈ r và t ∉ s}
Điều kiện: các quan hệ r và s phải có tính
khả hợp (union-compatible)
18
BMHTTT 19
NN
NN
Union
Union
19
BMHTTT 20
NN
NN
Intersect
Intersect
20
BMHTTT 21
NN
NN

Bi
Bi


u th
u th


c ph
c ph


c
c
 Tính σ
A=C
(
r x s
)

r x s
A B
α
α
α
α
β
β
β
β

1
1
1
1
2
2
2
2
C D
α
β
β
γ
α
β
β
γ
10
10
20
10
10
10
20
10
E
a
a
b
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
é
é

p to
p to
á
á
n suy d
n suy d


n
n
 Phép giao của 2 quan hệ r và s (suy dẫn)
r ∩ s = {t | t ∈ r và t ∈ s}
Điều kiện: các quan hệ r và s phải có tính
khả hợp (union-compatible)
22
BMHTTT 23
NN
NN
Ph
Ph
é
é
p k
p k
ế
ế
t
t
θ
θ

θ
θ
-
-
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
é

é
p k
p k
ế
ế
t
t
θ
θ
θ
θ
-
-
join
join
 Phép kết của 2 quan hệ r và s
r
A θ B
s = σ
A θ B
(r x s)
 Phép kết có tính giao hoán
24
BMHTTT 25
NN
NN
V
V
í
í

d
d


25

×