Download as pdf or txt
Download as pdf or txt
You are on page 1of 25

Add your company slogan

Tổng kết – Các dạng chuẩn

▪ 4 dạng chuẩn: 1NF, 2NF, 3NF, BCNF


▪ 1NF (Mặc đinh công nhận): Miền giá trị của các TT là
đơn nhất.
▪ 2NF
▪ Thuộc chuẩn 1NF
▪ Các TT không khóa pth toàn bộ/đầy đủ vào khóa.
(Lưu ý: Nếu tập Khóa của qh R chỉ có 1 TT → qh R thuộc 2NF)
▪ 3NF
▪ Thuộc chuẩn 2NF
▪ Mọi TT không khóa thì không pth bắc cầu vào khóa
(Lưu ý: Nếu tồn tại pth giữa các TT không khóa với nhau → quan
hệ sẽ không thuộc chuẩn 3NF)

LOGO
1
Add your company slogan
Tổng kết – Các dạng chuẩn

▪ 4 dạng chuẩn: 1NF, 2NF, 3NF, BCNF


▪ BCNF
▪ Thuộc chuẩn 3NF.
▪ Không tồn tại pth giữa thuộc tính Khóa pth vào TT
không khóa
(Hoặc: Mọi pth X→A thuộc F+, A không phải tập con của X thì tập X
phải chứa khóa của quan hệ ~ khóa tối thiểu)

LOGO
2
Add your company slogan
Chuẩn hóa quan hệ về các dạng chuẩn

Chuẩn hóa về dạng 1NF:


Tách thành 2 quan hệ:
QH1(bảng 1): Gồm thuộc tính lặp (đa trị) và khóa
của quan hệ (bảng) ban đầu
QH2( bảng 2): Gồm các thuộc tính còn lại và khóa
của quan hệ ban đầu

LOGO
3
Add your company slogan
Ví dụ

▪ Xét quan hệ:


BỆNH NHÂN (Mã BN, Tên BN, Ngày Khám, BS
Khám, Triệu Chứng), Khóa ={Mã BN}
• Nhận định: 1 bệnh nhận có 1 Tên BN, nhưng 1
BN có thể khám vào nhiều ngày, và do nhiều bác
sỹ khám, có nhiều chứng.
• Kết luận: các thuộc tính , Ngày Khám, BS
Khám, Triệu Chứng là các thuộc tính đa trị.
=> Quan hệ BỆNH NHÂN chưa thuộc dạng chuẩn
1NF
LOGO
4
Add your company slogan
Ví dụ

▪ BỆNH NHÂN (Mã BN, Tên BN, Ngày Khám, BS


Khám, Triệu Chứng), Khóa ={Mã BN}
▪ Tách Quan hệ về dạng chuẩn 1NF:
▪ LỊCH SỬ KHÁM BỆNH(Mã KB, Mã BN,Ngày Khám,
BS Khám, Triệu Chứng) thuộc chuẩn 1NF
▪ BỆNH NHÂN (Mã BN, Tên BN) thỏa mãn thuộc chuẩn
1NF

LOGO
5
Add your company slogan
Chuẩn hóa quan hệ

Chuẩn hóa về dạng 2NF:


Tách thành 2 quan hệ:
QH1(bảng 1): Gồm các thuộc tính phụ thuộc hàm
bộ phận vào khóa và phần khóa mà nó phụ
thuộc.
QH2(bảng 2): Gồm các thuộc tính còn lại và khóa
của quan hệ ban đầu.

LOGO
6
Add your company slogan
Ví dụ

Cho quan hệ R (A, B, C, D, E); F= {AB→D, B→E, D →C}

Chuẩn hóa quan hệ về dạng chuẩn 2NF?

Chứng minh:

B1: Xét quan hệ đã đạt chuẩn 2NF chưa?

- Qhệ R thuộc chuẩn 1NF (Mặc định công nhận)

