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

(Luận văn thạc sĩ) phép chuyển dịch lược đồ quan hệ luận văn ths công nghệ thông tin1 01 10

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 (24.85 MB, 71 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
T R Ư Ờ N G ĐẠI H Ọ C C Ồ N G N G H Ệ

PHẠM
THỊ* MINH CHÂU


PHÉP CHUYỂN DỊCH LƯỢC ĐỒ QUAN HỆ

Chuyên ngành: Công nghệ thông tin
M ã số: 1. 01. 10

LUẬN VĂN THẠC s ĩ

N GƯ ỜI HƯỚNG DÃN KHOA HỌC:

PGS TSKH Nguyễn Xuân Huy

ĐẠI HỌC Q UỐ C GIA HÀ MÔ'

TRUNG Tẩm thõng tin rni. ■'ViẸM

"V~ i û7ï u .Ị
Hà Nội - 2006


Phép dịch chuyến lược dồ quan hệ

1

MỤC LỤC


MỞ ĐẦU................................................................................................................................ 2
Chương 1 - CÁC KHÁI NIỆM CHUNG...................................................................... 4

ỉ. ỉ Khái niệm về cơ sở dữ liệu quan h ệ ........................................................................ 5
ỉ.2 Đại sổ quan hệ .............................................................................................................7
ỉ. 3 Phụ thuộc hàm .......................................................................................................... 12
ỉ. 4 Bao đóng của tập thuộc tỉnh................................................................................... 17
1.5 Phủ.............................................................................................................................. 20
Ị. 6 Khóa của lược đồ quan hệ ...................................................................................... 28
ỉ. 7 Chuẩn hỏa lược đồ quan hệ trên cơ sở phụ thuộc hàm ..................................... 32
1.8 Một số bài toán ......................................................................................................... 3 7
Chương 2 - PHÉP DỊCH CHUYÊN LƯỢC ĐỒ QUAN H Ệ ..................................39

2. ỉ Phép chuyển dịch lược đồ quan hệ ......................................................................40
2.2 Dạng biểu diễn thứ nhất của khóa ........................................................................ 46
2.3 Các tập thuộc tính nguyên thủy và phỉ nguyên ihủy........................................... 49
2.4 Lược đồ cân bằng ..................................................................................................... 55
2.5 Một sổ tính chất của lược đồ cân bằng ................................................................ 56
2.6 Dạng biểu diễn thứ hai của kh óa .......................................................................... 62
K ẾT LUẬN.......................................................................................................................... 67

Những kết quả thu được ................................................................................................ 67
Hưởng phát triển tiếp theo ............................................................................................ 67
TÀI LIỆU THAM KHẢO................................................................................................68

Luận văn Thạc sỹ ngành Công nghệ thông tin - Phạm Thị Minh Châu


Phép địch chuyển lược đồ quan hệ


2

MỜ ĐÀU
Trong các mô hình dừ liệu cho cơ sở dữ liệu thì mơ hình quan hệ được sử
dụng rộng rãi h(Tn cả do tính trực quan, kiến trúc đơn giản và có cơ sở toán học chặt
chẽ. Quản ỉý các cơ sở dữ liệu lớn và phức tạp địi hỏi nhiều thuật tốn hữu hiệu để
tính tốn các đối tượng như bao đóng, khóa, phủ... Một sổ thuật tốn tốt theo nghĩa
độ phức tạp tính tốn giới hạn ở các hàm tuyển tính hoặc đa thức theo chiều đài dữ
liệu vào thuật toán tính bao đóng của tập thuộc tính, thuật tốn tìm một khóa, thuật
tốn xác định thành viên hay thuật tốn xác định phụ thuộc hàm suy dẫn, thuật tốn
tìm giao các khóa, thuật tốn xác định một lược đồ quan hệ có một khóa duy
nhất. ..Chúng ta có nhận xét là nếu kích thước của lược đồ quan hệ càng nhỏ thì các
thuật tốn càng phát huy hiệu quả hơn.
• Tính cấp thiết cùa đề tài: Một hưởng nghiên cứu để tinh giản các lược đồ cơ sở
dữ liệu được thực hiện thông qua phép dịch chuyển lược đồ quan hệ. Bản chất
của kỹ thuật này là loại bỏ khỏi lược đồ quan hệ ban đàu một số thuộc tính
khơng quan trọng theo nghĩa chúng không làm ảnh hưởng đến kết quả tính tốn
các đối tượng đang quan tâm như bao đỏng, khóa, phản khóa...Mặc dù lược đồ
quan hệ thu được qua phép dịch chuyển không tương đương với lược đồ quan hệ
ban đầu, nhưng ta có thể thu được các đối tượng cần tìm bằng những phép tốn
đưn giản như loại bỏ hoặc thêm một sổ thuộc tính. Điều lý thú là sau khi loại bỏ
một số thuộc tính thì một số phụ thuộc hàm sẽ được loại bỏ theo, vì chúng trở
thành các phụ thuộc hàm tầm thường hoặc mang thơng tin tiền định.


Ỷ nghĩa khoa học : Thiết kể cơ sở dữ liệu phục vụ các hệ thống thông tin ỉà lĩnh
vực được quan tâm trong hầu hết các ứng dụng của công nghệ thông tin.
Nghiên cửu phép chuyển dịch các lược đồ quan hệ định hướng đến việc phát
triển và hồn thiện các phương pháp, cơng cụ trợ giúp thiết ké các cơ sở dữ liệu
chuẩn hóa.


Luận văn Thạc sỹ ngành Cơng nghệ thơng tin - Phạm Thị Minh Châu


Phép dịch chuyền lược dồ quan hệ

3

• Phạm vỉ nghiên cứu: Luận văn nghiên cứu phần lý thuyết chung về mơ hình cơ
sở đữ liệu quan hệ và cơ sở lý thuyết của phép chuyển dịch lược đồ quan hệ.
*

Nội dung luận văn bao gồm:
Chương 1. Khái niệm chung - Trình bày các khái niệm cơ bản của cơ sở dữ
liệu quan hệ, đại sổ quan hệ, Phụ thuộc hàm, bao đóng của tập thuộc tính, phủ,
khóa của lược đồ quan hệ và chuẩn hóa lược đồ quan hệ trên cơ sở các phụ
thuộc hàm
Chương 2. Phép chuyển dịch lưực đồ quan hệ - Trình bày phép dịch chuyển
lược đồ quan hệ, các dạng biểu diễn của khóa, Tập thuộc tính nguyên thủy và
phi nguyên thủy, lược đồ cân bằng
Kết luận - Những kết quả thu được,
- Hướng phát triển của luận văn.

Luận văn Thạc sỹ ngành Công nghệ thông tin - Phạm Thị Minh Châu


Phép dịch chuyển lược dồ quan hệ_____ 4

C h ư ơ n g 1 - C Á C KHÁI NIỆM CH U N G


Trong các mô hinh dữ liệu cho cơ sở dữ liệu thì mơ hình quan hệ được sử
dụng rộng rãi hơn cả do tính trực quan, kiến trúc đơn giản và có cơ sở tốn học chặt
chẽ. Ngoài ra người ta cũng đã chứng minh sự tương đương và cung cấp những
phép chuyển đổi giữa mơ hình quan hệ với các mơ hình mạng và phân cấp.
Chương này trình bày một sổ khái niệm mở đầu về mơ hình quan hệ. Trọng
tâm chương được tập trung vào các khái niệm hình thức của mơ hình quan hệ, trong
đó vận dụng chủ yểu các cấu trúc rời rạc. Phần đầu tiên của chương giới thiệu định
nghĩa về quan hệ và đại số quan hệ như một ngôn ngữ truy nhập dữ liệu trong các
cơ sở dữ liệu quan hệ. Phần thứ hai mô tả phụ thuộc hàm như một cơng cụ tốn học
trợ giúp cho việc biểu đạt ngữ nghĩa dữ liệu và đảm bảo tính nhất quán của dữ liệu
trong cơ sở dữ liệu. Các tính chất của phụ thuộc hàm và các hệ tiên đề cho phụ
thuộc hàm được mơ tả đầy đủ, trong đó hệ tiên đề Armstrong được sử dụng nhiều
hơn cả. Một trong những khái niệm quan trọng của phụ thuộc hàm ià bao đóng của
tập thuộc tính và các tính chất cơ bản của phép tốn lấy bao đóng được trình bày
trong phần thứ ba của chương. Phần thứ tư giới thiệu các loại phủ quan trọng nhất,
đóng vai trị thu gọn các tập phụ thuộc hàm, tạo thuận tiện cho tối ưu hóa các thao
tác ngữ nghĩa. Hai khái niệm chủ chốt liên quan đến phụ thuộc hàm là khóa và các
dạng chuẩn của lược đồ quan hệ được trình bày trong hai phần cuối, phần thứ năm
và thứ sáu của chương. Phụ thuộc hàm ỉà lớp phụ thuộc đầu tiên đồng thời cũng là
lớp phụ thuộc kinh điển theo nghĩa, được Codd, tác giả của mơ hình dữ liệu quan hệ
đề xuất sớm nhất và được sử dụng như một cơng cụ thiết kế các cơ sở dữ liệu chuẩn
hóa, do đó chương này sẽ cổ gắng trình bày những nội dung quan trọng và tinh túy
nhất liên quan đén khái niệm phụ thuộc hàm.

Luận văn Thạc sỹ ngành Công nghệ thông tin - Phạm Thị Minh Châu


Phép dịch chuyển lược đồ quan hệ

5


1.1 Khái niệm về c ơ s ở dữ liệu quan hệ
Các khái niệm cơ bản về cơ sở dữ liệu quan hệ được trình bày lần đàu tiên
trong các cơng trình của Codd [13, 14]. Trong [ỉ, 16] và đặc biệt là trong [20] trình
bày đầy đù về các khái niệm liên quan đến các cơ sở dữ liệu và tri thức. Riêng về cơ
sở dữ liệu quan hệ, các cơng trình [2, 5, 8] giới thiệu khá đầy đủ những khái niệm
và các bài tốn cơ bản liên quan đến các khí a cạnh lý thuyết và thực hành.

Q u a n hệ, t h u ộ c t í nh, bộ

Đ ịn h n g h ía
Cho tập hữu hạn ư = {A/, A2 , ... , A„} khác rỗng (n > 1). Các phần tử
của ơ được gọi là thuộc tính, ứng với mỗi thuộc tính AịEƯ, ỉ — 1,2,...,« có
một tập chứa ít nhất hai phần tử dom(Aj) được gọi là miền trị của thuộc tính Aị.
Gọi D là hợp của các dom(Ai), ỉ = 1,2,...,«. Một quan hệ R với các thu ộc tính
ơ, ký hiệu là R(ư), là một tập các ánh xạ t: ơ —>£> sao cho với mỗi A,e u ta có

t{A,) € dom(Aj). Mỗi ánh xạ được gọi là một bộ của quan hệ R.
Mỗi quan hệ R(ư) có hình ảnh là một bảng, mỗi cột ứng với một thuộc
tính, mỗi dịng là một bộ.
Ta ký hiệu t{ư) là một bộ trên tập thuộc tính ư.
Một quan hệ rong, ký hiệu 0 , là quan hệ khơng chứa bộ nào.
Vì mỗi quan hệ là một tập các bộ nên trong quan hệ khơng có hai bộ

trùng lặp.
C á c ký hi ệu và m ộ t s ố q u y ư ớ c
Theo truyền thống của lý thuyết cơ sở dữ liệu chúng ta chấp nhận các
quy định sau đây:
Các thuộc tính được ký hiệu bằng các chữ LATIN HOA đầu bảng chữ cái


A, B, CU

Luận văn 'Phạc sỹ ngành Công nghệ thông tin - Phạm Thị Minh Châu


Phép dịch chuyền luợc đồ quan hệ

6

Tập thuộc tính được ký hiệu bàng các chữ LATIN HOA cuối bảng chữ X,
y,

z,...
Các phần tử trong một tập thường được liệt kê như một xâu ký tự, khơng

có các ký hiệu biểu diễn tập, chẳng hạn ta viết X = ABC thay vì viết

x = { A, B, C}. .AT biểu diễn hợp của hai tập X và Y, X'U Y. Phép trừ hai tập X
và Y được ký hiệu là X\Y, hoặc X-Y.
Một phân hoạch của tập M (thành các tập con rời nhau và có hợp là M),

X\, X2, x mđược ký hiệu là
M = X ì \X2 \... \xm
với ý nghĩa M = Xị u x 2

... u x m và Xi n Xj = 0 , 1 < /, j < m, i ĩ*j.

Các bộ được biểu diễn bằng các chữ Latin thường có thể kèm chỉ số t, u,
V, //...


Với mỗi bộ í trong quan hệ R(Ư) v mi tp con cỏc thuc tớnh Xỗz u ta
ký hiệu t[X\ hoặc t.x là hạn chế của bộ (ánh xạ) / trên tập thuộc tính X.
Ta chấp nhận quy ước tự nhiên là miền trị của mọi thuộc tính chứa ít
nhất hai phần tử. T ro n g trường hợp m ột m iền trị củ a th u ộc tính ch ỉ chứa m ột

giá trị duy nhất thì ta có thể loại bỏ cột tương ứng của thuộc tính đó trong
quan hệ.
Ta chấp nhận quy ước sau đây: Mọi cặp bộ / và V trong mọi quan hệ
giống nhau trên miền rỗng các thuộc tính, Í.0 = V .0 .

• Hàm Attr{R) cho tập thuộc tính của quan hệ R.

• Hàm Card{R) cho lực lượng (số bộ) của quan hệ R.
Trong trường hợp tập thuộc tính u đã cho trước ta có thể viết đơn giản R
thay cho R(ư).
Ký hiệu REL(Ư) là lập toàn thể các quan hệ trên lập thuộc tính u, REL_p(ư)
là tập tồn thể các quan hệ có khơng qúa p bộ trên tập thuộc tính u, p > 1.
Luận văn Thạc sỹ ngành Công nghệ thông tin - Phạm Thị Minh Châu


Phép dịch chuyển lược dồ quan hệ

7

Hai quan hệ R và s được gọi là tương thích nếu chúng có cùng một tập
thuộc tính, tức ià nếu Attr(R) = Attr(S).
Với mỗi bộ t trong quan hệ R(Ư) và mỗi bộ
hiệu t*v là phép dán hai bộ t và
điều kiện:


r.ư

= / và r. V -

V.

V

trong quan hệ S(V) ta ký

t*v cho ta bộ r trên tập thuộc tính ư v thoả

V.

Với mỗi bộ ỉ trong quan hệ R(ư) và với mỗi quan hệ

ta ký hiệu t*s

là phép dán bộ t với quan hệ s. t*s cho ta quan hệ P(UV) = { t*v I v eS }.

T h ỉ dụ
Cho u = ABC, V = BD, t{ư) = (a,b,c), v(F) = (b,d ). Ta có r(UV) = t*v =

(a,b,c,d) là một bộ trên tập thuộc tính ư v = ABCD.
Cho thêm quan hệ S(BD)

S (B D )
b

d


X

d

b

e

Khi đó t*s cho ta quan hệ P(ABCD) sau đây

P(A B C D )

a b e d

a b c e

1.2 Đại số quan hệ
Đại sổ quan hệ được xây dựng trên tập các quan hệ với các phép toán cơ
sở ỉà chọn, chiếu, kết nổi tự nhiên, chia , hợp, giao và trừ. Mục này sử dụng
các ký pháp theo phương án cài đặt cho hệ quản trị cơ sờ dữ liệu PRIMER [4].

Luận vãn Thạc sỹ ngành Công nghệ thông tin - Phạm Thị Minh Châu


Phép dịch ch u y ển lu ự c dồ quan hệ_______ 8

Phép chọn (phép lọc)
Đ ịn h


n g h ĩa

Cho quan hệ R{ư) và biểu thức điều kiện (còn gọi là biểu thức lọc hay biểu

thức chọn) e. Phép chọn trên quan hệ R theo điều kiện e, ký hiệu R(e) cho ta
quan hệ:

pụ j) = R(e) = { t e R I Sat(t, e ) }
trong đó hàm logic Sat{t, e) kiểm tra bộ t thoả điều kiện e được xác định như
sau:
Thay mọi xuất hiện của mỗi thuộc tính A trong biểu thức chọn e bằng
tri tương ứng của A trong bộ t, t.A, ta thu được một mệnh đề logic b.
Tính trị của b. Nếu ỉà đúng (True) thì bộ t thoả điều kiện nếu trị của b ỉà sai (False) thì bộ t không thoả điều kiện e.
Trong các biểu thức chọn ta sử dụng ký hiệu cho các phép toán logic như sau:
Hội:

A,

Tuyển:

V,

Phủ định:

Kéo theo:

Phép chiếu
Đ ịn h


n g h ĩa

Phép chiếu quan hệ R(ư) trên tập con thuộc tính X ÇZ u, ký hiệu R[X],
cho ta quan hệ

P(X) = R[X\ = { t.X ịteR }
/?[XỊ được tính theo 2 bước như sau:
(i) Xố các cột khơng thuộc X của bảng R,
(ii) Lược bớt các đòng giống nhau trong bảng kết quả: chỉ giữ lại
một đòng trong số các dòng giống nhau.

Luận văn Thạc sỹ ngành Công nghệ thông tin - Phạm Thị Minh Châu


Phép dịch chuyển lược dồ quan hệ

9

Phép kết nói tự nhiên
Định n gh ĩa
Cho hai quan hệ R(ư) và ^(F). Đặt M = UnV. Phép kết nối {tự nhiên) hai
quan hệ R(ư) và
cá c bộ

ký hiệu R*s, cho ta quan hệ chứa các bộ được dán từ

u của quan hệ R với m ỗi b ộ V củ a quan h ệ s (sao ch o c á c trị ứ ê n m iền

thuộc tính chung M của hai bộ này giống nhau).


P(ƯV) = R * s = { u*v I ueR, veS, U.M- V.M}
Nếu M - Un V = 0 , R * s sẽ cho ta tích Descartes, trong đó mỗi bộ của
quan hệ R sẽ được ghép với mọi bộ của quan hệ s.

Phép cộng (hợp)
Định n g h ĩa
Phép hợp (theo lý thuyết tập hợp hoặc nổi dọc) hai quan hệ tương thích
R{ư) và S{ư), ký hiệu Rs j S, hoặc R+S, cho ta quan hệ chứa các bộ của mỗi
quan hệ thành phần,
P(ư) = R u S = { t ị t e R v t e S }

Phép trừ
Định nghĩa

Phép trừ (theo lý thuyết tập hợp hoặc lấy phần riêng) hai quan hệ tương
thích R(U) và S(ư), ký hiệu R\s, hoặc R-S, cho ta quan hệ chứa các bộ của
quan hệ R không có trong quan hệ s ,

P(U) = R \ S = { t ị t e R , t e S }

Luận văn Thạc sỹ ngành Công nghệ thông tin - Phạm Thị Minh Châu


Phép địch chuyển lược dồ quan hệ_____ 10

Phép giao
Đị n h n g h ĩ a

Phép giao (theo lý thuyết tập hợp hoặc lẩy phần chung) hai quan hệ
tưcyng thích R(U) và S(ư), ký hiệu RnS, hoặc R& s cho ta quan hệ chứa các bộ

xuất hiện đồng thời trong cả hai quan hệ thành phần,

P(U) = R n S = { t \ t e R , t e S }
Các phép toán hợp, trừ và giao đựơc gọi là các phép toán tập hợp trên
các quan hệ (tương thích).

Phép chia
Đị nh n g h ĩ a
Cho hai quan hệ R(ư) và

thỏa V c u. Đặt M = íAV. Phép chia

quan hệ R cho quan hệ s, ký hiệu R:S, cho ta quan hệ

P(M) = R : S = { t . M I / e R, t.M*S £ R }

Thứ tự thực hiện các phép toán quan hệ
Trong một biểu thức quan hệ các phép tốn một ngơi có độ ưu tiên cao
hơn (do đó được thực hiện sớm hơn) các phép tốn hai ngơi. Tiếp đến là nhóm
các phép tốn kết nổi, giao và chia, cuối cùng là nhóm các phép tốn cộng và
trừ. Thứ tự ưu tiên từ cao đến thấp của các phép toán quan hệ được liệt kê như
sau:

0 , []
* ,n, :
u

,\

Dãy các phép toán cùng thứ tự ưu tiên được thực hiện lần lượt từ trái qua

phải. Nếu biểu thức quan hệ có chứa các cặp ngoặc (*) thì các biểu thức con
trong các cặp ngoặc được thực hiện trước.

Luận văn Thạc sỹ ngành Công nghệ thông tin - Phạm Thị Minh Châu


Phép dịch chuyển lược dồ quan hệ_____ n

Một s ố hàm t i ện í ch
Sim(R, A): cho tong các giá trị sổ trong thuộc tỉnh (cột) A cùa quan hệ R.

Avg(R, A): cho trung bình cộng các giá trị trong thuộc tính (cột) A của quan
hệ R.
Max(R, A): cho giả trị lớn nhất trong thuộc tính (cột) A của quan hệ R.
Min(R, A): cho giá trị nhỏ nhất trong thuộc tính (cột) A của quan hệ R.
Nếu trong biểu thức quan hệ có chứa các hàm tiện ích thì các hàm này
được thực hiện sớm nhất trong ngữ cảnh cho phép.

T h ỉ dụ
Biểu thức quan hệ p = S*R(A > Avg(S,A))[AB] sẽ được thực hiện theo trật tự
sau đây:
1. Tính hàm c = Ẩvg(S,Ẩ)

2. Thực hiện phép chọn pI = R(A > c)
3. Thực hiện phép chiếu / >2= Pì[ẢB\
4. Thực hiện phép kết nối p - S*Pĩ.
Trong [5] giới thiệu các thuật toán cài đặt đại số quan hệ dựa trên toán tử
đánh nhãn. Trong [19, 21, 23] trình bày các phương án của một số hệ quản trị cơ sở
dữ liệu cài đặt lần đầu tiên tại Liên xô trên các họ máy BESM-6 như DISƯR,
SƯRNA. Trong [4, 24] trình bày thiết kế và các kỹ thuật cài đặt hệ quản trị cơ sở dữ

liệu PRIMER, phương án đầu tiên được thực thi tại Việt Nam trên các máy tính cá
nhân. Trong [6, 7] trình bày mơ hình cơ sở dữ liệu dạng khối như một mở rộng của
cơ sở dữ liệu quan hệ truyền thống.

Luận văn Thạc sỹ ngành Công nghệ thông tin - Phạm Thị Minh Châu


Phép dịch chuyển lược đồ quan hệ_____ 12

1.3 Phụ thuộc hàm
Đị nh n g h ĩ a
Cho tập thuộc tính ư. Một phụ thuộc hàm trên ư là biểu thức dng

f. X-+Y ; X J ỗ
Nu f. X->Y l một phụ thuộc hàm trên ư thì ta nói tập thuộc tính Y phụ

thuộc vào tập thuộc tính X, hoặc tập thuộc tính X xác định hàm tập thuộc tính
Y. X là vê trải và Y là vế phải của phụ thuộc hàm / T a cũng dùng hai toán tử
LS(J) và RSỰ) để xác định vế trái và vế phải của phụ thuộc hàm f , cụ thể là nếu
ỹ . X ^ Y th ì LSự) = X; RSự) = Y.
Cho quan hệ R(ư) và một phụ thuộc hàm f: X—>ỵ trên ư. Ta nói quan
hệ R thoả phụ thuộc hàm / và viết /?(/), nếu hai bộ tuỳ ý trong R giống nhau
trên X thì chúng cũng giống nhau trên Y,

R(X-+Y)

(Vk,v 6 R): ( « jr = v J 0 => (u.Y= V.Y)

Ta dùng ký hiệu X ■+* Y với ý nghĩa tập thuộc tính Y khơng phụ thuộc


hàm vào tập thuộc tính ^ [1 3 ,1 4 ].
Cho tập phụ thuộc hàm F trên tập thuộc tính ư. Ta nói quan hệ R(ư)

thoả tập phụ thuộc hàm F, và viết R(F), nếu R thoả mọi phụ thuộc hàm trong F,
W « ( V / 6 f ) : Rự)
Nếu quan hệ R thỏa phụ thuộc hàm/ ta cũng nói phụ thuộc hàm / đúng

trong quan hệ R.
T h i dụ
Cho quan hệ R(A, B, c , D) như sau

R(A B CD)
a 1 X 2
a 1 y 2
b 2 X 1

và các phụ thuộc hàm //: A-*A, fj. A-+B, fị. AC->C, f 4: A-^D, f s: D—>A, f 6: A—>C.
Luận văn Thạc sỹ ngành Công nghệ thông tin - Phạm Thị Minh Châu


Phcp dịch chuyển lược dồ quan hệ

13

Khi đó các phụ thuộc hàm ft -fs đúng trong R, mặt khác, R không thỏa phụ
thuộc hàm f 6.
Cho trước tập phụ thuộc hàm F trên tập thuộc tính ư, ký hiệu SA T(F) là tập
toàn thể các quan hệ trên ư thoả tập phụ thuộc hàm F, SATJ?(Ư), p > 1 là tập tồn
thể các quan hệ cỏ khơng q p bộ trên ơ và thoả tập phụ thuộc hàm F , cụ thể là


SAT{F) = { R I ReREL(ư), R(F) }
SAT_p(F) = { R I ReREL_p(ư), R(F)

}

Cho tập S.R các quan hệ trên ơ, ký hiệu FDỌ.R) là tập các phụ thụộc hàm trên

u đủngtrong mọi quan hệ của 9Ỵ.
Hệ t i ên đề A r m s t r o n g

Bao đóng của tập phụ thuộc hàm
Định n g h ĩ a
Cho tập phụ thuộc hàm F trên tập thuộc tính u. Bao đóng của F, ký hiệu
F* là tập nhỏ nhất các phụ thuộc hàm trên ơ chứa F và thoả các tính chất F l-

F3 của hệ tiên đề Armstrong A° sau đây [10,11]:

VI,r,Zcơ:
F 1. Tính phản xạ: Nếu X ịd Y thì X-+ Y e F +
F2. Tính gia tăng: Nếu X—
^>Y G F + thì XZ^YZ e F +

F3. Tính bắc cầu: Nếu X->y € F + và Y-+Z e F + thì X-+Z e F +

C hú ỷ
Các phụ thuộc hàm có vế trái chứa vế phải như mô tả trong F 1 được gọi là tầm

thường. Các phụ thuộc hàm tầm thường đúng trong mọi quan hệ. Ngoài ra, các quan
hệ trên tập thuộc tính Ư có khơng q một bộ thỏa mọi phụ thuộc hàm trên u.
Luận văn Thạc sỹ ngành Công nghệ thông tin - Phạm Thị Minh Châu



Phép dịch chuyền lược dồ quan hệ_____ M

Suy dẫn theo tiên đề (suy dẫn logic)
Đị nh n g h ĩ a
Ta

nói phụ thuộc hàm / được suy dẫn theo tiên đề (hoặc suy dẫn logic) từ

tập phụ thuộc hàm F và ký hiệu là F Yf, nếu/ e F 4.

Fh / o / e f
Nói cách khác phụ thuộc hàm / được suy đẫn theo tiên đề từ tập phụ
thuộc hàm F nếu xuất phát từ F, áp dụng các luật F I, F2 và F3 của hệ tiên đề
Armstrong A° sau hữu hạn lần ta sẽ thu được phụ thuộc hàm/

Suy dẫn theo quan hệ
Đị n h n g h ĩ a
Cho tập phụ thuộc hàm F trên tập thuộc tính ư và / là một phụ thuộc
hàm trên ư. Ta nói phụ thuộc hàm / được suy dẫn theo quan hệ từ tập phụ
thuộc hàm F và viết F Yf, nếu mọi quan hệ R(Ư) thoả F thì R cũng thoả/
F 1 - / 0 SA T(F) ÇZSA Tự)
Cho tập thuộc tính ư và tập phụ thuộc hàm F trên ơ, ta định nghĩa F* là
tập các phụ thuộc hàm / trên u được sưy dẫn theo quan h t tp ph thuc
hm F

