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

RS(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)

RS(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:

AB

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