資料庫正規化工具

資料庫正規化形式(1NF 到 5NF/BCNF)互動式指南。透過視覺化範例學習非正規化資料與正確正規化結果。

所有處理皆在瀏覽器中完成,不會上傳任何資料。
Offline Ready

資料庫正規化工具

資料庫正規化形式(1NF 到 5NF/BCNF)互動式指南。透過視覺化範例學習非正規化資料與正確正規化結果。

🔒所有處理皆在瀏覽器中完成,不會上傳任何資料。
正規化形式概覽
1NF
2NF
3NF
BCNF
4NF
5NF
1NF
2NF
3NF
BCNF
4NF
5NF
違規範例與修正

修正前(非正規化)

StudentIDNameCourses
1AliceMath, Physics, Chemistry
2BobEnglish, Math
3CarolBiology, Chemistry, Physics

修正後(已正規化)

StudentCourses
StudentIDNameCourse
1AliceMath
1AlicePhysics
1AliceChemistry
2BobEnglish
2BobMath
3CarolBiology
3CarolChemistry
3CarolPhysics
SQL 範例
SQL 修正前(違反正規化形式)
-- Violates 1NF: multi-valued column
CREATE TABLE Students (
  StudentID INT PRIMARY KEY,
  Name VARCHAR(100),
  Courses VARCHAR(500)  -- comma-separated!
);
SQL 修正後(已正規化)
-- 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)
);