3NF là gì?
Thuật ngữ 3NF là từ viết tắt của Dạng chuẩn thứ ba. Chúng ta có thể nói rằng một quan hệ ở dạng Chuẩn thứ ba khi nó ở 2NF, và không có thuộc tính không phải khóa nào phụ thuộc vào khóa chính đã cho. Có nghĩa là không có sự phụ thuộc bắc cầu nào ở đó. Cùng với đó, quan hệ phải thỏa mãn một trong các điều kiện cho dưới đây.
Đối với phụ thuộc hàm của C-> D:
- D phải là thuộc tính nguyên tố. Nó có nghĩa là D phải là phần của khóa ứng viên.
- C nên là một siêu khóa.
Chúng tôi sử dụng 3NF để giảm trùng lặp dữ liệu và đạt được tính toàn vẹn của dữ liệu.
BCNF là gì?
Thuật ngữ BCNF là từ viết tắt của Boyce-Codd NF (dạng bình thường). EF Codd và RF Boyce đã tạo ra BCNF vào năm 1974. Chúng ta có thể nói rằng phụ thuộc hàm chỉ có trong BCNF nếu nó giữ các thuộc tính sau:
- Trong trường hợp phụ thuộc hàm P> Q, P phải là siêu khóa.
- Nó phải đã tồn tại trong 3NF.
BCNF hoạt động như một phần mở rộng cho 3NF. Nó bao gồm các quy tắc nghiêm ngặt hơn so với 3NF. Ngoài ra, nó tương đối mạnh hơn nhiều so với 3NF.
Sự khác biệt giữa 3NF và BCNF trong DBMS
Dưới đây là sự khác biệt giữa 3NF và BCNF trong DBMS:
Thông số |
3NF |
BCNF |
Sức lực | 3NF tương đối kém mạnh hơn so với BCNF. | BCNF tương đối mạnh hơn nhiều so với 3NF. |
Sự phụ thuộc chức năng | Các phụ thuộc hàm trong 3NF đã tồn tại trong 2NF và INF. | Các phụ thuộc hàm trong BCNF đã tồn tại trong 3NF, 2NF và INF. |
Dư | 3NF có độ dự phòng tương đối cao hơn nhiều. | BCNF có độ dự phòng tương đối thấp hơn nhiều. |
Sự phụ thuộc chức năng | Trong trường hợp 3NF, việc bảo toàn xảy ra đối với tất cả các phụ thuộc hàm. | Trong trường hợp BCNF, không có bảo toàn cho tất cả các phụ thuộc hàm. |
Phân hủy không mất mát | Việc phân hủy không mất mát tương đối dễ đạt được hơn nhiều trong trường hợp 3NF. | Việc phân hủy không mất mát tương đối khó đạt được hơn nhiều trong trường hợp BCNF. |
Hãy tiếp tục học tập và theo dõi để nhận được những cập nhật mới nhất
Xem thêm