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

Một số tính chất của lược đồ cân bằng trong mô hình dữ liệu dạng khối (LV01615)

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.66 MB, 64 trang )

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

ĐINH THỊ THỦY

MỘT SỐ TÍNH CHẤT
CỦA LƢỢC ĐỒ CÂN BẰNG
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


1

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
thầy hƣớng dẫn khoa học, của các thầy cô trƣờng Đại học Sƣ phạm Hà Nội 2.
Tôi xin chân thành cảm ơn các thầy cô 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. Đặ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 01 tháng 06 năm 2015
Học viên

Đinh Thị Thủy



2

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

Đinh Thị Thủy


3

MỤC LỤC
LỜI CẢM ƠN ................................................................................................... 1
LỜI CAM ĐOAN ............................................................................................. 2
DANH MỤC CÁC BẢNG................................................................................ 5
DANH MỤC CÁC HÌNH VẼ .......................................................................... 6
MỞ ĐẦU ........................................................................................................... 8
CHƢƠNG 1: MÔ HÌNH DỮ LIỆU QUAN HỆ VÀ LƢỢC ĐỒ CÂN BẰNG
......................................................................................................................... 11
1.1. Mô hình dữ liệu quan hệ. ..................................................................... 11
1.1.1. Tổng quan về mô hình dữ liệu quan hệ. ..................................... 11
1.1.2. Thuộc tính và miền thuộc tính. ................................................... 12
1.1.3. Quan hệ, lƣợc đồ quan hệ. .......................................................... 12
1.1.4. Khóa của quan hệ. ....................................................................... 13
1.2. Các phép tính của đại số quan hệ. ........................................................ 14
1.3. Phụ thuộc hàm. ..................................................................................... 18

1.4. Bao đóng. ............................................................................................. 19
1.5. Khoá. .................................................................................................... 21
1.6. Lƣợc đồ cân bằng trong mô hình quan hệ. .......................................... 23
Kết luận. ...................................................................................................... 27
CHƢƠNG 2: MÔ HÌNH DỮ LIỆU DẠNG KHỐI ........................................ 28
2.1. Mô hình dữ liệu dạng khối. .................................................................. 28
2.1.1. Khối, lƣợc đồ khối. ..................................................................... 28
2.1.2. Lát cắt. ......................................................................................... 30
2.2. Đại số trên khối .................................................................................... 32
2.3. Phụ thuộc hàm trên khối. ..................................................................... 40
2.4. Bao đóng trong mô hình dữ liệu dạng khối. ........................................ 42


4

2.5. Khoá của lƣợc đồ khối đối với tập phụ thuộc hàm F trên R . ............. 43
Kết luận ....................................................................................................... 45
CHƢƠNG 3: LƢỢC ĐỒ CÂN BẰNG TRONG MÔ HÌNH DỮ LIỆU DẠNG
KHỐI ............................................................................................................... 47
3.1. Lƣợc đồ cân bằng trong mô hình dữ liệu dạng khối. ........................... 47
3.1.1. Các tính chất................................................................................ 48
3.1.2. Thuật toán dịch chuyển lƣợc đồ khối về dạng cân bằng. ........... 51
3.2. Một số tính chất mở rộng của lƣợc đồ cân bằng trong mô hình dữ liệu
dạng khối. ........................................................................................................ 56
Kết luận ........................................................................................................ 59
KẾT LUẬN ..................................................................................................... 60
TÀI LIỆU THAM KHẢO ............................................................................... 61


5


DANH MỤC CÁC BẢNG

Bảng 1.1. Biểu diễn quan hệ r. ........................................................................ 13
Bảng 1.2. Biểu diễn ví dụ Nhân Viên. ............................................................ 13
Bảng 1.3. Biểu diễn quan hệ Sinh Viên. ......................................................... 14
Bảng 1.4. Biểu diễn quan hệ r, s, r  s. . ........................................................ 15
Bảng 1.5. Bảng biểu diễn quan hệ r, s, r  s. ................................................ 15
Bảng 1.6. Biểu diễn các quan hệ r , s, r \ s, s \ r. ............................................ 16
Bảng 1.7. Biểu diễn quan hệ r ,  B D (r ) . ...................................................... 17
Bảng 2.1. Biểu diễn lát cắt r(RHọc kỳ I). ............................................................. 30
Bảng 2.2. Biểu diễn họ gồm 2 quan hệ r1, r2 . ................................................ 31


6

DANH MỤC CÁC HÌNH VẼ
Hình 2.1. Biểu diễn khối điểm học viên DiemHV ( R) . .................................. 29
Hình 2.2. Biểu diễn các khối r ( R), s( R). ....................................................... 32
Hình 2.3. Biểu diễn 2 khối r , s khả hợp. ....................................................... 33
Hình 2.4. Biểu diễn các khối r, s, r  s. ......................................................... 34
Hình 2.5. Biểu diễn các khối r, s, r  s ........................................................... 35
Hình 2.6. Biểu diễn các khối: r , s, s \ r . ......................................................... 35
Hình 2.7. Biểu diễn các khối r , r ,   P (r ). ................................................... 37
Hình 2.8. Biểu diễn khối  x4  y 4 (r ) ................................................................ 39


7

DANH MỤC CHỮ VIẾT TẮT VÀ KÍ HIỆU


Ý nghĩa

Kí hiệu
PTH

:Phụ thuộc hàm.

LĐQH

: Lƣợc đồ quan hệ

LĐCB

: Lƣợc đồ cân bằng

LS

: Vế trái

RS

: Vế phải



: Phép giao




: Phép hợp

\

: Phép trừ



: Tập con



: Nằm trong



: Thuộc



: Không thuộc



: An pha



: Bê ta




: Tồn tại

Fh

: Phụ thuộc hàm Fh


8

MỞ ĐẦU
1. Lý do chọn đề tài
Để 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ố 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 số các mô hình này thì có ba mô hình dữ liệu thƣờng
đƣợc sử dụng là mô hình phân cấp, mô hình mạng và mô hình quan hệ. Đối
với ba mô hình này thì mô hình quan hệ đƣợc quan tâm hơn cả. Mô hình này
đƣợc E.Codd đề xuất 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 cơ sở dữ liệu có cấu trúc phi tuyến tính,…
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 dữ liệu mới đã đƣợc đề xuất đó là mô hình dữ liệu dạng
khối. Mô hình dữ liệu này đƣợc xem là một mở rộng của mô hình dữ liệu
quan hệ.
Để góp phần hoàn thiện về lý thuyết thiết kế của mô hình dữ liệu dạng
khối em đã chọn đề tài “Một số tính chất của lược đồ cân bằng trong mô

hình dữ liệu dạng khối”. Trong đề tài này một số tính chất mở rộng của lƣợc
đồ khối cân bằng đã đƣợc phát biểu và chứng minh.
2. Mục đích nghiên cứu
- Tìm hiểu về mô hình dữ liệu dạng khối.
- Tìm hiểu về lƣợc đồ khối cân bằng, các tính chất của lƣợc đồ khối cân
bằng và phép dịch chuyển lƣợc đồ khối về dạng lƣợc đồ khối cân bằng
- Phát biểu và chứng minh một số tính chất mở rộng của lƣợc đồ khối
cân bằng.


9

3. Nhiệm vụ nghiên cứu
- Tìm hiểu về mô hình dữ liệu quan hệ và lƣợc đồ cân bằng trong mô
hình dữ liệu quan hệ. và lƣợc đồ khối cân bằng, các tính chất của nó, phép
dịch chuyển lƣợc đồ khối về dạng cân bằng.
- 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ở rộng của lƣợc đồ khối
cân bằng.
4. Đối tƣợng và phạm vi nghiên cứu
- Đối tƣợng nghiên cứu các tính chất của lƣợc đồ cân bằng trong mô
hình dữ liệu dạng khối.
- Phạm vi nghiên cứu trong mô hình dữ liệu dạng khối.
5. Phƣơng pháp nghiên cứu
Trong quá trình triển khai đề tài, chúng tôi sử dụng chủ yếu các phƣơng
pháp: Thu thập tài liệu, phân tích, suy luận, tổng hợp, đánh giá tài liệu về lƣợc
đồ khối, mô hình dữ liệu dạng khối, lƣợc đồ khối, lƣơc đồ cân bằng. Từ đó đề
xuất ra một số tính chất của lƣợc đồ cân bằng trong mô hình dữ liệu quan hệ.
6. Những đóng góp mới của đề tài
- Tìm hiểu mô hình dữ liệu dạng khối.

