1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng cơ sở dữ liệu chương 5 dạng chuẩn và chuẩn hóa

29 462 0

Đ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 29
Dung lượng 412,04 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Chương 5 - Dạng chuẩn và chuẩn hóa5.1.1.Sự dư thừa dữ liệu tt Một số quy tắc khi thiết kế CSDL quan hệ – NT1: Rõ ràng về mặt ngữ nghĩa, tránh các sự phụ thuộc giữa các thuộc tính với nha

Trang 2

5.1 Dạng chuẩn

Chuẩn hóa là gì?

– Chuẩn hóa là kỹ thuật dùng để tạo ra một tập các quan

hệ có các đặc điểm mong muốn dựa vào các yêu cầu

về dữ liệu của 1 enterprise

– Chuẩn hóa là 1 cách tiếp cận từ dưới lên (bottom-upapproach) để thiết kế CSDL, bắt đầu từ các mối liên hệgiữa các thuộc tính

Mục đích của chuẩn hóa

– Loại bỏ các bất thường của 1 quan hệ để có được các quan hệ có cấu trúc tốt hơn, nhỏ hơn

Quan hệ có cấu trúc tốt (well-structured relation):

– Là quan hệ có sự dư thừa dữ liệu là tối thiểu và chophép người dùng thêm, sửa, xóa mà không gây ra mâuthuẫn dữ liệu

Chương 5 - Dạng chuẩn và chuẩn hóa 3

5.1.1.Sự dư thừa dữ liệu

Sự phụ thuộc giữa các thuộc tính gây ra sự dư thừa

– Ví dụ:

• Điểm các môn học Điểm trung bình xếp loại

• Địa chỉ zip code

TENPHG MAPHG TRPHG NG_NHANCHUC

Nghien cuu 5 333445555 05/22/1988

Dieu hanh 4 987987987 01/01/1995

Quan ly 1 888665555 06/19/1981

TENNV HONV Tung Nguyen Hung Nguyen

333445555 987987987 888665555

Trang 3

5.1.1.Sự dư thừa dữ liệu (tt)

Thuộc tính đa trị trong lược đồ ER nhiều bộ số liệu trong lược đồ quan hệ

Ví dụ:

NHANVIEN(TENNV, HONV, NS,DCHI,GT,LUONG, BANGCAP)

5

TENNV HONV NS DCHI GT LUONG BANGCAP

Tung Nguyen 12/08/1955 638 NVC Q5 Nam 40000

Nhu Le 06/20/1951 291 HVH QPN Nu 43000 Đại học

Hung Nguyen 09/15/1962 Ba Ria VT Nam 38000 Thạc sỹ

Nhu Le 06/20/1951 291 HVH QPN Nu 43000 Trung học

Trung học

Chương 5 - Dạng chuẩn và chuẩn hóa

5.1.1.Sự dư thừa dữ liệu (tt)

Sự dư thừa sự dị thường

– Thao tác sửa đổi: cập nhật tất cả các giá trị liên quan– Thao tác xóa: người cuối cùng của đơn vị mất thông tin về đơn vị

333445555 987987987 888665555

Trang 4

Chương 5 - Dạng chuẩn và chuẩn hóa

5.1.1.Sự dư thừa dữ liệu (tt)

Một số quy tắc khi thiết kế CSDL quan hệ

– NT1: Rõ ràng về mặt ngữ nghĩa, tránh các sự phụ

thuộc giữa các thuộc tính với nhau

– NT2: Tránh sự trùng lặp về nội dung đảm bảo tránh được các dị thường khi thao tác cập nhật dữ liệu

• Phải có một số thao tác khi thêm mới và cập nhật vào lược đồ quan

hệ, cũng như có thể gây sai hỏng trong trường hợp xóa bỏ các bộ

– NT3: Tránh sử dụng các thuộc tính có nhiều giá trị Null

• Khó thực hiện các phép nối và kết hợp

