Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Dạng chuẩn thứ hai (2NF - Second Normal Form)

2NF là gì?

Bước thứ hai trong Chuẩn hóa là 2NF.

Một bảng ở 2NF, chỉ khi một quan hệ ở 1NF và đáp ứng tất cả các quy tắc, và mọi thuộc tính non-key (không phải khóa) phụ thuộc đầy đủ vào khóa chính.

Dạng chuẩn thứ hai loại bỏ các phụ thuộc một phần trên khóa chính.

Ví dụ:

Ví dụ (Bảng vi phạm 2NF)

<StudentProject>

StudentID ProjectID StudentName ProjectName
S89 P09 Olivia Geo Location
S76 P07 Jacob Cluster Exploration
S56 P03 Ava IoT Devices
S92 P05 Alexandra Cloud Deployment

Trong bảng trên, chúng ta có phụ thuộc một phần; hãy xem cách thức:

Các thuộc tính khóa chính là StudentID và ProjectID.

Như đã nêu, các thuộc tính non-prime là StudentName và ProjectName nên phụ thuộc hàm vào một phần của khóa ứng viên, để thành Phụ thuộc một phần.

StudentName có thể được xác định bởi StudentID, làm cho quan hệ thành Phụ thuộc một phần.

ProjectName có thể được xác định bởi ProjectID, làm cho quan hệ thành Phụ thuộc một phần.

Do đó, quan hệ <StudentProject> vi phạm 2NF trong Chuẩn hóa và được coi là thiết kế cơ sở dữ liệu kém.

Ví dụ (Bảng chuyển sang 2NF)

Để loại bỏ Phụ thuộc một phần và vi phạm 2NF, phân rã các bảng trên:

<StudentInfo>

StudentID ProjectID StudentName
S89 P09 Olivia
S76 P07 Jacob
S56 P03 Ava
S92 P05 Alexandra

<ProjectInfo>

ProjectID ProjectName
P09 Geo Location
P07 Cluster Exploration
P03 IoT Devices
P05 Cloud Deployment

Bây giờ quan hệ ở dạng chuẩn thứ 2 của Chuẩn hóa cơ sở dữ liệu.

Dạng chuẩn thứ hai (2NF - Second Normal Form)