- Tìm hiểu lƣợc đồ cân bằng trên khối và các tính chất của nó.
- Phát biều và chứng minh một số tính chất mở rộng lƣợc đồ cân bằng
trên 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: 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,


10

bao đóng, khóa và lƣợc đồ cân bằng trên mô hình quan hệ.
Chƣơng 2: Giới thiệu tổng quan về mô hình dữ liệu dạng khối: Định nghĩa
khối, lƣợc đồ khối, lát cắt, khóa của khối, các phép tính trên khối, đại số quan
hệ trên khối, phụ thuộc hàm, bao đóng trong mô hình dữ liệu dạng khối, khóa
của lƣợc đồ khối R đối với tập phụ hàm F trên R và lƣợc đồ cân bằng trong
mô hình dữ liệu dạng khối
Chƣơng 3: Trình bày khái niệm về lƣợc đồ cân bằng, phát biểu và chứng
minh các tính chất của lƣợc đồ cân bằng thuật toán chuyển đổi lƣợc đồ khối
về dạng cân bằng khẳng định tính đúng và độ phức tạp của thuật toán chuyển
đổi, mối quan hệ giữa lƣợc đồ cân bằng trên lƣợc đồ khối và trên lƣợc đồ lát
cắt với phép dịch chuyển lƣợc đồ khối.


11

CHƢƠNG 1: MÔ HÌNH DỮ LIỆU QUAN HỆ
VÀ LƢỢC ĐỒ CÂN BẰNG
- Mô hình dữ liệu quan hệ là một trong những mô hình đƣợc quan tâm

nhiều nhất hiện nay. Nhiều tác giả đã quan tâm nghiên cứu và đã thu đƣợc các
kết quả tốt. Một trong các kết quả này là lƣợc đồ cân bằng và các tính chất
của nó.
- Mô hình dữ liệu quan hệ và lƣợc đồ cân bằng sẽ đƣợc trình bày trong
phần dƣới đây.
- Để hiểu rõ hơn về mô hình dữ liệu quan hệ và lƣợc đồ cân bằng các
vấn đề này đƣợc trình bày ở chƣơng 1 đã đƣợc nói tới trong tài liệu [5], [9],
[13].
1.1. Mô hình dữ liệu quan hệ
1.1.1. Tổng quan về mô hình dữ liệu quan hệ
Khái niệm toán học làm nền tảng cho mô hình dữ liệu quan hệ là các
quan hệ theo lý thuyết tập hợp. Đó là tập con của tích Đề Các của một danh
sách các miền, mỗi miền đơn giản là một tập các giá trị. Ta có thể xem một
quan hệ nhƣ một bảng, trong đó mỗi hàng là một bộ và mỗi cột là một thuộc
tính.
Ta có thể biểu diễn một sơ đồ thực thể - liên hệ trong mô hình quan hệ.
Khi đó các dữ liệu của sơ đồ thực thể - liên hệ đƣợc biểu diễn bởi hai loại
quan hệ:
- Một tập thực thể E có thể đƣợc biểu diễn bởi một quan hệ mà lƣợc đồ
quan hệ của nó chứa tất cả các thuộc tính của tập thực thể đó. Mỗi bộ của
quan hệ biểu diễn một thực thể trong thể hiện của E.
Mỗi liên hệ giữa tập E1, E2 ,..., Ek đƣợc biểu diễn bởi một quan hệ có
lƣợc đồ quan hệ chứa các thuộc tính trong các khóa của E1, E2 ,...., Ek . Bằng


12

