1. Các khái niệm cơ bản
2. Các thao tác cơ bản trên quan hệ
3. Các phép toán tập hợp
4. Các phép toán quan hệ
1. CÁC KHÁI NIỆM CƠ BẢN
1.1. Thuộc tính (Attribute)
1.2. Quan hệ (Relation)
1.3. Bộ giá trị (Tuple)
1.4. Lược đồ quan hệ (Relation Schema)
1.5. Thể hiện của quan hệ
1.6. Khóa (Key)
1.7. Phụ thuộc hàm (Functional Dependency)
1.8. Ràng buộc toàn vẹn (Integrity Constraint)
56 trang |
Chia sẻ: candy98 | Lượt xem: 911 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Bài giảng Cơ sở dữ liệu - Chương 1: Mô hình dữ liệu quan hệ, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
1MÔ HÌNH DỮ LIỆU QUAN HỆ
1. Các khái niệm cơ bản
2. Các thao tác cơ bản trên quan hệ
3. Các phép toán tập hợp
4. Các phép toán quan hệ
21. CÁC KHÁI NIỆM CƠ BẢN
1.1. Thuộc tính (Attribute)
1.2. Quan hệ (Relation)
1.3. Bộ giá trị (Tuple)
1.4. Lược đồ quan hệ (Relation Schema)
1.5. Thể hiện của quan hệ
1.6. Khóa (Key)
1.7. Phụ thuộc hàm (Functional Dependency)
1.8. Ràng buộc toàn vẹn (Integrity Constraint)
31.1. Thuộc tính (Attribute)
Thuộc tính là một tính chất riêng biệt của một đối
tượng cần được lưu trữ trong CSDL để phục vụ cho
việc khai thác dữ liệu về đối tượng
Ví dụ:
Loại thực thể MÔN-HỌC có một số thuộc tính Mã-môn,
Tên-môn, Số-Đv-Học-Trình.
Loại thực thể HỌC-VIÊN có một số thuộc tính Mã-khoa,
Mã-học-viên, Tên-học-viên, Ngày-sinh, Quê-quán.
41.1. Thuộc tính (TT)
Các đặc trưng của thuộc tính:
Tên gọi (Name)
Kiểu dữ liệu (Data Type)
Miền giá trị (Domain)
51.1. Thuộc tính (TT)
Tên thuộc tính
-Có tính chất gợi nhớ
-Đặt đúng quy định của hệ QTCSDL
-Không nên đặt quá dài
Nếu không cần lưu ý đến ngữ nghĩa thì tên thuộc tính
thường được ký hiệu bằng các chữ cái A, B, C, D,
, còn X, Y, Z, W, dùng thay cho 1 nhóm
thuộc tính.
61.1. Thuộc tính (TT)
Kiểu dữ liệu (Data Type): Mỗi thuộc tính đều phải
thuộc một kiểu dữ liệu nhất định
Kiểu văn bản
Kiểu số
Kiểu luận lý
Kiểu ngày giờ
71.1. Thuộc tính (TT)
Một số kiểu dữ liệu trong SQL Server
Kieåu Loaïi Byte Dieãn giaûi
Bit Soá nguyeân 1 Kieåu bit – giaù trò 0 hoaëc 1
Int Soá nguyeân 4 -2,147,483,648 +2,147,483,648
SmallInt Soá nguyeân 2 -32768 32767
Decimal Soá thöïc V -1038 –1 1038 -1
Float Soá thöïc 8 -1.79E+308 +1.79E+308
DateTime Ngaøy giôø 8 1/1/1753 31/12/9999
Char Kyù töï V Chieàu daøi coá ñònh
VarChar Kyù töï V Chieàu daøi thay ñoåi
81.1. Thuộc tính (TT)
Miền giá trị (Domain): Mỗi thuộc tính chỉ chọn
những giá trị trong một tập hợp con của kiểu dữ
liệu. Tập hợp các giá trị mà một thuộc tính A có thể
nhận được gọi là miền giá trị của A
Ký hiệu Dom(A), MGT(A)
Trong nhiều hệ QTCSDL, người ta đưa thêm vào
miền giá trị của các thuộc tính một giá trị đặc biệt
gọi là giá trị rỗng (NULL).
91.2. Quan hệ (Relation)
Một quan hệ R có n ngôi được định nghĩa trên tập các
thuộc tính U = {A1, A2, ... An} và kèm theo nó là
một tân từ, tức là một quy tắc để xác định mối quan
hệ giữa các thuộc tính Ai
Ký hiệu R (A1, A2, ... An).
Ví dụ:
KHOA (Mã-khoa, Tên-khoa), là một quan hệ 2
ngôi.
Tân từ: "Mỗi khoa có một tên gọi và một mã số duy
nhất để phân biệt với tất cả các khoa khác của
trường".
10
1.3. Bộ giá trị (Tuple)
Một bộ giá trị là các thông tin của một đối tượng
thuộc quan hệ. Bộ giá trị còn được gọi là mẫu tin
(Record),dòng (Row)
Về mặt hình thức, một bộ q là một vectơ gồm n
thành phần thuộc tập hợp con của tích Đề-các miền
giá trị của các thuộc tính, thỏa mãn tân từ của quan
hệ
q = (a1,..., an) (MGT(A1) x ... x MGT(An))
Ví dụ: Đây là bộ giá trị của quan hệ HỌC-VIÊN:
q = (SV001,Lê Văn Nam,27/03/80,Cà Mau, 7TH1)
11
1.4. Lược đồ quan hệ
Lược đồ quan hệ là sự trừu tượng hóa của quan hệ,
một sự trừu tượng hóa ở mức độ cấu trúc của một
bảng hai chiều.
Khi nói tới lược đồ quan hệ tức là đề cập tới cấu
trúc tổng quát của một quan hệ
Khi đề cập tới quan hệ thì đó là một bảng có cấu
trúc cụ thể hoặc một định nghĩa cụ thể trên một
lược đồ quan hệ với các bộ giá trị của nó.
12
1.5. Thể hiện của quan hệ
Thể hiện (hoặc tình trạng) của quan hệ R, ký hiệu
bởi TR, là tập hợp các bộ giá trị của quan hệ R vào
một thời điểm.
Tại những thời điểm khác nhau thì quan hệ sẽ có
những thể hiện khác nhau.
Ví dụ: Quan hệ MÔN-HỌC
Maõ-moân Teân-Moân Soá-ÑVHT
LTCB Laäp trình caên baûn 4
LTHDT Laäp trình höôùng ñoái töôïng 5
CSDL Cô sôû döõ lieäu 4
13
1.6. Khóa (Key)
Siêu khóa của lược đồ quan hệ Q là tập hợp các
thuộc tính có thể dùng làm cơ sở để phân biệt 2 bộ
khác nhau tùy ý trong 1 quan hệ bất kỳ được định
nghĩa trên lược đồ quan hệ Q
1 lược đồ có ít nhất 1 siêu khóa và có thể có nhiều
siêu khóa.
Ví dụ: SINHVIEN (MaSV, HoTen, NSinh, DC)
Siêu khóa: {MaSV}, {MaSV, HoTen}, {MaSV,
NSinh},
14
1.6. Khóa (Key) (TT)
Khóa chỉ định: Trong số những siêu khóa của 1 lược
đồ quan hệ Q, chúng ta chọn ra những Siêu khóa
“nhỏ nhất” gọi là khóa chỉ định (Khóa nội).
1 lược đồ có ít nhất 1 khóa chỉ định và có thể có
nhiều khóa chỉ định.
Ví dụ: SINHVIEN (MaSV, HoTen, NSinh, DC)
Khóa chỉ định: {MaSV}
15
1.6. Khóa (Key) (TT)
Khóa chính (Primary Key): Trong trường hợp lược
đồ quan hệ Q có nhiều khóa chỉ định, khi cài đặt
trên 1 hệ QTCSDL, user chọn 1 khóa chỉ định làm
khóa chính, những khóa còn lại gọi là Khóa tương
đương.
Thuộc tính có tham gia vào 1 khóa gọi là thuộc
tính khóa, ngược lại – thuộc tính không khóa.
Thuộc tính khóa không chứa giá trị NULL
Không sửa đổi giá trị thuộc tính khóa
16
1.6. Khóa (Key) (TT)
Khóa ngoại (Foreign Key): Giả sử có 2 quan hệ
R, S. Một tập thuộc tính K của R được gọi là khóa
ngoại của R nếu K là khóa nội của S.
Ví dụ:
Mã-khoa trong LỚP-HỌC là khóa ngoại vì nó là
khóa nội của quan hệ KHOA.
Mã-lớp trong HỌC-VIÊN là khóa ngoại vì nó là
khóa nội của quan hệ LỚP-HỌC
17
1.7. Phụ thuộc hàm
Quan hệ R được định nghĩa trên tập thuộc tính U =
{A1, A2, ..., An}. X, Y U là 2 tập con của tập
thuộc tính U. Nếu tồn tại một ánh xạ f: X Y thì
ta nói rằng X xác định hàm Y, hay Y phụ thuộc
hàm vào X và ký hiệu là X Y.
Ví dụ: SINHVIEN (MaSV, HoTen, NSinh, DC)
Ta có Pth: MaSV HoTen
18
1.8. Ràng buộc toàn vẹn
Ràng buộc toàn vẹn (RBTV) là một quy tắc định
nghĩa trên một (hay nhiều) quan hệ do môi trường
ứng dụng quy định. Đó chính là quy tắc để đảm bảo
tính nhất quán của dữ liệu trong CSDL.
Mỗi RBTV được định nghĩa bằng một thuật toán
trong CSDL.
Ví dụ: NHANVIEN (MaNV, HoTen, HSL, DC)
Ta có RBTV: HSL phải >=1 và <=10
nv NHANVIEN thì nv.HSL >=1 & nv.HSL <= 10
19
2. CÁC THAO TÁC CƠ BẢN
2.1. Phép thêm (INSERT)
2.2. Phép xóa (DELETE)
2.3. Phép sửa (UPDATE)
20
2.1. Phép thêm (INSERT)
Việc thêm 1 bộ giá trị mới t vào quan hệ R (A1, A2,
... An) làm cho thể hiện TR của nó tăng thêm 1 phần
tử mới: TR = TR t.
Dạng hình thức của phép thêm là:
INSERT (R; Ai1=v1, Ai2 =v2, ... Aim= vm)
trong đó, Ai1, Ai2, ... Aim là các thuộc tính, và v1, v2,
... vm là các giá trị thuộc MGT(Ai1), MGT(Ai2) , ...,
MGT(Aim) tương ứng.
21
2.1. Phép thêm (INSERT) (TT)
Phép thêm có thể không thực hiện được hoặc làm mất
tính nhất quán của dữ liệu trong CSDL vì các lý do:
Giá trị khóa của bộ mới là rỗng (NULL) hoặc trùng
với giá trị khóa đã có.
Bộ mới không phù hợp với lược đồ quan hệ: sai thứ
tự, sai kiểu hoặc độ lớn của các thuộc tính.
Một số giá trị của bộ mới không thuộc miền giá trị
của thuộc tính tương ứng.
22
2.2. Phép xóa (DELETE)
Phép xóa (loại bỏ) 1 bộ t của quan hệ sẽ lấy đi bộ t
khỏi thể hiện của quan hệ.
TR = TR \ t
Phép xóa được viết 1 cách hình thức :
DELETE (R; Ai1=v1, Ai2 =v2, ... Aim= vm)
trong đó Aij=vj (j = 1, 2, ..., m) được coi như những
điều kiện thỏa một số thuộc tính của bộ t để loại bỏ
1 bộ ra khỏi quan hệ.
23
2.2. Phép xóa (DELETE)
Phép xóa (loại bỏ) 1 bộ t của quan hệ sẽ lấy đi bộ t
khỏi thể hiện của quan hệ.
TR = TR \ t
Phép xóa được viết 1 cách hình thức :
DELETE (R; Ai1=v1, Ai2 =v2, ... Aim= vm)
trong đó Aij=vj (j = 1, 2, ..., m) được coi như những
điều kiện thỏa một số thuộc tính của bộ t để loại bỏ
1 bộ ra khỏi quan hệ.
24
2.3. Phép sửa (UPDATE)
Một số hệ QTCSDL đưa ra nhiều câu lệnh khác
nhau để sửa dữ liệu: EDIT, UPDATE.
Trong ngôn ngữ hình thức, phép sửa đổi giá trị các
bộ của quan hệ có dạng:
UPDATE (R; Ai1=c1, Ai2 =c2, ... Aim= cm;
Ai1=v1, Ai2 =v2, ... Aim= vm)
Trong đó R là quan hệ cần sửa đổi; Aij= cj (j = 1, 2,
..., m) là điều kiện tìm kiếm bộ giá trị để sửa và
Aij= vj (j = 1, 2, ..., m) là giá trị mới của bộ.
25
3. CÁC PHÉP TOÁN TẬP HỢP
3.1. Phép hội (Union)
3.2. Phép giao (Intersection)
3.3. Phép trừ (Minus)
3.4. Tích Đềcác (Cartesian Product)
3.5. Phép chia (Division)
3.6. Phép bù (complement)
26
3.1. Phép hội (Union)
Hội của 2 quan hệ R và S – được ký hiệu là R S -
là một quan hệ Q có cùng thứ tự thuộc tính như
trong quan hệ R và S, được định nghĩa như sau:
Q = R S = {t / t R hoặc t S }
Nói cách khác, hội của 2 quan hệ R và S là 1 quan
hệ có các bộ giá trị bằng gộp các bộ giá trị của cả R
và S; những bộ giá trị trùng nhau chỉ được giữ lại 1
bộ.
27
3.1. Phép hội (Union)
Ví dụ:
R (ABC) S (ABC) RS(ABC)
--------- --------- ---------
a1b1c1 a1b1c1 a1b1c1
a2b1c2 a2b2c2 a2b1c2
a2b2c1 a2b2c1
a2b2c2
28
3.1. Phép hội (Union)
Maso HoTen Phai ChucVu
100 Nguyen Van Nam Nam GD
101 Hoang Thi Xuan Nu KTT
103 Dang Ngoc Chien Nam TK
Maso HoTen Phai ChucVu
221 Do Huu Ngoc Nam PP
101 Hoang Thi Xuan Nu KTT
Maso HoTen Phai ChucVu
100 Nguyen Van Nam Nam GD
101 Hoang Thi Xuan Nu KTT
103 Dang Ngoc Chien Nam TK
221 Do Huu Ngoc Nam PP
Ví dụ
DS ĐƠNVỊ A
DS ĐƠNVỊ B
DS CTY
29
3.2. Phép giao (Intersection)
Giao của 2 quan hệ R và S - được ký hiệu là R S,
là một quan hệ Q có cùng thứ tự thuộc tính như
trong quan hệ R và S, được định nghĩa như sau:
Q = R S = {t / t R và t S }
Nói cách khác, Giao của 2 quan hệ R và S là 1 quan
hệ với các bộ giá trị là các bộ giống nhau của cả 2
quan hệ R và S.
30
3.2. Phép giao (Intersection)
Ví dụ:
R (ABC) S (ABC) RS(ABC)
--------- --------- ---------
a1b1c1 a1b1c1 a1b1c1
a2b1c2 a2b2c2
a2b2c1
31
3.2. Phép giao (Intersection)
Maso HoTen Phai ChucVu
100 Nguyen Van Nam Nam GD
101 Hoang Thi Xuan Nu KTT
103 Dang Ngoc Chien Nam TK
Maso HoTen Phai ChucVu
221 Do Huu Ngoc Nam PP
101 Hoang Thi Xuan Nu KTT
Maso HoTen Phai ChucVu
101 Hoang Thi Xuan Nu KTT
Ví dụ
DS ĐƠNVỊ A
DS ĐƠNVỊ B
DS CTY
32
3.3. Phép trừ (Minus)
Hiệu của 2 quan hệ R và S – được ký hiệu là R - S,
là một quan hệ Q có cùng thứ tự thuộc tính như
trong quan hệ R và S, được định nghĩa như sau:
Q = R - S = {t / t R và t S }
Nói cách khác, hiệu của 2 quan hệ R và S là 1 quan
hệ với các bộ giá trị là các bộ giá trị của R sau khi
đã loại bỏ các bộ có trong quan hệ S.
33
3.3. Phép trừ (Minus)
Ví dụ:
R (ABC) S (ABC) R-S = (ABC)
--------- --------- ---------
a1b1c1 a1b1c1 a2b1c2
a2b1c2 a2b2c2 a2b2c1
a2b2c1
34
3.3. Phép trừ (Minus)
Maso HoTen Phai ChucVu
100 Nguyen Van Nam Nam GD
101 Hoang Thi Xuan Nu KTT
103 Dang Ngoc Chien Nam TK
Maso HoTen Phai ChucVu
221 Do Huu Ngoc Nam PP
101 Hoang Thi Xuan Nu KTT
Maso HoTen Phai ChucVu
100 Nguyen Van Nam Nam GD
103 Dang Ngoc Chien Nam TK
Ví dụ
DS ĐƠNVỊ A
DS ĐƠNVỊ B
DS CTY
35
3.4. Tích Đềcác (Cartesian Product)
R (A1, A2, ..., An) và S (B1, B2, ..., Bm) là hai quan
hệ có số bộ giá trị hữu hạn. Tích Đề-các của hai
quan hệ R và S, được ký hiệu là R x S, là một quan
hệ Q xác định trên tập thuộc tính của R và S (với n
+ m thuộc tính) và được định nghĩa như sau:
Q = R x S = {t / t có dạng (a1, ..., an, b1, ..., bm) trong đó
(a1, ..., an) R và (b1, ..., bm) S }
Như vậy, nếu R có n1 bộ giá trị và S có n2 bộ giá
trị, thì Q sẽ có n1 x n2 bộ giá trị.
36
3.4. Tích Đềcác (Cartesian Product)
Ví dụ:
R (ABC) S (DEF) R x S = (ABCDEF)
--------- --------- ------------------
a1b1c1 d1e1f1 a1b1c1d1e1f1
a2b2c2 d2e2f2 a1b1c1d2e2f2
a2b2c2d1e1f1
a2b2c2d2e2f2
37
3.5. Phép chia (Division)
R là quan hệ n ngôi và S là quan hệ m ngôi (n > m
và S ≠ ), có m thuộc tính chung (giống nhau về
mặt ngữ nghĩa, hoặc các thuộc tính có thể so sánh
được) giữa R và S. Phép chia 2 quan hệ R và S, ký
hiệu là R÷ S, là một quan hệ Q có n - m ngôi được
định nghĩa như sau:
Q = R S = { t /u S, (t,u) R }
38
3.5. Phép chia (Division)
Ví dụ:
R (A, B, C, D) S (C, D) R÷ S= (A,
B)
----------- --------- ---------
a b c d c d a b
a b e f e f e d
b c e f
e d c d
e d e f
a b d e
39
3.5. Phép chia (Division)
Ví dụ: Cho quan hệ KHẢ-NĂNG (MSPC, MSMB)
MSPC MSMB
32 102
30 101
30 103
32 103
33 100
30 102
31 102
30 100
Hỏi: Cho biết các Phi công lái được cả
3 loại máy bay 100, 101, 103
Trả lời: Đó là thương của phép chia
QH KHẢ-NĂNG cho quan hệ MÁY-
BAY(MSMB)
Kết quả: là quan hệ PHI-CÔNG có 1
bộ giá trị (30)
100
101
103
40
3.6. Phép bù (complement)
Cho quan hệ R (A1,..., An) với các miền giá trị là
MGT(Ai). Phép bù của quan hệ R là quan hệ Q, ký
hiệu là R, được Đ/N:
Q= R= { t (a1,..., an) , ai MGT(Ai) i=1..n / t R }
Gồm tất cả các bộ có thể có của tích Đề-các miền
giá trị MGT(Ai) nhưng chưa có mặt trong thể hiện
của quan hệ R.
Trong thực tế rất ít hệ quản trị CSDL cài đặt phép
toán này.
41
3.6. Phép bù (complement)
Ví dụ
Cho QH CUNG-CẤP
(MANCC,MAHH) với
MANCC={S1, S2, S3} &
HANG={Đinh, Oác, Vít}
MANCC HANG
S1 Oác
S2 Vít
S3 Oác
S3 Ñinh
MANCC HANG
S1 Ñinh
S1 Vít
S2 Oác
S2 Ñinh
S3 Vít
Quan hệ bù của QH
CUNG-CẤP có các bộ
giá trị sau:
42
4. CÁC PHÉP TOÁN QUAN HỆ
4.1. Phép chiếu (Projection)
4.2. Phép chọn (Selection)
4.3. Phép - kết (Theta – Join)
4.4. Phép kết tự nhiên (Natural – Join)
43
4.1. Phép chiếu (Projection)
Giả sử R là 1 quan hệ xác định trên tập thuộc tính
U = {A1,..., An }. X U. Phép chiếu quan hệ R trên
tập các thuộc tính X là 1 quan hệ Q xác định trên
tập thuộc tính X, ký hiệu là R [X], được định nghĩa
như sau:
Q = R [X] = { q / t R: q = t.X }
Ký hiệu: X(R).
Nếu X ={Ai1,... Aim } thì viết cụ thể là Ai1...Aim(R)
44
4.1. Phép chiếu (Projection)
Ngữ nghĩa: Trích từ R một số thuộc tính nào đó để
tạo thành một quan hệ mới. Số ngôi của quan hệ
mới này bằng số thuộc tính của tập con X. Các bộ
giá trị của các cột được trích nếu giống nhau sẽ
được loại bỏ để chỉ giữ lại một bộ duy nhất.
45
4.1. Phép chiếu (Projection)
Ví dụ:
Cho R(ABCD), X={A,B}, Y={A,C}
R(ABCD) X(R)=(AB) Y(R)=(AC)
------------ ------ ------
a1b1c1d1 a1b1 a1c1
a1b1c1d2 a2b2 a2c2
a2b2c2d2 a2c3
a2b2c3d3
46
4.1. Phép chiếu (Projection)
Ví dụ: cho Bảng
PHONGBAN. Trích
ra DS những địa
điểm khác nhau của
các Phòng.
MAPH TENPH DIADIEM
10 KE TOAN Q5
30 TIN HOC Q5
50 TIEP THI Q6
60 SAN XUAT Q8
90 KINH DOANH Q8
Chiếu của Bảng
PHONGBAN trên thuộc
tính DIADIEM:
DIADIEM(PHONGBAN)
DIADIEM
Q5
Q6
Q8
47
4.2. Phép chọn (Selection)
Giả sử R (A1,... An) là 1 quan hệ, và F là 1 điều
kiện dựa trên tập con thuộc tính R+=
{A1,... An}. Đánh giá điều kiện F trên bộ giá trị t
R được ký hiệu là F(t). Phép chọn các bản ghi của
R thỏa mãn điều kiện F là 1 quan hệ Q có cùng
ngôi với R, ký hiệu là F(R) được định nghĩa như
sau:
Q = F(R) = {t R / F(t) = đúng }
Ký hiệu: F(R).
48
4.2. Phép chọn (Selection)
Ý nghĩa: Cho phép chọn những mẫu tin thỏa mãn
một điều kiện F nào đó để đưa vào quan hệ kết quả.
Điều kiện F là một biểu thức lôgíc cho kết quả
đúng (True) hoặc sai (False); nó là tổ hợp (dùng
các phép toán , , ) của các biểu thức lôgic cơ
sở.
Mỗi biểu thức cơ sở chứa một phép so sánh: <, <=,
>, >=, = và () có dạng:
Thuộc tính so sánh với thuộc tính.
Thuộc tính so sánh với hằng (literal)
49
4.2. Phép chọn (Selection)
Ví dụ:
R(ABCD) A=a1(R)=(ABCD)
------------ ------------
a1b1c1d1 a1b1c1d1
a1b1c1d2 a1b1c1d2
a2b2c2d2
a2b2c3d3
50
4.2. Phép chọn (Selection)
Ví dụ: cho Bảng
PHONGBAN. Trích
ra DS những Phòng
ở Q5.
MAPH TENPH DIADIEM
10 KE TOAN Q5
30 TIN HOC Q5
50 TIEP THI Q6
60 SAN XUAT Q8
90 KINH DOANH Q8
Chọn từ Bảng PHONGBAN với điều
kiện DIADIEM=‘Q5’
DIADIEM=‘Q5’(PHONGBAN).
51
4.3. Phép - kết (Theta – Join)
Xếp cạnh nhau:
Có 2 quan hệ R (A1,..., An) và S (B1, ..., Bm).
t = (a1,..., an) là 1 bộ giá trị của R và u = (b1,..., bm)
là 1 bộ giá trị của S. Gọi v là bộ ghép nối u vào t
(hay bộ giá trị t và u được "xếp cạnh nhau") được
định nghĩa như sau:
v = (t, u) = (a1,..., an, b1,..., bm)
52
4.3. Phép - kết (Theta – Join)
A R+ và B S+ là 2 thuộc tính có thể so sánh
được.
Gọi là 1 trong các phép toán so sánh {,
>=, =, }
Phép kết nối 2 quan hệ R với S trên các thuộc tính
A và B với phép so sánh được định nghĩa qua:
AB
R |><| S = {v = (t, u) t R , u S và t.A u.B}
53
4.3. Phép - kết (Theta – Join)
Phép kết nối 2 quan hệ R và S có thể xem như được
thực hiện qua 2 bước:
Bước 1: Tích Descartes 2 quan hệ R và S.
Bước 2: Chọn các bộ giá trị thỏa mãn điều kiện A
B.
54
4.3. Phép - kết (Theta – Join)
Ví dụ:
R.B S.C
R(ABC) S(CDE) R |><| S=Q(ABCCDE)
--------- --------- ---------------
a111 1d1e1 a1111d1e1
a221 2d2e2 a2211d1e1
a322 3d3e3 a2212d2e2
a3221d1e1
a3222d2e2
55
4.4. Phép kết tự nhiên
Nếu là phép toán so sánh bằng nhau (=) thì ta gọi
đó là phép kết nối bằng (Equi Join).
Nếu các thuộc tính so sánh là giống tên nhau thì
trong kết quả của phép kết nối sẽ loại bỏ đi 1 trong
2 thuộc tính đó, khi đó phép kết nối được gọi là
phép kết nối tự nhiên (Natural Join)
Ký hiệu: R * S
56
4.4. Phép kết tự nhiên
Ví dụ:
R(ABC) S(CDE) R * S=Q(ABCDE)
--------- --------- ------------
a111 1d1e1 a111d1e1
a221 2d2e2 a221d1e1
a322 3d3e3 a322d2e2