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

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

Video: Sự khác biệt giữa 1NF và 2NF và 3NF

Video: Sự khác biệt giữa 1NF và 2NF và 3NF
Video: SSD và HDD khác nhau như thế nào? - SHTech #3 2024, Tháng bảy
Anonim

1NF vs 2NF vs 3NF

Chuẩn hóa là một quá trình được thực hiện để giảm thiểu sự dư thừa có trong dữ liệu trong cơ sở dữ liệu quan hệ. Quá trình này chủ yếu sẽ chia các bảng lớn thành các bảng nhỏ hơn với ít dư thừa hơn. Các bảng nhỏ hơn này sẽ liên quan với nhau thông qua các mối quan hệ được xác định rõ. Trong một cơ sở dữ liệu được chuẩn hóa tốt, bất kỳ sự thay đổi hoặc sửa đổi nào trong dữ liệu sẽ chỉ yêu cầu sửa đổi một bảng duy nhất. Dạng chuẩn đầu tiên (1NF), Dạng chuẩn thứ hai (2NF) và Dạng chuẩn thứ ba (3NF) được giới thiệu bởi Edgar F. Codd, người cũng là người phát minh ra mô hình quan hệ và khái niệm chuẩn hóa.

1NF là gì?

1NF là dạng chuẩn Đầu tiên, cung cấp tập hợp các yêu cầu tối thiểu để chuẩn hóa cơ sở dữ liệu quan hệ. Một bảng tuân thủ 1NF đảm bảo rằng nó thực sự đại diện cho một mối quan hệ (tức là nó không chứa bất kỳ bản ghi nào đang lặp lại), nhưng không có định nghĩa được chấp nhận rộng rãi cho 1NF. Một thuộc tính quan trọng là bảng tuân thủ 1NF không được chứa bất kỳ thuộc tính nào có giá trị quan hệ (tức là tất cả các thuộc tính phải có giá trị nguyên tử).

2NF là gì?

2NF là dạng chuẩn thứ hai được sử dụng trong cơ sở dữ liệu quan hệ. Để một bảng tuân thủ 2NF, nó phải tuân theo 1NF và bất kỳ thuộc tính nào không phải là một phần của bất kỳ khóa ứng viên nào (tức là thuộc tính không phải nguyên tố) phải hoàn toàn phụ thuộc vào bất kỳ khóa ứng viên nào trong bảng.

3NF là gì?

3NF là dạng chuẩn thứ ba được sử dụng trong chuẩn hóa cơ sở dữ liệu quan hệ. Theo định nghĩa của Codd, một bảng được cho là ở dạng 3NF, nếu và chỉ khi, bảng đó ở dạng chuẩn thứ hai (2NF) và mọi thuộc tính trong bảng không thuộc về khóa ứng viên, sẽ trực tiếp phụ thuộc trên mọi khóa ứng viên của bảng đó. Năm 1982, Carlo Zaniolo đã đưa ra một định nghĩa được diễn đạt khác cho 3NF. Các bảng tuân thủ 3NF thường không chứa các bất thường xảy ra khi chèn, xóa hoặc cập nhật các bản ghi trong bảng.

Sự khác biệt giữa 1NF với 2NF và 3NF là gì?

1NF, 2NF và 3NF là các dạng thông thường được sử dụng trong cơ sở dữ liệu quan hệ để giảm thiểu dư thừa trong bảng. 3NF được coi là dạng chuẩn mạnh hơn 2NF và nó được coi là dạng chuẩn mạnh hơn 1NF. Do đó, nói chung, để có được một bảng tuân theo dạng 3NF sẽ yêu cầu phân rã một bảng có trong 2NF. Tương tự, để có được một bảng tuân theo 2NF sẽ yêu cầu phân rã một bảng nằm trong 1NF. Tuy nhiên, nếu một bảng tuân thủ 1NF chứa các khóa ứng viên chỉ được tạo thành từ một thuộc tính duy nhất (tức là khóa ứng viên không phải là khóa phức hợp), bảng như vậy sẽ tự động tuân thủ 2NF. Việc phân rã các bảng sẽ dẫn đến các phép toán nối bổ sung (hoặc các tích số Descartes) khi thực hiện các truy vấn. Điều này sẽ làm tăng thời gian tính toán. Mặt khác, các bảng tuân thủ các biểu mẫu bình thường mạnh hơn sẽ có ít dư thừa hơn các bảng chỉ tuân thủ các biểu mẫu bình thường yếu hơn.

Đề xuất: