Databasnormaliserare

Interaktiv guide till databasnormaliseringsformer (1NF till 5NF/BCNF). Lär dig med visuella exempel som visar onormaliserad data och korrekt normaliserade resultat.

All bearbetning sker i din webbläsare. Ingen data laddas upp.
Offline Ready

Databasnormaliserare

Interaktiv guide till databasnormaliseringsformer (1NF till 5NF/BCNF). Lär dig med visuella exempel som visar onormaliserad data och korrekt normaliserade resultat.

🔒All bearbetning sker i din webbläsare. Ingen data laddas upp.
Översikt över normaliseringsformer
1NF
2NF
3NF
BCNF
4NF
5NF
1NF
2NF
3NF
BCNF
4NF
5NF
Överträdelsexempel och fix

Före (onormaliserad)

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

Efter (normaliserad)

StudentCourses
StudentIDNameCourse
1AliceMath
1AlicePhysics
1AliceChemistry
2BobEnglish
2BobMath
3CarolBiology
3CarolChemistry
3CarolPhysics
SQL-exempel
SQL före (bryter mot normalform)
-- Violates 1NF: multi-valued column
CREATE TABLE Students (
  StudentID INT PRIMARY KEY,
  Name VARCHAR(100),
  Courses VARCHAR(500)  -- comma-separated!
);
SQL efter (normaliserad)
-- 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)
);