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

Phụ thuộc đối ngẫu trong mô hình dữ liệu dạng khối (LV01651)

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 (1.4 MB, 63 trang )

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

TRẦN KIM HOÀN

PHỤ THUỘC ĐỐI NGẪU

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, 2015


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

TRẦN KIM HOÀN

PHỤ THUỘC ĐỐI NGẪU
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, 2015




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 đồ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.
Đặ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.
Vĩnh Phúc, ngày 10 tháng 12 năm 1015
Học viên

Trần Kim Hoàn


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

Trần Kim Hoàn


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 mới của đề tài .................................................................... 3
7. Cấu trúc của luận văn .................................................................................... 3
CHƢƠNG 1: MÔ HÌNH CƠ SỞ DỮ LIỆU QUAN HỆ .................................. 4
1. 1. Các khái niệm cơ bản .............................................................................. 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.1.3. Khoá của quan hệ ................................................................................ 6
1.2. Các phép toán đại số quan hệ ................................................................... 6
1.2.1. Phép hợp ............................................................................................. 6
1.2.2. Phép giao ............................................................................................ 7
1.2.3. Phép trừ .............................................................................................. 7
1.2.4. Tích Đề-các ........................................................................................ 8
1.2.5. Phép chiếu .......................................................................................... 8
1.2.6. Phép chọn ........................................................................................... 9
1.2.7. Phép kết nối ...................................................................................... 10
1.2.8. Phép chia .......................................................................................... 11
1.3. Phụ thuộc hàm ........................................................................................ 12
1.3.1. Khái niệm phụ thuộc hàm: .............................................................. 12
1.3.2. Định nghĩa phụ thuộc hàm .............................................................. 12


1.3.3. Các tính chất của phụ thuộc hàm .................................................... 13
1.3.4. Hệ tiên đề Armtrong ....................................................................... 13
1.3.5. Các hệ tiên đề khác cho phụ thuộc hàm.......................................... 15

1.4. Bao đóng ................................................................................................ 16
1.4.1. Bao đóng của tập phụ huộc hàm ....................................................... 16
1.4.2. 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 ............................................................................................................ 19
1.4.3. Sự tƣơng đƣơng giữa hai loại suy dẫn .............................................. 21
CHƢƠNG 2: MÔ HÌNH CƠ SỞ DỮ LIỆU DẠNG KHỐI ........................... 24
2.1. Khối, lƣợc đồ khối ................................................................................. 24
2.2. Lát cắt ..................................................................................................... 25
2.3. Khóa của khối ........................................................................................ 27
2.4. Đại số quan hệ trên khối ........................................................................ 29
2.4.1. Phép hợp............................................................................................ 29
2.4.2. Phép giao ........................................................................................... 30
2.4.3. Phép trừ ............................................................................................. 31
2.4.4. Tích Đề các ....................................................................................... 32
2.4.5. Tích Đề các theo tập chỉ số ............................................................... 32
2.4.6. Phép chiếu ......................................................................................... 33
2.4.7. Phép chọn .......................................................................................... 33
2.4.8. Phép kết nối ....................................................................................... 33
2.4.9. Phép chia ........................................................................................... 34
2.5. Phụ thuộc hàm ........................................................................................ 35
2.6. Bao đóng của tập thuộc tính chỉ số ........................................................ 36
2.7. Khoá của lƣợc đồ khối R đối với tập phụ thuộc hàm F trên R .............. 38
2.8. Một sô phụ thuộc hàm mở rộng trong mô hình dƣ liệu dạng khối ........ 40
2.8.1. Phụ thuộc hàm mạnh ......................................................................... 40


2.8.2. Phụ thuộc hàm yếu ............................................................................ 43
CHƢƠNG 3: PHỤ THUỘC ĐỐI NGẪU TRONG MÔ HÌNH DỮ LIỆU
DẠNG KHỐI .................................................................................................. 45
3.1. Phụ thuộc đối ngẫu trong mô hình khối ................................................. 45

3.2. Mối quan hệ giữa phụ thuộc đối ngẫu và phụ thuộc hàm mạnh ............ 48
3.3. Mối quan hệ giữa phụ thuộc đối ngẫu và phụ thuộc hàm yếu ............... 50
KẾT LUẬN ..................................................................................................... 53
TÀI LIỆU THAM KHẢO ............................................................................... 54


DANH MỤC CÁC KÍ HIỆU, CÁC CHỮ VIẾT TẮT

