Tải bản đầy đủ (.pptx) (17 trang)

Bài tập 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 (202.51 KB, 17 trang )

Bài tập phụ thuộc hàm
Các dạng bài tập
1. Tìm tập bao đóng của một tập thuộc tính
2. Kiểm tra một tập thuộc tính có phải là khóa không
3. Kiểm tra 2 tập phụ thuộc hàm có tương đương
4. Kiểm tra 1 phụ thuộc hàm có được suy diễn từ tập
phụ thuộc hàm cho trước
5. Tìm tất cả các khóa
6. Tìm phụ thuộc hàm dư thừa
7. Tìm tập bao phủ tối thiểu
8. Xác định chuẩn hóa và chuẩn hóa dữ liệu
Cách làm

Dạng 1:

Giải thuật tìm tập bao đóng
Cách làm

Dạng 1

Ví dụ

Cho tập phụ thuộc hàm:

Tìm tập bao đóng của tập thuộc tính:

A+, B+, AB+, AE+
Cách làm

Dạng 2


Kiểm tra một tập thuộc tính có phải là khóa không

Tính tập bao đóng của tập thuộc tính đó

Nếu X+ = R thì:

Tìm và loại bỏ thuộc tính dư thừa của X

Ví dụ

ABE có phải là khóa?
Cách làm

Dạng 3

Kiểm tra 1 phụ thuộc hàm XY có được suy diễn
từ tập phụ thuộc hàm FDs cho trước

Tính tập bao đóng X+ trên FDs

Nếu Y ⊂ X+ thì X Y đc suy diễn từ FDs

Ví dụ:

B G có thể suy từ F không?
Cách làm

Dạng 4

Kiểm tra 2 phụ thuộc hàm có tương đương


F và G tương đương khi và chỉ khi:

Mọi phụ thuộc hàm của F được suy ra từ G

Mọi phụ thuộc hàm của G được suy ra từ F

Kiểm tra từng phụ thuộc hàm của F và G như trên

2 tập phụ thuộc hàm này có tương đương:
Cách làm

Dạng 5: Tìm tất cả các khóa

We have: (U = R)

UL and UR are the set of LHS and RHS attributes

N = U – UR is the set of independent attributes and those which only
appear on LHS  N must be a part of keys

If N+ = R, then N is a minimal key  Stop here!

Otherwise:

D = UR – UL is the set of attributes which only appears in RHS  D
cannot be a part of key

L = U – (N ∪ D) is the set of attributes which may or may not be a part
of keys


For each combination X in L, we calculate {N ∪ X}+. If {N ∪ X}+ = R so it
is a key
Cách làm

Dạng 5

Ví dụ

Tìm khóa của R = {A, B, C, D, E, F, G} với tập phụ
thuộc hàm sau:
F = {ABC→DE, AB→D, DE→ABCF, E→C}
Ans: {GDE, GABC, GABE}
Cách làm

Dạng 6: tìm phụ thuộc hàm dư thừa

Ví dụ: Áp dụng cho

Xét ADB

AD+ = {ADBC}  AD  B là dư thừa, G = {BC,
CD, A B}
Cách làm

Dạng 7

Tìm tập bao phủ tối thiểu
Cách làm


Lưu ý: ta có thể tìm phụ thuộc hàm dư thừa
trước để giảm số lượng phụ thuộc hàm trong
bước tìm thuộc tính dư thừa, như cách sau:
Cách làm

Dạng 7:

Bước 1: Phân rã để vế phải còn 1 thuộc tính (dạng canonical form)

Bước 2: Loại bỏ thuộc tính dư thừa
Với mỗi phụ thuộc hàm X  A
Xét mỗi thuộc tính B trong X
Tính (X-B)+ đối với (X->A) thay bằng (X-B)  A
Nếu (X-B)+ chứa B thì thay X A thành X-B A

Bước 3: Loại bỏ phụ thuộc hàm dư thừa

Như dạng 6

Ghi chú: ta nên thực hiện bước 3 trước bước 2 để giảm công sức tính
toán
Ví dụ: tìm phủ tối thiểu:F = {AB→D, B→C,
AE→B, A→D, D→EF}

Bước 1: đưa về chuẩn canonical form

F = {AB  D, B  C, AE  B, A  D, D  E, DF}

Bước 2: tìm phụ thuộc hàm dư thừa


AB  D: dư thừa

F = {B  C, AE  B, A  D, D  E, DF}

Bước 3: tìm thuộc tính dư thừa

Xét AE  B

Thử bỏ A, tính E+ đối với F = {B  C, E  B, A  D, D  E, DF},

E+ = EBC  A ko dư thừa

Thử bỏ E, A+ = ABDEFC  E dư thừa. Thay AE  B thành A  B

Vậy ta có: F = {B  C, A  B, A  D, D  E, DF},
Cách làm

Dạng 8: Xác định chuẩn hóa và chuẩn hóa dữ
liệu

Ví dụ:

Chuẩn hóa R trên sang 3NF
Bài tập kết hợp

Cho R = ABCDEFGH, với tập phụ thuộc hàm sau:
a. Tìm phủ tối thiểu
b. Tìm tất cả khóa
c. Xác định chuẩn hóa cao nhất mà R đạt được,
chuẩn hóa R đến BCNF

Bài tập kết hợp

Đáp án:

a. FDs = {AE, ED, BDE, FA, E B,
DH, BGF, CDA}

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

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