F * = {f-.X^>Y\X,YỗU, F \ f }
Đ ị n h lý
(Tính đủ và xác đáng của hệ tiên đề Armstrong [11])


F += F *
Nói cách khác, suy dẫn theo quan hệ và suy dẫn theo logic là một, tức là

F b/ «

F\f

Luận văn Thạc sỹ ngành Công nghệ thông tin - Phạm Thị Minh Châu


Phép dịch chuyển lược đồ quan hệ_____ 15

Suy dẫn theo quan hệ có khơng q p bộ
Đị nh n g h ĩ a
Cho tập phụ thuộc hàm F trên tập thuộc tính u và / là một phụ thuộc
hàm trên ơ. Ta nói phụ thuộc hàm / được suy dẫn theo quan hệ có khơng q

p bộ từ tập phụ thuộc hàm F và viết F Yp f ,

nếu mọi quan hệ R trong

REL_p{U) thoả F thì R cũng thoả/[2 5 ].
Fị-Pf <=> SAT_p(F) e SATJ>ự)
Cho tập thuộc tính u và tập phụ thuộc hàm F trên Ư, ta định nghĩa F' là
tập các phụ thuộc hàm / trên ư được suy dẫn theo quan hệ có khơng q hai
bộ từ tập phụ thuộc hàm F

