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

tài liệu PHỤ THUỘC HÀM

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 (644.88 KB, 22 trang )

CCƠƠ SỞ DỮ LI

USỞ DỮ LI

U
ỆỆ
GV: ThS. Lê Thị NgọcThảo
Chương 5: Phụ thuộchàm(PTH)
5.1. Định nghĩa



5.2. Bi

udiễnPTH b

ng đ

thị
5.3. Suy diễn logic các PTH
5.4. Hệ tiên đề Amstrong
5.5. Bao đóng
5.6. Bao đóng củatậpthuộctính
5.7. Khóa - Thu

t toán tìm khóa

5.8. Phủ tốithiểu
www.tdt.edu.vn www.tdt.edu.vn
Cơ Sở Dữ LiệuCơ Sở Dữ Liệu
22


5.1. Định nghĩa
 PTH:

L
à
sự
biểu
diễn
RBTV
dưới
hình
thức
toán
học
L
à
sự
biểu
diễn
RBTV
dưới
hình
thức
toán
học
 Bảo đảm thông tin không bị tổnthất khi phân rã
hoặckếtnốigiữa các quan hệ.
 Quan hệ R được định nghĩa trên tậpthuộctính
U = { A1, A2, , An}.
 A, B ⊂ Ulà2tậpconcủatậpthuộctínhU.

 Nếutồntạimộtánhxạ f: A → B thì nói rằng A
xác định hàm B, hay B PTH vào A.
 Ký hiệu: A → B.
33
www.tdt.edu.vn www.tdt.edu.vn
Cơ Sở Dữ LiệuCơ Sở Dữ Liệu
5.1. Định nghĩa (tt)
 Định nghĩahìnhthứccủaPTH:

Quan
hệ
Q (A, B, C)

PTH
A
xác
đ
ịnh
B
Quan
hệ
Q

(A,

B,

C)



PTH

A

xác
đ
ịnh
B

(ký hiệulàA → B) nếu:
 ∀ q, q’ ∈ Q, sao cho q.A = q’.A thì q.B = q’.B
 Nghĩalà: ứng với1 giátrị củaA thìcómột giá trị
duy nhấtcủaB
ế
ế
 A là v
ế
trái của PTH, B là v
ế
phảicủaPTH
 PTH A → A đượcgọilàPTH hiển nhiên.
44
www.tdt.edu.vn www.tdt.edu.vn
Cơ Sở Dữ LiệuCơ Sở Dữ Liệu
5.1. Định nghĩa (tt)
 Ví dụ 1: Trong quan hệ Sinhvien (Masv, Hoten,
Phai, N
g
Sinh, Que
q

uan, Diachi)
g
q
 Có các PTH sau:
• Masv Æ Quequan, Diachi
• Masv, Hoten Æ Ngsinh, Quequan
 Không có các PTH sau:
• Hoten Æ Ngsinh, Quequan
55
www.tdt.edu.vn www.tdt.edu.vn
Cơ Sở Dữ LiệuCơ Sở Dữ Liệu
5.1. Định nghĩa (tt)
 Ví dụ 2: Trong QuanHệ CHITIẾT_HĐ (Số-hóa-
đơ
n,

-
hàng
,
Số
-
l
ư
ợng
, Đ
ơ
n
-
giá
,

Trị
-
giá
)
đơ
n,


hàng
,

Số
l
ư
ợng
,

Đ
ơ
n
giá
,

Trị
giá
)

 Có các PTH sau
:


f1:
Số
-
hóa
-
đơ
n

-
hàng

Số
-
l
ư
ợng
f1:

Số
hóa
đơ
n
,

hàng

Số
l
ư
ợng

• f2: Số-hóa-đơn, Mã-hàng → Đơn-giá.

f3:
Số
-
hóa
-
đơ
n

-
hàng

Trị
-
giá

f3:

Số
-
hóa
-
đơ
n
,

-
hàng


Trị
-
giá
.
• f4: Số-lượng, Đơn-giá → Trị-giá.
66
www.tdt.edu.vn www.tdt.edu.vn
Cơ Sở Dữ LiệuCơ Sở Dữ Liệu
5.2. BiểudiễnPTH bằng đồ thị
 PTH có thể biểudiễnbằng đồ thị có hướng:

