6. Dạng chuẩn của lược đồ quan hệ
6.4. Dạng chuẩn 3 (Third Normal Form)
Định nghĩa: Một lược đồ quan hệ R đạt chuẩn 3 (3NF) nếu mọi phụ thuộc hàm X→A∈ F+ với A∉ X đều có.
- Hoặc X là siêu khóa. - Hoặc A là thuộc tính khóa
Hệ quả:
1. Nếu R đạt chuẩn 3 thì R đạt chuẩn 2.
2. Nếu R không có thuộc tính không khóa thì R đạt chuẩn 3.
Định lý:
R là một lược đồ quan hệ.
F là tập các phụ thuộc hàm có vế phải một thuộc tính.
R đạt chuẩn 3 nếu và chỉ nếu mọi phụ thuộc hàm X→A∈ F+ với A∉ X đều có. - Hoặc X là siêu khóa.
- Hoặc A là thuộc tính khóa
(Việc chứng minh định lý xem như là một bài tập nâng cao)
Thuật toán kiểm tra dạng chuẩn 3:
Vào: lược đồ quan hệ R, tập phụ thuộc hàm F. Ra: Khẳng định R đạt hoặc không đạt chuẩn 3.
Bước 1: Tìm tất cả các khóa của R.
Bước 2: Từ F tạo tập phụ thuộc hàm tương đương Ftt có vế phải một thuộc tính. Bước 3: Nếu mọi phụ thuộc hàm X→A∈ Ftt với A∉ X đều có X là siêu khóa hoặc A là thuộc tính khóa thì R đạt chuẩn 3. Ngược lại R không đạt chuẩn 3.
Ví dụ: Cho lược đồ quan hệ R(ABCD), F = {AB→C; D→B; C→ABD}. Hỏi R có đạt chuẩn 3 hay không?
Giải:
- Tìm tất cả các khóa của R: TN={∅} TG={ABCD}
Xi TN ∪ Xi (TN ∪ Xi)+ Siêu khóa Khóa
φ φ φ - - A A A - - B B B - - C C CABD C C D D DB - - AB AB ABCD AB AB
AC AC ACBD AC -
AD AD ADBC AD AD
BC BC BCAD BC -
BD BD BD - -
CD CD CDAB CD -
ABC ABC ABCD ABC -
ABD ABD ABDC ABD -
ACD ACD ACDB ACD -
BCD BCD BCDA BCD -
ABCD ABCD ABCD ABCD -
Tất cả các khóa của R là K1 = {C}, K2 = {AB}, K3 = {AD}. Gọi Z là tập thuộc tính khóa, X là tập thuộc tính không khóa, ta có:
Z = K1 ∪ K2 ∪ K3 = {CABD}
X = R+ \ Z = {ABCD} \ { CABD } = {φ}
Vì tập thuộc tính không khóa X = {φ} nên R đạt chuẩn 3 (theo hệ quả 2).