- Tìm tất cả khóa (khóa tối thiểu) → Khóa của qh, các TT không khóa.

- Xét các pth thuộc F có TM chuẩn 2NF không?

B2: chuẩn hóa quan hệ về dạng chuẩn 2NF

R1 (TT vi phạm & phần khóa mà nó pth)

R2 (TT còn lại & Khóa) LOGO


7
Image uploaded by Vũ Tiến Đạt

8
Image uploaded by quỳnh

9
Image uploaded by Nguyễn Thu Trang

10
Image uploaded by Nguyễn Vũ aN

11
Image uploaded by N.Tiến Huy Hoàng

12
Add your company slogan
Lưu ý

▪ Cho quan hệ R (A, B, C, D, E); F= {AB→D,


B→E, D →C} ;
▪ Rút ra các kết luận:
▪ Quan hệ không thuộc chuẩn 2NF (do pth B→E vi
phạm)
▪ Tách quan hệ R thành 2 quan hệ
• R1(BE), F1={B→E}; Vậy, {B} là khóa của quan hệ
R1 => R1 thuộc chuẩn 2NF.
• R2(ABCD); F2={AB→D, D →C} thuộc chuẩn 2NF!!!
▪ Giả sử F bao gồm {C→DE} => phép tách không
bảo toàn phụ thuộc hàm
LOGO
13
Add your company slogan
Ví dụ
Ví dụ 2: Cho quan hệ R (A, B, C, D, E);

F= {AB→D, B→E, D →C}

Có thuộc dạng chuẩn 2NF không?

Hướng dẫn:

▪ Quan hệ đã thuộc chuẩn 1NF (Mặc định)

▪ Quan hệ có các TT pth đầy đủ vào khóa


▪ Khóa của quan hệ:

▪ TN={A,B}; TG={D}

LOGO
14
Add your company slogan
Hướng dẫn – ví dụ 2

▪ Tìm khóa: R (A, B, C, D, E);


F= {AB→D, B→E, D →C}
▪ TN={A,B}; TG={D};
Xi Siêu khóa Khóa TT
{AB} {ABDEC}=U {AB} {AB}
D {ABD} {ABDEC}=U {ABD}

▪ Kết luận: Quan hệ có 1 khóa là {AB}.

LOGO
15
Add your company slogan
Hướng dẫn – ví dụ 2

▪ Tìm khóa: R (A, B, C, D, E); khóa là {AB}.


F= {AB→D, B→E, D →C}
▪ Xét các thuộc tính có pth đầy đủ vào khóa
ko?(Xét từng pth thuộc F)
▪ Pth AB→D: D là TT không khóa, AB là TT khóa. D thì
pth đầy đủ (toàn bộ) vào khóa AB (thỏa mãn)
▪ Pth B→E: E là TT không khóa, B là 1 phần của khóa
AB, vậy E là TT không khóa pth vào 1 phần của khóa
(không thỏa mãn)
Kết luận: Quan hệ R không thuộc chuẩn 2NF (Vì tồn tại
pth vào 1 phần của khóa)
LOGO
16
Add your company slogan
Hướng dẫn – ví dụ 2

▪ R (A, B, C, D, E); khóa là {AB}.


F= {AB→D, B→E, D →C}
▪ Tách R thành 2 quan hệ
▪ R2(A,B,C,D), F2={AB→D, D →C}, Khóa K2={AB}.
Quan hệ R2 thuộc chuẩn 2NF
▪ R1 (B,E), F1={B→E}, Khóa K1={B}, Quan hệ R1
thuộc chuẩn 2NF.
▪ Bổ sung khóa của quan hệ ban đầu K={AB} vào
R1, khi này R1 (B,E,A,B), khi đó {AB} trở thành
khóa ngoại/ khóa liên kêt.
LOGO
17
Add your company slogan
Chuẩn hóa quan hệ

