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

Một số tính chất chuẩn và tựa chuẩn trong mô hình dữ liệu dạng khối

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 (2.51 MB, 82 trang )

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

NGUYỄN ANH THẮNG

MỘT SỐ TÍNH CHẤT CHUẨN VÀ TỰA CHUẨN
TRONG MÔ HÌNH DỮ LIỆU DẠNG KHỐI

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

HÀ NỘI, 2017


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

NGUYỄN ANH THẮNG

MỘT SỐ TÍNH CHẤT CHUẨN VÀ TỰA CHUẨN
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: PGS. TS. Trịnh Đình Thắng

HÀ NỘI, 2017



i
LỜI CẢM ƠN
Để hoàn thành luận văn này tôi đã nhận đƣợc sự giúp đỡ tận tình của
các thầy cô giáo trƣờng Đại học Sƣ phạm Hà Nội 2 đã tạo điều kiện học tập,
nghiên cứu và giúp đỡ tôi rất nhiều trong quá trình làm luận văn.
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, 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.
Đặc biệt tôi xin cảm ơn thầy PGS.TS Trịnh Đình Thắng đã tận tình
hƣớng dẫn, chỉ bảo tôi trong suốt quá trình học tập, nghiên cứu đề tài và giúp
tôi hoàn thành bản luận văn này.
Hà Nội, ngày tháng năm 2017
Học viên

Nguyễn Anh Thắng


ii
LỜI CAM ĐOAN
Tôi xin cam đoan đây là kết quả nghiên cứu của tôi dƣới sự hƣớng dẫn
khoa học của PGS. TS Trịnh Đình Thắng.
Các số liệu, kết quả nêu trong luận văn là trung thực và chƣa từng đƣợc
ai công bố trong bất kỳ công trình nào khác.
Học viên

Nguyễn Anh Thắng


iii

MỤC LỤC
MỞ ĐẦU ................................................................................................................... 1
1. Lý do chọn đề tài ................................................................................................... 1
2. Mục đích nghiên cứu............................................................................................. 2
3. Nhiệm vụ nghiên cứu ............................................................................................ 2
4. Đối tƣợng và phạm vi nghiên cứu ........................................................................ 2
5. Phƣơng pháp nghiên cứu ...................................................................................... 2
6. Những đóng góp của đề tài ................................................................................... 2
7. Cấu trúc luận văn .................................................................................................. 2
CHƢƠNG 1 MÔ HÌNH DỮ LIỆU QUAN HỆ ........................................................ 4
1.1. Mô hình dữ liệu quan hệ .................................................................................... 4
1.1.1. Thuộc tính và miền thuộc tính ........................................................................ 4
1.1.2. Quan hệ, lƣợc đồ quan hệ ............................................................................... 4
1.2. Các phép toán đại số quan hệ............................................................................. 5
1.2.1. Phép hợp.......................................................................................................... 6
1.2.2. Phép giao ......................................................................................................... 6
1.2.3. Phép trừ ........................................................................................................... 6
1.2.4. Tích Đề-các ..................................................................................................... 7
1.2.5. Phép chiếu ....................................................................................................... 8
1.2.6. Phép chọn ....................................................................................................... 8
1.2.7. Phép kết nối..................................................................................................... 9
1.2.8. Phép chia ....................................................................................................... 10
1.3. Phụ thuộc hàm.................................................................................................. 11
1.3.1. Khái niệm phụ thuộc hàm ............................................................................. 11
1.3.2. Định nghĩa phụ thuộc hàm ............................................................................ 11
1.3.3. Các tính chất của phụ thuộc hàm .................................................................. 11
1.3.4. Hệ tiên đề Amstrong ..................................................................................... 12
1.3.5. Các hệ tiên đề khác cho phụ thuộc hàm........................................................ 14
1.4. Khóa và bao đóng của lƣợc đồ quan hệ ........................................................... 15