cách đặt lại tên cho các thuộc tính nếu cần, ta đảm bảo rằng không có hai tập
thực thể trong danh sách có các thuộc tính cùng tên, ngay cả khi hai tập thực
thể này chỉ là một.

1.1.2. 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 các quan hệ.
- Miền thuộc tính là tập giá trị mà từ đó ta có thể rút ra các giá trị cụ thể
xuất hiện trong các cột biểu diễn thuộc tính, ký hiệu: DOM (tên thuộc tính).
Ví dụ 1.1. Nhanvien : MaNV, Hoten, NgSinh, Đchi )
DOM(MaNV) = {char (4) }; DOM(Hoten) = {char (3) };
DOM(NgSinh) = {date}

; DOM(Đchi) = {„HN‟, „SL‟, „ĐB‟…}

1.1.3. 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 các phần tử khác rỗng, trong
đó Ai (i  1, 2,..., n) là các thuộc tính. Mỗi thuộc tính Ai có miền giá trị là
DAi . Khi đó r là một tập các bộ {h1, h2 ,..., hn} đƣợc gọi là quan hệ trên R

với h j ( j  1, 2,...,  m) là một hàm:
h j : U  DAi , Ai U sao cho h j ( Ai )  DAi .

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 )













13

hm

hm ( A1)



hm ( A2 )

hm ( An )

Bảng 1.1. Biểu diễn quan hệ r.
Ví dụ 1.2.
Nhân viên:
MaNV

HOTEN

NS

DC

PLV

C 01

A


26 / 03 / 90

HN

P5

C 02

B

19 / 05 / 91

SL

P5

C 03

B

20 / 11/ 92

VP

P6

Bảng 1.2. Biểu diễn ví dụ Nhân Viên.
Trong đó các thuộc tính là MaNV : mã nhân viên; HOTEN : họ
tên; NS : ngày sinh; DC : địa chỉ; KHOA : khoa.

Bộ giá trị: (C 01, A,26 / 03 / 90, HN , P5) 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 .

Đị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
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( A1, A2 ,..., An ) hoặc R(U ) , quan
hệ r xác định trên lƣợc đồ R(U ).
Khái niệm tất cả các bộ ( D1, D2 ,...., Dn )
1.1.4. Khóa của quan hệ
Định nghĩa 1.4
Cho quan hệ r xác định trên tập thuộc tính U  {A1, A2 ,..., An} , K  U
đƣợc gọi là khóa của quan hệ r nếu nhƣ với mọi t1, t2  r , t1  t2 thì tồn tại
ít nhất một thuộc tính A  K sao cho t1. A  t2. A và mọi K1  K , K1 không


14

phải là khóa.
Tập thuộc tính K '  K và K là khoá.
Ví dụ 1.3. Cho quan hệ sinh viên nhƣ ở bảng 1.3 dƣới đây.
Sinh viên:
MaSV

HOTEN

NS

DC


PLV

C 01

A

26 / 03 / 90

HN

P5

C 02

B

19 / 05 / 91

SL

P5

C 03

B

20 / 11/ 92

VP


P6

Bảng 1.3. Biểu diễn quan hệ Sinh Viên.
Trong quan hệ sinh viên ở bảng 1.3 ta thấy khóa của quan hệ này là
MaSV .

1.2. Các phép tính của đạ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.
Đị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ị.
* Phép hợp
- Cho 2 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ập tất cả các bộ thuộc r hoặc thuộc s .
r  s  {t t  r  t  s} .

Ví dụ 1.4

r:

A

B

C

a1


b1

a2
a2

s:

A

B

C

c1

a1

b1

c1

b2

c2

a2

b1

c2


b2

c1


15

r s:

A

B

C

a1

b1

c1

a2

b1

c2

a2


b2

c1

a2

b2

c2

Bảng 1.4. Biểu diễn quan hệ r, s, r  s.
* Phép giao
- Cho hai quan hệ r và s khả hợp. Giao của r và s ký hiệu: r  s , là
một quan hệ gồm tập tất cả các bộ thuôc r thuộc s . Ta có:
r  s  {t t  r và t  s} .

