Skip to content

Normalisering

Det er steps, som standardiserer en tabel efter principperne ved normalisering. NF står for "Normal Form".

  • 1st/First Normal Form (1NF)
  • 2nd/Second Normal Form (NF2)
  • 3rd/Third Normal Form (NF3)
  • Boyce-Codd Normal Form (BCNF)

1st/First Normal Form (1NF)

  1. Single Valued Attributes, sørger for at en kolonne kun har en værdi.
  2. Attribute Domain should not change, sørger for at navnet relaterer sig til den data som bliver gemt i kolonnen.
  3. Unique name for Attributes/Columns, sørger for hver kolonne har et unikt navn.
  4. Order doesn't matters, betyder bare at rækkefølgen af data i en tabel ikke gør noget.

2nd/Second Normal Form (NF2)

  1. 1NF skal være overholdt.
  2. There should be no Partial Dependency sørger for at en ikke-nøgle-attribut kun afhænger af hele den primærnøgle.

Eksempel:

OrderId, ProductId, ProductName, Quantity
(OrderId, ProductId) -> Ordre kan have flere produkter
Quantity afhænger af hele nøglen, altså både OrderId og ProductId
ProductName afhænger kun af ProductId

Dermed har ProductName en Partial Dependency!

3rd/Third Normal Form (NF3)

  1. 1NF og 2NF skal være overholdt.
  2. It should not have Transitive Dependency sørger for at en ikke-nøgle-attribut afhænger af primærnøglen og ikke en anden ikke-nøgle-attribut.

Eksempel:

StudentId, StudentName, DepartmentId, DepartmentName

StudentId -> StudentName
StudentId -> DepartmentId
DepartmentId -> DepartmentName

DepartmentName afhænger af DepartmentId, og dermed har en Transitive Dependency!

Boyce-Codd Normal Form (BCNF)

  1. 1NF, 2NF og 3NF skal være overholdt.
  2. For any dependency A → B, A should be a super key sørger for en kolonne tydeligt identificerer hver række i tabellen.