iv
1.4.1. Khóa của lƣợc đồ quan hệ............................................................................. 15
1.4.2. Bao đóng của tập phụ thuộc hàm và tập thuộc tính ...................................... 16
1.4.3. Bài toán thành viên ...................................................................................... 19
Kết luận chƣơng 1 ................................................................................................... 21
CHƢƠNG 2 MÔ HÌNH DỮ LIỆU DẠNG KHỐI ................................................. 22
2.1. Khối, lƣợc đồ khối và lát cắt ............................................................................ 22
2.1.1. Khối, lƣợc đồ khối ........................................................................................ 22
2.1.2. Lát cắt ............................................................................................................ 24
2.2. Đại số quan hệ trên khối .................................................................................. 26
2.2.1. Phép hợp........................................................................................................ 27
2.2.2. Phép giao ....................................................................................................... 28
2.2.3. Phép trừ ......................................................................................................... 28
2.2.4. Tích Đề các ................................................................................................... 29
2.2.5. Tích Đề các theo tập chỉ số ........................................................................... 29
2.2.6. Phép chiếu ..................................................................................................... 30
2.2.7. Phép chọn ...................................................................................................... 30
2.2.8. Phép kết nối................................................................................................... 31
2.2.9. Phép chia ....................................................................................................... 32
2.3. Các toán tử thao tác cơ sở và các thuật toán .................................................... 32
2.3.1. Các toán tử thao tác cơ sở ............................................................................. 32
2.3.2. Thuật toán cài đặt các phép toán ................................................................... 34
2.3.2.1. Thuật toán hợp ........................................................................................... 34
2.3.2.2. Thuật toán giao........................................................................................... 34
2.3.2.3. Thuật toán trừ ............................................................................................. 35
2.3.2.4. Thuật toán chiếu ......................................................................................... 35
2.3.2.5. Thuật toán chọn.......................................................................................... 36
2.3.2.6. Thuật toán kết nối tự nhiên ........................................................................ 36
2.3.2.7. Thuật toán kết nối dài ................................................................................ 37

2.3.2.8. Thuật toán chia ........................................................................................... 38


v
2.3.3. Đánh giá độ phức tạp thời gian của các thuật toán. ...................................... 40
2.4. Phụ thuộc hàm................................................................................................. 42
2.5. Khóa và bao đóng trong lƣợc đồ khối ............................................................. 44
2.5.1. Bao đóng của tập thuộc tính chỉ số ............................................................... 44
2.5.2. Khóa của lƣợc đồ khối R đối với tập F trên R .............................................. 47
Kết luận chƣơng 2 ................................................................................................... 51
CHƢƠNG 3 MỘT SỐ TÍNH CHẤT CỦA CÁC DẠNG CHUẨN VÀ TỰA
CHUẨN TRONG MÔ HÌNH DỮ LIỆU DẠNG KHỐI ........................................ 52
3.1. Chuẩn và tựa chuẩn trong mô hình dữ liệu dạng khối. .................................... 52
3.1.1. Các dạng chuẩn ............................................................................................. 52
3.1.2. Các dạng tựa chuẩn ....................................................................................... 55
3.2. Một số tính chất của các dạng chuẩn, tựa chuẩn trên khối và mối quan hệ giữa
chuẩn và tựa chuẩn trên khối, trên lát cắt ............................................................... 57
Kết luận chƣơng 3 ................................................................................................... 65
KẾT LUẬN ............................................................................................................. 66
TÀI LIỆU THAM KHẢO ...................................................................................... 67


vi
DANH MỤC KÝ HIỆU VÀ CHỮ CÁI VIẾT TẮT
Trong luận văn này dùng thống nhất các ký hiệu và chữ cái viết tắt sau:
Kí hiệu

Ý nghĩa

FD


Phụ thuộc hàm

LS

Vế trái

LR

Vế phải



Suy dẫn theo tiên đề theo logic



Suy dẫn theo quan hệ



Khác



Với mọi



Phép giao




Phép hợp

\

Phép trừ



Tập con



Nằm trong



Thuộc



Không thuộc

+

X

Bao đóng của tập thuộc tính X




Tƣơng đƣơng



Không tƣơng đƣơng



Rỗng



Tồn tại


vii
DANH MỤC CÁC BẢNG
Bảng 1.1: Biểu diễn quan hệ r. ............................................................................ 5
Bảng 1.2: Biểu diễn quan hệ Cán bộ. .................................................................. 5
Bảng 1.3: Bảng biểu diễn quan hệ r, s, r  s. ...................................................... 6
Bảng 1.4: Bảng biểu diễn các quan hệ r, s, r  s. ................................................ 6
Bảng 1.5: Bảng biểu diễn các quan hệ r, s, r \ s, s \ r. ......................................... 7
Bảng 1.6: Bảng biểu diễn các quan hệ r, s, r× s. ................................................. 7
Bảng 1.7: Bảng biểu diễn các quan hệ r, s, r*s. ................................................ 10
Bảng 1.8: Bảng biểu diễn các quan hệ r, s, r † s. .............................................. 10
Bảng 2.1: Bảng biểu diễn khối điểm học viên DiemSV(R‟). ........................... 24
Bảng 2.2: Bảng biểu diễn lát cắt r(RHọc kỳ 2). ..................................................... 25