Các
nút
trong
đ

thị
chia
thành
2
loại
:

Các
nút
trong
đ


thị

chia
thành
2

loại
:
• Nút thuộc tính: biểudiễnbằng tên thuộc tính

N
út PTH: bi

udiễnb

n
g
hình tròn có s

th

t

của
g

PTH.
 Các cung trong đồ thị cũng có 2 loại:
 Cung đếnPTH: xuất phát từ các thuộctínhở vế trái
của các PTH

C

ời
PTH
h

đ
ế
á
th ộ
tí h

ế
hải

C
ung r
ời
PTH
:
h
ư

ng
đ
ế
nc
á
c
th
u


c

n
h

v
ế
p
hải
của các PTH
77
www.tdt.edu.vn www.tdt.edu.vn
Cơ Sở Dữ LiệuCơ Sở Dữ Liệu
5.2. BiểudiễnPTH bằng đồ thị
 R (A, B, C, D, E, H)

F
=
{AB

C, CD

E, EC

A, CD

H, H

B}


F

{AB

C,

CD

E,

EC

A,

CD

H,

H

B

}

88
www.tdt.edu.vn www.tdt.edu.vn
CCơơ Sở Dữ LiệuSở Dữ Liệu
5.2. BiểudiễnPTH bằng đồ thị
 R (A, B, C, D, E, G)
 F = {A→C; B→DE; AB→G; A→ED; D→E }

99
www.tdt.edu.vn www.tdt.edu.vn
CCơơ Sở Dữ LiệuSở Dữ Liệu
5.3. Suy diễn logic các PTH
 Cho lược đồ quan hệ R vớitậpthuộc tính U và
tập
các
PTH F
.
tập
các
PTH

F
.
 X → Y là 1 PTH; X,Y ⊆ U.

Ta
nói
rằng
X

Y
đư
ợc
suy
diễn
lôgic
từ
F

nếu

Ta

nói
rằng
X


Y

đư
ợc
suy
diễn
lôgic
từ
F

nếu
∀r ∈R, nếur thỏatấtcả các PTH trong F thì r
cũng thỏaX → Y
 Ký hiệulà: F ⎟= X → Y.
1010
www.tdt.edu.vn www.tdt.edu.vn
CCơơ Sở Dữ LiệuSở Dữ Liệu
5.3. Suy diễn logic các PTH
Ví dụ:

Với

F
=
{X

Y, X

Z, Y

T}

Với
F

{X


Y,

X


Z,

Y


T

}


 Thì ta có các PTH: X → YZ và X → T.
1111
www.tdt.edu.vn www.tdt.edu.vn
CCơơ Sở Dữ LiệuSở Dữ Liệu
5.4. Hệ tiên đề Amstrong
 Năm 1974, Amstrong đã đưa ra hệ tiên đề (gọilà
hệ
luật
dẫn
Amstrong
)
:
Cho
l
ư
ợc
đ

quan
hệ
Q
hệ
luật
dẫn
Amstrong
)

:
Cho


l
ư
ợc
đ


quan
hệ
Q

vớitậpthuộc tính U. X, Y, Z, W ⊆ U. PTH có các
tính chất cơ bản sau:
 A1: Tính phảnxạ:
NếuY ⊆ X thì X → Y
 A2: Tính tăng trưởng:
NếuX → Y thì XZ → YZ (Z ⊆ U)


 A3: Tính
bắ
cc

u:
NếuX → Y và Y → Z thì X → Z
1212
www.tdt.edu.vn www.tdt.edu.vn
CCơơ Sở Dữ LiệuSở Dữ Liệu
5.4. Hệ tiên đề Amstrong
 Ví dụ 1:
Cho F =

{
AB Æ C
,
C ÆA
}
. CMR: BC Æ ABC
{
,
}
Ta có: (1) C Æ A (giả thiết)
(2) BC Æ AB (tăn
g
trưởn
g
1)
(
3
)
AB Æ C
(
g
iả thiết
)
()
(
g
)
(4) AB Æ ABC (tăng trưởng 3)
(5) BC
Æ

