You are on page 1of 40

Database Course

LÝ THUYẾT CƠ SỞ DỮ LIỆU
Chuẩn hóa dữ liệu (Data normalization)

Database course
Department of Information Technology (DIT)
Chapter 5: Logical Database Design and The Relational Model
HCM city Polytechnics University Slide 1
Author: Tran Minh Quang
Chuẩn hóa dữ liệu
 Mục tiêu: tránh sự dị thường (anomaly)
trong các thao tác cập nhật dữ liệu
Insert anomalies
Deletion anomalies
Modification anomalies
 Luật cơ bản: Mỗi bảng không nên thuộc về
nhiều hơn 1 kiểu thực thể (hay kiểu quan
hệ)
Database course
Department of Information Technology (DIT)
Chapter 5: Logical Database Design and The Relational Model
HCM city Polytechnics University Slide 2
Author: Tran Minh Quang
Sự dị thường trong các phép cập nhật
Cho lược đồ quan hệ:
Sv_mhoc(Ma_sv, ten, ngay_sinh, ten_mh, ngay_kt, diem)
Ma_sv Ten Ngay_sin ten_m Ngay_kt D
Sv01 An h
01/01/19 h
C 20/07/200 iem
7
Sv01 An 78
01/01/19 0
C++ 25/07/200 8
Sv01 An 78
01/01/19 0
Java 30/07/200 5
Sv02 Bình 78
15/04/19 0
Lisp 20/07/200 6
78 0
 Insert: Quan tâm đến nhiều thông tin lặp lại
 Delete: Xóa Sv02 -> mất thông tin về môn học Lisp
 Modify: Sửa tên của Sv01 thì phải sửa ở cả 3 records
Database course
Department of Information Technology (DIT)
Chapter 5: Logical Database Design and The Relational Model
HCM city Polytechnics University Slide 3
Author: Tran Minh Quang
Sự dị thường trong các phép cập nhật
Tách quan hệ trên thành 2 quan hệ:
SV Hoc

Ma_Sv Ten Ngay_sin Ma_Sv ten_mh Ngay_kt Diem


Sv01 h
An 01/01/19 Sv01 C 20/07/2000 7
78
Sv02 Bình 15/04/19 Sv01 C++ 25/07/2000 8
78 Sv01 Java 30/07/2000 5
Sv02 Lisp 20/07/2000 6

 Đánh giá sự dị thường trong cập nhật


(Insert/Delete/Modify) dữ liệu?
Database course
Department of Information Technology (DIT)
Chapter 5: Logical Database Design and The Relational Model
HCM city Polytechnics University Slide 4
Author: Tran Minh Quang
Phụ thuộc hàm (Functional dependency - FD)

 Cho lược đồ quan hệ R(A1, A2, .., An) và hai tập X, Y


khác rỗng là tập con của tập thuộc tính của R
 Định nghĩa:
FD X->Y (đọc là X xác định hàm Y) là đúng trong R nếu
với mọi thể hiện r của R không có hai hàng có cùng giá
trị trên X nhưng lại khác giá trị trên Y
 FD X->Y là đúng trong R khi với mọi thể hiện r của R
và bất kỳ 2 bộ t1, t2 nào đó mà t1[X] = t2[X] thì t1[Y] =
t2[Y] (ti[X] là giá trị của X trong ti)

Database course
Department of Information Technology (DIT)
Chapter 5: Logical Database Design and The Relational Model
HCM city Polytechnics University Slide 5
Author: Tran Minh Quang
Phụ thuộc hàm (Functional dependency - FD)
 Lưu ý:
 Khóa trong quan hệ xác định hàm mọi thuộc tính
khác
 Nếu có X->Y chưa hẳn là Y->X

 Ví dụ: Employee(Ssn, Name, Dob, Age,


mgrSsn)
 Ssn -> {Name, Dob, Age, mgrSsn}
 Ssn -> name; name ->Ssn
 Dob -> Age Database course
