CHUẨN HÓA CƠ SỞ DỮ LIỆU

1

1. Đặt vấn đề 2. Dạng chuẩn 1 3. Dạng chuẩn 2 4. Dạng chuẩn 3 5. Dạng chuẩn Boyce-Codd 6. Chuẩn hóa lược đồ CSDL bằng phương pháp phân rã

1. ĐẶT VẤN ĐỀ

Xét quan hệ ĐẶT_HÀNG (SốĐH, NgàyĐH, MãKH,

SoáÑH DH01 DH02 DH02

NgaøyÑH 5/1/99 13/2/99 13/2/99

MaõKH KH01 KH05 KH05

MaõHH H01 H02 H03

SoáLöôïng 50 30 40

MãHH, SốLượng )

Với tập Pth F = { SốĐH  NgàyĐH, MãKH ; SốĐH,

2

MãHH  SốLượng } => Có Trùng lắp thông tin

1. ĐẶT VẤN ĐỀ

 Tăng chí phí lưu trữ

 Tăng chi phí kiểm tra RBTV

 Thiếu nhất quán

 Vi phạm tính toàn vẹn của dữ liệu

3

Sự trùng lắp thông tin dẫn đến:

1. ĐẶT VẤN ĐỀ

Tổ chức lại thành 2 quan hệ như sau:

ĐẶT_HÀNG ( SốĐH, NgàyĐH, MãKH )

Với F1 = { SốĐH NgàyĐH, MãKH }

CHITIẾT_ĐH (SốĐH, MãHH, SốLượng )

Với F2 = { SốĐH, MãHH SốLượng }

4

=> Không còn xảy ra tình trạng trùng lắp thông tin

1. ĐẶT VẤN ĐỀ

Để có thể đánh giá một cách cụ thể chất lượng thiết kế

của một lược đồ CSDL, lúc đầu E.F.Codd (tác giả của mô hình dữ liệu quan hệ) đưa ra 3 dạng chuẩn và sau đó R.F.Boyce và E.F.Codd cải tiến dạng chuẩn 3 gọi là dạng chuẩn Boyce-Codd (BC)

Các dạng chuẩn được định nghĩa dựa trên khái niệm phụ

5

thuộc hàm

1. ĐẶT VẤN ĐỀ

 Để biểu diễn được mọi quan hệ trong CSDL

 Tránh sai sót khi thêm, xóa, sửa dữ liệu

 Tránh phải xây dựng lại cấu trúc của các quan hệ

khi cần đến các kiểu dữ liệu mới

6

Mục đích của quá trình chuẩn hóa

2. DẠNG CHUẨN 1

Thuộc tính đơn: Giả sử có lược đồ quan hệ Q. Một thuộc tính A của Q gọi là thuộc tính đơn nếu nó không phải là một sự tích hợp của nhiều thuộc tính khác

Ví dụ 1: Môn không là thuộc tính đơn

CHUYÊN_MÔN (MÃGV, MÔN )

MAGV MÔN

GV01 PASC, CTDL

7

GV02 CSDL, PTTKHT

2. DẠNG CHUẨN 1

Một lược đồ quan hệ Q được gọi là ở dạng chuẩn 1 nếu

Định nghĩa:

Một lược đồ CSDL được gọi là ở dạng chuẩn 1 nếu mọi

mọi thuộc tính của Q đều là thuộc tính đơn

8

lược đồ quan hệ con Qi của nó đều ở dạng chuẩn 1

2. DẠNG CHUẨN 1

Ví dụ:

Quan hệ CHUYÊN_MÔN không đạt dạng chuẩn 1

MAGV GV01 GV01 GV02

MOÂN PASC CTDL CSDL

GV02

PTTKHT

9

Khắc phục CHUYÊN_MÔN (MÃGV, MÔN )

3. DẠNG CHUẨN 2

Phụ thuộc đầy đủ:

Giả sử có 1 lược đồ quan hệ Q và tập phụ thuộc hàm F.

F

b) X  A là phụ thuộc hàm nguyên tố

Thuộc tính A được gọi là phụ thuộc đầy đủ vào 1 tập thuộc tính X nếu: a) A  X+

10

( không tồn tại X’  X, mà X’  A )

3. DẠNG CHUẨN 2

Một lược đồ quan hệ Q được gọi là ở dạng chuẩn 2 nếu

 Q ở dạng chuẩn 1

 Mọi thuộc tính không khóa của Q đều phụ

Định nghĩa:

thuộc đầy đủ vào các khóa của Q

Một lược đồ CSDL được gọi là ở dạng chuẩn 2 nếu mọi

11

lược đồ quan hệ con Qi của nó đều ở dạng chuẩn 2

3. DẠNG CHUẨN 2

Ví dụ: Quan hệ ĐẶT_HÀNG (SốĐH, MãHH, NgàyĐH,

MãKH, SốLượng )

Với tập Pth F = { SốĐH  NgàyĐH, MãKH ; SốĐH,

MãHH  SốLượng }

 Không đạt dạng chuẩn 2

Khắc phục: Tách thành 2 quan hệ:

ĐẶT_HÀNG ( SốĐH, NgàyĐH, MãKH )

Với F1 = { SốĐH NgàyĐH, MãKH }

CHITIẾT_ĐH (SốĐH, MãHH, SốLượng )

Với F2 = { SốĐH, MãHH SốLượng }

12

3. DẠNG CHUẨN 2

 Nếu lược đồ quan hệ Q chỉ có 1 khóa K và K chỉ có 1

Nhận xét

 Một lược đồ quan hệ Q ở dạng chuẩn 2 vẫn có thể chứa

thuộc tính thì Q ở dạng chuẩn 2

13

đựng sự trùng lắp thông tin.

4. DẠNG CHUẨN 3

Phụ thuộc bắc cầu: Thuộc tính A  Q+ được gọi là phụ thuộc bắc cầu vào tập

2) Y  X  F+

3) A  (X  Y)

thuộc tính X nếu YQ+ : 1) X  Y  F+ và Y  A  F+

14

Khi đó X  A được gọi là phụ thuộc hàm bắc cầu

4. DẠNG CHUẨN 3

 Một lược đồ quan hệ Q được gọi là ở dạng chuẩn 3

Định nghĩa:

 Q ở dạng chuẩn 2

 Mọi thuộc tính không khóa của Q đều không phụ thuộc bắc cầu vào một khóa nào của Q

 Một lược đồ CSDL được gọi là ở dạng chuẩn 3 nếu

nếu

15

mọi lược đồ quan hệ con Qi của nó đều ở dạng chuẩn 3

4. DẠNG CHUẨN 3

Ví dụ: Quan hệ GIẢNG_DẠY(MãLớp, MãsốGV, TênGV,

Địachỉ )

Với tập Pth F = { Mãlớp  MãsốGV; MãSốGV 

TênGV, Địachỉ }

 Không đạt dạng chuẩn 3

Khắc phục: Tách thành 2 quan hệ:

GIẢNG_DẠY(MãLớp, MãsốGV)

Với tập Pth F1 = { Mãlớp  MãsốGV}

GIÁO_VIÊN(MãsốGV, TênGV, Địachỉ )

Với tập Pth F2 = {MãSốGV  TênGV, Địachỉ }

16

4. DẠNG CHUẨN 3

Chính phụ thuộc hàm bắc cầu là nguyên nhân dẫn đến

Nhận xét

Dạng chuẩn 3 là tiêu chuẩn tối thiểu trong thiết kế cơ

tình trạng trùng lắp thông tin

17

sở dữ liệu

5. DẠNG CHUẨN BOYCE-CODD

Một lược đồ quan hệ Q được gọi là ở dạng chuẩn

Định nghĩa:

Một lược đồ CSDL được gọi là ở dạng chuẩn BC nếu mọi lược đồ quan hệ con Qi của nó đều ở dạng chuẩn BC

18

Boyce-Codd (BC) nếu mọi phụ thuộc hàm không hiển nhiên của F đều có vế trái là khóa

5. DẠNG CHUẨN BOYCE-CODD

Nếu 1 lược đồ quan hệ Q ở dạng chuẩn BC thì cũng ở

Nhận xét:

Trong 1 lược đồ quan hệ Q ở dạng chuẩn BC, việc

dạng chuẩn 3

19

kiểm tra phụ thuộc hàm chủ yếu là kiểm tra khóa nội

Ví dụ PCGD(Malop, Mamon, MAGV) F={Malop, Mamon->MAGV; MAGV->Mamon}

20

Phân rã PCGD(Malop, MAGV) GV(MAGV, Mamon)

5. DẠNG CHUẨN BOYCE-CODD

Ví dụ:

ĐẶT_HÀNG ( SốĐH, NgàyĐH, MãKH )

Với F1 = { SốĐH NgàyĐH, MãKH }