ABC
(
bắ

2&4)
(5)

BC

Æ
ABC

(
bắ
cc

u
2

&

4)
1313
www.tdt.edu.vn www.tdt.edu.vn
CCơơ SởSở DữDữ LiệuLiệu
5.4. Hệ tiên đề Amstrong
 Ví dụ 2:
1/ Cho F = {A Æ B, BC ÆD }.
CMR: AC Æ BCD
2

/

C
h
o
F =
{
A Æ B
C,
A
C
ÆD
}.

/C o {
C, C
}.
CMR: AC Æ BCD
1414
www.tdt.edu.vn www.tdt.edu.vn
CCơơ Sở Dữ LiệuSở Dữ Liệu
5.4. Hệ tiên đề Amstrong
 Các tính chất bổ sung:

A4:
Luật
giả
bắc
cầu
:

A4:

Luật
giả
bắc
cầu
:

NếuX → Y và YZ → W thì XZ → W

A5:
Luật
hợp
:
A5:

Luật
hợp
:

NếuX → Y và X → Z thì X → YZ

A6:
Luật
tách
:

A6:

Luật

tách
:

NếuX → YZ thì X → Y và X → Z
1515
www.tdt.edu.vn www.tdt.edu.vn
CCơơ Sở Dữ LiệuSở Dữ Liệu
5.4. Hệ tiên đề Amstrong
Ví dụ: Cho R(A,B,C,D,E,G,H). CMR: AB→Evới
F=
{
AB→C
,
B→D
,
CD→E
,
CE→GH
,
G→A
}
.
{
,
,
,
,
}
Ta có: (1) AB→C(chotrước)
(2) AB


AB
(
phản
xạ
)
(2)

AB

AB
(
phản
xạ
)

(3) AB→B(luật tách)
(4) B
D
(h
ớ )
(4)

B

D
(
c
h
o tr

ư

c
)

(5) AB→D(bắccầu3 & 4)
(6) AB→CD (hợp1 & 5)
(7) CD→E (cho trước)
1616
(8) AB→E(bắc cầu 6 & 7)
www.tdt.edu.vn www.tdt.edu.vn
CCơơ Sở Dữ LiệuSở Dữ Liệu
5.4. Hệ tiên đề Amstrong
Ví dụ: Cho R(A,B,C,D,E,G,H,I,J).
F=
{
AB→E
,
AG→J
,
BE→I
,
E→G
,
GI→H
}
{
,
,
,

,
}
CMR: AB→GH
1) AB→E(chotrước – f1)
2) AB→AB (phảnxạ)
3)
AB
B
(
áh
)
3)
AB

B
(
t
á
c
h
)

4) AB→BE (hợpcủa1 & 3)
5) BE→I(chotrước - f3)


6) AB→I(
bắ
cc


u4 & 5)
7) E→G(chotrước - f4)
8) AB→G(bắccầu1 & 7)
Lời giải
9) AB→GI (hợp6 & 8)
10) GI→H(chotrước - f5)
11) AB→H(bắccầu 9 & 10)
1717
12) AB→GH (hợp8 & 11)
www.tdt.edu.vn www.tdt.edu.vn
CCơơ Sở Dữ LiệuSở Dữ Liệu
5.5. Bao đóng (Closure)
 GọiF
+
là bao đóng (Closure) củaF, tứclàtập
các
PTH
đư
ợc
suy
diễn
lôgic
từ
F.
các
PTH

đư
ợc
suy

diễn
lôgic
từ
F.

 NếuF = F
+
thì ta nói F là họđầy đủ (full family)
của
các
PTH
của
các
PTH
.
1818
www.tdt.edu.vn www.tdt.edu.vn
CCơơ Sở Dữ LiệuSở Dữ Liệu
5.5. Bao đóng (Closure)
 Bài toán thành viên (MemberShip):
Kiểm
tra
PTH
X

Y

đư
ợc
suy

diễn
lôgíc
từ
F
Kiểm
tra
PTH

X


Y


đư
ợc
suy
diễn
lôgíc
từ
F