F ' = { f.X ^ Y \ X J ỗ U , f h / ì


Đ ịn h lý
(Định lý tương đương [25])

F + = F * = F'
Nói cảch khác, đối với phụ thuộc hàm, ba loại suy dẫn sau là tương
đương
(i) Suy dẫn logic : F ^ f ,
(ii) Suy dẫn theo quan hệ: F \-f , và

(iii) Suy dẫn theo quan hệ có khơng q hai bộ: F \-2 /

Một s ố t í nh c h ấ t c ủ a p hụ t h u ộ c hàm
Cho tập thuộc tính Ư và các tập phụ thuộc hàm F, G trên ư, tập các quan
hệ 9? trên ơ, các quan hệ R và s trên ư. Khi đó:
1. Nểu F œ G thì SAT(F) 3 SAT(G)

2. SAT(FG) = SAT(F) M SAT(G)
3. FD(RkjS) s FD(R) n FD(S)
Luận văn Thạc sỹ ngành Công nghệ thông tin - Phạm Thị Minh Châu


Phép dịch chuyển luợc dồ quan hệ_____ 16

4. R Ç

s => FD(R) 2 FD(S)

5. F ầZFD(SAT(F))
6. 7. SAT(FD(SAT(F})) = SAT(F)

8. FD{SA T(FD(SỈ))) = FD(W)

