1. Trang chủ
  2. » Giáo án - Bài giảng

Chương 9 Phụ thuộc hàm (Functional Dependency)

38 3,7K 8

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 38
Dung lượng 1,01 MB

Nội dung

Dư thừa dữ liệuData redundancy thuộc tính thành các quan hệ sao cho giảm thiểu dư thừa dữ liệu ◦ Lãng phí không gian đĩa ◦ Các bất thường khi cập nhật ◦ Bất thường khi thêm vào ◦ Bất th

Trang 1

Chương 9: Phụ thuộc hàm (Functional Dependency)

Trang 2

Nội dung

Trang 3

Dư thừa dữ liệu

(Data redundancy)

thuộc tính thành các quan hệ sao cho

giảm thiểu dư thừa dữ liệu

◦ Lãng phí không gian đĩa

◦ Các bất thường khi cập nhật

◦ Bất thường khi thêm vào

◦ Bất thường khi xóa bỏ

◦ Bất thường khi sửa đổi

Trang 4

Stamps Coins Hiking Skating Acting

 Khóa chính của bảng PERSON?

 SSN + Hobby

 Thông tin cá nhân bị trùng lặp

 Các bất thường:

◦ Nếu John thay đổi chỗ ở  update anomaly

◦ Nếu bổ sung thêm người mới tên là Homer Simpson

nhưng chưa biết sở thích của anh ta  không thể tạo bản ghi mới được  insertion anomaly

◦ Nếu Bart Simpson không có bất kỳ sở thích nào  xóa sở thích Acting như thế nào  Delete anomaly

Trang 5

Phụ thuộc hàm

(Functional Dependency)

thuộc tính

CSDL, loại bỏ các dư thừa dữ liệu

Trang 6

bộ của r có cùng giá trị X thì cũng có cùng giá trị Y.

t1, t2  r(R): t1[X] = t2[X]  t1[Y]= t2[Y]

Trang 8

Phụ thuộc hàm

(Functional Dependency -FD)

buộc giữa các thuộc tính

nhưng nhiều nhân viên có thể có cùng 1

mức lương

Emp_ID  SalarySalary -/-> Emp_ID

Phụ thuộc hàm được xác định dựa vào

quy tắc nghiệp vụ được xác định trên lược

đồ quan hệ

Trang 9

là primary key nên:

ProfId  Name, Qualification

thừa dữ liệu

Trang 10

Ví dụ FD và dư thừa dữ liệu

Address,Hobby) với quy tắc là 1 người có thể

có nhiều sở thích (hobby)

◦ SSN,Hobby  SSN, Name, Address,Hobby

thích thay đổi địa chỉ

Trang 11

Giải thuật kiểm tra phụ thuộc

hàm

hàm f:X Y Kiểm tra xem r thỏa mãn f

 Satisfies = true

◦ Else

 Satisfies = false

Trang 13

Tập phụ thuộc hàm

Gọi F là 1 tập phụ thuộc hàm trên R

nếu mọi phụ thuộc hàm trong F đều là phụ thuộc hàm trên R

Phụ thuộc hàm tầm thường ( trivial

FD) hay phụ thuộc hàm hiển nhiên X

Y nếu Y  X

Ví dụ: Name, Address Name

Trang 14

thể có (2n)2=22n.

Trang 15

Tập phụ thuộc hàm

bảo toàn (integrity constraint), vì vậy

DBMS cần phải quản lý các FD

lược đồ, có cách nào tìm ra 1 tập T  S

sao cho mọi FD của S đều ngầm suy từ

các FD của T Khi đó, DBMS chỉ quản lý

các FD của T, các FD trong S sẽ được quản

lý một cách tự động

Trang 16

Hệ tiên đề Amstrong

từ F nếu mọi quan hệ thỏa mãn mọi phụ

thuộc hàm trong F thì cũng thỏa mãn XY

◦ Ký hiệu F⊨XY

◦ F bao hàm (implies) XY

◦ XY được suy diễn theo quan hệ từ F

Trang 17

Hệ tiên đề Amstrong

quan hệ thỏa mãn 1 số phụ thuộc hàm

nào đó thì quan hệ này cũng thỏa mãn 1

số phụ thuộc hàm khác

