Indholdsfortegnelse:
Definition - Hvad betyder Second Normal Form (2NF)?
Anden normal form (2NF) er det andet trin i normalisering af en database. 2NF bygger på den første normale form (1NF).
Normalisering er processen med at organisere data i en database, så de opfylder to grundlæggende krav:
- Der er ingen overflødighed af data (alle data gemmes kun ét sted).
- Dataafhængighed er logisk (alle relaterede dataelementer gemmes sammen).
En 1NF-tabel er i 2NF-form, hvis og kun hvis alle dens ikke-primære attributter funktionelt er afhængige af hele hver kandidatnøgle.
Techopedia forklarer Second Normal Form (2NF)
Efter at have opfyldt kravene i 1NF kræver 2NF databasedesigneren at gøre følgende:
- Opdel alle data, der resulterer i mange-til-mange-forhold, og gem dataene som separate tabeller. For eksempel, i en database, der bruges af en skoles applikation, er to af tabellerne STUDENT og UNDERVISNING. I det virkelige liv tager en studerende flere fag samtidig, mens et fag studeres af flere studerende. Dette er mange-til-mange forhold. 2NF siger, at dette forhold skal opdeles i mere end de to tabeller ovenfor (STUDENT og SUBJECT). En måde at opdele dem på er ved at introducere en tredje tabel, der indeholder kolonnerne Student_ID, Subject_ID, Semester og Year. På denne måde er der ikke noget direkte forhold mellem STUDENT og SUBJECT, fordi alle forhold oprettes indirekte gennem den tredje tabel.
- Opret forhold mellem tabeller ved hjælp af fremmede nøgler. For eksempel indeholder en banks database to tabeller: CUSTOMER_MASTER (til opbevaring af kundeoplysninger) og ACCOUNT_MASTER (til lagring af detaljer om bankkonti, herunder hvilken kunde, der har hvilken konto). Der skal være en måde at forbinde de to tabeller for at vide, hvem kunden er for hver konto. Måden at gøre dette på er via en fremmed nøgle, som er en kolonne i ACCOUNT_MASTER-tabellen, der peger på en tilsvarende kolonne i CUSTOMER_MASTER-tabellen.
En tabel, hvor der ikke er delvise funktionelle afhængigheder af den primære nøgle, er muligvis eller ikke i 2NF. Ud over den primære nøgle kan tabellen indeholde andre kandidatnøgler; det er nødvendigt at fastslå, at ingen ikke-primære attributter har delnøgleafhængighed af nogen af disse kandidatnøgler.