không? (tứclàX → Y ∈ F
+
? )
Đâ

ột
bài


khó
iải

Đâ
y

m
ột
bài
t
o
á
n
khó
g
iải
.
 Đòi hỏiphảicómộthệ luậtdẫn để suy diễn lôgic
á
PTH
c
á
c
PTH
.
1919
www.tdt.edu.vn www.tdt.edu.vn
CCơơ Sở Dữ LiệuSở Dữ Liệu
5.5. Bao đóng (Closure)
 Bài toán thành viên – Ví dụ: Cho Q(ABCDEG).

F =
{
AE → C
,
CG → A
,
BD → G
,
GA → E
}
{
,
,
,
}
CMR: BDC → Q
+
∈ F
+
(Q
+
= ABCDEG
+
)
Ta

:
(
1)
BDC


BD
C
(
phản
xạ
)
Ta


:
(
1)
BDC

BD
C
(
phản
xạ
)

(2) BD→G(giả thiếtf3)
(3) CG
A
(
iả
hiế
f2)
(3)


CG

A
(
g
iả
t
hiế
t
f2)

(4) BDC→A(giả bắccầu2,3)
(5) BDC→GA (hợp 2 & 4)
(6) BDC→E(bắccầu 5 & f4)
2020
(7) BDC→Q
+
(hợp 1,2,4,6)
www.tdt.edu.vn www.tdt.edu.vn
CCơơ Sở Dữ LiệuSở Dữ Liệu
5.6. Bao đóng củatậpthuộctính
 Định nghĩa:
B
đ
ó


h ộ
íh

X
đ
ối
ới

á
PTH

B
ao
đ
ó
ng c

at

pt
h
u

ct
í
n
h
X

đ
ối
v
ới

t

pc
á
c
PTH

F (ký hiệu: X
+
F
) là tậptấtcả các thuộc tính A có
thể
dẫ
từ
X
hờ
tậ
b
đ
ó

F(F
+
)
thể
suy
dẫ
n
từ
X

n
hờ
tậ
p
b
ao
đ
ó
ng c

a
F

(F
+
)
 X
+
F
= { A ⏐ X → A ∈ F
+
}
 Nhậnxét:
1
)
X ⊆ X
+
F
)
F

2) X → A ∈ F
+
⇔ A ⊆ X
+
F
2121
www.tdt.edu.vn www.tdt.edu.vn
CCơơ Sở Dữ LiệuSở Dữ Liệu
5.6. Bao đóng củatậpthuộctính
 Thuật toán Tìm bao đóng củatậpthuộctính

Input:
Tập
U
hữu
hạn
các
thuộc
tính
&
tập
các
Input:

Tập
U

hữu
hạn
các

thuộc
tính
&

tập
các
PTH F trên U & X ⊆ U.

Output:
X
+

Output:

X
F
 Phương pháp: Tính liên tiếpX
0
, X
1
, X
2
, … theo
quy
tắc
nh
ư
sau
:
quy

tắc
nh
ư
sau
:
2222
www.tdt.edu.vn www.tdt.edu.vn
CCơơ Sở Dữ LiệuSở Dữ Liệu
5.6. Bao đóng củatậpthuộctính
 Thuật toán Tìm bao đóng củatậpthuộctính
B
ước
1
X
0
=
X
B
ước
1
.
X
0

X
Bước2. X
i+1
= X
i
∪ A sao cho ∃ (Y Æ Z ) ∈ F,

à
A
Z
à
Y
X
m
à
A


Z
v
à
Y


X
i
Bước3. Cho đến khi X
i+1
= X
i
(Vì X= X
0
⊆ X
1
⊆ X
2
⊆ … ⊆ U, mà U hữuhạn

cho nên sẽ tồntại1 chỉ số inàođó mà X
i+1
= X
i
)
Æ Khi đó X
+
F
= X
i
2323
www.tdt.edu.vn www.tdt.edu.vn
CCơơ Sở Dữ LiệuSở Dữ Liệu
5.6. Bao đóng củatậpthuộctính
 Tìm bao đóng củatậpthuộctính–Vídụ 1
