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  
a1 2
 
2 d2
 
e2  
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 đủ
pdf 28 trang Mãnh Khiết 12/01/2024 19841 Free
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:

  • pdfbai_giang_co_so_du_lieu_bai_4_dai_so_quan_he.pdf