Bảng 2.3: Biểu diễn họ gồm 2 quan hệ r1, r2. .................................................... 25


viii
DANH MỤC CÁC HÌNH
Hình 2.1: Biểu diễn khối điểm sinh viên DiemSV(R) ...................................... 23
Hình 2.2: Biểu diễn các khối r(R), s(R), t(R). ................................................... 26
Hình 2.3: Biểu diễn 2 khối r, s. ......................................................................... 27
Hình 2.4: Biểu diễn các khối r, s, r  s. ............................................................ 27
Hình 2.5: Biểu diễn các khối r, s, r  s. ............................................................ 28
Hình 2.6: Biểu diễn các khối r, s, r - s............................................................... 28
Hình 2.7: Biểu diễn các khối r, r’ = P(r).. ........................................................ 30


1
MỞ ĐẦU
1. Lý do chọn đề tài
Cơ sở dữ liệu là một trong những lĩnh vực đóng vai trò nền tảng trong sự
phát triển của công nghệ thông tin. Để có thể xây dựng đƣợc một hệ thống cơ
sở dữ liệu tốt, ngƣời ta thƣờng sử dụng các mô hình dữ liệu thích hợp; đã có
một số loại mô hình đƣợc sử dụng trong các hệ thống cơ sở dữ liệu nhƣ: Mô
hình thực thể - liên kết, mô hình mạng, mô hình phân cấp, mô hình hƣớng đối
tƣợng, mô hình dữ liệu datalog và mô hình quan hệ. Trong tất cả các mô hình
thì mô hình quan hệ đƣợc quan tâm hơn cả vì nó đƣợc xây dựng trên một cơ sở
toán học chặt chẽ - đó là lí thuyết toán học về các quan hệ có áp dụng rộng rãi
các công cụ đại số và logic. Mô hình này do E. Codd đề xuất ra năm 1970. Tuy
nhiên, do các quan hệ có cấu trúc phẳng (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, các dữ liệu có cấu trúc phi tuyến,…
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 và đã có một số tác giả mở rộng mô hình dữ liệu quan hệ

thành mô hình dữ liệu đa chiều, kho dữ liệu,...; đặc biệt là mô hình dữ liệu
dạng khối. Trong mô hình dữ liệu dạng khối, các khái niệm nhƣ: Khối, lƣợc đồ
khối, lát cắt, đại số khối, phụ thuộc hàm, bao đóng của tập thuộc tính chỉ số,...
đã đƣợc nghiên cứu.
Trong quá trình nghiên cứu về mô hình dữ liệu khối thì việc khai phá lớp
phụ thuộc hàm có yếu tố quyết định trong việc thiết kế lƣợc đồ khối và mối quan
hệ giữa các khối bên trong lƣợc đồ khối. Tuy nhiên, cho đến nay thì các phụ thuộc
hàm, các phụ thuộc lôgic, các dạng chuẩn, tựa chuẩn trong mô hình dữ liệu dạng
khối còn chƣa đƣợc quan tâm nhiều. Chính vì vậy, tôi lựa chọn đề tài nghiên cứu
là: “Một số tính chất chuẩn và tựa chuẩn trong mô hình dữ liệu dạng khối”
làm luận văn cao học của mình. Trong đó chủ yếu nghiên cứu, tìm hiểu thêm các
tính mới của các dạng chuẩn và tựa chuẩn trong mô hình dữ liệu dạng khối, mối
quan hệ giữa chuẩn và tựa chuẩn trên lƣợc đồ khối và trên lƣợc đồ lát cắt, 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
2. Mục đích nghiên cứu
Tìm hiểu về một số tính chất mới của các dạng chuẩn và tựa chuẩn
trong mô hình dữ liệu dạng khối; mối quan hệ giữa chuẩn và tựa chuẩn trên
khối và trên lát cắt.
3. Nhiệm vụ nghiên cứu
Tìm hiểu về các mô hình dữ liệu
Tìm hiểu về mô hình dữ liệu dạng khối.
Phát biểu và chứng minh một số tính chất mới của các dạng chuẩn và tựa
chuẩn trong mô hình 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: Tính chất của các dạng chuẩn và tựa chuẩn
trong mô hình dữ liệu dạng khối.
* Phạm vi nghiên cứu: Nghiên cứu lý thuyết về một số tính chất trong

mô hình 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 suy luận và chứng minh
6. Những đóng góp của đề tài
Tìm hiểu về một mô hình dữ liệu mới, mở rộng của mô hình dữ liệu
quan hệ, đó là mô hình dữ liệu dạng khối.
Bổ sung thêm một số tính chất mới của các dạng chuẩn và tựa chuẩn
trong mô hình dữ liệu dạng khối; mối quan hệ giữa chuẩn và tựa chuẩn trên
lƣợc đồ khối và trên lƣợc đồ lát cắt.
7. Cấu trúc 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à sau
cùng là tài liệu tham khảo.
Chƣơng 1: Mô hình dữ liệu quan hệ
Trong chƣơng này đã trình bày một số các khái niệm cơ bản nhất trong
mô hình dữ liệu quan hệ. Làm rõ các phép toán đại số quan hệ, các khái niệm


3
về phụ thuộc hàm, khóa, bao đóng của lƣợc đồ quan hệ. Ngoài ra các thuật toán
tìm bao đóng của tập thuộc tính, bài toán thành viên, cũng đƣợc trình bày.
Chƣơng 2: Mô hình dữ liệu dạng khối
Chƣơng này luận văn đã trình bày các khái niệm cơ bản trong mô hình cơ
sở dữ liệu dạng khối nhƣ: Khái niệm về khối, lƣợc đồ khối, lát cát, đại số quan hệ
trên khối, phụ thuộc hàm, các toán tử thao tác cơ sở và các thuật toán, bao đóng
của tập thuộc tính chỉ số, khóa của lƣợc đồ khối R đối với tập F trên R.
Chƣơng 3: Một số tính chất của các dạng chuẩn và tựa chuẩn của
mô hình dữ liệu dạng khối.
Chƣơng này giới thiệu về các dạng chuẩn, tựa chuẩn trong mô hình dữ
liệu dạng khối; trên cơ sở đó trình bày một số tính chất mới của các dạng chuẩn

và tựa chuẩn, mối quan hệ giữa chuẩn và tựa chuẩn trên lƣợc đồ khối và trên
lƣợc đồ lát cắt.


4
CHƢƠNG 1
MÔ HÌNH DỮ LIỆU QUAN HỆ
Mô hình dữ liệu quan hệ đã đƣợc nhiều tác giả quan tâm nghiên cứu và
cũng đã thu đƣợc nhiều kết quả tốt. Mô hình dữ liệu quan hệ trình bày dƣới đây
đã đƣợc trình bày trong các tài liệu [2], [4], [5].
1.1. Mô hình dữ liệu quan hệ
1.1.1. Thuộc tính và miền thuộc tính
Định nghĩa 1.1
- 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 Cán bộ có các thuộc tính nhƣ: Mã cán bộ (MaCB), Họ và tên
(Hoten), Ngày tháng năm sinh (NS), Địa chỉ (ĐC), phòng (POG),…
Miền giá trị của các thuộc tính của đối tƣợng Cán bộ:
Dom (MaCB) = {char 4 } ={„CB01‟, „CB02‟, „CB03‟ ...};
Dom (Hoten) = {char 30 } ={„Nguyễn Văn A‟, „Trần Thị B‟...};
Dom (NS) = {date} ={„13/09/68‟, 5/12/82‟‟..};
Dom (ĐC) ={char 10 } ={„TN‟, „VT‟, „PN‟, …};
Dom (POG) = {char 30} = {„TP‟, „TTr‟, „NV,...}.
1.1.2. Quan hệ, lược đồ quan hệ
Đị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) viết tắt là DAi. Khi
đó r là một tập các bộ {h1, h2, …, hm} đƣợc gọi là quan hệ trên U với hj (j=1, 2,

…, m) là một hàm:
hj :U →

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