Ví dụ 1.5

r:

r s:

A

B

C

a1


b1

s:

A

B

C

c1

a1

b1

c1

a2 b2

c2

a2

b1

c2

a2 b2


c1

A

B

C

a1

b1

c1

Bảng 1.5. Bảng biểu diễn quan hệ r, s, r  s.
* Phép trừ
- Cho hai quan hệ r và s khả hợp, Hiệu của 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 và t  s}


16

Ví dụ 1.6

r:

r \ s:

A


B

C

a1

b1

s:

A

B

C

c1

a1

b1

c1

a2 b2

c2

a2


b1

c2

a2 b2

c1

A

B

C

A

B

C

a2

b2

c2

a2

b1


c2

a2

b2

c1

s\r:

Bảng 1.6. Biểu diễn các quan hệ r , s, r \ s, s \ r.
* Tích Đề-các
Cho 2 quan hệ r , s bất kỳ, có tập thuộc tính lần lƣợt là U1 và U 2 với

U1  U 2   . Tích Đề-các của r , s ký hiệu: r  s là quan hệ trên U1  U 2
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  s  {t  (u, v) / u  r, v  s} .

* Phép chiếu
Phép chiếu thực sự 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.
- Cho quan hệ r xác định trên tập thuộc tính U , X là tập con của U .
Phép hợp chiếu của quan hệ r trên tập thuộc tính X , kí hiệu là (xr ) , là tập
các bộ của r xác định trên X . Ta có: (xr ) {t. X t  r }.
* Phép chọn
- Phép chọn là phép toán 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


17


hay biểu thức chọn.
- Điều kiện chọn là một tổ hợp logic của một bài toán hạng trong đó
mỗi toán hạng là một phép toán so sánh giữa 2 thuộc tính có cùng miền giá trị
hoặc giữa một thuộc tính với giá trị hằng.
- F là phép toán logic:    hoặc so sánh , , , , ,  .
- Cho quan hệ r 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:  F (r ), là tập tất cả
các bộ của r thoả mãn F .

 F (r )  {t t  r  F (t ) đúng}.
Ví dụ 1.7

r

A

B

C

D

a

1

x

b


2

c

 B  D (r )

A

B

C

D

4

c

4

z

4

y

5

d


8

x

5

4

z

4

d

8

x

5

e

1

y

4

Bảng 1.7. Biểu diễn quan hệ r ,  B D (r ) .

Minh họa quan hệ r và phép chọn của r theo tiêu chuẩn B  D
* Phép kết nối tự nhiên
Cho hai 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ệ chứ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 Descartes, trong đó mỗi bộ


18

của quan hệ R sẽ đƣợc ghép với mọi bộ của quan hệ S .
- Kết nối bằng (Equi - Join): Là phép kết nối trong đó tất cả các phép so
sánh trong điều kiện F đều là bằng.
- Kết nối tự nhiên (Natural - Join): Là phép kết nối bằng trên các thuộc
tính trùng tên của hai quan hệ trong đó một thuộc tính trùng tên sẽ bị loại khỏi
quan hệ kết quả, Kí hiệu : r  s .
* Phép chia
- Cho hai quan hệ r (U ) và s(V ) với U  {A1,..., An }, V  U . Phép chia
của hai quan hệ r cho quan hệ s ký hiệu: r  s là 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, tu  r}.

1.3. Phụ thuộc hàm
Khi xét đến mối quan hệ giữa các dữ liệu trong CSDL quan hệ thì 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.
Định nghĩa 1.6
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 ).


19

* 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, A1,..., 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:
1. Nếu Y  X thì X  Y .
2. Nếu X  Y thì XW  YW .
3. Nếu X  Y ,Y  Z thì X  Z .
4. Nếu X  Y ,YZ  W thì XZ  W.
5. Nếu X  Y , Z  W thì XZ  YW .
6. Nếu X  Y thì XZ  Y .
7. Nếu X  Y , X  Z thì X  YZ .
8. Nếu X  YZ thì X  Y .
9. Nếu X  YZ , Z  WV thì X  YZW .
1.4. Bao đóng