Department of Information Technology (DIT)
Chapter 5: Logical Database Design and The Relational Model
HCM city Polytechnics University Slide 6
Author: Tran Minh Quang
Dẫn xuất từ các phụ thuộc hàm
 Nhận xét:
 Name -> name, age -> age
 If (Ssn -> name) then (Ssn, age -> name)
 If (Ssn -> name) and (Ssn -> age) and (Ssn -> mgrSsn)
Then (Ssn -> name, age, mgrSsn)
 If (Ssn -> Dob) and (Dob -> age) then (Ssn -> age)
 Cho R(U,F), pth X -> Y được gọi là một suy dẫn logic từ
F, nếu với mọi thể hiện r của R thoả F, thì r cũng phải
thoả X -> Y.
 Bao đóng của tập phụ thuộc hàm F (ký hiệu F+) là tất
cả các phụ thuộc hàm được suy dẫn logic từ F.
Database course
Department of Information Technology (DIT)
Chapter 5: Logical Database Design and The Relational Model
HCM city Polytechnics University Slide 7
Author: Tran Minh Quang
Dẫn xuất từ các phụ thuộc hàm
 Tiên đề Armstrong
 If Y ⊆X then X->Y (reflexivity)
 If X->Y then XZ->YZ (Augmentation)
 If X->Y and Y->Z then X->Z (Transitivity)

 Các qui tắc bổ sung


 If X->Y and X->Z then X->YZ (Union)
 If X->Y and WY->Z then WX->Z (Pseudotransitivity)
 If X->Y and Z Y then X->Z (Decomposition)

Database course
Department of Information Technology (DIT)
Chapter 5: Logical Database Design and The Relational Model
HCM city Polytechnics University Slide 8
Author: Tran Minh Quang
Khóa của lược đồ quan hệ
 Siêu khóa (seuperkey)
 Là một hay một tập thuộc tính xác định duy nhất một
hàng trong bảng
 SK là siêu khóa của R khi với mọi t1, t2 thuộc bất kỳ thể
hiện r của R ta luôn có t1[SK] ≠ t2[SK]
 SK là siêu khóa của R <=> SK xác định hàm mọi thuộc
tính của R (SK -> R)
 Siêu khóa tối tiểu (minimal superkey)
 Siêu khóa tối tiểu K là một siêu khóa kèm thêm tính chất
là nếu loại bỏ khỏi K bất kỳ một thuộc tính nào đó thì K
không còn là siêu khóa nữa
Database course
Department of Information Technology (DIT)
Chapter 5: Logical Database Design and The Relational Model
HCM city Polytechnics University Slide 9
Author: Tran Minh Quang
Khóa của lược đồ quan hệ (2)
 Định nghĩa khóa dựa trên tập phụ thuộc hàm
Cho R(U,F), U là tập thuộc tính, F là tập phụ thuộc hàm
trong R
Với X ⊂ U, X là một khóa của R nếu:
 X->U∈F+ , và
¬∃Y ⊂ X, Y ≠ X, mà Y->U∈F+
 R phải có ít nhất 1 khóa và có thể có nhiều khóa
 Chú ý:
Cho R(U), ta luôn có U->U. Nếu U thỏa điều kiện 2 ở
trên thì U là khóa
Database course
Department of Information Technology (DIT)
Chapter 5: Logical Database Design and The Relational Model
HCM city Polytechnics University Slide 10
Author: Tran Minh Quang
Khóa của lược đồ quan hệ (3)
 Khóa chính (primary key): Là một siêu khóa tối
tiểu được người phân tích chọn để cài đặt
 Khóa dự tuyển (candidate key): Là các siêu khóa
tối tiểu khác không được chọn làm khóa chính
 Khi cài đặt vào CSDL, khoá dự tuyển trở thành
khóa duy nhất (unique key) và còn được gọi là
khóa thứ cấp (secondary key)

Database course
Department of Information Technology (DIT)
Chapter 5: Logical Database Design and The Relational Model
HCM city Polytechnics University Slide 11
Author: Tran Minh Quang
Khóa của lược đồ quan hệ (4)
 Khóa giúp cho việc nhận biết và tìm record một