REL(U)

: tập toàn thể các quan hệ trên tập thuộc tính U.



: suy dẫn theo quan hệ.



: suy dẫn theo tiên đề (suy dẫn theo logic).

DOM(A)

: miền giá trị của thuộc tính A.

r(Rx)

: là một lát cắt trên khối r(R) tại điểm x.

α = (R, F)


: Sơ đồ quan hệ với R là quan hệ trên tập thuộc tính, F là tập phụ
thuộc hàm trên R.

Fh

: tập các phụ thuộc hàm đầy đủ.


1

MỞ ĐẦU
1. Lý do chọn đề tài
Trong những thập niên gần đây, việc ứng dụng công nghệ thông tin trở
nên

rộng

rãi



vai

trò

của

công

nghệ


thông

tin

ngày

càng đƣợc khẳng định trong hầu hết các lĩnh vực khác nhau trong đời sống
với nhiều quy mô khác nhau. Việc sử dụng các ứng dụng của công nghệ,
lƣợng dữ liệu đƣợc sử dụng ngày càng tăng, việc xây dựng các mô hình quản
lý dữ liệu trên ngày càng cấp thiết và ảnh hƣởng rất lớn đến giá trị sử dụng
của dữ liệu và mô hình dữ liệu quan hệ, mô hình dữ liệu khối,... đƣợc ra đời
nhằm đáp ứng các nhu cầu đó.
Sự quan tâm gần đây là nghiên cứu các ràng buộc dữ liệu hay còn gọi
là các phụ thuộc dữ liệu trong mô hình quan hệ. Việc nghiên cứu các ràng
buộc dữ liệu lần đầu tiên do E.F.Codd đề xuất. Đó là một vấn đề cần thiết, có
ý nghĩa và giữ một vai trò quan trọng trong việc đảm bảo tính nhất quán dữ
liệu. Mục đích của việc nêu ra khái niệm phụ thuộc dữ liệu là nhằm bảo đảm
cho dữ liệu trong cơ sở dữ liệu không mâu thuẫn, phản ánh dùng thế giới hiện
thực, tránh đƣợc dƣ thừa. Thực tế là đa dạng và phong phú, do đó các dữ liệu
phản ánh các đối tƣợng trong thực tế cũng có mối quan hệ đa dạng, phong
phú và phức tạp. Cũng vì thế cần phải có nhiều loại phụ thuộc dữ liệu khác
nhau để đáp ứng phù hợp với tình hình thực tế. Phụ thuộc logic đầu tiên là
phụ thuộc hàm đƣợc giới thiệu bởi E.F.Codd vào năm 1970. Sau đó một loạt
các phụ thuộc khác cũng ra đời nhƣ phụ thuộc đa trị, phụ thuộc kết nối, phụ
thuộc mạnh, phụ thuộc yếu...
Mô hình dữ liệu dạng khối là mở rộng của các mô hình đang đƣợc sử
dụng rất phổ biến là mô hình dữ liệu quan hệ. Trong quá trình nghiên cứu về
mô hình dữ liệu dạng khối thì việc xây dựng và phân tích mối quan hệ phụ



2

thuộc dữ liệu đóng vai trò quan trọng trong việc thiết kế và xây dựng cơ sở dữ
liệu. 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. Từ đó,
luận văn này nghiên cứu các dạng phụ thuộc hàm của mô hình dữ liệu dạng
khối. Đặc biệt là phụ thuộc đối ngẫu, mối quan hệ của phụ thuộc đối ngẫu với
phụ thuộc hàm mạnh và mối quan hệ của phụ thuộc đối ngẫu với phụ thuộc
hàm yếu. Vì vậy, em lựa chọn đề tài nghiên cứu là: “Phụ thuộc đối ngẫu
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 về mối quan hệ giữa các khối trong lƣợc đồ khối, tiến hành
nghiên cứu về các phụ thuộc hàm trên khối nhƣ: phụ thuộc hàm, phụ thuộc
hàm mạnh, phụ thuộc hàm yếu, phụ thuộc đối ngẫu. Đồng thời tìm hiểu mối
quan hệ giữa các phụ thuộc hàm mạnh, phụ thuộc hàm yếu và phụ thuộc đối
ngẫu.
3. Nhiệm vụ nghiên cứu
Tìm hiểu về mô hình cơ sở dữ liệu dạng khối, tìm hiểu các mối quan hệ
giữa các khối trong lƣợc đồ khối Nghiên cứu và đề xuất các phụ thuộc hàm
mới trong mô hình cơ sở dữ liệu dạng khối.
4. Đối tƣợng và phạm vi nghiên cứu
Đối tƣợng, phạm vi nghiên cứu về phụ thuộc hàm, các khái niệm cơ
bản về phụ thuộc đối ngẫu và mối quan hệ giữa phụ thuộc hàm đối ngẫu, phụ
thuộc hàm mạnh, phụ thuộc hàm yếu trên lƣợc đồ khối và lát cắt.
5. Phƣơng pháp nghiên cứu
Thu thập tài liệu, phân tích, suy luận, tổng hợp, đánh giá, chứng minh.
Từ đó, đề xuất các khái niệm liên quan đến phụ thuộc hàm trong cơ sở dữ liệu
dạng khối.



