เครื่องมือนอร์มอลไลซ์ฐานข้อมูล

คู่มือเชิงโต้ตอบเกี่ยวกับรูปแบบนอร์มอลไลเซชันของฐานข้อมูล (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)
);