Computer >> Máy Tính >  >> Lập trình >> MySQL

Dạng chuẩn thứ hai (2NF)

2NF là gì?

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

Một bảng ở trong 2NF, chỉ khi một quan hệ nằm trong 1NF và đáp ứng tất cả các quy tắc và mọi thuộc tính không phải khóa đều hoàn toàn phụ thuộc vào khóa chính.

Biểu mẫu thông thường thứ hai loại bỏ sự phụ thuộc một phần vào khóa chính.

Hãy để chúng tôi xem một ví dụ -

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

StudentID

ProjectID

Tên sinh viên

Tên dự án
S89
P09
Olivia
Vị trí Địa lý
S76
P07
Jacob
Khám phá Cụm
S56
P03
Ava
Thiết bị IoT
S92
P05
Alexandra
Triển khai trên đám mây


Trong bảng trên, chúng ta có phụ thuộc một phần; hãy để chúng tôi xem làm thế nào -

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

Như đã nêu, các thuộc tính không phải nguyên tố, tức là Tên sinh viên ProjectName phải phụ thuộc về mặt chức năng vào một phần của khóa ứng viên, là Phụ thuộc một phần.

Tên sinh viên có thể được xác định bởi StudentID , điều này làm cho mối quan hệ Phụ thuộc một phần.

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

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

Ví dụ (Bảng được chuyển đổi thành 2NF)

Để loại bỏ Sự phụ thuộc một phần và vi phạm trên 2NF, hãy phân tích các bảng trên -

ID sinh viên
ProjectID
Tên sinh viên
S89
P09
Olivia
S76
P07
Jacob
S56
P03
Ava
S92
P05
Alexandra


ProjectID
Tên dự án
P09
Vị trí Địa lý
P07
Khám phá Cụm
P03
Thiết bị IoT
P05
Triển khai trên đám mây


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

Dạng chuẩn thứ hai (2NF)