CHITIẾT_ĐH (SốĐH, MãHH, SốLượng )

Với F2 = { SốĐH, MãHH SốLượng }

21

=> 2 quan hệ đều đạt dạng chuẩn Boyce-Codd.

6. CHUẨN HÓA LƯỢC ĐỒ CSDL BẰNG PHƯƠNG PHÁP PHÂN RÃ Quá trình chuẩn hóa 1 lược đồ CSDL nhằm mục đích nâng cao chất lượng thiết kế hay cụ thể hơn là đưa các lược đồ quan hệ con từ dạng chuẩn thấp lên dạng chuẩn cao hơn mà tối thiểu phải là dạng chuẩn 3.

Phương pháp phân rã là 1 phương pháp dùng để

22

chuẩn hóa 1 lược đồ CSDL

6. CHUẨN HÓA LƯỢC ĐỒ CSDL BẰNG PHƯƠNG PHÁP PHÂN RÃ Sự bảo toàn thông tin

 Việc chuẩn hóa 1 lược đồ quan hệ hay 1 lược đồ CSDL

 Phép phân rã Q thành Q1, Q2, … được gọi là bảo toàn

phải bảo đảm 1 yêu cầu: bảo toàn thông tin

thông tin nếu:

23

TQ: TQ = TQ [Q1] ►◄ TQ [Q2] … ►◄ …

6. CHUẨN HÓA LƯỢC ĐỒ CSDL BẰNG PHƯƠNG PHÁP PHÂN RÃ Định lý Delobel

24

Cho lược đồ quan hệ Q(XYZ) và tập phụ thuộc hàm F Nếu X  Y  F+ thì phép phân rã Q thành 2 lược đồ quan hệ con: Q1(XY) và Q2(XZ) là bảo toàn thông tin

6. CHUẨN HÓA LƯỢC ĐỒ CSDL BẰNG PHƯƠNG PHÁP PHÂN RÃ Phương pháp phân rã:

Begin F+ = F \ { f  F+ / VT(f)  VP(f)  Q+ } IF (F+  ) Then

25

Begin B1.Chọn 1 f0: X  Y  F+ B2.Tạo các lược đồ quan hệ con Q1 và Q2:

6. CHUẨN HÓA LƯỢC ĐỒ CSDL BẰNG PHƯƠNG PHÁP PHÂN RÃ

+ }

+ }

Q1 = X  Y F1 ={ f  F+ / VT(f)  VP(f)  Q1 Q2 = Q+ \ Y F2 = { f  F+ / VT(f)  VP(f)  Q2 B3.Phân rã đệ quy Q1 và Q2 End;

26

End;

6. CHUẨN HÓA LƯỢC ĐỒ CSDL BẰNG PHƯƠNG PHÁP PHÂN RÃ Ví dụ:

 Khóa của Q là {BDA}, {BDC}

 BD  G : không đạt dạng chuẩn 2

Cho lược đồ quan hệ Q(ABCDEG) và tập pth F = { AE  C (f1), CG  A (f2), BD  G (f3), GA  E (f4) }

27

=> Sử dụng phương pháp phân rã

6. CHUẨN HÓA LƯỢC ĐỒ CSDL BẰNG PHƯƠNG PHÁP PHÂN RÃ Ví dụ:

Q(ABCDEG)

f3

Q1(BDG) F1={BD  G}

Q2(BDACE) F2 = {AE  C}

Q22(BDAE)

Q21(AEC) F21={AE  C}

F22={BDA  E}

28

6. CHUẨN HÓA LƯỢC ĐỒ CSDL BẰNG PHƯƠNG PHÁP PHÂN RÃ Nhận xét:

 Thuật toán phân rã như trên là bảo toàn thông tin (định

 Các lược đồ quan hệ con cuối cùng (nút lá trong cây

lý Delobel)

 Thuật toán phân rã có thể tạo ra những lược đồ quan hệ

phân rã) đều ít nhất là dạng chuẩn 3

29

con không có nhiều ngữ nghĩa trong thực tế

6. CHUẨN HÓA LƯỢC ĐỒ CSDL BẰNG PHƯƠNG PHÁP PHÂN RÃ Nhận xét:

 Chất lượng của CSDL kết quả có phụ thuộc vào việc

 Thông thường pth được chọn là pth gây ra chất lượng xấu của lược đồ quan hệ. (pth không đầy đủ, pth bắc cầu)

30

chọn pth f0 ở từng bước phân rã