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.