Andra normala formen (2NF)

Författare: Randy Alexander
Skapelsedatum: 24 April 2021
Uppdatera Datum: 14 Maj 2024
Anonim
Semifinals Game 2 | Belgrade FIDE Grand Prix | Leg 2 | Peter Svidler & Jan Gustafsson
Video: Semifinals Game 2 | Belgrade FIDE Grand Prix | Leg 2 | Peter Svidler & Jan Gustafsson

Innehåll

Definition - Vad betyder Second Normal Form (2NF)?

Second normal form (2NF) är det andra steget i att normalisera en databas. 2NF bygger på den första normala formen (1NF).


Normalisering är processen för att organisera data i en databas så att de uppfyller två grundläggande krav:

  • Det finns ingen redundans för data (all data lagras endast på en plats).
  • Databeroenden är logiska (alla relaterade dataobjekt lagras tillsammans).

En 1NF-tabell är i 2NF-form om och bara om alla dess icke-primära attribut är funktionellt beroende av hela kandidatnyckeln.

En introduktion till Microsoft Azure och Microsoft Cloud | I hela denna guide kommer du att lära dig vad cloud computing handlar om och hur Microsoft Azure kan hjälpa dig att migrera och driva ditt företag från molnet.

Techopedia förklarar Second Normal Form (2NF)

Efter att ha uppfyllt kraven i 1NF kräver 2NF databasdesignern att göra följande:

  1. Dela upp all data som resulterar i många-till-många-relationer och lagra data som separata tabeller. Till exempel, i en databas som används av en skolans applikation är två av tabellerna STUDENT och SUBJECT. I verkligheten tar en student flera ämnen samtidigt medan ett ämne studeras av flera studenter. Det här är många-till-många relationer. 2NF säger att detta förhållande måste delas upp i mer än de två tabellerna ovan (STUDENT och SUBJECT). Ett sätt att dela upp dem är genom att införa en tredje tabell, som innehåller kolumnerna Student_ID, Subject_ID, Semester och Year. På detta sätt finns det ingen direkt relation mellan STUDENT och SUBJECT eftersom alla relationer skapas indirekt genom den tredje tabellen.
  2. Skapa relationer mellan tabeller med hjälp av utländska nycklar. Till exempel innehåller en banks databas två tabeller: CUSTOMER_MASTER (för att lagra kundinformation) och ACCOUNT_MASTER (för att lagra information om bankkonton, inklusive vilken kund som innehar vilket konto). Det måste finnas ett sätt att länka de två tabellerna för att veta vem kunden är för varje konto. Sättet att göra detta är via en utländsk nyckel, som är en kolumn i tabellen ACCOUNT_MASTER som pekar på en motsvarande kolumn i CUSTOMER_MASTER-tabellen.

En tabell för vilken det inte finns några partiella funktionella beroenden av den primära nyckeln kanske eller kanske inte finns i 2NF. Förutom den primära nyckeln kan tabellen innehålla andra kandidatnycklar; det är nödvändigt att fastställa att inga icke-primära attribut har delnyckelberoende på någon av dessa kandidatnycklar.