AiU


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

A2



An

h1

h1(A1)

h1(A2)



h1(An)


h2


h2(A1)


h2(A2)





h2(An)


hm

hm(A1)

hm(A2)



hm(An)

Bảng 1.1: Biểu diễn quan hệ r.
Ví dụ 1.2:
Cán bộ

MaCB

CB01
CB02
CB03

HOTEN
A
B
B

NS
24/02/81
11/05/82
15/03/82

DC
TN
VT
PN

POG
A1
B1
B2

Bảng 1.2: Biểu diễn quan hệ Cán bộ.
Trong đó các thuộc tính là MaCB: Mã cán bộ; HOTEN: Họ và tên; NS: Ngày
tháng năm sinh; DC: Địa chỉ; POG: Phòng.
Bộ giá trị: (CB01, A, 24/02/81, TN, A1) là một bộ.
Nếu có bộ t = (d1, d2, d3, …., dm) r, r xác định trên U, X  U thì t(X)
(hoặc t.X) đƣợc gọi là giá trị của tập thuộc tính X trên bộ t.

Định nghĩa 1.3
Tập tất cả các thuộc tính trong một quan hệ cùng với mối liên 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
(U) hoặc R A1, A2, .., An).
1.2. Các phép toán đại số quan hệ
- Phép toán tập hợp: hợp, giao, trừ, tích Đề các.
- Phép toán quan hệ: chiếu, chọn, kết nối, chia.


