Trình chuẩn hóa cơ sở dữ liệu
Hướng dẫn tương tác về các dạng chuẩn hóa cơ sở dữ liệu (1NF đến 5NF/BCNF). Học với ví dụ trực quan hiển thị dữ liệu chưa chuẩn hóa và kết quả đã chuẩn hóa đúng.
Mọi xử lý diễn ra trong trình duyệt của bạn. Không có dữ liệu nào được tải lên.
Trình chuẩn hóa cơ sở dữ liệu
Hướng dẫn tương tác về các dạng chuẩn hóa cơ sở dữ liệu (1NF đến 5NF/BCNF). Học với ví dụ trực quan hiển thị dữ liệu chưa chuẩn hóa và kết quả đã chuẩn hóa đúng.
🔒Mọi xử lý diễn ra trong trình duyệt của bạn. Không có dữ liệu nào được tải lên.
Tổng quan các dạng chuẩn hóa
1NF
2NF
3NF
BCNF
4NF
5NF
1NF
2NF
3NF
BCNF
4NF
5NF
Ví dụ vi phạm & Cách sửa
Trước (Chưa chuẩn hóa)
| StudentID | Name | Courses |
|---|---|---|
| 1 | Alice | Math, Physics, Chemistry |
| 2 | Bob | English, Math |
| 3 | Carol | Biology, Chemistry, Physics |
Sau (Đã chuẩn hóa)
StudentCourses
| StudentID | Name | Course |
|---|---|---|
| 1 | Alice | Math |
| 1 | Alice | Physics |
| 1 | Alice | Chemistry |
| 2 | Bob | English |
| 2 | Bob | Math |
| 3 | Carol | Biology |
| 3 | Carol | Chemistry |
| 3 | Carol | Physics |
Ví dụ SQL
SQL Trước (Vi phạm dạng chuẩn)
-- Violates 1NF: multi-valued column CREATE TABLE Students ( StudentID INT PRIMARY KEY, Name VARCHAR(100), Courses VARCHAR(500) -- comma-separated! );
SQL Sau (Đã chuẩn hóa)
-- 1NF: Each cell has atomic values CREATE TABLE Students ( StudentID INT PRIMARY KEY, Name VARCHAR(100) ); CREATE TABLE StudentCourses ( StudentID INT, Course VARCHAR(100), PRIMARY KEY (StudentID, Course), FOREIGN KEY (StudentID) REFERENCES Students(StudentID) );