cách nhanh chóng trong các quan hệ
 Ràng buộc đối với khóa chính: NOT NULL và
UNIQUE
 Ràng buộc đối với khóa dự tuyển: UNIQUE

Database course
Department of Information Technology (DIT)
Chapter 5: Logical Database Design and The Relational Model
HCM city Polytechnics University Slide 12
Author: Tran Minh Quang
Bao đóng của tập thuộc tính
 Bao đóng của tập thuộc tính X tương ứng tập phụ thuộc
hàm F (ký hiệu là XF+) là tất cả các thuộc tính A sao cho
X->A có thể được suy dẫn logic từ F X->A∈ F+ <=>A ∈XF+
 Thuật toán tìm XF+
Input: R(U, F), X ⊂ U
Output: XF+
Phương pháp:
 X0 = X;
∈ ⊂
Lặp: Xi+1 = Xi Z sao cho ∃(Y->Z) F và Y Xi cho đến khi Xi+1 = Xi
Ta có XF+ = Xi
Database course
Department of Information Technology (DIT)
Chapter 5: Logical Database Design and The Relational Model
HCM city Polytechnics University Slide 13
Author: Tran Minh Quang
Thuật toán tìm khoá
Cho R(U,F), các ký hiệu trong thuật toán tìm khoá:
 U
right(ULeft): Các thuộc tính ở vế phải của tất cả các PTH

 N = U – Uright: Các thuộc tính cô lập (không xuất hiện


trong bất kỳ FD nào) và các thuộc tính chỉ xuất hiện ở vế
trái của các FD

=> N khoá
 D = Uright – Uleft: Các thuộc tính chỉ xuất hiện ở vế phải
của các

FD
=> D khoá

 L = U – (N D): là các thuộc tính có thể thuộc hoặc
không thuộc khoá Database course
Department of Information Technology (DIT)
Chapter 5: Logical Database Design and The Relational Model
HCM city Polytechnics University Slide 14
Author: Tran Minh Quang
Thuật toán tìm khoá (2)
 Thuật toán tìm tất cả các khoá của một lược đồ quan hệ
dựa trên tập PTH
Input: R(U, F)
Output: Các khoá của R
Phương pháp:
 N = U – Uright. Nếu NF+ = U, thì N là khoá duy nhất của R. Giải
thuật dừng
Tìm D = Uright – Uleft, L = U – (N ∪D):
 Với mọi Li ⊂ L: Thử với từng Li, các Li có ít phần tử làm trước
X = N ∪ Li, Nếu XF+ = U thì X là một khoá của R
∪ ⊂ ⊂
Lưu ý: Nếu X = N Li là khoá thì không thử với các Lj L mà Li Lj

Database course
Department of Information Technology (DIT)
Chapter 5: Logical Database Design and The Relational Model
HCM city Polytechnics University Slide 15
Author: Tran Minh Quang
Phân rã các lược đồ quan hệ
Phân rã (decomposition) một lược đồ quan hệ R(U) là thay R bằng
tập các lược đồ quan hệ con R1, R2, .., Rk của R sao cho
U1∪ U2 ∪… ∪Uk = U, với Ui là tập thuộc tính của Ri, trong đó giao của
các Ui không nhất thiết phải rỗng

• Khi muốn khôi phục lại r (thể hiện của R) ta thực hiện phép kết
của các ri ( thể hiện của Ri tương ứng)
• Hỏi:
• Dữ liệu lưu tại các ri có phản ánh trung thực r hay không?
• Khi cần có thể khôi phục lại được r từ các ri hay không?
Database course
Department of Information Technology (DIT)
Chapter 5: Logical Database Design and The Relational Model
HCM city Polytechnics University Slide 16
Author: Tran Minh Quang
Phân rã bảo toàn nội dung
Cho R(U,F). Nếu R được phân rã bởi phép phân rã ρ thành các Ri,
sao cho với mọi thể hiện r(R) thoả tập phụ thuộc hàm F, ta có được
r = s (với s có được bằng cách kết các ri), lúc đó ρ được gọi là một
phân rã bảo toàn nội dung.

