1. Định nghĩa các thuật ngữ: cơ sở dữ liệu, hệ quản trị cơ sở dữ liệu, hệ cơ sở dữ
15.2.3. Dạng chuẩn 3( 3NF Third normal form)
Định nghĩa1: Cho lược đồ quan hệ α =(U, F), lược đồ α được gọi là ở dạng chuẩn3, ký hiệu là 3NF, nếu như lược đồ ở dạng chuẩn 2NF và các thuộc tính không khoá củaαlà không phụ thuộc hàm bắc cầu vào khoá chính.
Định nghĩa 2:Cho lược đồ quan hệ α =(U, F), lược đồ α được gọi là ở dạng chuẩn 3, ký hiệu là 3NF, nếu như mọi phụ thuộc hàm X A ∈F+ với A∉ X thì:
- Hoặc X là siêu khóa - Hoặc A là thuộc tính khóa.
Nhận xét: Lược đồ quan hệ α =(U, F), với F là tập các phụ thuộc hàm có vế phải chỉ gồm một thuộc tính. Khi đó lược đồ α ở dạng chuẩn 3NF khi và chỉ khi mọi phụ thuộc hàm XA∈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
Thuật toán kiểm tra lược đồ ở dạng chuẩn 3NF hay không?
Từ nhận xét trên ta có thuật toán kiểm tra xem một lược đồ có ở dạng chuẩn 3NF hay không nhưsau:
Input: lược đồ quan hệα =(U, F).
Output: khẳng định αđạt chuẩn 3NF haykhông.
Thuật toán 1:
Thuật toán kiểm tra dạng chuẩn 3
Vào: Lược đồ quan hệ Q,tập phụ thuộc hàm F.
Ra: Khẳng định Q đạt chuẩn 3 hay không đạt chuẩn 3. Bước 1: Tìm tất cả khóa của Q
Bước 2: Từ F tạo tập phụ thuộc hàm tương đương có vế phải 1 thuộc tính.
Bước 3: Nếu mọi phụ thuộc hàm X→A với A∉X đều có X là siêu khóa hoặc A là thuộc tính khóa thì Qđạt chuẩn 3 ngược lại Q không đạt chuẩn 3. Ví dụ:
Cho lược đồ quan hệ Q(A,B,C,D) F={AB→C; D→B; C→ABD} Hỏi lược đồ có ở dạng 3NF? Giải:
TN=Ø TG={ABCD}
X1 (TN∪X1) (TN∪X1)+ Siêu khóa Khóa
Ø Ø Ø A A A B B B AB AB ABCD AB AB C C ABCD C C AC AC ABCD AC BC BC ABCD BC
ABC ABC ABCD ABC
D D BD
AD AD ABCD AD AD
BD BD BD
ABD ABD ABCD ABD
ACD ACD ABCD ACD
BCD BCD ABCD BCD
ABCD ABCD ABCD ABCD
={AB}; ={AD}; ={C} là các khóa => mọi phụ thuộc hàm X→A F đều có A là thuộc tính khóa. Vậy Q đạt chuẩn 3
Thuật toán 2:
b1) Tìm tất cả khóa của lược đồα
b2) Từ F tìm tập phụ thuộc hàm tương tương F’, mà vế phải của các phụ thuộc hàm trong F’ chỉ có một thuộc tính.
b3) Nếu mọi phụ thuộc hàm X A ∈ F’ với A∉ X đều có X là siêu khóa hoặc A là thuộc tính khoá thì α đạt chuẩn 3NF ngược lại α không đạt chuẩn 3NF.