Đị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 ).
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   ( X ,Y ) .


20
6) ( X Y )  ( XY  )  ( XY ) .
7) X  Y  Y  X  .
8) X  Y và Y  X  X   Y  .
Thuật toán bao đóng:
Vào: Tập thuộc tính X , tập phụ thuộc hàm F và lƣợc đồ khối R .
Ra: X  bao đóng của X đối với F trên R .
BAO DONG 1( X , F , R)
Begin
Tepcu :  ; tepmoi :  X ;
While tepmoi  tepcu do
Begin
Tepcu:= tepmoi;
For each W  Z in F do
If tepmoi  W then tepmoi : Tepmoi  Z
End;
Return(tepmoi);

End.
Ví dụ: 1.8.
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  GE, E  H }

Tính ( ABF )?
Bƣớc 0 : X 0  AB.
Bƣớc 1: X1  X O  {D} vì  A  D thoả mãn điều kiện.
Bƣớc 2 : X 2  X1  {E} vì  AB  DE thoả mãn điều kiện.
Bƣớc 3: X 3  X 2  {H } vì  E  H thoả mãn điều kiện.


21
Bƣớc 4 : X 4  X 3.
Vậy ABF {ABDEH }
1.5. Khoá
Định nghĩa: 1.8.
Cho LĐQH a  (U , F ) Tập thuộc tính k  U đƣợc gọi là khóa của
LĐQH a nếu:
(i ) . K   U
(ii ) . A  K : ( K | A)   U