• Khi phân rã bảo toàn nội dung, r ban đầu luôn được tái tạo một
các trung thực bằng cách kết nối các ri
• Kết trong trường hợp này gọi là kết không mất thông tin (lossless
join)

Database course
Department of Information Technology (DIT)
Chapter 5: Logical Database Design and The Relational Model
HCM city Polytechnics University Slide 17
Author: Tran Minh Quang
Phân rã bảo toàn nội dung (2)
Định lý:
Cho R(U,F). Phân rã R thành R1, R2 là bảo toàn nội dung (btnd)
tương ứng với F nếu và chỉ nếu
R ∩ R -> R - R hay R ∩ R -> R - R
1 2 1 2 1 2 2 1

Ví dụ: R(ABC), F = {A -> B}


• Nếu R được phân rã thành R1(AB) và R2(AC) thì btnd
• Nếu R được phân rã thành R1(AB) và R2(BC) thì không btnd
=> Một phép phân rã có btnd hay không là còn tùy thuộc vào tập
pth

Database course
Department of Information Technology (DIT)
Chapter 5: Logical Database Design and The Relational Model
HCM city Polytechnics University Slide 18
Author: Tran Minh Quang
Phân rã bảo toàn phụ thuộc hàm
• Chiếu của một tập pth F trên tập thuộc tính Z, ký hiệu ¶Z(F), là
tập các phụ thuộc hàm X -> Y trong F+ sao cho XY⊂ Z
• Khi phân rã R(U, F) thành các Ri(Ui, Fi) thì:

Ui = U và Fi = ¶Ui (F)
• Phép phân rã ρ là bảo toàn pth nếu:

Fi suy dẫn được tất cả các pth trong F

Database course
Department of Information Technology (DIT)
Chapter 5: Logical Database Design and The Relational Model
HCM city Polytechnics University Slide 19
Author: Tran Minh Quang
Phân rã bảo toàn phụ thuộc hàm (2)
• Các pth trong F là các ràng buộc toàn vẹn trên R
• Khi phân rã btnd nhưng không bảo toàn pth thì dữ liệu có thể
được phục hồi giống như ban đầu nhưng không đảm bảo ràng
buộc toàn vẹn dữ liệu
• Những pth không được bảo toàn trong phép phân rã cần được
kiểm tra, thông qua việc kết nối một số ri, trong quá trình cập nhật
dữ liệu
• Trường hợp lý tưởng là phân rã vừa btnd vừa bảo toàn pth
• Chỉ những phép phân rã bảo toàn nội dung mới được cài đặt

Database course
Department of Information Technology (DIT)
Chapter 5: Logical Database Design and The Relational Model
HCM city Polytechnics University Slide 20
Author: Tran Minh Quang
Chuẩn hoá dữ liệu và các dạng chuẩn
Định nghĩa:
 Dạng chuẩn (normal form): Là trạng thái của
một quan hệ có được do áp dụng những quy
tắc liên quan đến pth của quan hệ đó.

 Chuẩn hoá dữ liệu (data normalization) là quá


trình phân rã lược đồ quan hệ chưa chuẩn hoá
(có dạng chuẩn thấp) thành các lược đồ quan
hệ nhỏ hơn nhưng ở dạng chuẩn cao hơn (có
cấu trúc tốt hơn)
Database course
Department of Information Technology (DIT)
Chapter 5: Logical Database Design and The Relational Model
HCM city Polytechnics University Slide 21
Author: Tran Minh Quang
Các bước chuẩn hoá
 Các bước chuẩn hoá dữ liệu