T h í dụ
Chứng tỏ FZ^Ỉu.S') c F£>(/? ) n FD{S).
Ta chọn u = AB\ quan hệ R(ư) chứa một bộ duy nhất u = ( a,x); quan hệ S(ơ)
chứa m ột bộ duy nhất V = ( a,y ),

X * y. R và s thỏa m ọi phụ th u ộc hàm trên u. Quan

hệ p = R u s chứa 2 bộ a v à V, p không thỏa phụ thuộc hàm A ->B .

Mộ t s ố t í nh c h ấ t m ở r ộ n g c ủ a p hụ t h u ộ c hà m
Sử dụng ba tiên đề Armstrong ta dễ dàng chứng minh các tính chất F4 -F 11
sau đây [20]. Một sổ tính chất được chia nhỏ nhằm mục đích mơ tả các hệ tiên đề
khác cho phụ thuộc hàm trong các mục tiếp theo.

V X, K Z, V q

ư,

\/A e ơ:

F4. Tính tựa bắc cầu: X->Y, YZ-+V=> XZ-+V
F5. Tính phản xạ chặt: X—> X
F6. Mở rộng vế trái và thu hẹp vế phải: X->Y => XZ-*Y\V
F7. Cộng tính đầy đủ: X-*Y, Z^>V=>XZ^>YV
F8. Mở rộng vé trái: X—>Y => XZ->Y
F9. Cộng tính ở vế phải: X->Y, X-+Z => X-+YZ
F10. Bộ phận ở vế phải: X—>YZ => X-+Y
F 11 .Tính tích luỹ: X-+YZ, Z-*A V => X-+YZA