3

6. Những đóng góp mới của đề tài
Phát biểu định nghĩa, chứng minh các mệnh đề về phụ thuộc hàm đối
ngẫu trong mô hình dữ liệu khối.
Mối quan hệ giữa phụ thuộc đối ngẫu, phụ thuộc hàm mạnh và phụ
thuộc hàm yếu trên lƣợc đồ khối và trên lát cắt.

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: Mô hình cơ sở dữ liệu quan hệ
Chƣơng này giới thiệu các khái niệm về thuộc tính, miền thuộc tính,
quan hệ, lƣợc đồ, khóa của quan hệ. Trình bày các phép toán đại số quan hệ,
phụ thuộc hàm, bao đóng trong mô hình quan hệ và phụ thuộc hàm đối ngẫu
trong mô hình quan hệ.
Chƣơng 2: Mô hình cơ sở dữ liệu dạng khối
Chƣơng này trình bày các khái niệm cơ bản về mô hình dữ liệu dạng
khối nhƣ: định nghĩa khối, lát cắt, lƣợc đồ khối, đại số trên khối, khóa của
khối, phụ thuộc hàm trên khối, phụ thuộc hàm mạnh, phụ thuộc hàm yếu trên
khối.
Chƣơng 3: Phụ thuộc hàm đối ngẫu trong mô hình dữ liệu dạng khối.
Chƣơng này trình bày các nội dung liên quan đến phụ thuộc đối ngẫu
và mối quan hệ giữa phụ thuộc hàm đối ngẫu, phụ thuộc hàm mạnh, phụ
thuộc hàm yếu trong mô hình cơ sở dữ liệu dạng khối.


4


CHƢƠNG 1: MÔ HÌNH CƠ SỞ DỮ LIỆU QUAN HỆ
1. 1. Các khái niệm cơ bản [7], [9], [10]
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 (tên thuộc tính).
Ví dụ 1.1
Đối tƣợng Ôtô có các thuộc tính nhƣ: MaOto, TenOto, Mausac, Dungtich, ...
Miền giá trị của các thuộc tính của đối tƣợng Ô tô :
DOM(MaOto) = {char(5)} ={„HD01‟, „T02‟, „L1‟ ...};
DOM(TenOto) = {char(16)} ={„Honda‟,„Toyota‟,„Lexus‟, ...} ;
DOM(Mausac) = {char(12)} ={„Đỏ‟, „Đen‟,„Trắng‟ ...};
DOM(Dungtich) ={char(30)} = {„2.0L‟, „1.8L‟, „4.8L‟, …}.
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). Khi đó r là một
tập các bộ {h1, h2, …, hm} đƣợc gọi là quan hệ trên U với hk (k=1, 2, …, m) là
một hàm:
hk: U →
Ai U

D Ai

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

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:


5

A1

A2



An

h1

h1(A1)

h1(A2)



h1(An)

h2

h2(A1)

h2(A2)




h2(An)











hm

hm(A1)

hm(A2)



hm(An)

Ví dụ 1.2
Mặt hàng

MaMH

TenMH


SL

Dgia

Ttien

Ao1

Xoài

15t

10tr/1tan

150tr

Ao2

Nho

1t

120tr/1tan

120tr

Ao3

Vai


120t

7tr/1tan

840tr

B1

Mit

268kg

35k/1kg

9380k

