Dạng chuẩn thứ ba (3NF – third normal form)

Một phần của tài liệu Tiểu luận môn cơ sở dữ liệu nâng cao CÁC DẠNG CHUẨN CỦA LƯỢC ĐỒ QUAN HỆ (Trang 39)

Đị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

Một phần của tài liệu Tiểu luận môn cơ sở dữ liệu nâng cao CÁC DẠNG CHUẨN CỦA LƯỢC ĐỒ QUAN HỆ (Trang 39)