MÔ 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ệ
1
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)
2
1.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.
3
1.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)
4
1.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.
5
1.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ờ
6
1.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
Int Soá nguyeân 4
SmallInt Soá nguyeân 2
Decimal Float Soá thöïc Soá thöïc V 8
DateTime Ngaøy giôø 8
Char Kyù töï V Kieåu bit – giaù trò 0 hoaëc 1 -2,147,483,648 +2,147,483,648 -32768 32767 -1038 –1 1038 -1 -1.79E+308 +1.79E+308 1/1/1753 31/12/9999 Chieàu daøi coá ñònh
7
VarChar Kyù töï V Chieàu daøi thay ñoåi
1.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).
8
1.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".
9
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)
10
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ó.
11
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
12
CSDL Cô sôû döõ lieäu 4
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}, …
13
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}
14
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
15
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
16
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
17
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
18
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)
19
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.
20
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.
21
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ệ.
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.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ộ.
24
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)
25
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ộ.
26
3.1. Phép hội (Union)
S (ABC) --------- a1b1c1 a2b2c2
Ví dụ: R (ABC) --------- a1b1c1 a2b1c2 a2b2c1
RS(ABC) --------- a1b1c1 a2b1c2 a2b2c1 a2b2c2
27
3.1. Phép hội (Union)
Ví dụ
Maso
HoTen
Phai
ChucVu
100
Nguyen Van Nam
Nam
GD
101
Hoang Thi Xuan
Nu
KTT
103
Dang Ngoc Chien
Nam
TK
DS ĐƠNVỊ A
Maso
HoTen
Phai
ChucVu
221
Do Huu Ngoc
Nam
PP
101
Hoang Thi Xuan
Nu
KTT
DS ĐƠNVỊ B
Maso
ChucVu
100
HoTen Nguyen Van Nam
Phai Nam
GD
101
Hoang Thi Xuan
Nu
KTT
103
Dang Ngoc Chien
Nam
TK
28
Do Huu Ngoc
221
Nam
PP
DS CTY
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.
29
3.2. Phép giao (Intersection)
RS(ABC) --------- a1b1c1
S (ABC) --------- a1b1c1 a2b2c2
Ví dụ: R (ABC) --------- a1b1c1 a2b1c2 a2b2c1
30
3.2. Phép giao (Intersection) Ví dụ
Maso
HoTen
Phai
ChucVu
100
Nguyen Van Nam
Nam
GD
101
Hoang Thi Xuan
Nu
KTT
103
Dang Ngoc Chien
Nam
TK
DS ĐƠNVỊ A
Maso
HoTen
Phai
ChucVu
221
Do Huu Ngoc
Nam
PP
101
Hoang Thi Xuan
Nu
KTT
DS ĐƠNVỊ B
Maso
ChucVu
101
HoTen Hoang Thi Xuan
Phai Nu
KTT
31
DS CTY
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.
32
3.3. Phép trừ (Minus)
S (ABC) --------- a1b1c1 a2b2c2
R-S = (ABC) --------- a2b1c2 a2b2c1
Ví dụ: R (ABC) --------- a1b1c1 a2b1c2 a2b2c1
33
3.3. Phép trừ (Minus)
Ví dụ
Maso
HoTen
Phai
ChucVu
100
Nguyen Van Nam
Nam
GD
101
Hoang Thi Xuan
Nu
KTT
103
Dang Ngoc Chien
Nam
TK
DS ĐƠNVỊ A
Maso
HoTen
Phai
ChucVu
221
Do Huu Ngoc
Nam
PP
101
Hoang Thi Xuan
Nu
KTT
DS ĐƠNVỊ B
Maso
ChucVu
100
HoTen Nguyen Van Nam
Phai Nam
GD
103
Dang Ngoc Chien
Nam
TK
34
DS CTY
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ị.
35
3.4. Tích Đềcác (Cartesian Product)
Ví dụ: R (ABC) --------- a1b1c1 a2b2c2
S (DEF) R x S = (ABCDEF) --------- d1e1f1 d2e2f2
------------------ a1b1c1d1e1f1 a1b1c1d2e2f2 a2b2c2d1e1f1 a2b2c2d2e2f2
36
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 }
37
3.5. Phép chia (Division)
Ví dụ: R (A, B, C, D)
S (C, D)
R÷ S= (A,
--------- c d e f
--------- a b e d
B) ----------- a b c d a b e f b c e f e d c d e d e f a b d e
38
3.5. Phép chia (Division) Ví dụ: Cho quan hệ KHẢ-NĂNG (MSPC, MSMB)
MSPC MSMB
32 102
Hỏi: Cho biết các Phi công lái được cả 3 loại máy bay 100, 101, 103
30 101
30 103
32 103
Trả lời: Đó là thương của phép chia QH KHẢ-NĂNG cho quan hệ MÁY- BAY(MSMB)
33 100
30 102 100
31 102 101
30 100 103
Kết quả: là quan hệ PHI-CÔNG có 1 bộ giá trị (30)
39
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.
40
3.6. Phép bù (complement) Ví dụ Cho QH CUNG-CẤP
Quan hệ bù của QH
(MANCC,MAHH) với MANCC={S1, S2, S3} & HANG={Đinh, Oác, Vít}
CUNG-CẤP có các bộ giá trị sau:
MANCC HANG
S1 Ñinh
MANCC HANG
S1 Vít
S1 Oác
S2 Oác
S2 Vít
S2 Ñinh
S3 Vít
41
S3 S3 Oác Ñinh
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)
42
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)
43
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.
44
4.1. Phép chiếu (Projection)
X(R)=(AB) ------ a1b1 a2b2
Y(R)=(AC) ------ a1c1 a2c2 a2c3
Ví dụ: Cho R(ABCD), X={A,B}, Y={A,C} R(ABCD) ------------ a1b1c1d1 a1b1c1d2 a2b2c2d2 a2b2c3d3
45
4.1. Phép chiếu (Projection)
Ví dụ: cho Bảng
MAPH TENPH DIADIEM
10 KE TOAN Q5
30 TIN HOC Q5
PHONGBAN. Trích ra DS những địa điểm khác nhau của các Phòng.
50 TIEP THI Q6
60 SAN XUAT Q8
Chiếu của Bảng
90 KINH DOANH Q8
PHONGBAN trên thuộc tính DIADIEM:
DIADIEM
Q5
DIADIEM(PHONGBAN)
Q6
46
Q8
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).
47
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)
48
4.2. Phép chọn (Selection)
Ví dụ:
R(ABCD)
A=a1(R)=(ABCD)
------------ a1b1c1d1 a1b1c1d2
------------ a1b1c1d1 a1b1c1d2 a2b2c2d2 a2b2c3d3
49
4.2. Phép chọn (Selection)
Ví dụ: cho Bảng
MAPH TENPH DIADIEM
10 KE TOAN Q5
PHONGBAN. Trích ra DS những Phòng ở Q5.
30 TIN HOC Q5
50 TIEP THI Q6
60 SAN XUAT Q8
Chọn từ Bảng PHONGBAN với điều
kiện DIADIEM=‘Q5’ DIADIEM=‘Q5’(PHONGBAN).
50
90 KINH DOANH Q8
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)
51
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}
52
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.
53
4.3. Phép - kết (Theta – Join)
Ví dụ:
R.B S.C
R(ABC) --------- a111 a221 a322
S(CDE) R |><| S=Q(ABCCDE) --------------- --------- a1111d1e1 1d1e1 a2211d1e1 2d2e2 a2212d2e2 3d3e3 a3221d1e1 a3222d2e2
54
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
55
4.4. Phép kết tự nhiên
Ví dụ: R(ABC) --------- a111 a221 a322
S(CDE) --------- 1d1e1 2d2e2 3d3e3
R * S=Q(ABCDE) ------------ a111d1e1 a221d1e1 a322d2e2
56