6
Định nghĩa 1.4
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.2.1. Phép hợp
Phép hợp hai quan hệ khả hợp r và s, kí hiệu là r  s, là tập tất cả các bộ
thuộc r hoặc thuộc s. Ta có : r  s = {t│ t  r  t s}
Ví dụ 1.3:
r

rs

A
a1
a2
a2

B
b1
b1

b2

C
c1
c2
c1

A
a1
a2
a2
a2

B
b1
b1
b2
b2

C
c1
c2
c1
c2

;

s

A

a1
a2

B
b1
b2

C
c1
c2

Bảng 1.3: Bảng biểu diễn quan hệ r, s, r  s.
1.2.2. Phép giao
Phép giao của hai quan hệ khả hợp r và s, kí hiệu là r  s, là tập tất cả các
bộ thuộc cả hai quan hệ r và s. Ta có : r  s = {t│ t ∈ r ∧ t ∈s}
Ví dụ 1.4:
r

A
a1
a2
a2

B
b1
b1
b2

C
c1

c2
c1

rs

A
a1

B
b1

C
c1

s

A
a1
a2

B
b1
b2

C
c1
c2

Bảng 1.4: Bảng biểu diễn các quan hệ r, s, r  s.
1.2.3. Phép trừ

Phép trừ của hai quan hệ khả hợp r và s, kí hiệu: 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 ∧ t ∉ s}


7
Ví dụ 1.5 :
r
A
a1
a2
a2
r\s

A
a2
a2

B
b1
b1
b2

C
c1
c2
c1

B
b1
b2


C
c2
c1

s

s\r

A
a1
a2

B
b1
b2

C
c1
c2

A
a2

B
b2

C
c2


Bảng 1.5: Bảng biểu diễn các quan hệ r, s, r \ s, s \ r.
1.2.4. Tích Đề-các
Cho quan hệ r xác định trên tập thuộc tính {A1, A2, ..., An} và quan hệ s
xác định trên tập thuộc tính {B1, B2, .., Bm}. Tích Đề-các của hai quan hệ r và
s kí hiệu là r x s, là tập tất cả các m+n - bộ có n thành phần đầu tiên là một bộ
thuộc r và m thành phần sau là một bộ thuộc s. Ta có :
r × s = {t=(a1, a2,.., an, b1, b2,.., bm)│(a1, a2,.., an) r  (b1 b2,..., bm) s}
Ví dụ 1.6:
r

A
a1
a2
a2

B
b1
b1
b2

C
c1
c2
c1

; s

K
a1
a2

a2

M
b1
b1
b2

N
c1
c2
c1

r× s
A
a1
a1
a1
a2
a2
a2
a2
a2
a2

B
b1
b1
b1
b1
b1

b1
b2
b2
b2

C
c1
c1
c1
c2
c2
c2
c1
c1
c1

K
a1
a2
a1
a1
a2
a1
a1
a2
a1

M
b1
b2

b2
b1
b2
b2
b1
b2
b2

Bảng 1.6: Bảng biểu diễn các quan hệ r, s, r× s.

N
c1
c2
c2
c1
c2
c2
c1
c2
c2