Trong đó các thuộc tính là MaMH: mã mặt hàng; TenMH: tên mặt hàng;
SL: số lƣợng; Dgia: đơn giá; Ttien: thành tiền.
Bộ giá trị: (Ao1, Xoài, 15t, 10tr/tan, 150tr) là một bộ.
Nếu có một bộ t = (d1, d2, d3, ..., dm)  r, r xác định trên U, X  U thì
t(X) đƣợc gọi 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) = (di,di+1,...,dk)
Đị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). Khái niệm tập tất cả các bộ (D1, D2,.., Dn) gọi là
miền giá trị của quan hệ.



6

1.1.3. Khoá của quan hệ
Định nghĩa 1.4
Khoá của quan hệ r xác định trên tập thuộc tính U={A1, A2, .., An} là
tập con K  U sao cho bất kỳ hai bộ khác nhau t 1, 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
Nhân viên

MaNV

Hvt

GT

NS

Phong

SP001

Minh

24/01/1988

HN


Đào tạo

SP002

Ngọc

13/05/1989

SG

KHCN

SP003

Tuấn

3/05/1980

Huế

TCCB

Ta có thuộc tính MaNV là khóa của quan hệ.
1.2. Các phép toán đại số quan hệ [7], [8], [15]
Phép toán tập hợp: phép hợp, phép giao, phép trừ, phép tích đề các.
Phép toán quan hệ: phép chiếu, phép chọn, phép chia, phép kết nối.
Đị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.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 v t ∈ s}

Ví dụ 1.4
r

(X

Y

Z)

x1

y1

x2
x2

;

s

(X

Y

Z)


z1

x1

y2

z1

y1

z2

x2

y2

z2

y2

z1


7

h=r∪s

(X


Y

Z)

x1

y1

z1

x2

y1

z2

x2

y2

z1

x1

y2

z1

x2


y2

z2

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.5:
r

(X

Y

Z)

x3

y1

x3
x2

;

s

(X


Y

Z)

z1

x2

y1

z1

y1

z2

x1

y2

z2

y2

z1

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}

Ví dụ 1.6
r

(X

Y

Z)

x2

y1

x2

;

s

(X

Y

Z)

z1

x2

y1


z1

y1

z2

x3

y2

z2

x2

y2

z3

r - s = (X

Y

Z)

s - r = (X

Y

Z)


x2

y1

z2

x3

y2

z2

x2

y2

z3


8

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 × 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.7
r: MaSV MaMH DIEM

s: MaMH TENMH

SP01

C++

8.0

KPDL

Khai pha du lieu

SP02

JAVA

5.0

HM

Hoc may

SP03


CSDL

7.5
rxs

MaSV

MaMH

DIEM

MaMH

TENMH

SP01

C++

8.0

KPDL

Khai pha du lieu

SP01

C++

8.0


HM

Hoc may

SP02

JAVA

5.0

KPDL

Khai pha du lieu

SP02

JAVA

5.0

HM

Hoc may

SP03

CSDL

7.5


KPDL

Khai pha du lieu

SP03

CSDL

7.5

HM

Hoc may

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


9

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.8
r

B (r)


(A

B

C

D)

a

2

x

4

b

5

y

2

c

5

z


5

d

6

x

5

e

2

y

4

(B)
2
5
6

 BD (r) (B

D)

2


4

5

2

5

5

6

5

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 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ộ đó.


10

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.9
r (A

B

C

D)

2

1

x

4

3


4

y

1

4

5

z

5

7

1

x

5

3

1

y

4


B

C D)

3

4

y

1

7

1

x

5

AD (r) (A

1.2.7. Phép kết nối
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,...,Bn}. Để định nghĩa phép kết nối của hai
quan hệ, trƣớc hết chúng ta làm quen với khái niệm ghép bộ.
Giả sử cho hai bộ u = (a1, a2,..., an) và v = (b1, b2,..., bm). Phép gộp bộ u với bộ
v, kí hiệu (u,v), đƣợc định nghĩa là: (u,v) = (a1, a2,..., an, b1, b2,..., bm).
Phép kết nối hai quan hệ thực chất là phép ghép các cặp bộ của

hai quan hệ thoả mãn một điều kiện nào đó trên chúng. Điều kiện đó
đựợc gọi là điều kiện kết nối hay biểu thức kết nối.
Biểu thức kết nối đƣợc định nghĩa là phép hội 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 một thuộc tính của
quan hệ r và một thuộc tính của quan hệ s.


11

Phép kết nối của quan hệ r với quan hệ s với biểu thức kết nối F đƣợc
định nghĩa nhƣ sau: r