Cho R(U)
với
U=ABCDEG
Cho

R(U)

với
U=ABCDEG
F = {AB Æ C, C Æ A, BC Æ D, ACD Æ B,
D Æ EG, BE Æ C, CG Æ BD, CE Æ AG }
Tính X
+
F
, với:

X= D
X= BD
2424
www.tdt.edu.vn www.tdt.edu.vn
CCơơ Sở Dữ LiệuSở Dữ Liệu
5.6. Bao đóng củatậpthuộctính
 Tìm bao đóng củatậpthuộctính–Vídụ 1
X
i
TậpPTH X
i+1
X
0
= D D Æ EG DEG
0
X
1
= DEG D Æ EG DEG
X
2
= DEG
2
Æ D
+
= DEG
2525
www.tdt.edu.vn www.tdt.edu.vn
CCơơ Sở Dữ LiệuSở Dữ Liệu
5.6. Bao đóng củatậpthuộctính
 Tìm bao đóng củatậpthuộctính–Vídụ 1

X
i
Tập
PTH
X
i+1
X
i
Tập
PTH
X
i+1
X
0
= BD D Æ EG BDEG
X
=BDEG
D
Æ
EG BE
Æ
C
BCDEG
X
1
=

BDEG
D


Æ
EG
,
BE

Æ
C
BCDEG
X
2
= BCDEG C Æ A, BC Æ D,
D
Æ
EG BE
Æ
C
ABCDEG
D

Æ
EG
,
BE

Æ
C
,
CG Æ BD, CE Æ AG
X
ABCDEG

Tất

ABCDEG
X
3
=
ABCDEG
Tất
c

ABCDEG
X
4
= ABCDEG
2626
Æ BD
+
= ABCDEG
www.tdt.edu.vn www.tdt.edu.vn
CCơơ Sở Dữ LiệuSở Dữ Liệu
5.6. Bao đóng củatậpthuộctính
 Tìm bao đóng củatậpthuộctính–Vídụ 2
Cho
R(u)
với
u
=
ABCDEGH
Cho


R(u)

với
u ABCDEGH
F = {B Æ A, DA Æ CE, D Æ H, GH Æ C,
AC
Æ
D}
AC

Æ
D

}
Tính X
+
F
, với:
X= BD
X= AC
2727
www.tdt.edu.vn www.tdt.edu.vn
CCơơ Sở Dữ LiệuSở Dữ Liệu
5.7. Khóa – Thuật toán tìm khóa
 Định nghĩa:

R

l
ư

ợc
đ

quan
hệ
đ
ịnh
nghĩa
trên
tập
các
R


l
ư
ợc
đ


quan
hệ
đ
ịnh
nghĩa
trên
tập
các
thuộc tính U = { A
1

, A
2
, , A
n
}
 T
ập
các PTH F =
{
f
1
,
f
2
,

,
f
m
}
xác đ

nh trên R.
ập
{
1
,
2
,,
m

}

 K ⊆ U là khóa củaR nếuthỏamãnhaiđiềukiện
sau đâ
y
:
y
1) K → U. ( K là siêu khóa )
2)


K


K

K


U
2)

K


K


K



U
.
2828
www.tdt.edu.vn www.tdt.edu.vn
CCơơ Sở Dữ LiệuSở Dữ Liệu
5.7. Khóa – Thuật toán tìm khóa
 Bài Toán Tìm khóa:

Xác
đ
ịnh
tất
cả
các
khóa
của
1l
ư
ợc
đ

quan
hệ
.
Xác
đ
ịnh
tất
cả

các
khóa
của
1

l
ư
ợc
đ


quan
hệ
.

 Bài toán này đượcgiải quyết qua 2 giai đoạn:
1
Giai
đ
oạn
1
:
Xây
dựng
tập
S
chứa
tất
cả
các

siêu
1
.
Giai
đ
oạn
1
:

Xây
dựng
tập
S

chứa
tất
cả
các
siêu
khóa củaR
2.
Giai
đ
oạn
2
:
Xây
dựng
tập
K

chứa
tất
cả
các
khóa
2.
Giai
đ
oạn
2
:

Xây
dựng
tập
K