Luận văn Thạc sỹ ngành Công nghệ thông tin - Phạm Thị Minh Châu


Phép dịch chuyển lược đồ quan hệ

17

L ư ợ c đ ồ q u a n hệ
Đị nh n g h ĩ a
Lược đồ quan hệ là một cặp a = (UJF), trong đó u là tập hữu hạn các
thuộc tính, F là tập các ràng buộc trên các miền trị (dữ liệu) của các thuộc tính
trong ơ [18, 20, 15].
Trong chương này chúng ta chi xét một loại ràng buộc là phụ thuộc hàm
và một sổ biến thể của phụ thuộc hàm.
Theo quy ước trên, trong chương này, chúng ta hiểu lược đồ quan hệ là
một cặp a = (UJF), trong đó u là tập hữu hạn các thuộc tính, F là tập các phụ
thuộc hàm trên ơ.

Quy ước
Trong trường hợp không chỉ rõ tập F, ta xem lược đồ quan hệ chỉ là một
tập hữu hạn các thuộc tính ơ.

C á c hệ ti ên đề k h á c c h o p h ụ t h u ộ c hàm
Các hệ tiên đề cho phụ thuộc hàm sau đây tương đương với hệ tiên đề

Armstrong A° [20, 5]
5 ° = {F5, F 10, F 11}

