数据库规范化工具

数据库规范化形式(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)
);