s = {t(u,v) | u  r  v  s  F(t) }

F

Tất nhiên ở đây cần giả thiết rằng các phép so sánh của các cặp thuộc
tính thuộc hai quan hệ là có nghĩa, hay mỗi giá trị của thuộc tính này có thể so
sánh đƣợc với mỗi giá trị của thuộc tính kia.
Trong trƣờng hợp phép so sánh là “=”, chúng ta gọi phép kết nối đó là
phép kết nối bằng. Trƣờng phép hợp kết nối bằng trên các thuộc tính cùng tên
của hai quan hệ và sau khi kết nối một trong hai thuộc tính của phép so sánh
“=” đƣợc loại bỏ thông qua phép chiếu thì phép kết nối này đƣợc gọi là kết
nối tự nhiên và sử dụng kí hiệu “ * ”. Phép kết nối tự nhiên của hai quan hệ có
thể đƣợc định nghĩa nhƣ sau:
r(U) * s(V) = { t.(U  V) | t.U  r  t.V s }
Ví dụ 1.10
r (X

Y Z)


x1 x

r

ZT

;

s (T U)

5

3

x3

y

y2 1

4

y

z1

x 2

s X


Y

Z T

U

x1 x

5

3

x3

x1 x

5

4

y

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}



12

Ví dụ 1.11
r (A B

C

D) ;

3

a1

1

a1

b1 2

a1

1

b1 2

c1

1


a1

1

c1

a1

1

b1

4

b1 2

d1

5

c1

3

e1

6

r ÷ s (C


D)

a1

a1

s (A B)
3

1

1

1.3. Phụ thuộc hàm [7], [13], [15]
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).


13

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


14

- 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)

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 trên r.


15

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 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,

 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ạ
V không thể là tập con của X +, bởi vì nếu V

nếu W  X+ 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 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 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


16

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
1.4. Bao đóng.
1.4.1. Bao đóng của tập phụ thuộc hàm.
Định nghĩa 1.7
Cho tập phụ 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
thuộc F. Vậy F+ = {f │F │= f}.
Các tính chất của bao đóng:
1. X ⊆ X+
2. Nếu X ⊆ Y thì X+ ⊆ Y+
3. X → X+
4. X++ = X+
5. X+Y+⊆ (XY)+
6. (X+Y)+= (XY+)= (XY)+
7. X → Y  Y ⊆ X+
8. X → Y và Y → X  X+ = Y+
Chứng minh
1. Lấy bất kỳ A ∈ X cần chứng minh A ∈ X+.
Ta có A ∈ X  {A} ⊆ X suy ra X → A (luật phản xạ)⇒ A ∈X+.


17

2. Lấy A ∈ X+, ta cần chứng minh A ∈ Y+.
Ta có A ∈ X+⇒X → A (1).
Mà theo luật phản xạ X⊆Y ⇒ Y → X (2).
Vậy từ (1) và (2) ta suy ra Y→ A ⇒ A∈ Y+.
3. Giả sử X+ =A1A2....Ak
Do A1∈ X+ ta có X → A1
Tƣơng tự:

X → A2
.............
X → Ak


Theo luật hợp ta có X → A1A2....Ak ⇒ X → X+
4. Để chứng minh X++ =X+ ta đi chứng minh X+⊆ X++ và ngƣợc lại X++⊆ X+

Theo tính chất 1 ta có X+⊆ X++ . Ta cần chứng minh X++⊆ X+
Lấy A ∈ X++, chứng minh A ∈ X+.
Do A ∈ X++⇒X+ → A (1).
Mặt khác theo tính chất 3 ta có: X → X+ (2).
Từ (1) và (2) suy ra X→ A ⇒ A ∈ X+.
5. Ta có X ⊆ XY
Theo tính chất 2 ta có X+⊆ (XY)+ (1).
Tƣơng tự ta cũng có : Y+⊆ (XY)+ (2).
Từ (1) và (2) suy ra X+Y+⊆ (XY)+.
6. Theo những chững minh trên ta có:
X+⊆ X+ Y (1).
X+⊆ (XY)+ (2).
Y+⊆ (XY)+ (3).
Từ (1), (2) và (3) suy ra X+Y ⊆ (XY)+⇒(X+ Y)+⊆ (XY)++ = (XY)+
(theo tính chất 4).
Vậy ta có ⇒(X+ Y)+⊆ (XY)+ (4).


×