8
1.2.5. Phép chiếu
Cho r là một quan hệ n ngôi xác định trên tập thuộc tính U={A1, A2, ..,
An}, X là tập con của U. Phép chiếu của quan hệ r trên tập thuộc tính X, kí hiệu
là x (r) , là tập các bộ của r xác định trên tập thuộc tính X. Ta có :
x (r) = {t.X│ t  r}.
Phép chiếu thực chất là phép toán giữ lại một số thuộc tính cần thiết của
quan hệ và loại bỏ những thuộc tính không cần thiết.

Ví dụ 1.7:
r

(A
x1
y1
z1
x1
y1

B
6
4
7
5
6

B
6
4
7
5

D
3
6
6
8

C

x
y
z
x
y

D)
3
6
6
8
3

D (r) B
3
6
8

(BD)(r)

1.2.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


9
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: >, <, =, ≥, ≠, ≤.
- 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.8:
r (A
a1
b1
c1
a1
b1

B
5
7
7
9
5


B D (r) (A

b1
c1
a1

B
7

7
9

C
a
b
c
a
b
C
b
c
a

D)
8
6
7
5
8
D)
6
7
5

1.2.7. Phép kết nối
Cho quan hệ r (U) và s (V). Đặt M=UV. Phép kết nối tự nhiên hai quan
hệ r (U) và s (V) , ký hiệu r*s, cho ta quan hệ giữa các bộ đƣợc dán từ các bộ u
của quan hệ R với mỗi bộ v của quan hệ S (sao cho các trị trên miền thuộc tính
chung M của hai bộ này giống nhau).

P (UV) = r*s= {u*v│ur, vs, u.M= v.M}
Nếu M= UV=Ф, r*s sẽ cho ta tích Đề-các, trong đó mỗi bộ của quan hệ
r sẽ đƣợc ghép với mọi bộ của quan hệ s.


10
Ví dụ 1. 9:
r

A
a1
b
c1

B
a
b2
a

C
a2
b2
c2

r*s

A
b1
c1
a2


B
a
b
a

C
a2
b2
c2

;

D
a2
b2
b2

s

D
a2
b2

E
a3
b3

E
a3

b3
b3

Bảng 1.7: Bảng biểu diễn các quan hệ r, s, r*s.
1.2.8. Phép chia
Cho r là một quan hệ n ngôi xác định trên tập thuộc tính U và s là một
quan hệ m ngôi xác định trên tập thuộc tính V, với VU, n>m và s , có
nghĩa là lực lƣợng của s là khác 0 hay s có ít nhất một bộ. Phép chia quan hệ r
cho quan hệ s, kí hiệu là r s, là tập tất cả các bộ t trên U\V sao cho với mọi bộ
vs thì khi ghép bộ t với bộ v ta đƣợc một bộ thuộc r.
Ta có: r † s = {t│ v ∈ s, (t, v) ∈ r}
Ví dụ 1.10:
r

r†s

A
a1

B
1

C
a1

D
2

b1


2

a1

c1

3

a1
b1
c1

C

D

a1

2

;

s

A
a1

B
1


2

b1

2

a1

2

c1

3

1

a1

4

2
3

b1
c1

4
5

Bảng 1.8: Bảng biểu diễn các quan hệ r, s, r ÷ s.



11
1.3. Phụ thuộc hàm
1.3.1. Khái niệm phụ thuộc hàm
Khi xét đến mối quan hệ giữa dữ liệu trong CSDL quan hệ một trong
những yếu tố quan trọng nhất đƣợc xét đến là sự phụ thuộc giữa các thuộc tính
này với thuộc tính khác. Từ đó có thể xây dựng những ràng buộc cũng nhƣ loại
bỏ đi những dƣ thừa dữ liệu trong một CSDL.
Phụ thuộc hàm là những mối quan hệ giữa các thuộc tính trong CSDL
quan hệ. Khái niệm về phụ thuộc hàm có một vai trò rất quan trọng trong việc
thiết kế mô hình dữ liệu. Một trạng thái phụ thuộc hàm chỉ ra rằng giá trị của
một thuộc tính đƣợc quyết định một cách duy nhất bởi giá trị của thuộc tính
khác. Sử dụng các phụ thuộc hàm để chuẩn hóa lƣợc đồ quan hệ về dạng chuẩn
3 hoặc chuẩn Boye-Codd.
1.3.2. Định nghĩa phụ thuộc hàm
Cho lƣợc đồ quan hệ R xác định trên tập thuộc tính U, và X, Y ⊆ U. 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 X → Y nếu với
mọi quan hệ r xác định trên R và với hai bộ bất kỳ t1, t2 ∈ R mà t1(X)= t2(X) thì
t1(Y) = t2(Y).
1.3.3. 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 các phụ thuộc hàm
nhƣ sau:
TC1: Tính phản xạ
Nếu Y ⊆ X thì X → Y.
TC2: Tính mở rộng hai vế
Nếu X → Y thì XW → YW.
TC3: Tính chất bắc cầu
Nếu X → Y, Y → Z thì X → Z.