s° =


{FI, F4}

ơ = {F3, F5, F6, F7}
A f = {F4, F 5 , F8 }

ĐẠ! H Ọ C QUỐC GIA*HA Nu.
TRUNG TẦM THÕNG Ĩ)N THI ■V.'FN

1.4 B a o đ ó n g củ a tập th u ộ c tín h

y/

I

~Ịj Ị I ,_12

'



Định n g h ĩa
Cho tập phụ thuộc hàm F trên tập thuộc tính ơ và một tập con các thuộc

tính X trong ơ. Bao đóng của tập thuộc tỉnh X, ký hiệu X' là tập thuộc tính

x * = {A eơ | A"-> A e F h}
Luận văn Thạc sỹ ngành Công nghệ thông tin - Phạm Thị Minh Châu


Phép dịch chuyền lược đồ quan hệ_____ 18


T h u ậ t t o á n tì m b a o đ ó n g c ủ a m ộ t t ập t h u ộ c t í nh
Cho tập phụ thuộc hàm F trên tập thuộc tính u và một tập con các thuộc
tính X trong u. Đe xác định bao đóng X' của tập thuộc tính X ta xõy dng óy

ầZ

bao nhau

s ... Ê

nh sau

ã Xut phát: ĐặtJỐữ)=X,
• Với / > 0, ta đặt
ỵụ+\) = ỵO) y