– NT4: Thiết kế các lược đồ quan hệ sao cho chúng cóthể được nối với điều kiện bằng trên các thuộc tính làkhoá chính hoặc khoá ngoài theo cách đảm bảo khôngsinh ra các bộ “giả”

Trang 5

5.1.2 Các dạng chuẩn

Mỗi một dạng chuẩn là một tập các điều kiện trên lược đồ nhằm đảm bảo các tính chất của nó (liên quan tới dư thừa và bất thường trong cập nhật)

Chuẩn hóa dữ liệu: quá trình phân tích lược đồ quan

hệ dựa trên các FD và các khóa chính để đạt được

– Cực tiểu sự dư thừa

– Cực tiểu các phép cập nhật bất thường

Chương 5 - Dạng chuẩn và chuẩn hóa 9

5.1.2 Các dạng chuẩn (tt)

Phân loại

– Dạng chuẩn 1 (1NF – first normal form)

– Dạng chuẩn 2 (2NF – second normal form)

– Dạng chuẩn 3 (3NF – third normal form)

– Dạng chuẩn BCNF (Boyce-Codd normal form)

– Dạng chuẩn 4NF

Trang 6

Chương 5 - Dạng chuẩn và chuẩn hóa

– Table3(Key1, Key2, Key3, ccc .)

Table (Key1, (Key2, (Key3, ) ) )

Table1(Key1, ) TableA (Key1,Key2 (Key3, ) )

Table2 (Key1, Key2 ) Table3 (Key1, Key2, Key3, )

Trang 7

1 4 5 5

TP HCM

VUNGTAU NHATRANG

HA NOI

5 TP HCM

Chương 5 - Dạng chuẩn và chuẩn hóa

Dạng chuẩn 2

Phụ thuộc hàm đầy đủ: Một phụ thuộc hàm X → Y

là một phụ thuộc hàm đầy đủ nếu loại bỏ bất kỳ thuộc tính A nào ra khỏi X thì phụ thuộc hàm không còn đúng nữa.

∀ A, A ∈ X, (X – {A}) → Y : là sai.

Phụ thuộc hàm bộ phận : Một phụ thuộc hàm X → Y

là phụ thuộc bộ phận nếu có thể bỏ một thuộc tính A∈

X, ra khỏi X phụ thuộc hàm vẫn đúng, điều đó có nghĩa là với

∃A∈ X, (X – {A}) → Y

Trang 8

Dạng chuẩn 2 (tt)

2NF:

– Thỏa mãn 1NF

– Phụ thuộc hàm đầy đủ vào khóa chính

Với các quan hệ có thuộc tính khóa đơn thì ko phải xét

Chỉ kiểm tra các lược đồ có chứa phụ thuộc hàm bộ phận

15

Chương 5 - Dạng chuẩn và chuẩn hóa

Dạng chuẩn 2 (tt)

Ví dụ

NV_DA(MaNV, MaDA, Sogio, TenDA, DDiemDA)

Phụ thuộc vào cả 2 MaNV, MaDA

Chỉ phụ thuộc vào MaDA

Trang 9

Phụ thuộc vào cả 2 MaNV, MaDA

Chỉ phụ thuộc vào MaDA

NV_DA(MaNV, MaDA, Sogio)

DUAN(MaDA, TenDA) DUAN(MaDA, DDiemDA)

Chương 5 - Dạng chuẩn và chuẩn hóa

Dạng chuẩn 3

3NF dựa trên khái niệm phụ thuộc bắc cầu.

Định nghĩa: Một lược đồ quan hệ R là ở 3NF nếu nó:

– Thỏa mãn 2NF

– Không có thuộc tính không khoá nào của R là phụthuộc bắc cầu vào khoá chính

Trang 10

Dạng chuẩn 3 (tt)

NV_DV(MaNV, TenNV, NS, DCHI, MaDV, TenDV, TruongPHG)

19

Phụ thuộc vào MaNV

