Tải bản đầy đủ (.pdf) (58 trang)

Ứng dụng phép vị tự trong việc giải một số lớp bài toán của hình học phẳng (LV01721)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (423.66 KB, 58 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2

NGUYỄN THỊ PHƯƠNG THÙY

KHÓA VÀ PHẢN KHÓA
TRONG MÔ HÌNH DỮ LIỆU DẠNG KHỐI
Chuyên ngành: Khoa học máy tính
Mã số: 60 48 01 01

LUẬN VĂN THẠC SĨ MÁY TÍNH

Người hướng dẫn khoa học: TS. Trịnh Đinh Vinh

HÀ NỘI, 2013

1


LỜI CẢM ƠN
Tôi xin bày tỏ lòng biết ơn sâu sắc đến thầy giáo TS Trịnh Đình Vinh,
người đã tận tình hướng dẫn, giúp đỡ và động viên tôi trong suốt quá trình làm
luận văn.
Xin cám ơn tất cả các thầy giáo, cô giáo trong Trường Đại học Sư phạm
Hà Nội 2 đã tạo điều kiện hết sức để tôi được học tập và hoàn thành khóa học
được thuận lợi.
Xin chân thành cảm ơn các thầy giáo, cô giáo đã trực tiếp giảng dạy và
mang đến cho tôi niềm say mê nghiên cứu khoa học.
Tôi xin gửi lời biết ơn chân thành tới đồng nghiệp, bạn bè, gia đình đã
luôn tạo điều kiện, ủng hộ về mọi mặt để tôi hoàn thành luận văn.
Hà Nội, tháng 12 năm 2013


Tác giả luận văn

Nguyễn Thị Phương Thùy

2


LỜI CAM ĐOAN
Tôi xin cam đoan rằng kết quả nghiên cứu trong luận văn này là trung thực
và không trùng lặp với các đề tài khác. Tôi cũng xin cam đoan rằng các thông tin
trích dẫn trong luận văn đã được chỉ rõ nguồn gốc.

Tác giả luận văn

Nguyễn Thị Phương Thùy

3


MỤC LỤC

MỞ ĐẦU ........................................................................................................... 4
CHƯƠNG 1: MÔ HÌNH CƠ SỞ DỮ LIỆU QUAN HỆ.............................. 7
1.1. Thuộc tính và miền thuộc tính ................................................................. 7
1.2. Quan hệ, lược đồ quan hệ......................................................................... 8
1.3. Khóa của quan hệ ..................................................................................... 9
1.4. Đại số quan hệ ........................................................................................ 10
1.4.1. Phép hợp........................................................................................ 10
1.4.2. Phép giao ....................................................................................... 11
1.4.3. Phép trừ ......................................................................................... 11

1.4.4. Tích Đề-các ................................................................................... 12
1.4.5. Phép chiếu ..................................................................................... 13
1.4.6. Phép chọn ...................................................................................... 14
1.4.7. Phép kết nối ................................................................................... 16
1.4.8. Phép chia ....................................................................................... 17
1.5. Phụ thuộc hàm ........................................................................................ 18
1.5.1. Các tính chất của phụ thuộc hàm .................................................. 19
1.5.2. Hệ tiên đề Amstrong cho các phụ thuộc hàm ............................... 19
1.6. Bao đóng ................................................................................................ 20
1.6.1. Bao đóng của tập phụ thuộc hàm .................................................. 20
1.6.2. Bao đóng của tập thuộc tính đối với tập các phụ thuộc hàm ........ 20
1.6.3. Bài toán thành viên và thuật toán tìm bao đóng của tập thuộc tính ..
................................................................................................................. 21
1


1.7. Khoá của lược đồ quan hệ ...................................................................... 23
1.7.1. Định nghĩa khóa trong lược đồ quan hệ........................................ 23
1.7.2. Các tính chất của khóa trong lược đồ quan hệ .............................. 24
1.7.3. Thuật toán xác định một khóa của lược đồ quan hệ ..................... 26
1.7.4. Phản khóa và tính chất của phản khóa trong lược đồ quan hệ...... 27
1.8. Chuẩn hóa cơ sở dữ liệu ......................................................................... 28
1.8.1. Hiệu quả của cơ sở dữ liệu ............................................................ 28
1.8.2. Các dạng chuẩn hóa của lược đồ quan hệ ..................................... 28
CHƯƠNG 2: MÔ HÌNH CƠ SỞ DỮ LIỆU DẠNG KHỐI
2.1. Khối, lược đồ khối ................................................................................. 31
2.2. Lát cắt ..................................................................................................... 32
2.3. Khóa của khối ........................................................................................ 33
2.4. Đại số quan hệ trên khối ........................................................................ 35
2.4.1. Phép hợp........................................................................................ 36

2.4.2. Phép giao ....................................................................................... 36
2.4.3. Phép trừ ......................................................................................... 36
2.4.4. Tích Đề các ................................................................................... 36
2.4.5. Tích Đề các theo tập chỉ số ........................................................... 37
2.4.6. Phép chiếu ..................................................................................... 37
2.4.7. Phép chọn ...................................................................................... 38
2.4.8. Phép kết nối ................................................................................... 38
2.4.9. Phép chia ....................................................................................... 39
2.5. Phụ thuộc hàm ........................................................................................ 39
2.6. Bao đóng của tập thuộc tính chỉ số ........................................................ 41
2.7. Khoá của lược đồ khối R đối với tập phụ thuộc hàm F trên R .............. 43
2


2.8. Dạng chuẩn của khối .............................................................................. 45
CHƯƠNG 3: KHÓA VÀ PHẢN KHÓA TRONG LƯỢC ĐỒ KHỐI
3.1. Các tính của khóa trong lược đồ khối .................................................... 48
3.2. Phản khóa và các tính chất của phản khóa trong lược đồ khối .............. 52
KẾT LUẬN ..................................................................................................... 54
TÀI LIỆU THAM KHẢO ............................................................................... 55

3


MỞ ĐẦU
1. Lý do chọn đề tài:
Ngoài những mô hình được sử dụng trong hệ thống cơ sở dữ liệu đã có từ
lâu và được rộng rãi trên thế giới như: mô hình thực thể - liên kết, mô hình
mạng, mô hình quan hệ…
Trong những năm gần đây, việc nghiên cứu tìm ra các mô hình mới đáp

ứng các ứng dụng phức tạp, các ứng dụng tin học có trong mọi lĩnh vực và ngày
càng có xu hướng tăng nhanh. Xu hướng tích cực đó kéo theo ngày càng đông
đảo người quan tâm đến thiết kế xây dựng các cơ sở dữ liệu. Hiện nay có nhiều
mô hình cơ sở dữ liệu, mỗi mô hình đều có ưu nhược điểm riêng. Tuy nhiên mô
hình cơ sở dữ liệu quan hệ do E.Codd đề xuất tỏ ra có nhiều ưu điểm khi thiết
kế ứng dụng, bởi lẽ mô hình này được xây dựng trên mô hình toán học. Do các
quan hệ có cấu trúc tuyến tính nên mô hình này chưa đủ đáp ứng đối với các ứng
dụng phức tạp.
Trong những năm gần đây, việc nghiên cứu nhằm mở rộng mô hình dữ
liệu quan hệ đã được nhiều nhà khoa học quan tâm. Theo hướng nghiên cứu này
một mô hình mới đã được đề xuất, đó là mô hình dữ liệu dạng khối, mô hình này
được xem là mở rộng của mô hình quan hệ. Với mô hình này cơ sở dữ liệu được
lưu đa chiều, tức là cùng một phần tử, ta có thể lưu trữ và xử lý ở các thời điểm
khác nhau, việc cập nhật dữ liệu không ảnh hưởng đến dữ liệu trước đó. Trên cơ
sở nghiên cứu về mô hình này, một loạt kết quả nghiên cứu đã được công bố
nhằm mô tả chi tiết hơn về mô hình dữ liệu dạng khối..
Vì vậy, trên cơ sở lý thuyết của các nhà khoa học nghiên cứu về mô hình
dữ liệu quan hệ và mô hình dữ liệu khối, trong luận văn này chúng tôi xây
4


dựng “Khóa và phản khóa trong mô hình dữ liệu dạng khối” nhằm góp phần
hoàn thiện hơn lý thuyết về mô hình dữ liệu dạng khối.
2. Mục đích nghiên cứu:
Tìm hiểu khái quát về mô hình cơ sở dữ liệu dạng khối sau đó đi sâu và
nghiên cứu các tính chất khóa và phản khóa trong mô hình cơ sở dữ liệu dạng
khối.
3. Nhiệm vụ nghiên cứu:
Nghiên cứu lý thuyết về mô hình cơ sở dữ liệu dạng khối. Cụ thể là các
tính chất về khóa và phản khóa trong mô hình khối.

Nghiên cứu mối quan hệ giữa khóa và phản khóa trong cơ sở dữ liệu dạng
khối.
4. Đối tượng và phạm vi nghiên cứu:
*Đối tượng nghiên cứu
Khóa và phản khóa trong mô hình dữ liệu dạng khối.
*Phạm vi nghiên cứu
Các tính chất của khóa trong mô hình dữ liệu dạng khối.
Các tính chất của phản khóa trong dữ liệu dạng khối.
5. Phương pháp nghiên cứu:
Phương pháp tổng hợp phân tích các vấn đề có liên quan đến đề tài.
Phương pháp lý luận.
Phương pháp chứng minh.

5


6. Giả thiết khoa học:
Phát biểu các tính chất và mối quan hệ giữa khóa và phản khóa trong mô
hình dữ liệu dạng khối.
7. Cấu trúc của luận văn:
Luận văn gồm: Lời mở đầu, ba chương nội dung, phần kết luận và tài liệu
tham khảo.
Chương 1: Trình bày các khái niệm cơ bản nhất về mô hình quan hệ. Trình bày
các phép toán đại số trên mô hình quan hệ, các vấn đề về phụ thuộc hàm, bao
đóng, các tính chất của khóa và phản khóa trong mô hình cơ sở dữ liệu quan hệ.
Phần cuối của chương trình bày về các dạng chuẩn.
Chương 2: Giới thiệu tổng quan về mô hình khối: định nghĩa khối, lược đồ khối,
lát cắt, khóa, đại số quan hệ trên khối, phụ thuộc hàm, các dạng chuẩn trong
khối.
Chương 3: Phát biểu và chứng minh một số tính chất của khóa và phản khóa

trong mô hình dữ liệu dạng khối.

6


Ch­¬ng 1: M« h×nh c¬ së d÷ liÖu quan hÖ

Mô hình dữ liệu quan hệ (Ralational Data Model) gọi tắt là mô hình quan
hệ, do E.Codd đề xuất năm 1970. Nền tảng lý thuyết của nó là khái niệm lý
thuyết tập hợp trên các quan hệ, tức là tập của các bộ giá trị.
Mô hình dữ liệu quan hệ là mô hình được nghiên cứu nhiều nhất, và thực
tiễn đã cho thấy rằng nó có cơ sở lý thuyết vững chắc nhất. Mô hình dữ liệu này
cùng với mô hình thực thể đang được sử dụng rộng rãi trong việc phân tích và
thiết kế CSDL hiện nay. Các vấn đề của cơ sở dữ liệu được trình bày trong [4],
[5], [7].
Sau đây là các khái niệm của mô hình dữ liệu quan hệ.
1.1. Thuộc tính và miền thuộc tính
Định nghĩa 1.1 [4], [5]
- Thuộc tính là đặc trưng của đối tượng.
- Tập tất cả các giá trị có thể có của thuộc tính Ai gọi là miền giá trị của
thuộc tính đó, ký hiệu: Dom(Ai) hay viết tắt là DAi
Ví dụ 1.1:
Đối tượng Sinhviên có các thuộc tính như: MaSV, Hoten, NgSinh, Đchi, ...
Miền giá trị của các thuộc tính của đối tượng Sinh viên :
Dom(MaNV) = {char(4)} ={‘SV01’, ‘SV02’, ‘SV03’ ...};
Dom(Hoten) = {char(30)} ={‘Nguyễn Văn A’,‘Nguyễn Văn B’, ... };
Dom(NgSinh) = {date} ={‘30/03/78’, ‘22/12/96’, ...};
Dom(Đchi) ={char(10)} = {‘HN’, ‘HP’, ‘VP’, …}.

7



1.2. Quan hệ và lược đồ quan hệ [4], [7]:
Định nghĩa 1.2
Cho U = {A1, A2, ..., An} là một tập hữu hạn không rỗng các thuộc tính.
Mỗi thuộc tính Ai (i = 1,2, ..., n) có miền giá trị là Dom(Ai). Khi đó r là một tập
các bộ {h1, h2, ..., hm} được gọi là quan hệ trên R với hj (j=1, 2, ..., m) là một
hàm:
hj = U →



D A i , sao cho hj(Ai)  DAi (i=1, 2, ...,n).

A i U

Ta có thể xem một quan hệ như một bảng mà trong đó mỗi hàng (phần tử)
là một bộ và mỗi cột tương ứng với một thuộc tính. Biểu diễn quan hệ r thành
bảng như sau:
A1

A2

...

An

h1(A1)

h1(A2)


...

h1(An)

h2(A1)

h2(A2)

...

h2(An)

...

...

...

...

hm(A1)

hm(A2)

...

hm(An)

Bảng 1.1: Bảng ví dụ quan hệ r

Ví dụ 1.2: Mô tả một ví dụ về bảng nhân viên
Nhân viên

Mã số

Họ và tên

Đơn vị

CT001

Nguyễn Anh

Giám đốc

6

CT002

Nguyễn Giang

Kế toán

4

CT003

Trương Hoa

Bán hàng


3

CT004

Lưu Nam

Bán hàng

2

Bảng 1.2: Bảng cơ sở dữ liệu nhân viên
8

Bậc lương


Bộ giá trị: (CT001, Nguyễn Anh, Giám đốc, 6) là một bộ. Nếu một bộ
t = (d1, d2, ..., dm) ∈ r, r xác định trên tập thuộc tính U, X ⊆ U. Khi đó, kí
hiệu t.X là giá trị của tập thuộc tính X trên bộ t. Nếu X = {A1, A2, ..., Ak) thì
t.X = (d1, d2, ..., dk).
Định nghĩa 1.3
Tập tất cả các thuộc tính cần quản lý của một đối tượng cùng với mối quan
hệ giữa chúng được gọi là lược đồ quan hệ. Lược đồ quan hệ R với tập thuộc
tính U = {A1, A2, ..., An} được viết là R(A1, A2, ..., An) hoặc R(U).
Khi đó, một quan hệ r sẽ được xác định trên lược đồ R(U). Miền giá trị
của quan hệ r là tập tất cả các bộ của quan hệ được xác định trong lược đồ quan
hệ R(U).
1.3. Khóa của quan hệ [5], [7]:
Định nghĩa 1.4

Khoá của quan hệ r xác định trên tập thuộc U={A1, A2, .., An} là tập con
K  U sao cho bất kỳ hai bộ khác nhau t1, t2  r luôn thoả t1(K) ≠ t2(K) và bất kỳ
tập con thực sự K1  K nào đó đều không có tính chất đó.
Tập thuộc tính K’ được gọi là siêu khoá nếu K’  K và K là một khoá của
quan hệ r.
Ví dụ 1.3:

Sinhviên

MaSV HOTEN

NS

DC

KHOA

SV01

A

24/01/92

HN

TOAN

SV02

B


3/05/92

VP

LY

SV03

B

3/05/92

VP

TOAN

Bảng 1.3: Bảng cơ sở dữ liệu sinh viên
Ta có thuộc tính MaSV là khóa của quan hệ.
9


1.4. Đại số quan hệ [4], [7]:
Việc tìm tập dữ liệu theo các phép toán quan hệ thuận tiện. Các phép toán
này được gọi là đại số quan hệ gồm có năm phép toán cơ bản là: phép chọn, phép
chiếu, phép giao, phép hợp và phép trừ. Dựa vào các phép toán cơ bản, ta có thể
đưa thêm các phép khác như: phép kết nối, phép chia.
Định nghĩa 1.5
Hai quan hệ r và s được gọi là khả hợp nếu như hai quan hệ này xác định
trên cùng tập thuộc tính và các thuộc tính cùng tên có cùng miền giá trị.

1.4.1. Phép hợp
Cho hai quan hệ r và s khả hợp. Hợp của r và s ký hiệu r  s là một quan
hệ gồm tất cả các bộ thuộc r hoặc thuộc s hoặc thuộc cả hai quan hệ. Ta có:
r  s = {t t  r hoặc t s}
Ví dụ 1.4: Giang nhập bảng 1, Nam nhập bảng 2. Cuối cùng, Giang nhập cả hai
bảng vào bảng 1 và lấy tên là bảng nhân viên:
Bảng 1

Bảng 2

Mã số

Họ và tên

Bậc lương

CT003

Nguyễn Giang

2

CT006

Hoàng Ban

4

CT005


Phong Lan

4

Mã số

Họ và tên

Bậc lương

CT001

Trương Hoa

4

CT005

Phong Lan

4

10


Bảng nhân viên

Mã số

Họ và tên


Bậc lương

CT003

Nguyễn Giang

2

CT006

Hoàng Ban

4

CT001

Trương Hoa

4

CT005

Phong Lan

4

Bảng 1.4: Phép hợp hai bảng quan hệ
1.4.2. Phép giao
Cho hai quan hệ r và s khả giao. Giao của r và s ký hiệu là r  s là một

quan hệ gồm tập tất cả các bộ thuộc r và thuộc s. Ta có:
r  s = {t

t  r và t s}

Ví dụ 1.5: trong ví dụ 1.3 đã có hai người nhập dữ liệu vào hai quan hệ
Bảng 1 và Bảng 2.
Nhân viên

Mã số

Họ và tên

Bậc lương

CT005

Phong Lan

4

Bảng 1.5: Phép giao hai quan hệ
1.4.3. Phép trừ
Cho hai quan hệ r và s khả hợp. Hiệu của r và s ký hiệu là r – s là tập tất cả
các bộ thuộc r nhưng không thuộc s. Ta có:
r - s = {t

t  r và t  s}

Ví dụ 1.6: Trong ví dụ 1.3 Bảng 1 và Bảng 2 có cùng thuộc. Nói theo lý

thuyết hai bảng này có cùng lược đồ. Phép trừ trên hai bảng được Nhân viên =
Bảng 1 – Bảng 2.

11


Nhân viên

Mã số

Họ và tên

Bậc lương

CT006

Nguyễn Giang

2

CT003

Hoàng Ban

4

Bảng 1.6: Phép trừ hai quan hệ
1.4.4. Tích Đề - các
Cho hai quan hệ r và s bất kỳ có tập thuộc tính lần lượt là U1 và U2
với U1  U2 =


. Tích đề - các của r và s ký hiệu là: r x s là một quan hệ trên

U1  U2 gồm tập tất cả các bộ ghép được từ các bộ của r và s. Ta có:
r x s = t   u, v  / u  r, v  s
Ví dụ 1.7: Khi nhân hai bảng nhân viên 2 với bảng mã khi đó ta được
bảng nhân viên 3. Bảng quan hệ này sẽ có hai cột với tên là “mã số” nên bảng
mới chúng phải được đổi tên để không trùng lặp tên thuộc tính. Ví dụ là mã 1 và
mã 2. Để bảng mới có ý nghĩa cần hạn chế theo điều kiện với nhiều thuộc tính
của cả hai bảng, chẳng hạn mã số 1 = mã số 2.

Nhân viên 2

Bảng mã

Mã số

Đơn vị

Bậc lương

CT001

Bán hàng

4

CT002

Kế toán


6

CT005

Bán hàng

4

Mã số

Họ và tên

CT001

Nguyễn Giang

CT002

Trương Hoa

12


Nhân viên 3 Mã số 1

Mã số 2

Họ và tên


Đơn vị

Bậc lương

CT001

CT001

Nguyễn Giang

Bán hàng 4

CT001

CT002

Trương Hoa

Bán hàng 4

CT002

CT001

Nguyễn Giang

Kế toán

6


CT002

CT002

Trương Hoa

Kế toán

6

CT005

CT001

Nguyễn Giang

Bán hàng 4

CT005

CT002

Trương Hoa

Bán hàng 4

Bảng 1.7: Phép nhân hai quan hệ
1.4.5. Phép chiếu
Phép chiếu thực hiện trên một quan hệ cho kết quả là quan hệ có số cột
ứng với thuộc tính chiếu. Các dòng thu được là các dòng của bảng ban đầu có

các giá trị ứng với các thuộc tính chiếu. Sau khi loại bỏ các cột không phải thuộc
tính chiếu, các dòng có thể mang giá trị trùng nhau, nên phải lược bớt các dòng
trùng. Chẳng hạn chiếu trên bảng nhân viên:
Chiếuthuộc tính chiếu (nhân viên) = quan hệ kết quả
Cho quan hệ r xác định trên tập thuộc tính U và X ⊆ U. Phép chiếu của quan hệ r
trên tập thuộc tính X ký hiệu: X(r) là tập các bộ của r xác định trên X. Ta có:

 x (r)  t.X t  r
Ví dụ 1.8:
Trong bảng nhân viên. Muốn lấy một số thuộc tính như mã số, đơn vị, bậc
lương, thì phép chiếu sẽ được sử dụng như sau:

13


Nhân viên1

Mã số

Họ và tên

Đơn vị

Bậc lương

CT001

Nguyễn Anh

Giám đốc


6

CT002

Nguyễn Giang

Kế Toán

4

CT003

Hoàng Hoa

Bán hàng

3

CT004

Lưu Nam

Bán hàng

2

CT005

Hoàng Ban


Nhân viên

5

Chiếumã số, đơn vị, bậc (nhân viên1) = quan hệ kết quả

Nhân viên2

Mã số

Đơn vị

Bậc lương

CT001

Giám đốc

6

CT002

Kế Toán

4

CT003

Bán hàng


3

CT004

Bán hàng

2

CT005

Nhân viên

5

Bảng 1.8: Phép chiếu trong quan hệ
1.4.6. Phép chọn
Phép chọn là phép toán lọc lấy ra một tập con các bộ của quan hệ đã cho
thoả mãn một điều kiện xác định. Điều kiện đó được gọi là điều kiện chọn hay
biểu thức chọn.
Biểu thức chọn F được định nghĩa là một tổ hợp logic của các toán hạng,
mỗi toán hạng là một phép so sánh đơn giản giữa hai biến là hai thuộc tính hoặc
giữa một biến là một thuộc tính và một giá trị hằng. Biểu thức chọn F cho giá trị
đúng hoặc sai đối với mỗi bộ đã cho của quan hệ khi kiểm tra riêng bộ đó.
- Các phép toán so sánh trong biểu thức F: >, <, =, ≥, ≠, ≤.
14


- Các phép toán logic trong biểu thức F: ∧ (và), ∨ (hoặc),  (phủ định).
Cho r là một quan hệ và F là một biểu thức logic trên các thuộc tính của r.

Phép chọn trên quan hệ r với biểu thức chọn F, kí hiệu là  F (r), là tập tất cả các
bộ của r thoả mãn F. Ta có:  F (r) = { t│ t∈r

F(t)}.

Ví dụ 1.9: Trên quan hệ nhân viên, có thể thực hiện phép chọn để xét
những nhân viên có bậc lương trên 3. Quan hệ nhân viên = phép chọn ( bậc
lương > 3) Có thể viết câu lệnh theo cách không hình thức như:
Nhân viên

Mã số

Họ và tên

Đơn vị

Bậc lương

CT001

Nguyễn Anh

Giám đốc

6

CT002

Nguyễn Giang


Kế Toán

4

CT003

Hoàng Hoa

Bán hàng

3

CT004

Lưu Nam

Bán hàng

2

bậc lương>3(nhân viên) = Nhân viên 2

Nhân viên 2

Mã số

Họ và tên

Đơn vị


Bậc lương

CT001

Nguyễn Anh

Giám đốc

6

CT002

Nguyễn Giang

Kế Toán

4

Bảng 1.9: Phép chọn trong quan hệ

1.4.7. Phép kết nối
Phép kết nối là một phép ghép các bộ giá trị của hai quan hệ có điều kiện
(chú ý: tích Đề - các không có điều kiện). Ký hiệu:

15

r
F

s



Kết quả của phép kết nối r và s qua điều kiện F là tập tất cả các bộ giá trị
từ những bộ giá trị của hai quan hệ tham gia và bộ giá trị vừa được ghép thỏa
mãn điều kiện cho trước.
r

s = {t = (u, v) / u ∈ r

F

v∈s

F(t) đúng}

Do đó, phép kết nối chính là một phép chọn trên tích Đề - các.
r
F

s = δF(r x s)

Điều kiện kết nối F là tổ hợp logic của các toán hạng trong đó mỗi toán
hạng là một phép so sánh giữa thuộc tính của r và s.
Tùy theo tính chất của biểu thức điều kiện và yêu cầu của kết quả mà có
thể chia phép nối thành phép nối tự nhiên, nối bằng, nối so sánh, nửa nối và tự
nối. Trong đại số quan hệ, các phép toán là tương đương khi chúng cho cùng kết
quả. Phép nối tương đương với kết quả của hai phép đại số quan hệ là phép nhân
và phép chọn.
Ví dụ 1.10: Phép nối tự nhiên giữa hai bảng nhân viên 1 và bảng mã nhân
viên thu được bảng nhân viên 2 có hai dòng. Dòng ứng với mã số CT005 của

bảng nhân viên 1 không nối được với dòng nào của bảng mã.
Nhân viên 1

Bảng mã NV

Mã số

Đơn vị

Bậc lương

CT001

Bán hàng

4

CT002

Kế toán

6

CT005

Bán hàng

4

Mã số


Họ và tên

CT001

Nguyễn Giang

CT002

Hoàng Hoa

16


Nhân viên 2

Mã số

Họ và tên

Đơn vị

Bậc lương

CT001

Nguyễn Giang

Bán hàng


4

CT002

Hoàng Hoa

Kế toán

6

Bảng 1.10: Phép nối tự nhiên
1.4.8. Phép chia
Cho hai quan hệ r(U) và r(V) với U = {A1, A2, ..., An}, V⊂ U. Phép chia
của quan hệ r cho quan hệ s ký hiệu: r ÷ s là một quan hệ trên U-V gồm các bộ t
sao cho tồn tại bộ u ∈ s và ghép t với u ta được bộ thuộc r:
r  s = t / u  s, ( t, u )  r
Ví dụ 1.11: Dựa trên quan hệ về năng lực của nhân viên và khả năng cụ
thể mà có thể biết được nhân viên nào đáp ứng các yêu cầu. Phép chia thực hiện
trên hai quan hệ.
Năng lực

Khả năng cần có

Họ và tên

Năng lực

Nguyễn Giang

Lập trình


Hoàng Hoa

Tiếng Anh

Hoàng Hoa

Đánh máy

Nguyễn Nam

Lập trình

Nguyễn Nam

Đánh máy

Nguyễn Nam

Tiếng Anh

Năng lực
Đánh máy
Tiếng Anh

17


Nhân viên đáp ứng yêu cầu


Họ và tên
Hoàng Hoa
Nguyễn Nam

Bảng 1.11: Phép chia hai quan hệ
1.5. Phụ thuộc hàm [1], [2]:
Phụ thuộc hàm có tầm quan trọng đối với người quản trị cơ sở dữ liệu
trong việc thiết kế và cài đặt các mô hình cơ sở dữ liệu quan hệ. Cơ sở lý thuyết
về chuẩn hoá dữ liệu dựa trên các khái niệm phụ thuộc hàm và khoá của quan hệ.
Phụ thuộc hàm là khái niệm được xây dựng để mô tả các ràng buộc trong cơ sở
dữ liệu. Ví dụ, mã mặt hàng xác định số lượng, đơn giá, ngày nhập kho... của
một mặt hàng. Nói cách khác, mỗi một giá trị của thuộc tính mã mặt hàng xác
định duy nhất giá trị của thuộc tính số lượng, đơn giá... của mặt hàng. Ràng buộc
này sẽ từ chối khi chèn thêm thông tin về một mặt hàng mới mà chưa được xác
định mã mặt hàng nhằm đảm bảo không gây ra mâu thuẫn cũng như vấn đề
không nhất quán trong tổ chức lưu trữ dữ liệu.
Định nghĩa 1.6
Cho một lược đồ quan hệ R xác định trên tập thuộc tính U. Cho X, Y  U.
Nói rằng, X xác định hàm Y (hoặc Y phụ thuộc hàm vào X), ký hiệu: X→ Y
nếu trên mọi quan hệ r xác định trên R ta có:
t1, t2r : t1.X = t2.X thì ta có: t1.Y = t2.Y
1.5.1. Các tính chất của phụ thuộc hàm
Cho lược đồ quan hệ R xác định trên tập thuộc tính U = {A1, A2, ..., An},
cho X, Y, Z, W ⊂ U thì ta có một số tính chất cơ bản của lớp các phụ thuộc hàm
như sau:
18


1, Tính phản xạ
Nếu Y  X thì X  Y

2, Tính mở rộng hai vế
Nếu X  Y thì XZ  YZ
3, Tính bắc cầu
Nếu X  Y và Y  Z thì X  Z
4, Tính mở rộng trái và thu hẹp phải
Nếu X  Y thì XZ  Y-W
5, Tính tựa bắc cầu
Nếu X  Y và YW  Z thì XW  Z
6, Tính cộng đầy đủ
Nếu X  Y và Z  W thì XZ  YW
7, Tính tích lũy
Nếu X  Y và Y  ZW thì X  YZW
1.5.2. Hệ tiên đề Armstrong cho các phụ thuộc hàm
Gọi R là quan hệ trên tập thuộc tính U. Khi đó với các thuộc tính X, Y, Z,
W ⊆ U ta có hệ tiên đề Armstrong như sau:
1- Phản xạ: Nếu Y ⊆ X thì X → Y
2- Tăng trưởng: Nếu X → Y thì XZ → YZ
3- Bắc cầu: Nếu X → Y, Y → Z thì X → Z
1.6. Bao đóng [1], [5]:
1.6.1. Bao đóng của tập phụ thuộc hàm
Định nghĩa 1.7
Cho tập thuộc hàm F, bao đóng của tập phụ thuộc hàm F ký hiệu F+: là tập
lớn nhất chứa các phụ thuộc hàm được suy diễn từ các phụ thuộc hàm F.
19


Vậy: F+ = {f | F ╞ f}
Các tính chất:
1, Tính chất phản xạ: Với mọi tập phụ thuộc hàm F ta luôn có FF+
2, Tính chất đơn điệu: Nếu F  G thì F+  G+

3, Tính chất lũy đẳng: Với mọi tập phụ thuộc hàm F ta luôn có F++ = F+
1.6.2. Bao đóng của tập thuộc tính
Định nghĩa 1.8
Cho lược đồ quan hệ R xác định trên tập thuộc tính U, X  U. Bao đóng
của tập thuộc tính X ký hiệu là X+: là tập tất cả các thuộc tính A mà X→A được
suy diễn từ F. Ta có: X+ = {A X  A  F+}
Các tính chất của bao đóng:
1, Tính phản xạ: X  X+
2, Tính đơn điệu: Nếu X  Y thì X+  Y+
3, Tính lũy đẳng: X++ = X+
4, X+Y+  (XY)+
5, (X+Y)+ = (XY+)+ = (X+Y+)+ =(XY)+
6, X  Y  Y  X+
7, X  Y  Y+  X+
8, X  X+ và X+  X
9, X+ = Y+  X  Y và Y  X
1.6.3. Bài toán thành viên và thuật toán tìm bao đóng của tập thuộc tính
Bài toán thành viên:
Nói rằng X  Y là thành viên của F nếu X  Y  F+. Một vấn đề quan
trọng khi nghiên cứu lý thuyết cơ sở dữ liệu là khi cho trước tập các phụ thuộc

20


hàm F và một phụ thuộc hàm X  Y, là làm sao để biết X  Y F+? Bài toán
này được gọi là bài toán hàm thành viên.
Để trả lời câu hỏi này ta có thể tính F+ rồi xác định xem X  Y có thuộc F+ hay
không. Việc tính F+ là một công việc đòi hỏi thời gian và công sức. Tuy nhiên,
thay vì tính F+ chúng ta có thể dùng tính chất 6 của bao đóng của tập thuộc tính
để xác định X  Y có là thành viên của F+ hay không. Đó là: X → Y ∈ F+⇔ Y

⊆ X+. Ta chứng minh điều này.
Giả sử Y= {Ai1, Ai2, ...,Aik}  {A1…An} với A1…An là các thuộc tính và Y
+
⊆ X+. Từ địnhnghĩa X ta có X → Ai, áp dụng hệ tiên đề Amstrong cho mỗi i

suy ra X → Y nhờ luật hợp.
Ngược lại, giả sử ta có X → Y, áp dụng hệ tiên đề Amstrong cho mỗi i
ta có X → Ai, Ai∈Y nhờ luật tách, suy ra Ai∈ X+ . Từ đó, suy ra Y ⊆ X+ .
X → Y ∈ F+.
Thuật toán 1.1: Xác định xem một phụ thuộc hàm X  Y có  F+?
Đầu vào: U, F, X, Y  U
Đầu ra: Kết luận sự tồn tại của X  Y.
Phương pháp
Bước 1: Tìm bao đóng của tập thuộc tính X: X+F
Bước 2: Kiểm tra Y  X+ nếu đúng thì X  Y  F+.
Ngược lại, X  Y  F+
Bước 3: Kết luận.
Thuật toán 1.2: Tìm bao đóng của tập thuộc tính
Đầu vào: U, F, X
Đầu ra: X+

21

Vậy


Phương pháp
Tính liên tiếp các tập thuộc tính X0, X1, ... theo phương pháp sau:
Bước 0: X0 = X
Bước i:

 Xi = Xi-1  {A} nếu ∃ Y  Z  F, A Z và A Xi-1
 Ngược lại, Xi = Xi-1
Nếu tồn tại một chỉ số J mà XJ = XJ-1 thì kết thúc thuật toán.
Khi đó X+ =Xi
Định lý 1.1:
Thuật toán tìm bao đóng cho kết quả Xi = X+
Ví dụ 1.12: Cho tập thuộc tính U = {A, B, C, D, E, G, H} và tập phụ thuộc hàm
F = {A  D, AB  DE, CE  G, E  H}
Tính (AB)+F
Bước 0: X0 = AB
Bước 1: X1 = X0  {D} vì có A  D thỏa mãn điều kiện
Bước 2: X2 = X1  {E} vì có AB  DE thỏa mãn điều kiện
Bước 3: X3 = X2  {H} vì có E  H thỏa mãn điều kiện
Bước 4: X4 = X3 =ABDEH.
Do đó, tất cả các phụ thuộc hàm có thể xác định từ AB:
(AB  D, AB  E, AB  H, AB  AB)
Vậy (AB)+F = ABDEH
1.7. Khóa của lược đồ quan hệ [1], [7]:
Theo định nghĩa đã được trình bày trong phần 1.3 thì khóa là một hoặc
một tập thuộc tính xác định duy nhất trong quan hệ. Thông thường trong một
lược đồ quan hệ có thể tồn tại nhiều khóa. Trong số đó, sẽ có một khóa được lựa
22


×