R

l.-*ReF

• Nểu A*'+1) =
A lg o r it h m

C lo s u r e

F o rm a t:

C lo s u r e {X , F)


In p u t:

- Tập

p h ụ th u ộ c hàm

- Tập

- y

O u tp u t:

dừng thuật toán và cho kết q u ả ^ + = ) ố i) [10,11].

co n th u ộ c t ín h

=

x * = (A

e ơ

F T ) L —> R

in

F

trê n
X


của

u

u

I X -> A e ỉ* }

M e th o d
Y: = X;
re p e a t
Z := Y ;
fo r

Bach
i f

L

ÇZ

Y

F

do

th e n


Y : = Y K JR ;
e n d if ;
e n d fo r;
u n t il
re tu rn
end

Y= Z;
Y;

C lo s u r e .

Luận văn Thạc sỹ ngành Công nghệ thông tin - Phạm Thị Minh Châu


Phcp dịch chuyển lược đồ quan hộ_____ 19

Thuật toán trên có độ phức tạp 0(mn2 ). Trong [12,20] trình bày thuật tốn
tính bao đóng của tập thuộc tính với độ phức tạp tuyến tính theo chiều dài dữ liệu
vào, 0{mn), trong đó n là số lượng thuộc tính trong ư, m là số lượng phụ thuộc hàm
trong tập F.

Quy ước giản lược
Ta thường viết X->Y thay vì viết X-^YeF^ hoặc F Ị=X—

Bài t o á n t h à n h v i ê n
Cho tập thuộc tính Ư, một tập các phụ thuộc hàm F trên u và một phụ
thuộc hàm f: X-^>Y trên ơ. Hòi r ằ n g /G F' ự có phải là thành viên của F *) hay

không


? [10,11]

Đ ị n h ỉỷ
(Định lý thành viên)

X -^ Y e F + khi và chì khi Y ỗ X ' [10, 11]

Thut toỏn cho bi toỏn thành viên
A lg o r it h m

IsM e m b e r

F o rm a t :

IsM e m b e r ( £ , F)

In p u t:

-

Tập p h ụ

- phụ
O u tp u t:

-

th u ộ c


th u ộ c

T ru e ,

- F a ls e ,

nếu

hàm

hàm
£

F

trê n

trê n

u

Ü

e Ị* ;

f

tro n g

tru ò n g


hợpphù

d ịn h .

M e th o d
IsM e m b e r
end

: = R S (f)



C lo s u x e (L S ( f ) , F ) ;

IsM a m b e x .

Luận vãn Thạc sỹ ngành Công nghệ thông tin - Phạm Thị Minh Châu


Phép dịch chuyển lược đồ quan hệ_____ 20

Một s ố t í nh c h ấ t c ủ a b a o đ ó n g
Cho lược đồ quan hệ a - ( U,F). Khi đó V X, Y ç= ư ta có
(C l)T ính phản x ạ : X a X +
(C2) Tính đồng biến: X q y => X + q Y +
(C3) Tính lũy đẳng: (X +)+ = X +
Ngồi ra, sử dụng ba tính chất (C l), (C2) và (C3) nói trên ta dễ dàng chứng
minh các tính chất (C4)-(C8) sau đây:


(C4)

(XỴ)+ ^ X +r +

(C5) (X*Y)+=(XY*Ÿ = (XY)¥
(C6) X-+Y khi và chì khi r ' ỗ X*
(C7) X->X* vX*^>X
(C8) )C = khi v chỉ khi X-^Y và Y^>x

1.5 Phủ
Định n g h ĩa
Cho hai tập phụ thuộc hàm F và G trên cùngmột tập thuộc tính
nói F suy dẫn ra được G, ký hiệu F ^ G, nếu VgeG: F Ị= g. Ta nói

ư. Ta
F tương

đương với G, ký hiệu F = G, nếu F Ị= G và G F.
Nếu F = G ta nói G là một phủ của F.
Ký hiệu F í G có nghĩa F và G khơng tương đương.
Cho tập phụ thuộc hàm F trên tập thuộc tính u và X là tập con của ơ, ta
dùng ký hiệu

Xị.:

tron g trư ờng hợp cần ch ỉ rõ b ao đỏng cù a tập th u ộc tính

lấy theo tập phụ thuộc hàm F.

Luận văn Thạc sỹ ngành Công nghẹ thông tin - Phạm Thị Minh Châu


X


Phép dịch chuyển lược đồ quan hệ

21

Ph ủ t hu g ọ n t ự n h i ê n

Định n g h ĩa
Cho hai tập phụ thuộc hàm F và G trên cùng một tập thuộc tính u. G là

phủ thu gọn tự nhiên của F nếu
1. G là một phủ của F, và
2. G có dạng thu gọn tự nhiên theo nghĩa sau:

2a. Hai vế trái và phải của mọi phụ thuộc hàm trong G rời nhau
(không giao lĩhau.)
v / e G: LSỰ) n RSự) = 0
2 b. Các vế trái của mọi phụ thuộc hàm trong G khác từng nhau
đôi một.

V f , g e G : f * g < ^ L S ự ) * LS(g)