Trang 19

Hệ tiên đề Amstrong

F4 Hợp (additivity): XY và XZ  X

YZ

F5 Chiếu (projectivity): XYZ  X Y

F6 Bắc cầu giả (pseudotransitivity): XY

và YZW  XZ W

Trang 21

Bao đóng của tập phụ thuộc

hàm

hàm F là 1 tập phụ thuộc hàm nhỏ nhất

chứa F sao cho không thể áp dụng hệ tiên

đề Amstrong trên tập này để tạo ra 1 phụ thuộc hàm khác không có trong tập hợp

này

F+ là 1 tập hợp các FD được suy diễn từ F

Trang 22

Các tính chất của bao đóng của tập phụ thuộc hàm

hàm F+ ta luôn có F  F+

hàm F ta luôn có (F+)+ = F+

Trang 23

Hệ tiên đề Amstrong

 các phụ thuộc hàm suy diễn từ F (tập

phụ thuộc hàm trên r) theo hệ tiên đề

Amstrong cũng là một phụ thuộc hàm trên r

(completeness)  bảo đảm rằng f  F+

nếu và chỉ nếu f là 1 FD được suy diễn

Trang 24

Phụ thuộc hàm tương đương

Nếu F và G là 2 tập FD F suy diễn G ( F

entails G) nếu F suy diễn được tất cả các

FD có trong G

diễn G và G suy diễn F

Trang 25

Kiểm tra các tập FD tương

đương

false nếu ngược lại For each f F do

if G does not entail f then return false

For each g  G do

if G does not entail f then return false

Return true

Trang 26

Ví dụ

◦ F={ ACB, AC, DA }

◦ G={AB , AC, DA , DB}

F và G có tương đương nhau không???

Từ AC + Tiên đề F2  AAC (1)

Từ (1)+ ACB + tiên đề F3  AB

Từ DA + AB + tiên đề F3  D B

F suy diễn G

Tương tự khi xét G suy diễn F

Trang 27

Bao đóng của tập phụ thuộc

hàm

BB, ABB, BCB, ABCB,

ABAB, ABCAB, ACAC, ABCAC, BCBC, ABCBC, ABCABC,

Trang 28

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

Trang 29

Giải thuật tìm bao đóng của tập

thuộc tính trên tập phụ thuộc hàm

 Input: tập thuộc tính X và tập phụ thuộc hàm F

 Output: bao đóng của X dựa trên F

Trang 31

Kiểm tra thành viên trong F+

if Y  Closure(X,F) then Member = true

else Member = false;

End

Trang 32

Ví dụ kiểm tra phụ thuộc hàm

tra F có bao hàm AB??

- Tìm A+F?  A+F = {ACB}

- Do B  A+F nên F bao hàm AB

Trang 33

Giải thuật tìm khóa của lược đồ quan hệ

R

thuộc tính xuất hiện ở vế trái và không

xuất hiện ở vế phải của các phụ thuộc

hàm và các thuộc tính không xuất hiện ở

cả vế trái lẫn vế phải của các phụ thuộc

hàm

Trang 34

Giải thuật tìm khóa của lược đồ quan hệ

Tập thuộc tính đích (TD) chứa tất cả các

thuộc tính có xuất hiện ở vế phải và không xuất hiện ở vế trái của các phụ thuộc hàm

các thuộc tính xuất hiện ở cả vế trái lẫn vế phải của các phụ thuộc hàm

Trang 35

Thuật toán tìm tất cả khóa

thuộc tính trung gian TG

có 1 khóa K

K=TN Kết thúc Ngược lại qua bước 3

trung gian TG

Trang 36

Thuật toán tìm tất cả khóa (tt)

if (TN  Xi)+ = Q+ then Si = TN

 Xi

khóa không tối tiểu

 Si, Sj  S

if Si Sj then Loại Sj ra khỏi tập siêu khóa S

S còn lại chính là tập khóa cần tìm

Trang 37

Ví dụ 1

ADE, CF} Tìm tất cả các khóa của R

Trang 38

Ví dụ 2

AB EC} Tìm khóa của R?

Xi Xi  TN (Xi  TN)+ Siêu khóa Khóa

Ngày đăng: 12/05/2014, 12:04

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w