Phụ thuộc vào MaDV

Tất cả các thuộc tính phải phụ thuộc vào thuộc tính khóa

- Một vài thuộc tính phụ thuộc vào thuộc tính ko phải làkhóa

- Chuẩn hóa Tách nhóm các thuộc tính đó thành quan

hệ mới

Chương 5 - Dạng chuẩn và chuẩn hóa

Dạng chuẩn 3 (tt)

DONVI(MaDV, TenDV, TruongPHG)

Phụ thuộc vào MaNV

Phụ thuộc vào MaDV

NHANVIEN(MaNV, TenNV, NS, DCHI, MaDV)

NV_DV(MaNV, TenNV, NS, DCHI, MaDV, TenDV, TruongPHG)

Trang 11

Tóm tắt 3 dạng chuẩn 1-3

1 Quan hệ ko có thuộc tính đa

trị và quan hệ lặp

Chuyển tất cả quan hệ lặp hoặc đa trị thành 1 quan hệ mới

2 Phụ thuộc 1 phần vào thuộc

tính khóa

Tách thuộc tính phụ thuộc 1 phần thành lược đồ mới, đảm bảo quan hệ với lược đồ liên quan

3 Phụ thuộc ẩn, tồn tại phụ

thuộc hàm giữa các thuộc

tính ko phải là khóa

Tách các thuộc tính đó thành lược đồ mới

FD1

D C

B

A

R

Trang 12

– Loại bỏ các thuộc tính khóa phụ thuộc hàm vào thuộc tính

không khóa ra khỏi quan hệ

– tách chúng thành một quan hệ riêng có khoá chính là thuộc tính không khóa gây ra phụ thuộc

Trang 13

Dạng chuẩn Boyce-Codd(tt)

25

SV_MH_GV(MaSV, MONHOC, GIANGVIEN)

Phụ thuộc vào MONHOC

Ví dụ

Phụ thuộc vào cả 2 MaSV, MaMH

Chương 5 - Dạng chuẩn và chuẩn hóa

Dạng chuẩn Boyce-Codd(tt)

Phụ thuộc vào MONHOC SV_MH_GV(MaSV, MaMH, MaGV)

Ví dụ

Phụ thuộc vào cả 2 MaSV, MaMH

SV_MH(MaSV, MaMH) MH_GV(MaGV, MaMH)

Trang 14

5.1.3 Phân rã lược đồ quan hệ

Lược đồ quan hệ chung R(A1, …, An)

– Bảo toàn thông tin

– Các lược đồ Ri phải ở dạng chuẩn 3 hoặc BCNF

Chương 5 - Dạng chuẩn và chuẩn hóa 27

Phân rã bảo toàn thông tin

Sau phân rã, CSDL không còn lưu trữ quan hệ R

quan hệ gốc R từ các quan hệ chiếu này.

Nếu không khôi phục lại được quan hệ R thì việc phân rã không biểu diễn cùng 1 thông tin với

decomposition )

Trang 15

Phân rã bảo toàn thông tin (tt)

Phân rã lược đồ R = (U,F) thành 1 tập hợp các lược đồ: R1 = (U1,F1) R2= (U2, F2)… Rn = (Un,Fn)

Phân rã không mất mát thông tin nếu với mỗi thể hiện

r hợp lệ của R thì:

r = r1 r2 … rn

Với r1 = πU1(r) r2 = πU2(r),… rn = πUn(r)

29 Chương 5 - Dạng chuẩn và chuẩn hóa

Phân rã bảo toàn thông tin (tt)

Thực tế sẽ nhận được nhiều bộ ( tuple ) từ phép kết các r1, r2,…,rn hơn là các bộ gốc ban đầu Vậy tại sao lại gọi là mất mát ( lossy ) ??

Tuy nhiều bộ hơn nhưng lại thiếu thông tin và không

có cách nào biết được bộ nào là đúng, bộ nào là không đúng với bộ gốc.

