Sự khác biệt giữa BCNF và 3NF

BCNF so với 3NF

Boyce Codd dạng bình thường (còn được gọi là BCNF) là một dạng bình thường - đó là một dạng cung cấp các tiêu chí để xác định mức độ dễ bị tổn thương của bảng đối với sự không nhất quán và bất thường logic. Hình thức bình thường này được sử dụng trong chuẩn hóa cơ sở dữ liệu. Nó mạnh hơn một chút so với người tiền nhiệm của nó, dạng bình thường thứ ba (còn được gọi là 3NF). Một bảng được cho là ở BCNF khi và chỉ khi mỗi bảng nếu phụ thuộc chức năng không tầm thường của nó - đó là một ranh giới được đặt giữa hai bộ thuộc tính trong mối quan hệ được lấy từ cơ sở dữ liệu - là một siêu khóa (một bộ các thuộc tính của một biến quan hệ quy định rằng trong tất cả các quan hệ được gán cho biến cụ thể đó, không có hai hàng riêng biệt chứa cùng một giá trị cho các thuộc tính trong tập cụ thể đó). BCNF quy định rằng bất kỳ bảng nào không đáp ứng các tiêu chí được quy cho là BNCF đều dễ bị mâu thuẫn logic.

3NF là một hình thức bình thường cũng được sử dụng trong chuẩn hóa cơ sở dữ liệu. Người ta cho rằng một bảng ở dạng 3NF khi và chỉ khi 1) bảng ở dạng bình thường thứ hai (hoặc 2NF, là mã thông thường đầu tiên, hoặc 1NF, đã đáp ứng các tiêu chí để trở thành 2NF) và 2) mọi thuộc tính không chính của bảng không phụ thuộc quá mức vào mọi khóa của bảng (có nghĩa là nó không phụ thuộc trực tiếp vào mỗi khóa). Có một định đề khác về 3NF cũng được sử dụng để xác định sự khác biệt giữa 3NF và BCNF.

Định lý này được Carlo Zaniolo nghĩ ra vào năm 1982. Nó tuyên bố rằng một bảng nằm trong 3NF khi và chỉ khi cho mỗi phụ thuộc chức năng trong đó X, A, ít nhất một trong ba điều kiện phải giữ: hoặc là X, A, X là một siêu khóa hoặc A là một thuộc tính nguyên tố (có nghĩa là A được chứa trong một khóa ứng cử viên - hoặc một siêu khóa tối thiểu cho mối quan hệ đó). Định nghĩa mới hơn này khác với định lý của BCNF ở chỗ mô hình sau sẽ đơn giản loại bỏ điều kiện cuối cùng. Ngay cả khi nó hoạt động như một phiên bản mới hơn của định lý 3NF, có một định lý của định lý Zaniolo. Nó nói rằng X â '' A là không tầm thường. Nếu đó là sự thật, hãy để A là thuộc tính khóa giữa và cũng để Y là khóa của R. Nếu điều đó giữ thì Y - X. Điều này có nghĩa là A không phụ thuộc quá mức vào Y khi và chỉ khi X â 'Y (hoặc nếu X là siêu khóa.

Tóm lược:

1. BCNF là một hình thức bình thường trong đó đối với mọi phụ thuộc chức năng không tầm thường của một bảng, là một siêu khóa; 3NF là dạng bình thường trong đó bảng nằm trong 2NF và mọi thuộc tính không nguyên tố đều không phụ thuộc quá mức vào mọi khóa trong bảng.