Home Databaser Datamodellering

Datamodellering

Ved lagring av store datamengder i en datamaskin brukes vanligvis en database. Den vanligste formen for database er det vi kaller for relasjonsdatabaser og det er det vi beskriver her. En datamodell er en grafisk modell av strukturen på det som skal lagres i databasen.

Vi starter med å finne ut hvilke entiteter (enheter) det skal lagres informasjon om. Vi legger også inn informasjon om hva som skal lagres om hver entitet. Dette kalles attributter . Til slutt legger vi inn informasjon om relasjoner mellom entitetene.


Definisjoner:

  • primærnøkkel
    Ett attributt eller en kombinasjon av attributter som unikt identifiserer hver entitet
  • kandidatnøkkel
  • En kandidatnøkkel er et minimalt sett med attributter i en relasjon som entydig bestemmer en rad i relasjonen.
  • fremmednøkkel
    Et attributt i en relasjon som refererer til en annen relasjon. Oftest er dette attributtet en primærnøkkel i relasjonen den er hentet fra. Fremmednøkler brukes for å unngå å miste koblinger mellom data når sammenhengstypene i ER-diagrammet splittes opp og legges i relasjoner.

Normalformene

  • Første normalform (1NF)
    krever at hver rad i en tabell inneholder såkalt atomisk verdi; dvs. en verdi som ikke kan deles opp i flere verdier. Første normalform krever også at hver rad i tabellen unikt kan identifiseres gjennom en primærnøkkel
  • 2NF (andre normalform)
    Den andre normalformen (2NF) krever at alle data i en tabell er avhengige av hele primærnøkkelen. Om det er data i tabellen som bare delvis er avhengig av primærnøkkelen, må de splittes ut i separate tabeller. Kravene for å nå andre normalform er altså at tabellen må være i første normalform, og at alle kolonner som ikke er nøkler er totalt avhengig av hele nøkkelen i tabellen.
  • 3NF (tredje normalform)
    Den tredje normalformen krever at alle data i en tabell ikke er avhengig av data som ikke er en del av en nøkkel. Kravene for å nå tredje normalform er altså at tabellen må være i andre normalform, og at alle kolonner som ikke er nøkler ikke er avhengig av andre kolonner som heller ikke er nøkler.

norm

Lenker: 

SHARE