Database-normalisator

Interaktiv guide til databasenormaliseringsformer (1NF til 5NF/BCNF). Lær med visuelle eksempler, der viser denormaliserede data og korrekt normaliserede resultater.

Al behandling sker i din browser. Ingen data uploades.
Offline Ready

Database-normalisator

Interaktiv guide til databasenormaliseringsformer (1NF til 5NF/BCNF). Lær med visuelle eksempler, der viser denormaliserede data og korrekt normaliserede resultater.

🔒Al behandling sker i din browser. Ingen data uploades.
Oversigt over normaliseringsformer
1NF
2NF
3NF
BCNF
4NF
5NF
1NF
2NF
3NF
BCNF
4NF
5NF
Eksempel på overtrædelse & løsning

Før (denormaliseret)

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

Efter (normaliseret)

StudentCourses
StudentIDNameCourse
1AliceMath
1AlicePhysics
1AliceChemistry
2BobEnglish
2BobMath
3CarolBiology
3CarolChemistry
3CarolPhysics
SQL-eksempler
SQL før (overtræder normalform)
-- Violates 1NF: multi-valued column
CREATE TABLE Students (
  StudentID INT PRIMARY KEY,
  Name VARCHAR(100),
  Courses VARCHAR(500)  -- comma-separated!
);
SQL efter (normaliseret)
-- 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)
);