chứa
tất
cả
các
khóa
củaR từ tậpS bằng cách loạibỏ khỏiS những
siêu khóa không tốithiểu.
2929
www.tdt.edu.vn www.tdt.edu.vn
CCơơ Sở Dữ LiệuSở Dữ Liệu
5.7. Khóa – Thuật toán tìm khóa
 Bài Toán Tìm khóa:
ª

Để
xác
đ
ịnh
tất
cả
các
siêu
khóa
của
1l
ư
ợc
đ

ª
Để
xác
đ
ịnh
tất
cả
các
siêu
khóa
của
1

l
ư

ợc
đ


quan hệ R, ta lầnlượtxét(2
n
-1) tậphợp con của
R
+
: X
1
,
X
2
,

1
,
2
,
ª Nếu1 tập con X
i
củaR
+
có bao đóng bằng đúng
R
+
thì tập con X
i
chính là 1 siêu khóa.

i
ª NếuR chỉ có 1 siêu khóa S thì siêu khóa đó cũng
là khóa củalược đồ quan hệ R
3030
www.tdt.edu.vn www.tdt.edu.vn
CCơơ Sở Dữ LiệuSở Dữ Liệu
5.7. Khóa – Thuật toán tìm khóa
 Bài Toán Tìm khóa:
ª
Trong
tr
ư
ờng
hợp
R

nhiều
h
ơ
n1
siêu
khóa
ª
Trong
tr
ư
ờng
hợp
R



nhiều
h
ơ
n

1

siêu
khóa
(hữuhạn), để xác định tấtcả các khóa chỉđịnh,
ta so sánh 1 cặp siêu khóa S
i
và S
j
. NếuS
i
⊂ S
j
,
j
j
ta loạiS
j
và gi

lạiS
i
.
ª Lầnlượt so sánh từng cặp siêu khóa để loạibỏ


tậplớn, cu

i cùng thu đ
ư
ợctập các khóa chỉđịnh
củaR.
Æ
Th ậ
á
khô
khả
hi
khi
lớ
Æ
Th
u

tto
á
n
khô
ng
khả
t
hi
khi
n
lớ

n
3131
www.tdt.edu.vn www.tdt.edu.vn
CCơơ Sở Dữ LiệuSở Dữ Liệu
5.7. Khóa – Thuật toán tìm khóa
 Bài Toán Tìm khóa – Thuật toán cảitiến:
Chúng
ta
sẽ
cải
tiến
thuật
toán
dựa
trên
việc
phân
Chúng
ta
sẽ
cải
tiến
thuật
toán
dựa
trên
việc
phân
loạitậpthuộc tính R
+

ª A
gọ
ilàthu

c tính n
g
u

nn
ế
u A khôn
g
xu

thi

n
gọ

g
g

ở vế phảicủabấtkỳ PTH không hiển nhiên nào
củaF.
ª Tập các thuộc tính nguồnkýhiệulàN
ª A gọilàthuộc tính đích nếu A không phảithuộc


ế


tính ngu

n và A không xu

thiện ở v
ế
trái của
bấ
t
kỳ PTH không hiển nhiên nào củaF.
3232
ª Tập các thuộc tính đích ký hiệulàD.
www.tdt.edu.vn www.tdt.edu.vn
CCơơ Sở Dữ LiệuSở Dữ Liệu
5.7. Khóa – Thuật toán tìm khóa
 Bài Toán Tìm khóa – Thuật toán cảitiến:

Tập
hợp
các
thuộc
tính
không
phải
nguồn

Tập
hợp
các
thuộc

tính
không
phải
nguồn

không phải đích gọilàtập trung gian. Ký hiệulàL
 Các t
ập
h
ợp
N,
D
,
L rời nhau từn
g
đôi m

tvà
ập
ợp
,,
g

N ∪ D ∪ L = R
+
 Nh

nxét

 Nếu K là khóa của R thì K chứatấtcả các thuộc

tính nguồn và không chứabấtkỳ thuộc tính đích
nào.
3333
www.tdt.edu.vn www.tdt.edu.vn
CCơơ Sở Dữ LiệuSở Dữ Liệu
5.7. Khóa – Thuật toán tìm khóa
 Thuật toán cảitiến:
ª B1: Xâ
y
d

n
g
2
v
t
ập
con củaL: L
1
, L
2
, … b

n
g
y
ự g
ập
1
2

g
phương pháp đường chạynhị phân.
ª B2: Xây dựng tậpK chứa các siêu khóa
Ö K = ∅
Ö

L
i
X
i
=
N

L
i
Ö

L
i
,
X
i

N


L
i
Ö Tính X
i

+
F
. NếuX
i
+
F
= R
+
thì K = K ∪ X
i
ª
B3
L i
bỏ
dầ
á

khó
lớ
ª
B3
:
L
oạ
i
bỏ
dầ
nc
á
cs


u
khó
a
lớ
n
3434
www.tdt.edu.vn www.tdt.edu.vn
CCơơ Sở Dữ LiệuSở Dữ Liệu
5.7. Khóa – Thuật toán tìm khóa
 Ví dụ:
Cho R
(
ABCDEG
)
vớit
ập
PTH
()
ập
F = { AE Æ C, CG Æ A, BD Æ G, GA Æ E }
Xác đ

nh t

tcả các khóa củaR

Ta có:
N
=

{B,D}
N

{

B,

D

}
D = ∅
L
=
{ACEG}
L

{

A
,
C
,
E
,
G

}
Xây dựng tậpthuộctínhL
i
bằng PP đường chạy

nhị
phân
.
3535
nhị
phân
.
www.tdt.edu.vn www.tdt.edu.vn
CCơơ Sở Dữ LiệuSở Dữ Liệu
5.7. Khóa – Thuật toán tìm khóa
ACEG L
i
X
i
= N ∪ L
i
X
i
+
F
0000 BD BDG
0001 G BDG BDG
0010 E BDE BDEG
0011 EG BDEG BDEG
0100 C BDC BDCGAE = R
+
0101 CG BDCG
0110 CE BDCE
0111 CEG BDCEG
1000 A BDA BDAGEC =

R
+
1001 AG BDAG
1010 AE BDAE
1011
AEG
BDAEG
1011
AEG
BDAEG
1100 AC BDAC
1101 ACG BDACG
1110
ACE
BDACE
3636
1110
ACE
BDACE
1111 ACEG BDACEG
www.tdt.edu.vn www.tdt.edu.vn
CCơơ Sở Dữ LiệuSở Dữ Liệu
5.7. Khóa – Thuật toán tìm khóa
 Ví dụ:
Æ

2
siêu
khóa
:BDC BDA

Æ

2

siêu
khóa
:

BDC
,
BDA
Æ Có 2 khóa: BDC, BDA
3737
www.tdt.edu.vn www.tdt.edu.vn
CCơơ Sở Dữ LiệuSở Dữ Liệu
5.7. Khóa – Thuật toán tìm khóa
 Ví dụ:
Cho R(ABCDEG) vớit
ập
PTH
ập
F = { EC Æ B, AB Æ C, EB Æ D,
BG Æ A, AE Æ G }
Xác định tấtcả các khóa củaR
Ta có:
N = { E }
D =
{
D
}

{}
L = { A, B, C, G }
Æ Xâ
y
d

n
g
t
ập
thu

ctínhL
i
b

n
g
PP đườn
g
3838
y
ự g
ập

i

g
g
chạynhị phân.

www.tdt.edu.vn www.tdt.edu.vn
CCơơ Sở Dữ LiệuSở Dữ Liệu
5.7. Khóa – Thuật toán tìm khóa
ABCG L
i
X
i
= N ∪ L
i
X
i
+
F
0000 E E
0001 G EG EG
0010 C EC ECBD
0011 CG ECG ECGBDA = R
+
0100 B EB EBD
0101
BG
EBG
EBGDAC
=
R
+
0101
BG
EBG
EBGDAC


R
0110 BC EBC EBCD
0111 BCG EBCG
1000
A
EA
EAG
1000
A
EA
EAG
1001 AG EAG EAG
1010 AC EAC EACBDG = R
+
1011
ACG
EACG
1011
ACG
EACG
1100 AB EAB EABCDG = R
+
1101 ABG EABG
1110
ABC
EABC
3939
1110
ABC