CSDL chöa chuaån hoùa Boyce Codd Normal Form
oàn taïi thuoäc tính ña trò BCNF
Loaïi boû thuoäc tính Loaïi boû
ña trò nhöõng PTH ña
CSDL ôû daïng chuaån 1 Loaïi boû trò
1NF nhöõng dö 4NF
thöøa cuûa
Loaïi boû PTH
PTH
khoâng ñaày ñuû Loaïi boû nhöõng
2NF dö thöøa phi
chuaån coøn laïi
Loaïi boû PTH baét
5NF
caàu
3NF
Database course
Department of Information Technology (DIT)
Chapter 5: Logical Database Design and The Relational Model
HCM city Polytechnics University Slide 22
Author: Tran Minh Quang
Thuộc tính nguyên tố
 Thuộc tính nguyên tố (prime attribute)
 Còn gọi là thuộc tính khoá (key attribute)
 Là thành phần của ít nhất 1 khóa dự tuyển trong R

 Thuộc tính không nguyên tố (nonprime


attribute)
 Là thuộc tính không phải là thuộc tính nguyên tố
 Còn gọi là thuộc tính không khoá (nonkey attribute)

Database course
Department of Information Technology (DIT)
Chapter 5: Logical Database Design and The Relational Model
HCM city Polytechnics University Slide 23
Author: Tran Minh Quang
Dạng chuẩn 1 (First normal form – 1NF)
Lược đồ quan hệ đạt 1NF nếu mọi hàng trong quan hệ
tương ứng có cùng số thuộc tính và các thuộc tính này chỉ
chứa các trị nguyên tố
 VD: Lược đồ quan hệ sau không đạt 1NF
Family Name Children Cars
John {Mike, Smith} {PP001}
Paul {PP002,
PP003}

=> Làm thế nào để Family đạt 1NF?


Database course
Department of Information Technology (DIT)
Chapter 5: Logical Database Design and The Relational Model
HCM city Polytechnics University Slide 24
Author: Tran Minh Quang
PTH đầy đủ & PTH riêng phần
 PTH đầy đủ (full FD)
X -> Y là pth đầy đủ của Y vào X nếu không có tập
con Z nào của X mà Z -> Y đúng trong R

 Phụ thuộc hàm riêng phần (partial FD)


 Là phụ thuộc hàm không đầy đủ
 Y là pth riêng phần vào X (trong pth X->Y) nếu có
tập con của X mà Z->Y đúng trong R.

Database course
Department of Information Technology (DIT)
Chapter 5: Logical Database Design and The Relational Model
HCM city Polytechnics University Slide 25
Author: Tran Minh Quang
Dạng chuẩn 2 (Second normal form – 2NF)
Lược đồ quan hệ R đạt 2NF nếu:
 R đạt 1NF
 Mọi thuộc tính không nguyên tố A trong R phụ thuộc hàm đầy đủ
vào R
Định nghĩa khác:
Lược đồ quan hệ R đạt 2NF nếu với mọi FD X->Y đúng trong
R thì:
1) A ⊂ X hoặc
2) A là thuộc tính nguyên tố trong R hoặc
3) X không là tập con của một khoá nào hoặc
4) X là siêu khoá trong R
Database course
Department of Information Technology (DIT)
Chapter 5: Logical Database Design and The Relational Model
HCM city Polytechnics University Slide 26
Author: Tran Minh Quang
Dạng chuẩn 2 (2)
 VD: Lược đồ quan hệ sau không đạt 2NF
Inventory Part Warehouse Quantity WHouse-
address
Bolt King Bros. 20 Long St. 20
But King Bros. 30 Long St. 20
Screw Lucid Ltd. Null Compton Pl.10

FD: warehouse -> WHouse-address (vi phạm!!!)


{part, warehouse} -> quantity

Database course
Department of Information Technology (DIT)
Chapter 5: Logical Database Design and The Relational Model
HCM city Polytechnics University Slide 27
Author: Tran Minh Quang
Dạng chuẩn 2 (3)
 Lược đồ Inventory nên được phân rã thành các lược
đồ sau:
 P(part, warehouse, quantity)
F = {part, warehouse -> quantity}

 W(warehouse, WHouse-address)
F = {warehouse -> WHouse-address}