TC4: Tính tựa bắc cầu
Nếu X → Y, YZ → W thì XZ → W.


12
TC5: Tính cộng đầy đủ
Nếu X → Y, Z → W thì XZ →YW.
TC6: Tính mở rộng vế phải
Nếu X → Y thì XZ→Y.
TC7: Tính cộng ở vế phải
Nếu X → Y, X → Z thì X → YZ.
TC8: Tính bộ phận ở vế phải
Nếu X → YZ thì X → Y.
TC9: Tính lũy đẳng
Nếu X → YZ, Z → W thì X → YZW.
1.3.4. Hệ tiên đề Amstrong
Các tính chất 1, 2, 3 của phụ thuộc hàm gọi là hệ tiên đề Amstrong
của các lớp phụ thuộc hàm.
- Tính phản xạ: Nếu Y ⊆ X thì X → Y
- Tính mở rộng hai vế tăng trƣởng : Nếu X → Y thì XW → YW
- Tính bắc cầu: Nếu X → Y, Y → Z thì X → Z
Định lý 1.1
Hệ tiên đề Amstrong là đúng và đầy đủ
Chứng minh
a. Tính đúng
1. Với mọi t1, t2

r(R) và t1(X) = t2 X , cần chứng minh t1(Y) = t2(Y).

Thật vậy, từ giả thiết t1(X) = t2(X) mà Y  X suy ra t1(Y) = t2(Y).

Vậy từ t1(X) = t2(X) ⇒ t1(Y) = t2(Y).
2. Với mọi t1, t2 r(R) và t1(XW) = t2(XW), cần chứng minh
t1(YW)= t2(YW)
Phản chứng: Giả sử t1 YW ≠ t2(YW).
Theo giả thiết có

t1(XW) = t2(XW) ⇒

t1(X)= t2(X)
t1(W)= t2(W)


13
Nên để có: t1(YW) ≠ t2(YW) thì t1 Y ≠ t2(Y).
Nhƣng cũng theo giả thiết ta lại có X → Y nên t1(X) = t2(X) ⇒
t1(Y) = t2(Y) (mâu thuẫn) ⇒ t1(YW)= t2(YW).
Vậy từ t1(XW) = t2(XW) ⇒ t1(YW)= t2(YW).
3. Với mọi t1, t2 r(R) và t1(X) = t2 X , cần chứng minh t1(Z) = t2(Z)
Phản chứng: Giả sử t1 Z ≠ t2(Z).
Theo giả thiết X → Y nên t1(X) = t2(X) ⇒ t1(Y) = t2(Y).
Mặt khác, cũng theo giả thiết có Y → Z nên t1(Y) = t2(Y) ⇒ t1(Z) =
t2(Z) mâu thuẫn .
Vậy từ t1(X) = t2(X) ⇒ t1(Z)= t2(Z).
b. Tính đầy đủ
Nếu X → Y không suy diễn logic đƣợc từ tập phụ thuộc hàm F bằng hệ
tiên đề Amstrong thì X → Y không thỏa mãn trên quan hệ r(R).
Giả sử, X → Y không suy diễn logic đƣợc từ F bằng hệ tiên đề, ta sẽ xây dựng
một quan hệ r sao cho các phụ thuộc hàm của F là thỏa mãn trên r, nhƣng X → Y
không thỏa mãn trên r.
Xét quan hệ r gồm hai bộ t1, t2 nhƣ sau:

r

A

B

...

F

G

H

...

M

t1

1

1

...

1

1


1

...

1

t2

1

1

...

1

0

0

...

0