Hai điều kiện trên tƣơng đƣơng với:
(i ' ) . K  U

(ii ' ) . A  K : K \ A  U

Nếu K thỏa điều kiện (i ) (hoặc (i ' )) thì K đƣợc gọi là một siêu khóa.
Thuộc tính A U đƣợc gọi là thuộc tính khóa (nguyên thủy hoặc cơ
sở), nếu A có trong một khóa nào đấy. A đƣợc gọi là thuộc tính không khóa,

(phi nguyên thủy hoặc thứ cấp) nếu A không có trong bất kỳ khóa nào.
Cho LĐQH   U , F ta kí hiệu U K là tập các thuộc tính khóa của 
và U 0 là tập các thuộc tính không khóa của a .
Dễ thấy U K U 0 là một phân hoạch của U .
Thuật toán tìm một khóa của LĐQH.
Tƣ tƣởng:
Xuất phát từ một siêu khóa K tùy ý của LĐQH, duyệt lần lƣợt các
thuộc tính A của K nếu bất biến ( K \ A)   U đƣợc bảo toàn thì loại A khỏi
K có thể thay kiểm tra ( K \ A)  U bằng kiểm tra A  ( K \ A) .

Algorithm Key


22

Format: Key (U , F )
Input:
- Tập thuộc tính U
- Tập PTH F
Output: - Khóa K  U thỏa:
(i ) . K   U
(ii ) . A  K : ( K \ A)  U

Method
K : U ;

For each attribute A in U do
If A in Closure ( K \ A, F ) then
K : K \ A


endif;
return K;
end Key.
Một số tính chất của khóa.
Các tính chất đơn giản
Cho lƣợc đồ quan hệ (U , F ) khi đó:
1. K  U là một khóa khi và chỉ khi U phụ thuộc đầy đủ vào K .
2. Hai khóa khác nhau của một LĐQH không bao nhau.
3. Mọi LĐQH đều có ít nhất một khóa.
Ví dụ: 1.9.
Cho lƣợc đồ quan hệ R  ( A, B, C, D) và tập phụ thuộc hàm F  {A 
C, AB  DC}, khoá là {A, B} Khi đó thuộc tính A, B gọi là thuộc tính khoá,

còn thuộc tính D, C gọi là thuộc tính không khóa.


23

1.6. Lƣợc đồ cân bằng trong mô hình quan hệ
Định nghĩa 1.9.
LĐQH a  (U , F ) đƣợc gọi là cân bằng nếu tập PTH F trong a thỏa
các tính chất B1  B4 sau đây:
B1. Hợp các vế trái, các vế phải của các PTH trong F đúng bằng tập

thuộc tính U :
LS ( F )  RS ( F )  U

B2. F không chứa các PTH tầm thƣờng, tức là các PTH có vế trái

chứa vế phải:

X ,Y  U : X  Y  ( X  Y  F )

B3. Hai vế trái hoặc vế phải của mọi PTH trong F rời nhau (không

giao nhau):
f  F : LS ( f )  RS ( f )  

B4. Các vế trái của mọi PTH trong F khác nhau đôi một:
f , g  F : LS ( f )  LS ( g )  f  g

Nhóm tính chất ( B2  B4) cho biết F có dạng thu gọn tự nhiên. Nhƣ
vậy LĐQH là cân bằng khi và chỉ khi tập PTH có dạng thu gọn tự nhiên và
mọi thuộc tính đều xuất hiện ít nhất một lần ở vế trái, một lần ở vế phải.
Ví dụ 1.10.
1. Lƣợc đồ quan hệ a  (U , F ) với U  ABCD và
F  {A  DC, B  AC, BC  A, D  B} là cân bằng.

2. Nếu thêm cho U một thuộc tính chẳng hạn E và giữ nguyên tập
PTH thì thu đƣợc LĐQH không cân bằng b  (UE, F ) vì tính chất B1 bị vi
phạm:
LS ( F )  RS ( F )  ABCD  ABCDE

Định lý. 1.4.


24

LĐQH thu đƣợc sau khi thực hiện thuật toán BS ta thu đƣợc một phủ
thu gọn tự nhiên G của F nghĩa là G của F , nghĩa là G thỏa các tính
chất B2  B4 . Ta có các nhận xét sau đây. Nếu tập PTH G thỏa tính chất B3

thì sau khi thực hiện phép dịch chuyển G : G \ M tính chất 3 vẫn đƣợc bảo
toàn. Vậy B3 là bất biến của vòng lặp While trong thuật toán BS . Nếu G có
chứa PTH tầm thƣờng thì PTH đó chỉ có thể có dạng X   bởi vì nếu có
X  Y và X  Y thì theo tính chất B3 ta suy ra X  Y  Y  .

Từ lần lặp thứ hai trở đi, tại bƣớc 4.2 của thuật toán sau khi loại bỏ các
PTH dạng X   khỏi G các tập V và RS (G) không thay đổi, cụ thể là
đẳng thức V  RS (G) vẫn bảo toàn, tuy nhiên tập LS (G) có thể bị giảm đi
nhƣ vậy là sau bƣớc 4.2 tính chất B1 có thể bị vi phạm. Vòng lặp While có
nhiệm vụ cân bằng ba tập V , LS (G) và RS (G) , trong đó V  RS (G) . Muốn
vậy trƣớc hết phải tính lƣợng chênh lệch M : V \ LS (G) tại bƣớc 4.4 . Theo
bổ đề về các thuộc tính phi nguyên thủy ta có M  U 0 . Nếu M   ta tiếp
tục dịch chuyển lƣợc đồ b  (V , G) theo lƣợng chênh lệch M . Vì M  U 0 nên
tập khóa Key (b) luôn luôn đƣợc bảo toàn. Vì LĐQH lúc ban đầu là hữu hạn
và các phép dịch chuyển đều thu nhỏ kích thƣớc của các tập V , LS và RS
nên đến một lúc nào đó ta phải thu đƣợc điều kiện kết thúc vòng lặp cụ thể là
M   . Ta chỉ cần chứng minh rằng khi kết thúc vòng lặp tức là khi M  

ta sẽ thu đƣợc lƣợc đồ thỏa mãn tính chất B1. Thật vậy, từ M   ta suy
ra V  LS (G), kết hợp với bất biến V  RS (G) của vòng lặp ta thu đƣợc tính
chất B1 :
LS (G)  RS (G)

Nhận xét:
Ngoài tính chất B1  B4 , lƣợc đồ cân bằng (LĐCB) có những tính chất
sau đây:


×