Database course
Department of Information Technology (DIT)
Chapter 5: Logical Database Design and The Relational Model
HCM city Polytechnics University Slide 28
Author: Tran Minh Quang
Phụ thuộc hàm bắc cầu (transitive FD)
Phụ thuộc hàm X->A đúng trong R là bắc cầu nếu tồn tại tập con
khác rỗng của R, Z không phải là tập con của một khoá nào trong R,
và các pth X->Z và Z->A là đúng trong R
Đọc là: “A phụ thuộc bắc cầu vào X trong R” hay “X->A là
pth bắc cầu”
Định nghĩa khác:
Nếu X->Z
Z ->X Thì X->A là pth bắc cầu
Z->A
A ⊂ (X ∪ Z)

Database course
Department of Information Technology (DIT)
Chapter 5: Logical Database Design and The Relational Model
HCM city Polytechnics University Slide 29
Author: Tran Minh Quang
Dạng chuẩn 3 (Third normal form – 3NF)
Lược đồ quan hệ R đạt 3NF nếu:
 R đạt 2NF
 Không có thuộc tính không nguyên tố nào của R phụ thuộc hàm
bắc cầu vào khoá của R

Định nghĩa khác:


Lược đồ quan hệ R đạt 3NF nếu với mọi FD X->A đúng trong
R thì:
1) A ⊂ X hoặc
2) A là thuộc tính nguyên tố trong R hoặc
3) X là siêu khoá trong R
Database course
Department of Information Technology (DIT)
Chapter 5: Logical Database Design and The Relational Model
HCM city Polytechnics University Slide 30
Author: Tran Minh Quang
Dạng chuẩn 3 (2)
Ví dụ: SUPPLIER(Id, sname, cname, city)
F = {Id->sname, 2NF
Id->cname, cname->city, Id->city}
⇒ SUPPLIER nên được phân rã thành các lược đồ sau
 S(Id, sname, cname) 3NF
F ={Id -> sname, cname}
 C(cname, city) 3NF
F = {cname -> city}

Database course
Department of Information Technology (DIT)
Chapter 5: Logical Database Design and The Relational Model
HCM city Polytechnics University Slide 31
Author: Tran Minh Quang
Dạng chuẩn 3 (3)
Ví dụ: LOACATION(city, street, zip-code)
F = {city, street -> zip-code, zip-code -> city}
Khoá 1: city, street
Khoá 2: street, zip-code
Lược đồ Location dạt 3NF vì thuộc tính city ở vế phải
của FD zip-code -> city là thuộc tính nguyên tố.

Database course
Department of Information Technology (DIT)
Chapter 5: Logical Database Design and The Relational Model
HCM city Polytechnics University Slide 32
Author: Tran Minh Quang
Dạng chuẩn 3 (4)
Ví dụ: LOACATION(city, street, zip-code)

city street zip-code Vấn đề:


NY 55th 484 Sự lặp lại của <484, NY>
NY 56th 484 và <473, LA> là dư thừa
LA 55th 473 trong bảng LOCATION
LA 56th 473
LA 57th 473

Database course
Department of Information Technology (DIT)
Chapter 5: Logical Database Design and The Relational Model
HCM city Polytechnics University Slide 33
Author: Tran Minh Quang
Dạng chuẩn Boyce-Codd (BCNF)
Lược đồ quan hệ R đạt BCNF nếu nếu với mọi FD X -> A
đúng trong R thì X là siêu khóa:

Định nghĩa khác:


Lược đồ quan hệ R đạt BCNF nếu với mọi FD X->A đúng
trong R thì:
1) A ⊂ X hoặc
2) X là siêu khoá trong R
Database course
Department of Information Technology (DIT)
Chapter 5: Logical Database Design and The Relational Model
HCM city Polytechnics University Slide 34
Author: Tran Minh Quang
Dạng chuẩn Boyce-Codd (BCNF - 2)
Ví dụ: SCL(student, course, lecturer)
F = {student, course -> lecturer
lecturer -> course}
Khoá 1: student, course; khoá 2: student, lecturer
 SCL không đạt BCNF vì lecturer không là siêu khóa.

 SCL đạt 3NF vì thuộc tính course của FD

lecturer -> course là thuộc tính nguyên tố.


