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)
- Single Valued Attributes, sørger for at en kolonne kun har en værdi.
- Attribute Domain should not change, sørger for at navnet relaterer sig til den data som bliver gemt i kolonnen.
- Unique name for Attributes/Columns, sørger for hver kolonne har et unikt navn.
- Order doesn't matters, betyder bare at rækkefølgen af data i en tabel ikke gør noget.
2nd/Second Normal Form (NF2)
- 1NF skal være overholdt.
- 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)
- 1NF og 2NF skal være overholdt.
- 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)
- 1NF, 2NF og 3NF skal være overholdt.
- For any dependency A → B, A should be a super key sørger for en kolonne tydeligt identificerer hver række i tabellen.