Định nghĩa: Lược đồ quan hệ Q ở dạng chuẩn 3 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 Hay
Lược đồ quan hệ Q ở dạng chuẩn 3 nếu mọi thuộc tính không khóa của Q đều không phụ thuộc bắc cầu vào một khóa bất kỳ của Q
Định nghĩa phụ thuộc bắc cầu: Cho một lược đồ quan hệ R(U): X là
một tập con các thuộc tính X⊆U, A là một thuộc tính thuộc U. A được gọi là phụ thuộc bắc cầu vào X trên R nếu tồn tại một tập con Y của R sao cho X→Y, Y→A nhưng Y→X (không xác định hàm) với A∉XY.
R không ở 3NF và không ở 2NF. Giả sử X = SI, Y = S. Khoá là SI. Vì X →Y và Y→A, nhưng lại có Y→X tức là S→SI là không thoả mãn. Lưu ý rằng trong trường hợp này X→Y và Y→A không chỉ thoả mãn trên R mà là những phụ thuộc hàm đã cho. Như vậy, A là phụ thuộc bắc cầu vào khoá chính SI.
Hệ quả: Nếu lược đồ quan hệ (R, F) mà R không có thuộc tính không
khoá thì Q đạt chuẩn 3.
Ví dụ: Cho lược đồ quan hệ R(CSZ) với các phụ thuộc hàm CS→Z, Z →C. Mọi thuộc tính trong lược đồ đều là thuộc tính khoá. Vậy R ở 3NF.
Ví dụ: Cho lược đồ R(SIDM) và các phụ thuộc SI→D, SD→M.
Ở đây chỉ có một khoá chính là SI. Rõ ràng R ở 2NF nhưng không phải ở 3NF.
Ví dụ: Xác định dạng chuẩn của lược đồ quan hệ sau: R(NGPM)
F = {NGP→M; M→P}
Khoá của R là {NGP} và {NGM}
NGP→M có vế trái là siêu khoá M→P có vế trái là thuộc tính khoá. Vậy R ở 3NF.
Thuật toán kiểm tra dạng chuẩn 3
Input: Lược đồ quan hệ Q, tập phụ thuộc hàm F
Output: 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 F1tt có vế phải một thuộc tính.
Bước 3: Nếu mọi phụ thuộc hàm X → A ∈ F1 tt với A∉X đều có X là siêu khóa hoặc A là thuộc tính khoá thì Q đạt chuẩn 3 ngược lại Q không đạt chuẩn 3