Nhiều bộ hơn nhưng không đúng ≡ mất mát thông tin

Trang 16

Qk, Ri+1, …, Rm} của R cũng không mất thông tin.

Chương 5 - Dạng chuẩn và chuẩn hóa 31

Ví dụ

1111111 John 123 Main St Stamps

1111111 John 123 Main St Coins

5556667 Mary 7 Lake Dr Hiking

5556667 Mary 7 Lake Dr Skating

9876543 Simpson Fox 5 TV Acting

Xét lược đồ quan hệ

PERSON(SSN, Name, Address,Hobby)

Nếu phân rã lược đồ trên thành 2 lược đồ:

PERSON1(SSN, Name, Address)

HOBBY(SSN, Hobby)

Trang 17

mà SSN là khóa chính của PERSON1 , do đó

PERSON1 ∩ HOBBY PERSON1

Vậy: Phân rã này không mất thông tin

Chương 5 - Dạng chuẩn và chuẩn hóa

Phân rã bảo toàn phụ thuộc hàm

Xét lược đồ quan hệ sau:

HASACCOUNT(ClientId, OfficeId, AccountNumber)

Với các PTH sau:

ClientId, OfficeId AcountNumber

AccountNumber OfficeId

Nếu phân rã lược đồ trên thành 2 lược đồ sau:

ACCTOFFICE (AccountNumber, OfficeId)

ACCTCLIENT (AccountNumber, ClientId)

Phân rã trên có mất mát thông tin không???

Trang 18

Phân rã bảo toàn PTH (tt)

Phân rã trên không mất mát thông tin vì:

ACCTOFFICE ∩ ACCTCLIENT ={AccountNumber}

Do AccountNumber là Primary Key của

CCTOFFICE nên:

Nhưng phân rã này không bảo toàn phụ thuộc hàm

35 Chương 5 - Dạng chuẩn và chuẩn hóa

Phân rã bảo toàn PTH (tt)

Phụ thuộc hàm gốc:

ClientId, OfficeId AcountNumber

không tồn tại trong các phụ thuộc hàm của các lược đồ phân rã vì:

– Cả hai phụ thuộc hàm phân rã đều không chứa đủ các thuộc tính của phụ thuộc hàm gốc (1) nên không thể suy diễn lại được phụ thuộc hàm này

Trang 19

Phân rã bảo toàn PTH (tt)

Cho lược đồ R = (U,F)

D = {R1(U1,F1) , R2(U2, F2), , R (Un, Fn) } là phân

rã của R Phân rã này được gọi là bảo toàn phụ

đương nhau.

Nếu 1 phụ thuộc hàm f ∈ F nhưng không thuộc bất kỳ Fi nào không có nghĩa là phân rã không bảo toàn phụ thuộc hàm nếu f có thể được suy diễn từ ∪ Fi

– Chỉ khi nào f không thể suy diễn từ ∪ Fi thì phân rã đómới không bảo toàn PTH

Chương 5 - Dạng chuẩn và chuẩn hóa 37

Ví dụ

Phân rã quan hệ HASACCOUNT

Trang 20

Sau khi join 2 lược đồ phân rã lại, phụ thuộc hàm

Chương 5 - Dạng chuẩn và chuẩn hóa

Phép chiếu của tập phụ thuộc hàm

Xét lược đồ quan hệ R =(U,F) và tập S ⊆ U

Phép chiếu của F lên tập các thuộc tính S được định nghĩa như sau:

πS(F) = {X Y|X Y ∈F+ và X ∪ Y⊆ S}

Trang 21

Giải thuật phân rã thành BCNF

R=(U,F) là 1 lược đồ quan hệ không ở chuẩn BCNF.

Giải thuật phân rã thành BCNF

Input R = (U,F)

Decom = R

While có lược đồ S=(V, F’) trong Decom không phải BCNF

/*Nếu có X Y F sao cho X Y S và vi phạm BCNF, dùng FD này để phân rã*/