Lược đồ SCL nên được phân rã thành:
R1 (lecturer, course); R2 (lecturer, student)

Database course
Department of Information Technology (DIT)
Chapter 5: Logical Database Design and The Relational Model
HCM city Polytechnics University Slide 35
Author: Tran Minh Quang
Chuẩn hoá CSDL
Chuẩn hoá các lược đồ quan hệ
Ví dụ:
S(s#, city, status, p#, qty)
F = { s# -> city, s# -> status, city -> staus,
(s#, p#) -> qty, (s#, p#) -> city, (s#, p#) -> status}
Khoá 1: s#, p#
- Đạt 1NF
- Không đạt 2NF vì có các FD: s# -> city; s# -> status

Database course
Department of Information Technology (DIT)
Chapter 5: Logical Database Design and The Relational Model
HCM city Polytechnics University Slide 36
Author: Tran Minh Quang
Chuẩn hoá CSDL (2)
Phân rã S(s#, city, status, p#, qty) thành các lược đồ:
SP(s#, p#, qty) BCNF
SUPPLIER(s#, city, status) 2NF
F = { s# -> city, city -> staus, s# -> status}

- Lược đồ SUPPLIER đạt 2NF nhưng không đạt 3NF


- Tiếp tục phân rã SUPPLIER thành:
SUPPLIER(s#, city) BCNF
LOACTION(city, status) BCNF

Database course
Department of Information Technology (DIT)
Chapter 5: Logical Database Design and The Relational Model
HCM city Polytechnics University Slide 37
Author: Tran Minh Quang
Tổng kết về chuẩn hoá CSDL
 Mục tiêu của các dạng chuẩn trên quan hệ là hạn chế
những dư thừa trong dữ liệu lưu trữ.
 Những dư thừa dữ liệu là do phát sinh từ mối liên
quan giữa các mục dữ liệu thể hiện qua các phụ
thuộc hàm.
 Dư thừa dữ liệu dẫn đến những dị thường khi thêm,
xoá, cập nhật dữ liệu.

Database course
Department of Information Technology (DIT)
Chapter 5: Logical Database Design and The Relational Model
HCM city Polytechnics University Slide 38
Author: Tran Minh Quang
Tổng kết về chuẩn hoá CSDL (2)
 Trong 2NF và 3NF vẫn còn dư thừa dữ liệu
 2NF: loại được sự phụ thuộc riêng phần vào khoá,
vẫn tồn tại phụ thuộc bắc cầu vào khoá.
 3NF: loại được sự phụ thuộc bắc cầu vào khoá đối với
những thuộc tính không nguyên tố.
 BCNF: loại bỏ mọi dư thừa dữ liệu mà phụ thuộc hàm
có thể tạo ra (không thể suy ra giá trị tại một ô nào
trong bảng bằng cách chỉ sử dụng các phụ thuộc hàm
cùng với các số liệu đang có trong bảng).
 Dạng chuẩn của 1 lược đồ csdl bằng với dạng chuẩn
của lược đồ quan hệ có dạng chuẩn thấp nhất
Database course
Department of Information Technology (DIT)
Chapter 5: Logical Database Design and The Relational Model
HCM city Polytechnics University Slide 39
Author: Tran Minh Quang
Tổng kết về chuẩn hoá CSDL (3)
 Để đạt được dạng chuẩn cao (ít dư thừa dữ liệu), một
lược đồ quan hệ thường được phân rã thành nhiều
lược đồ quan hệ con.
 Một lược đồ quan hệ luôn có thể được phân rã thành
các lược đồ quan hệ con đạt 3NF vừa bảo toàn nội
dung vừa bảo toàn phụ thuộc hàm.
 Một lược đồ quan hệ luôn có thể được phân rã thành
các lược đồ quan hệ con đạt BCNF bảo toàn nội
dung nhưng có thể không bảo toàn được tập phụ
thuộc hàm.

Database course
Department of Information Technology (DIT)
Chapter 5: Logical Database Design and The Relational Model
HCM city Polytechnics University Slide 40
Author: Tran Minh Quang

You might also like