Thuật tốn tìm phủ thu gọn tự nhiên
A lg o r it h m

N a t n x a .l_ R e đ x ic e d


N a tu x a l_ J R e d u c e d (F )

F o rm a , t :
In p u t:

-

Tập p h ụ

O u tp u t:

-

M ột phủ

th u ộ c
th u

hàm

gọn

tự

F
nhxên

G

của.


F

G = F
V

L - > R

VL

i ~ > R


i ,

G :

VL

I S M

j - > R

j

e

I = 0

:


G

i *

=>

j

L

^

L

j

M e th o d .
G: = 0 ,'
fo r

each

FD

L —>R i n

F

do


Z :-R -L ;
i f

2 fr0
i f

th e n
th e re

±3

r e p la c e
e ls e

add

an

FD

L -+ Y

L —> Y i n

L -ÏZ

to

G b y


in

G

th e n

L -> Y Z

G;

e n d lf ;

Luận văn Thạc sỹ ngành Công nghệ thông tin - Phạm Thị Minh Châu


Phép dịch chuyển lược đồ quan hệ_____ 22

e n d if ;
e n d fo r;

re tu rn
end

G;

Na. t u i : a l _ R e d u c e d .

Neu đùng kỹ thuật chỉ dẫn để tổ chức truy nhập trực tiếp tới các thuộc tính và
phụ thuộc hàm thì thuật tốn thu gọn tự nhiên Natural Reduced địi hỏi độ phức tạp

tính tốn là O(mn) trong đó m là sổ lượng phụ thuộc hàm trong tập F, n là số lượng
thuộc tính trong ơ. Để ý rằng mn là chiều dài dữ liệu vào của thuật tốn, do đó

0{mn) chính là độ phức tạp tuyến tính theo chiều dài dữ liệu vào.
Mệnh đề
Nếu F và G là hai tập phụ thuộc hàm trên cùng một tập thuộc tỉnh u thì
F = G khi và chi khi y X Ç ư: X / = XG+

Phù k h ô n g d ư

Đị n h n g h ĩ a
Cho hai tập phụ thuộc hàm F và G trên tập thuộc tính u. G được gọi là

phủ khơng dư của F nếu
1) ơ là một phủ của F, và
2) G có dạng khơng dư: VgeG: G \{g} 5É

G

Thuật tồn tìm phủ khơng dư của tập phụthuộc hàm
A lg o r it h m
F o rm a t:

N o n re d x m d a n t

N o n re d u n d a n t(F )

In p u t:

-


Tập p h ụ

th u ộ c

hàm

O u tp u t:

-

M ột phủ

khơng

dư G

• G =
•Vợ

F
của

F

F
6

G:


G \{g}

í

G

M e th o d

Luận văn Thạc sỹ ngành Công nghệ thông tin - Phạm Thị Minh Châu


Phép dịch chuyển lược đồ quan hệ

23

G: = F ;
fo r

each
i f

FD

g

in

F

do


Is M e x á b e r(g ,G \{ g } ) th e n

G := G \ {g );
e n d if ;
e n d fo r;

retu rn

G;

end. N o n x s d u n d a n t .

P h ủ t hu g ọ n

Phủ thu gọn trái
Định n g h ĩ a
Cho hai tập phụ thuộc hàm F và G trên tập thuộc tính ư. G được gọi là

phủ thu gọn trái của F nếu
1) G là một phù của F, và
2 )(VL^>ReG,VAeL): G\{L^>R}
Thuật tốn tìm phủ thu gọn trái của tập phụ thuộc hàm
Để ý rằng V/í e L: L\a e L, nên ta có
Vg: L-ĩR eG yA & L: G\{g}v{L\A->R} ỶL~^R,
do đó ta chỉ cần kiểm tra G Ị=L\A-*R ?
A lg o r it h m
F o rm a , t :


L e ft_ R e d u c e d

L e f t _ R e d u c e d (F )

In p u t:
O u tp u t:

-

Tập

phụ

M ột phú

• G =

th u

th u ộ c
gọn

hàm
t r á i

F
G

cùa


F

F

• V g : L -> R e G ,\/A e L :

G\ {g }u {

£G

Luận văn Thạc sỹ ngành Công nghệ thông tin - Phạm Thị Minh Châu


Phcp dịch chuyển ỉược đồ quan hệ

24

M e th o d
G: = F ;
fo r

each

FD

g :L -+ R

in

F


do

X : —L ;

each

fo r
i f

a t t r ib u t e

A

In

X

do

I s M e m b e r ( L \ A - > R , G) t h e n
d e le t e

A

fro m

L

in


G;

e n d if ;
e n d fo r;
e n d fo r;
re tu rn
end

G;

L e ft_ R e d u c e d .

Phủ thu gọn phải
Định n g h ĩ a
Cho hai tập phụ thuộc hàm F và G trên tập thuộc tính u. G được gọi là

phủ thu gọn phải của F nểu
1) G là một phủ của F, và
2) (VL-+R g G, VAeR): G\{L^R}<J{L->R\A} m G

Thuật tốn tìm phủ tíìu gọn phải của tập phụ thuộc hàm
Để ý ràng, VAeR: R\A s R, nên Vg: L^>R<=G,VAeR: G 1=L-*R\A
f-L-+A.

do đó ta chì cần kiểm tra G\{Z,-»/?}u{L—
A lg o r it h m
F o rm a , t :

R ig h t _ R e d u c e d


R l g h t_ _ JR e đ u ce đ ( F )

In p u t:

-

Tập

phụ

O u tp u t:

-

M ột phủ

th u ộ c
th u

hàm

gọn

F

p h ả i

G


củ a

F



G



V g:L->2*€G ,VA eH :G \{g}U {I,->;R\A }£G

s

F

Luận văn Thạc sỹ ngành Công nghệ thông tin - Phạm Thị Minh Châu


×