Hva er et databaseskema?
Et databaseskjema er en måte å beskrive strukturen og forholdene til informasjon som vil bli brukt og oppbevares i en database. Noen skjemaer er skrevet på et språk som kan tolkes av database management software (DBMS), mens andre er helt abstrakte diagrammer. De viktigste elementene i et databaseskjema er enheter og tabeller. En enhet er en datamodell for et objekt i en database, mens en tabell er en lagret sekvens av verdier eller andre enheter. Som en plan, kan et godt designet skjema brukes til å se nøyaktig hvordan arkitekturen til en database er konstruert.
Det er noen ganger nødvendig med databaseskjemaer for eksplisitt å vise hvordan nullpunkt er lagret og hvordan det forholder seg til resten av databasen. En enhet er en representasjon av en samling av data. Som enhver datastruktur, kan den ha et antall felt. Enheter har imidlertid vanligvis et unikt identifiseringsfelt. Dette kalles primærnøkkelen.
En primærnøkkel er en lenke til en tabell. Nøkkelen må være unik blant alle andre elementer i tabellen. Et eksempel er et kundenummer for en database som sporer kjøp av butikker. Hver enhet kan bare ha en primærnøkkel.
Enheter kan også ha et hvilket som helst antall utenlandske nøkler. En fremmed nøkkel er ofte den primære nøkkelen til en annen enhet i en annen tabell. I eksemplet ovenfor kan en fremmed nøkkel være et ordrenummer for den kunden.
I relasjonsdatabaser brukes primære og utenlandske nøkler for å uttrykke det veldig viktige konseptet med en-til-mange-relasjoner. I det gitte eksemplet kan en kunde ha mange forskjellige ordrer og ordrenumre. Det motsatte er ikke sant, fordi ordren bare kan ha en kunde. Forhold mellom én og mange er en del av grunnen til at et databaseskjema er nødvendig.
En annen type forhold kalles mange-til-mange. Dette er et tilfelle der en enhet ikke bare kan ha mange forhold til en enkelt type, men også kan inkluderes i mange typer av en annen type. Et eksempel på dette er hvordan et hvilket som helst antall kunder kan bestille det samme produktet. Samtidig kan en kunde bestille et hvilket som helst antall produkter. Dette mange-til-mange forholdet er vanlig, men krever spesiell datamodellering for å fungere innenfor databaseskjemaet.
Selv om det er noen standardkonvensjoner som følges når du oppretter et databaseskjema, er det også mange måter å representere datamodellene. Nøyaktig hvordan hvert skjemaobjekt er representert i en abstrakt design er opp til skjønn av datamodelleren. I noen situasjoner vil et DBMS-system kunne akseptere et databaseskjema som er skrevet på en spesifikk måte og faktisk implementere noe av designet automatisk.