Bài giảng Cơ sở dữ liệu - Bài 4: Đại số quan hệ
Bài 4. Đại số quan hệ
I. Đại số quan hệ
Đại số quan hệ là cơ sở của một ngôn ngữ bậc
cao để thao tác trên các quan hệ. Đại số quan hệ gồm 8
phép toán cơ bản. Bằng các phép toán này, ta có thể trích
dữ liệu từ một hay nhiều quan hệ để tạo ra các quan hệ
mới.
II. Các phép toán lý thuyết tập hợp
-Gọi r là quan hệ trên tập thuộc tính R={A1, ..,An}.
Giả thiết rằng r là tập hữu hạn các bộ.
- Khái niệm khả hợp : Hai lược đồ quan hệ R1 và
R2 được goị là khả hợp nếu có cùng bậc n và
DOM(Ai) = DOM(Bi) (1in)
- Cho hai quan hệ R1=(A1,A2,..An) và
R2=(B1,B2,..,Bn) là hai quan hệ khả hợp, ta có định
nghĩa:
1.Phé p hợp
é
Hợp của hai quan hệ r và s khả hợp, kí hiệu là r s là tập
các bộ thuộc r hoặc s hoặc thuộc cả hai quan hệ.
Biểu diễn hình thức:
r s = { t/ t r hoặc t s hoặc t r và s }
Ví dụ :
r ( A B C)
___________
a1 b1 c1
a2 b1 c2
a2 b2 c1
s ( A B C)
__________
a1 b1 c1
r s = ( A B C)
_________________
a1 b1 c1
a2 b2 c2
a2 b1 c2
a2 b2 c2
a2 b2 c1
2. Phé p giao
é
Giao của hai quan hệ r và s khả hợp, kí hiệu là
r s là tập các bộ thuộc cả quan hệ r và s .
Biểu diễn hình thức :
r s = { t/ t r và t s }
Ví dụ : Với hai quan hệ ở ví dụ trên, giao của chúng
là:
r s = ( A B C )
a1 b1 c1
3. Phé p trừ
é
Hiệu của hai quan hệ r và s khả hợp, kí hiệu là r - s
là tập các bộ thuộc r nhưng không thuộc s .
Biểu diễn hình thức :
r - s = { t/ t r và t s }
Ví dụ : Cũng với ví dụ trên, hiệu của chúng là:
r - s = ( A B C )
a2 b1 c2
a2 b2 c1
Chú ý : phép giao của hai quan hệ có thể biểu diễn qua phép
trừ:
r s = r- ( r - s )
4. Tí ch Đề -Cá c
í
á
- Gọi r là quan hệ xác định trên tập thuộc tính { A1, A2,..,An} và s là
quan hệ xác định trên tập thuộc tính { B1, B2,..,Bm} . Tích Đề - Các
r x s của r và s là tập ( n + m ) - bộ với n thành phần đầu có dạng
một bộ thuộc r và m thành phần sau có dạng của một bộ thuộc s.
- Biểu diễn hình thức :
r x s = { t/ t có dạng (a1, a2, .., an, b1, b2,..,bm)
trong đó ( a1, ..,an ) r và (b1,.. ,bm) s }
- Ví dụ :
r ( A B C) s ( D E F) r x s = ( A B C D E F)
a1 b1 c1
a2 b2 c2
d e f
a1 b1 c1 d e f
a1 b1 c1 d1 e1 f1
a2 b2 c2 d e f
a2 b2 c2 d1 e1 f1
d1 e1 f 1
5. Phé p chiếu
é
Phé p chiếu trên một quan hệ thực chất là loại bỏ đi
một số thuộc tí nh và giữ lại những thuộc tí nh cò n lại của
quan hệ đó . Dạng tổng quá t : < ds_thuộc tí nh> (< tên
quan hệ >)
là kí hiệu phé p chiếu.
< ds_thuộc tí nh> : danh sá ch cá c thuộc tí nh được lấy ra
Nếu < ds_thuộc tí nh > chỉ có những thuộc tí nh khô ng
khoá thì phé p chiếu sẽ tự bỏ đi những bộ lặp.
Phé p chiếu khô ng có tí nh giao hoá n.
Nếu <ds1 > < ds2> thì
<ds1>( <ds2>(R)) = <ds1>(R)
Ví dụ :
í
Cho quan hệ SV ( Mã SV, Họ tên, Ngày sinh, điểm) như sau :
ã
Mã
Họ tên
Ngày sinh Điểm
SV
001
Trần Anh 23/4/86 8
Ngọc Bích 13/4/85 9
Xuân Mai 25/3/87 7
Hồng Vân 21/6/85 10
002
003
004
Thì phép chiếu Mã Sv, Điểm (SV) sẽ cho ta một quan hệ mới chỉ
gồm hai thuộc tính là Mã SV và Điểm .
Mã Điểm
SV
DIEM( Mã SV, Điểm ) :
001 8
002 9
003 7
004 10
6. Phé p chọn
é
Phé p chọn dùng để trí ch chọn một tập con trong một
quan hệ, cá c bộ được trí ch chọn phải thoả mã n điều kiện chọn.
( Phé p chọn trí ch ra cá c hàng trong quan hệ)
Dạng tổng quá t : < điều kiện > (< Tên quan hệ >)
là kí hiệu phé p chọn.
Kết quả thu được từ phé p chọn là một quan hệ có danh sá ch
thuộc tí nh được chỉ ra trong Tên quan hệ
Điều kiện : là cá c biểu thức điều kiện cần thoả mã n.. Cá c
biểu thức này được nối với nhau bằng cá c phé p: ( phủ định ),
(giao), (hợp)
Phé p chọn có tí nh giao hoá n.
7. Phé p kết nối
é
Phép kết nối : Dùng để kết hợp hai bộ có
liên quan từ hai quan hệ thành một bộ.
Trước hết ta làm quen với khái niệm xếp
cạnh nhau:
Cho bộ d =( d1, d2,..,dm) và bộ e= (e1, e2,..,
em). Phép xếp cạnh nhau được định nghĩa qua :
d e = ( d1, d2,.., dm,e1, e2,..,em).
Gọi là một trong cá c phé p so sá nh . Phé p kết nội
được định nghĩa:
Phé p kết nối của quan hệ r đối với thuộc tí nh A
với quan hệ s đối với thuộc tí nh B được định nghĩa
qua.
r s = { (t u ) | t r và u s và t[A] u[B] }
A B
Kết quả của phép kết nối là một quan hệ Q có (
n+m) thuộc tính, mỗi bộ trong Q thoả mãn điều
kiện kết nối.
Các bộ có giá trị rỗng tại thuộc tính kết nối
thì không xuất hiện trong kết quả của phép kết.
Bản chất của phép kết nối là phép lấy tích
Đề - Các của hai quan hệ và chọn ra các bộ thoả
mãn điều kiện kết.
Ví dụ :
r ( A B C )
s( C D E )
r s = ( A B C C D E)
B≥ C
a1 1 1
a2 2 1
a1 2 2
1 d1 e1
2 d2 e2
3 d3 e3
a1 1 1 1 d1 e1
a2 2 1 1 d1 e1
a2 2 1 2 d2 e2
a1 2 2 1 d1 e1
a1 2 2 2 d2 e2
Nếu điều kiện kết nối chứa phép so sánh (=) bằng thì
phép kết nối được gọi là phép kết nối bằng.
Trường hợp kết nối bằng tại thuộc tính cùng tên của
hai quan hệ và một trong hai thuộc tính đó bị loại bỏ, thì phép
kết nối được gọi là kết nối tự nhiên . Kí hiệu là " * ".
Biểu diễn của phép kết nối tự nhiên :
r(ABC) * s(CDE) = { t[ABCDE]/ t[ABC] r và
t[CDE ] s}
VD : với hai quan hệ r và s nêu trên thì :
r(ABC) * s(CDE) = ( A B C D E)
a1 1 1 d1 e1
a2 2 1 d1 e1
8. Phé p chia
é
Gọi r là quan hệ n- ngôi và s là quan hệ m ngôi (
n > m, s ). Phép chia r s là tập tất cả các ( n-m )-
bộ t sao cho với mọi bộ u s thì bộ t u r.
Ví dụ :
r ( A B C D )
a b c d
a b e f
b c e f
e d c d
e d e f
c a d e
s ( C D)
c d
r s = ( A B)
a b
e f
e d
Cơ sở dữ liệu minh hoạ
Cho một cơ sở dữ liệu Thực tập gồm 3 quan hệ sau đây:
SV( SV#, HT, NS, QUE, HL)
DT(DT#, TDT, CN, KP)
SD(SV#, DT#, NTT, KM, KQ)
-Quan hệ SV chứa thông tin về các sinh viên trong một lớp
của một trường đại học. Trong đó:
SV# : mã số sinh viên
HT : Họ và tên sinh viên
NS : Năm sinh của sinh viên
QUE: quê quán
HL : Học lực thể hiện qua điểm trung bình
- Quan hệ DT chứa thô ng tin về đề tài nhà trường quản lý .
Trong đó :
DT# : mã số đề tài
TDT : tên đề tài
CN : họ và tên chủ nhiệm đề tài
KP : Kinh phí cấp cho đề tài ( triệu đồng)
- Quan hệ SD chứa thông tin về tình hình thực tập của các
sinh viên theo các đề tài. Trong đó :
NTT : nơi thực tập
KM : khoảng cách từ nơi thực tập đến trường
KQ : kết quả thực tập theo đề tài đã chọn .
* Giả thiết là mỗi sinh viên có thể tham gia nhiều đề tài, mỗi đề
tài sinh viên đó thực tập tại một địa điểm.
SV
SV#
HT
NS
Que
Hà Nội
HL
6.8
8.3
9.5
8.6
6.2
9.8
7.6
8.5
1 Hồng Mai
2 Mạnh Khá nh
3 Xuâ n Quỳnh
4 Ngọc Bí ch
5 Minh Tú
6 Hồng Vâ n
7 Ngọc Anh
8 Mai Lan
22/4/1982
27/6/1986
17/5/1987
25/4/1979
19/3/1986
19/4/1980
27/5/1982
16/8/1983
Nam Định
Hà Nội
Nam Định
Quảng Ninh
Hải Phò ng
Hà Nội
Hải Phò ng
DT
DT#
TDT
CN
KP
1
2
3
4
5
6
Phâ n tí ch thiết kế CSDL
Mạng má y tí nh
Trần Hùng
Nguyễn Anh
Hồng Hạnh
Mạnh Hùng
Hoàng Hà
1000000
500000
1400000
2300000
900000
Kiến trúc má y tí nh
Phần mềm A
Giá o trì nh ABC
Mạng Internet
Ngọc Lan
1800000
SD
SV#
1
DT#
4
NTT
Hà Tâ y
KM
56
120
300
30
40
80
38
150
240
KQ
6.8
8.7
9
9.7
9.8
9.4
8.7
8.2
7.9
1
3
3
2
1
7
5
7
6
5
4
3
5
3
5
3
Hải Phò ng
Quảng Ninh
Hà Đông
Hà Nội
Nam Định
Hà Nội
Hải Phò ng
Thanh Hoá
Yêu cầu :
- Hãy viết các biểu thức đại số quan hệ biểu diễn các yêu cầu
sau :
1. Cho thông tin về những sinh viên sinh trước năm 1985 có
quê ở Hà Nội.
2. Cho biết các địa điểm thực tập xa trường (KM >100) của đề
tài số 5.
3. Cho thông tin về các đề tài có sinh viên thực tập.
4. Cho biết mã của các đề tài không có sinh viên nào tham gia.
5. Cho danh sách các tỉnh có sinh viên đến thực tập.
6. Cho thông tin về việc thực tập tại Hải Phòng của sinh viên.
7. Cho biết mã của những đề tài có kinh phí lớn hơn 1 triệu và
nhỏ hơn 2 triệu
8. Cho biết mã của sinh viên dưới 20 tuổi, thực tập khá ( có
điểm kết quả thực tập >=6.5)
Tải về để xem bản đầy đủ
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Cơ sở dữ liệu - Bài 4: Đại số quan hệ", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
bai_giang_co_so_du_lieu_bai_4_dai_so_quan_he.pdf