EABC
1111 ABCG EABCG
www.tdt.edu.vn www.tdt.edu.vn
CCơơ Sở Dữ LiệuSở Dữ Liệu
5.7. Khóa – Thuật toán tìm khóa
 Ví dụ:
Æ

4
siêu
khóa
: ECG EBG EAC EAB
Æ

4

siêu
khóa
:

ECG
,
EBG
,
EAC
,
EAB
Æ Có 4 khóa: ECG, EBG, EAC, EAB
4040
www.tdt.edu.vn www.tdt.edu.vn

CCơơ Sở Dữ LiệuSở Dữ Liệu
5.8. Phủ tối thiểu
 PTH tương đương

Gọi
F

G

các
tập
PTH
Ta
nói
rằng
F

G

Gọi
F


G


các
tập
PTH
.

Ta

nói
rằng
F


G

là tương đương nếuF
+
= G
+
.

Nếu
F

Gt
ươ
ng
đươ
ng
đ
ôi
khi
còn
nói
Nếu
F



G

t
ươ
ng
đươ
ng
,
đ
ôi
khi
còn
nói
F phủ G (hay G phủ F).
4141
www.tdt.edu.vn www.tdt.edu.vn
CCơơ Sở Dữ LiệuSở Dữ Liệu
5.8. Phủ tối thiểu
 Phủ tốithiểu: GọiF làtốithiểunếu

Mỗi
vế
phải
của
1
PTH

F

chỉ

1
thuộc
tính

Mỗi
vế
phải
của
1

PTH


F

chỉ

1

thuộc
tính
 Không tồntại 1 PTH X Æ A thuộcF, mà
F
+
=(F
{X
Æ
A} )

+
F
+

=

(F
-
{X

Æ
A}

)
+
 Không tồntại 1 PTH X Æ A thuộc F, và 1 tập con
Z
của
X

Z

của
X


F
+
= (F - {X Æ A} ∪ {Z Æ A} )
+

4242
www.tdt.edu.vn www.tdt.edu.vn
CCơơ Sở Dữ LiệuSở Dữ Liệu
5.8. Phủ tối thiểu
Ví dụ

Cho F
=
{AB
Æ
C, C
Æ
A, BC
Æ
D, ACD
Æ
B,

Cho

F

{

AB

Æ
C,

C

Æ
A,

BC

Æ
D,

ACD

Æ
B,

D Æ E, D Æ G, BE Æ C, CG Æ B, CG Æ D,
CE Æ A, CE Æ G }
Tìm Phủ tốithiểu?
Ta có:
CE Æ A là dư thừa(vìC Æ A )
CG ÆB là dư thừa (vì CG Æ D, C Æ A và ACD Æ B)
ACD Æ B thay bằng CD Æ B vì C Æ A
⇒PTT = { AB Æ C, CÆ A, BC Æ D, CD ÆB,
4343
D Æ E, D Æ G, BE Æ C, CG Æ D, CE Æ G }
www.tdt.edu.vn www.tdt.edu.vn
CCơơ Sở Dữ LiệuSở Dữ Liệu
5.8. Phủ tối thiểu
Ví dụ

Cho F
=

{AB
Æ
C, C
Æ
A, BC
Æ
D, ACD
Æ
B,

Cho

F

{

AB

Æ
C,

C
Æ
A,

BC

Æ
D,


ACD

Æ
B,
D Æ E, D Æ G, BE Æ C, CG Æ B, CG Æ D,
CE Æ A
,
CE Æ G
}
,
}
Tìm Phủ tốithiểu?
Loạibỏ CE Æ A, CG Æ D và ACD Æ B sẽ có
t
ập
t

ithiểu:
ập
⇒PTT = { AB Æ C, CÆ A, BC Æ D, D Æ E,
D Æ G, BE Æ C, CG Æ B, CE Æ G
}
4444
}
www.tdt.edu.vn www.tdt.edu.vn
CCơơ Sở Dữ LiệuSở Dữ Liệu

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×