Trong đó, các thuộc tính trong t1 đều có giá trị 1, các thuộc tính trong t2
chỉ có các thuộc tính thuộc X+ là có giá trị 1 còn lại là giá trị 0.
Ta chứng tỏ rằng, với mọi phụ thuộc hàm của F đều thỏa mãn trên r.
Thật vậy, giả sử W → V  F không thỏa mãn trên r. Nhƣ vậy, W  X+, vì
nếu không sẽ vi phạm tính bằng nhau của W trên hai bộ t 1 và t2. Hơn nữa, V
không thể là tập con của X+, bởi vì nếu V  X+ thì W → V sẽ thỏa mãn trên r.

Vậy phải có ít nhất một thuộc tính A  X+. Theo tính chất phản xạ nếu W  X+


14
thì X → W, mà W → V nên X → V theo tính chất bắc cầu . Do A  X+ nên X
→ A hay A  X+. Điều đó là vô lý, bởi vì A  X+
Kết luận với mọi phụ thuộc hàm F đều thỏa mãn trên r.
Tiếp theo ta chứng tỏ rằng X → Y không thỏa mãn trên r
Thật vậy, giả sử X → Y thỏa mãn trên r (R). Nhƣ vậy X  X+ và Y  X+,
vì nếu không sẽ vi phạm sự bằng nhau trên các bộ t1, t2 của X và Y. Nhƣng nếu
Y  X+ thì X → Y sẽ suy diễn đƣợc từ F theo tính chất phản xạ . Điều này mâu
thuẫn với giả thiết X → Y không suy diễn đƣợc từ F. Nhƣ vậy X → Y không
thể thỏa mãn trên r.
Kết luận X → Y không thỏa mãn trên r.
1.3.5. Các hệ tiên đề khác cho 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 tập thuộc tính X, Y,
Z, W ⊆ U ta có các hệ tiên đề tƣơng đƣơng với hệ tiên đề Amstrong nhƣ sau:
Hệ tiên đề B0
Nếu X → YZ thì X → Y
Nếu X → YZ và Z → AW thì X → YZW
Hệ tiên đề S0
Nếu Y ⊆X thì X → Y
Nếu X → Y và YZ → V thì XZ → V
Hệ tiên đề D0
Nếu X → Y và Y → Z thì X → Z
Nếu X → Y và Z → W thì XZ → YW
Hệ tiên đề M0
Nếu X → Y và YZ → V thì XZ → V
Nếu X → Y thì XZ → Y



15
1.4. Khóa và bao đóng của lƣợc đồ quan hệ
1.4.1. Khóa và siêu khóa trên lược đồ quan hệ.
Định nghĩa 1.5.
Cho s = <U, F> là một lƣợc đồ quan hệ ; trong đó U là thuộc tính khác
rỗng và F là tập các phụ thuộc hàm. Cho tập con bất kỳ K  U, ta nói rằng K
là khóa của lƣợc đồ quan hệ s khi và chỉ khi nó thỏa mãn 2 điều kiện sau:
1. (K  U)  F+.
2. Không tồn tại Z  K sao cho (Z  U)  F+.
Hai điều kiện trên khẳng định các thuộc tính không khóa phụ thuộc đầy
đủ vào khóa. Từ định nghĩa trên có thể suy ra rằng K là khóa của lƣợc đồ quan
hệ khi và chỉ khi nó thỏa mãn hai điều kiện:
- K+ = U.
- (K – A)+  U ;  A  K.
Các tính chất của khóa trong lƣợc đồ quan hệ
1) Tính chất 1 (Tính chất đặc trưng của các thuộc tính khóa)
Cho K là một khóa của lƣợc đồ quan hệ a = (U, F) ; khi đó với mọi tập
con X của K ta có X+  K = X.
2) Tính chất 2 (Công thức tính giao các khóa)
Cho lƣợc đồ quan hệ a = (U, F); với U là tập các thuộc tính, F là tập của
phụ thuộc hàm, UI là giao các khóa của lƣợc đồ quan hệ a. Khi đó ta có :
UI = U\

( R \ L) .
L  RF

3) Tính chất 3 (Tính chất khóa duy nhất)
Cho lƣợc đồ quan hệ a = (U, F); với U là tập các thuộc tính, F là tập của
phụ thuộc hàm, UI là giao các khóa của lƣợc đồ quan hệ a. Khi đó a có một

khóa duy nhất  UI+ = U.


×