Chuẩn hóa về dạng 3NF:


Tách thành 2 quan hệ:
QH1(bảng 1): Gồm các thuộc tính phụ thuộc bắc
cầu vào khóa và thuộc tính làm cầu.
QH2(bảng 2): Gồm các thuộc tính còn lại và khóa
của quan hệ ban đầu

LOGO
18
Add your company slogan
Ví dụ
Ví dụ 1: Cho quan hệ R (A, B, C, D, E)

F= {AB →CD, C→E}

Quan hệ R có thuộc chuẩn 3NF ko? Nếu chưa thuộc 3NF, chuẩn hóa
quan hệ về dạng chuẩn 3NF
▪ Tìm khóa của quan hệ? Khóa là {AB}
▪ Xét từng pth trong F:
▪ Pth AB →CD: CD đang pth trực tiếp vào khóa AB (TM)
▪ Pth C→E: C, E là các thuộc tính không khóa
Mà Khóa của quan hệ là AB, theo tính chất của khóa thì mọi TT đều pth vào khóa
(vì (Khóa)+=U).
Khóa {AB} →C (1)
Mà ta có: C→E (gt) (2)
Từ (1) và (2), suy ra E pth bắc cầu vào khóa AB thông qua cầu C (Vi phạm chuẩn
3NF)
Kết luận: Quan hệ chưa thuộc chuẩn 3NF LOGO
19
Add your company slogan
Ví dụ
Ví dụ 1: Cho quan hệ R (A, B, C, D, E)

F= {AB →CD, C→E}

Quan hệ R có thuộc chuẩn 3NF ko? Nếu chưa thuộc 3NF, chuẩn hóa quan
hệ về dạng chuẩn 3NF

Chuẩn hóa quan hệ về dạng chuẩn 3NF:

Tách quan hệ R thành 2 quan hệ:

R1 (EC); F1={C→E}; => {C} là khóa của R1. R1 thỏa mãn chuẩn 2NF và 3NF
=> R thuộc chuẩn 3NF.

R2 (ABCD); F2 = {AB →CD} thuộc chuẩn 3NF.

LOGO
20
Add your company slogan
Áp dụng

Cho Ldqh quan hệ R=(U,F); U={ABCDEH};


F={A→E, C → D, E→ DH};
Chuẩn hóa quan hệ về dạng chuẩn 3NF?
Cách làm:
B1: xét quan hệ có thuộc chuẩn 2NF?
+) Nếu đạt chuẩn 2NF → chuyển B2
+) Nếu chưa đạt 2NF→ chuẩn hóa về 2NF →chuyển B2
B2: xét quan hệ có thuộc chuẩn 3NF?
B3: (Nếu chưa thuộc chuẩn 3NF) → chuẩn hóa 3NF bằng pp
tách.

LOGO
21
Image uploaded by Pham Le Thanh Dat

22
Add your company slogan
Áp dụng (tiếp)

▪ R1(AE); F1={A→E}; K1={A} thuộc chuẩn 3NF?


▪ R2(CD); F2={C→D}; K2={C} thuộc chuẩn 3NF?
▪ R3(ABCH);F3={rỗng}; K3={ABC} thuộc 2NF,3NF
▪ Giải thích:
▪ R1 thuộc 3NF???
• Khóa K1 có 1 thuộc tình => R1 thuộc chuẩn 2NF
• TT không khóa E đang pth trực tiếp vào khóa A => R2 thuộc
chuẩn 3NF
Kết luận: Quan hệ R tách thành 3 quan hệ
R1(AE); R2(CD); R3(ABCH) thuộc 3NF

LOGO
23
Add your company slogan
Áp dụng

Cho quan hệ R (ABCDE); F={AB→C; B→E; D→C}


Hãy chuẩn hóa quan hệ về dạng chuẩn 3NF?

LOGO
24
Image uploaded by Vũ Tiến Đạt

25

You might also like