Professional Documents
Culture Documents
5 - 3 Chuẩn hóa cơ sở dữ liệu quan hệ
5 - 3 Chuẩn hóa cơ sở dữ liệu quan hệ
5 - 3 Chuẩn hóa cơ sở dữ liệu quan hệ
ThS. Cao Vinh
caovinh226@gmail.com
31.03.2022 2
Dạng chuẩn Boyce Codd (BCNF)
31.03.2022 3
Một số khái niệm cơ bản
Ta thấy AB và BC là khoá.
A, B, C là thuộc tính khoá
D là thuộc tính không khoá
31.03.2022 4
Một số khái niệm cơ bản
Khái niệm
Lược đồ quan hệ R được gọi là chuẩn 1NF nếu và chỉ nếu tất cả các
thuộc tính của R thỏa mãn các điều kiện sau:
- Là nguyên tố
- Giá trị của các thuộc tính trên các bộ là đơn trị, không chứa nhóm lặp
- Không có thuộc tính nào có giá trị mà có thể tính toán được từ một số
thuộc tính khác
31.03.2022 6
Ví dụ dạng chuẩn 1NF
31.03.2022 7
Dạng chuẩn 2NF
Khái niệm
Lược đồ quan hệ R được gọi là chuẩn 2NF nếu đã chuẩn 1NF và tất cả
các thuộc tính không khóa của R đều phụ thuộc hàm đầy đủ vào khóa.
Chú ý
Thuộc tính không khóa là thuộc tính không tham gia vào bất kì khóa nào
31.03.2022 8
Nhắc lại Phụ thuộc hàm đầy đủ
Cho lược đồ quan hệ R(U). X và Y là hai tập thuộc tính khác nhau
X U và Y U
Y là phụ thuộc hàm đầy đủ vào X nếu Y là phụ thuộc hàm vào X nhưng
không phụ thuộc hàm vào bất kì một tập hợp con nào thực sự của X
Chú ý
Phụ thuộc hàm có vế trái một thuộc tính là phụ thuộc hàm đầy đủ
31.03.2022 9
Dạng chuẩn 2NF
Mahang Tenhang
31.03.2022 10
Dạng chuẩn 2NF
31.03.2022 11
Dạng chuẩn 2NF
Chuẩn 2NF
31.03.2022 12
Thuật toán kiểm tra dạng chuẩn 2NF
Bước 2: Với mỗi khóa K, tìm bao đóng của tất cả các tập con thực sự (kí hiệu là
S) của K
Bước 3: Nếu có bao đóng S+ chứa thuộc tính không khóa thì quan hệ không đạt
chuẩn 2, ngược lại thì quan hệ đạt chuẩn 2
Nhận xét
Nếu mọi khóa của lược đồ quan hệ R chỉ có 1 thuộc tính thì R là 2NF
31.03.2022 13
Ví dụ
31.03.2022 14
Ví dụ 1: Cho lược đồ quan hệ R(A,B,C,D) và tập phụ thuộc hàm F
F= {AB C, B D, BC A}
Hỏi R có đạt chuẩn 2NF không?
31.03.2022 15
Ví dụ 2: Cho lược đồ quan hệ R = { A,B,C,D,E,G } và tập thuộc tính F
F = { A → BC, C → DE, E → G }
Quan hệ R có đạt chuẩn 2NF hay không?
31.03.2022 16
Dạng chuẩn 3NF
Định nghĩa 1
Lược đồ quan hệ R được gọi là chuẩn 3NF nếu:
• đã chuẩn 2NF
• mọi thuộc tính không khóa đều không phụ thuộc bắc cầu vào một
khóa bất kì của R
Định nghĩa 2
Lược đồ ở dạng 3NF nếu: xét mọi pth X A F+ với AX thì:
31.03.2022 17
Thuật toán kiểm tra dạng chuẩn 3NF
Bước 2: Từ F tạo tập phụ thuộc hàm tương đương F’ có vế phải một thuộc tính
Nếu mọi phụ thuộc hàm XA F’ với AX đều có X là siêu khóa
hoặc A là thuộc tính khóa thì R đạt chuẩn 3NF
Nhận xét
Nếu lược đồ quan hệ R không chứa thuộc tính không khoá thì R là dạng
chuẩn 3NF
31.03.2022 18
Ví dụ
31.03.2022 19
Ví dụ 1: Cho lược đồ quan hệ Q(A,B,C,D) và phụ thuộc hàm F
31.03.2022 20
Ví dụ
31.03.2022 21
Dạng chuẩn BCNF
Định nghĩa
Lược đồ quan hệ R được gọi là ở dạng chuẩn Boye_Codd nếu với
mọi phụ thuộc hàm XA F+ với AX thì X là một siêu khóa.
31.03.2022 22
Thuật toán kiểm tra dạng chuẩn BCNF
Bước 2: Từ F tạo tập phụ thuộc hàm tương đương với F gọi là F’ có vế phải một
thuộc tính
- nếu mọi phụ thuộc hàm XA F’ đều có X là siêu khóa thì R đạt chuẩn
BCNF
Nhận xét
Mọi phụ thuộc hàm có vế trái là khóa thì đạt chuẩn BCNF
31.03.2022 23
Ví dụ
31.03.2022 24
Quá trình chuẩn hóa
31.03.2022 25
Thuật toán xác định dạng chuẩn cao nhất
Bước 2: Kiểm tra chuẩn BCNF, nếu đúng thì R ở dạng BCNF, kết thúc và ngược
lại sang bước tiếp theo
Bước 3: Kiểm tra chuẩn 3NF, nếu đúng thì R ở dạng 3NF, kết thúc và ngược lại
sang bước tiếp theo
Bước 4: Kiểm tra chuẩn 2NF, nếu đúng thì R ở dạng 2NF, kết thúc và ngược lại R
đạt 1NF.
31.03.2022 26
Ví dụ
F = { CSZ, Z C}
31.03.2022 27
Phép tách các lược đồ quan hệ
31.03.2022 28
Đặt vấn đề
Chuẩn hoá dữ liệu có thể được xem như một quá trình phân tích các lược
đồ quan hệ cho trước dựa trên các phụ thuộc hàm và các khoá chính của
chúng để đạt đến các tính chất mong muốn là cực tiểu sự dư thừa và cực
tiểu các phép cập nhật bất thường.
Dạng chuẩn của một quan hệ liên quan đến điều kiện dạng chuẩn cao nhất
mà nó thoả mãn. Các dạng chuẩn khi được xem xét độc lập với các sự kiện
khác không đảm bảo một thiết kế CSDL tốt. Nói chung, việc xác minh
riêng biệt từng lược đồ quan hệ ở dạng chuẩn này hay dạng chuẩn kia là
chưa đủ. Tốt hơn là quá trình chuẩn hoá thông qua phép tách phải khẳng
định một vài tính chất hỗ trợ mà tất cả các lược đồ quan hệ phải có, chúng
gồm hai tính chất sau:
Tính chất nối không mất mát (hoặc nối không phụ thêm) đảm bảo rằng vấn đề
tạo ra các bộ giả không xuất hiện đối với các lược đồ quan hệ được tạo ra
sau khi tách.
Tính chất bảo toàn sự phụ thuộc đảm bảo rằng từng phụ thuộc hàm sẽ được
biểu hiện trong các quan hệ riêng rẽ nhận được sau khi tách.
31.03.2022 29
Một số khái niệm cơ bản
Định nghĩa
Phép tách lược đồ quan hệ R= {A1, A2, .. An} là việc thay thế lược
đồ quan hệ R bằng tập các lược đồ con {R1, R2, .., Rk}, trong đó
Ri R, i = 1,..,k - Ri là các lược đồ con
và R = R1 R2 ... Rk
Chú ý
Không đòi hỏi các Ri phải là phân biệt
31.03.2022 30
Một số khái niệm cơ bản
Ví dụ
Cho lược đồ quan hệ: R (MaCTy, ĐC, MH, GIA)
và tập PTH: F = { MCTY ĐC; MCTY,MH GIA }
MaCTY ĐC MH GIA
1 Thanh Xuân 1 10000
1 Thanh Xuân 2 15000
2 Đống Đa 1 12000
2 Đống Đa 2 16000
MaCTY MH GIA
MaCTY ĐC
1 1 10000
1 Thanh Xuân
1 2 15000
2 Đống Đa
2 1 12000
31.03.2022 2 2 16000 31
Phép tách không mất mát thông tin
Định nghĩa
Cho lược đồ quan hệ R. Phép tách R thành (R1, R2, .., Rn) nếu khi
thực hiện phép toán kết nối tự nhiên các quan hệ thành phần R1, R2, .., Rn ta
vẫn nhận được kết quả của quan hệ ban đầu
31.03.2022 32
Phép tách và sự bảo toàn phụ thuộc hàm
31.03.2022 33
Kiểm tra cách tách không mất mát thông tin
Input
R = {A1, A2, .., An} – n thuộc tính tập phụ thuộc hàm F và
phép tách p = (R1, R2, .., Rk) – k lược đồ con
Output
Kiểm tra phép tách có mất mát thông tin hay không ?
31.03.2022 34
Kiểm tra cách tách không mất mát thông tin
Cho R(ABCDE)
Q1(AD), Q2(AB), Q3(BE), Q4(CDE), Q5(AE)
F = {AC, BC, AD,DEC, CEA}
Kiểm tra tính bảo toàn thông tin của phép phân rã R thành Q1, Q2, Q3, Q4, Q5
31.03.2022 36
Hướng dẫn
31.03.2022 37
Hướng dẫn
31.03.2022 38
Phép tách và sự bảo toàn PTH
1. Định nghĩa tập phụ thuộc hàm của các lược đồ con trong phép tách
2. Định nghĩa phép tách bảo toàn phụ thuộc hàm
31.03.2022 39
Tập PTH của các lược đồ con trong phép tách
Định nghĩa
Cho trước một tập hợp các phụ thuộc hàm F trên R{A1,A2,...,An},
D = (R1, R2, ..., Rm) là một phép tách. Phép chiếu của F trên Ri, ký hiệu
là một tập các phụ thuộc hàm X→Y F+ sao cho các thuộc tính trong XY đều
được chứa trong Ri.
Kí hiệu
31.03.2022 40
Ví dụ
Xác định hình chiếu của F trên R1 và R2 ( hay tính các tập phụ thuộc hàm F1 , F2
của R1 và R2).
31.03.2022 41
Phép tách bảo toàn phụ thuộc hàm
Định nghĩa
Nói rằng phép tách D = (R1, R2, ..., Rm) bảo toàn phụ thuộc hàm đối với F
nếu hợp của các phép chiếu của F trên mỗi Ri trong D là tương đương với F. Điều
đó có nghĩa là (Ri(F))+ =F+.
Nhận xét
Để xác định phép tách D = (R1, R2, ..., Rm) có bảo toàn phụ thuộc hàm hay
không thì xét xem mỗi phụ thuộc hàm X→Y F có phải là thành viên của tập
phụ thuộc hàm G=(Ri(F)) hay không
31.03.2022 42
Phép tách bảo toàn phụ thuộc hàm
Định nghĩa
31.03.2022 43
Thuật toán phân rã thành các 3NF
31.03.2022 44
Thuật toán phân rã thành các 3NF
Yêu cầu
3. Nếu R chưa đạt chuẩn ba (3NF), hãy tách R thành các lược đồ đạt
chuẩn 3NF bảo toàn phụ thuộc hàm và không tổn thất thông tin.
31.03.2022 46
Thuật toán phân rã thành các BCNF
31.03.2022 47