– Thay S trong Decom với S1 = (XY, F1)

– S2=( (S-Y) ∪ X, F2) với F1,F2 là tất cả các FD của F’

End

Trang 22

– F D có thể suy diễn từ F AH ∈ R2 và A DE ∈ R1

– BH E có thể suy diễn được dựa vào (BH)+ từ R1,R2

Phân rã R1,R2 bảo toàn phụ thuộc hàm

Trang 23

Ví dụ (tt)

R1 là BCNF

Với R2 (ABCFGH, {ABH C, BGH F, F AH, BH G})

– ABH C, BGH F không vi phạm BCNF (ABH, BGH đều là siêu khóa)

– F AH vi phạm BCNF

Vậy Phân rã R2 thành

– R21=(FAH, {F AH})

– R22= (FBCG, {} )

R21, R22 đều là BCNF nhưng khi đó các Phụ thuộc hàm ABH C, BGH

F và BH G không có mặt nữa và cùng không thể suy dẫn được từ các PTH của R21, R22 và R1

Phân rã R2 không bảo toàn phụ thuộc hàm

45 Chương 5 - Dạng chuẩn và chuẩn hóa

R1,R2 cũng ở chuẩn BCNF và 1 số FD gốc cũng bị mất, không thể suy diễn được

Trang 24

47

Tính chất của giải thuật phân rã BCNF

Không mất mát thông tin

Nhưng có thể không bảo toàn phụ thuộc hàm

Là giải thuật không xác định ( nondeterministic ), phụ thuộc vào thứ tự các PTH được chọn để xét phân rã

Chương 5 - Dạng chuẩn và chuẩn hóa

Giải thuật phân rã thành 3NF

Cho lược đồ R(U,F)

Bước 1: Tìm phủ tối thiểu G của F

Bước 2: Phân hoạch G thành các tập phụ thuộc hàm

G1, ,Gn sao cho mỗi Gi chứa các PTH có cùng vế trái

Bước 3: với mỗi Gi, tạo 1 lược đồ (Ri, Gi) với Ri chứa tất cả thuộc tính có trong Gi

Bước 4: Nếu một trong các Ri thỏa (Ri)+

F = R thì kết thúc, ngược lại đặt Ro=(R, {}) là 1 lược đồ mới Khi đó

R0, R1,…, Rn là kết quả phân rã.

Trang 25

Tính chất của giải thuật phân rã thành 3NF

Bảo toàn phụ thuộc hàm

Không mất thông tin

49 Chương 5 - Dạng chuẩn và chuẩn hóa

Không có lược đồ phân rã nào có (Ri) +

F = siêu khóa BCGH của R, nên

bổ sung thêm lược đồ thứ 6

– R6 (BCGH;{})

Trang 26

51

Phân rã BCNF thông qua phân rã 3NF

Vì giải thuật phân rã BCNF có thể không bảo toàn phụ thuộc hàm nên phân rã BCNF thông qua phân

rã 3NF Nếu lược đồ sau phân rã là BCNF thì dừng, nếu không thì dùng lúc đó mới dùng giải thuật BCNF

Trang 27

53

Phân rã 3NF bảo toàn FD

Phân rã thành 4 lược đồ như sau:

R1 (St C Sem P; {St C Sem P}) R2 (P Sem C; {P Sem C})

R3 (C Sem T P; {C Sem T P}) R4 (P Sem T R; {P Sem T R})

Vì không có phân rã nào hình thành siêu khóa cho lược đồ gốc, nên bổ sung thêm lược đồ mới (bước 4)

Trang 28

Phân rã thành BCNF

Kết quả cuối cùng:

(P Sem C; {P Sem C}) (P Sem St)

(P Sem T) (P Sem T R; {P Sem T R}) (St T Sem P)

Trang 29

Bài tập

Chương 5 - Dạng chuẩn và chuẩn hóa 57

Ngày đăng: 01/04/2016, 09:38

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w