Đâ là một câu hỏi tuyệt vời. Bình thường hóa ngoài BCNF là vô cùng khó hiểu. Hy vọng tôi có thể cung cấp một câu trả lời có ý nghĩa. Tôi đã vật lộn với các khái niệm này trong hơn 20 năm trước khi cuối cùng hiểu được chúng nhờ vào Chuỗi cơ sở dữ liệu thực tế của Fabian Pascal .
Ví dụ được cung cấp là một EmpRoleProj
bảng R trông giống như vậy:
Sau đó, nó tiếp tục hiển thị các hình chiếu của EmpRoleProj
bảng R ban đầu như vậy:
Lý do bạn không thấy có gì sai với các bảng cơ sở Table 1
và Table 2
là vì bạn không xem xét các quy tắc phụ thuộc (trong trường hợp này là quy tắc phụ thuộc đa biến (MVD)) được xác định trong mô hình kinh doanh mô tả quy tắc kinh doanh. Nếu chúng ta giả sử vì lợi ích của ví dụ không có MVD nào được xác định trong quy tắc kinh doanh thì EmpRoleProj nằm trong 5NF mặc dù "sự xuất hiện" của các khoản dự phòng. Ví dụ, thông tin mà Smith là nhà thiết kế được lưu trữ dự phòng. Dường như thông tin mà một nhà thiết kế cần có trong dự án Amazon được lưu trữ dự phòng. Mặc dù điều này dường như là trường hợp, bằng cách biết rằng trên thực tế đây không phải là MVD, thực tế trường hợp là Smith là gìtình cờ trở thành một nhà thiết kế trong một vài dự án, nhưng thực tế Smith không phải là một nhà thiết kế và do đó thực tế đó không nên được suy luận. Khi bảng 1 và bảng 2 được nối, kết quả:
cho thấy Jones là một nhà thiết kế trong dự án Nile nhưng chúng tôi biết đó không phải là trường hợp.
Chúng ta giả thay vì mô hình kinh doanh đã nói có là MVDs của empName-->>role
và role-->>projName
. Trong trường hợp này, những gì những MVDs có nghĩa là nếu một nhân viên đóng một vai trò, và nếu vai trò đó là một dự án, theo định nghĩa rằng người lao động đóng vai trò trong dự án đó. Trong ví dụ này, cùng một bảng EmpRoleProj hiện không có trong 5NF và hiện tại không bị dư thừa. Bây giờ, sự thật rằng Smith là một nhà thiết kế và cần có một nhà thiết kế trong dự án Amazon được lưu trữ dự phòng vì những sự thật đó có thể được suy ra từ việc tham gia Bảng 1 và Bảng 2! Tương tự như vậy, việc tham gia Bảng 1 và Bảng 2 bây giờ khôngdẫn đến một cuộc tấn công giả mạo khi suy luận rằng Jones là một nhà thiết kế cho dự án Nile là một thực tế hiện nay dựa trên các quy tắc kinh doanh được xác định bởi MVDs.
Đây là lý do tại sao bạn không thể đánh giá hình thức bình thường của bất kỳ bảng R nào mà không biết các phụ thuộc và khóa được xác định. Đưa ra bất kỳ giả định nào, thậm chí một điều có vẻ như có ý nghĩa với bạn, có thể nguy hiểm. Nếu bạn đã từng được hỏi R-Table ở dạng bình thường nào, bạn phải yêu cầu các phụ thuộc để đánh giá. Ngoài loạt bài báo của Fabian, các tác phẩm của Chris Date cung cấp thông tin tốt nhất có sẵn về lý thuyết chuẩn hóa.