Vad är ett databasschema?
Ett databasschema är ett sätt att beskriva strukturen och förhållandena mellan information som kommer att användas och lagras i en databas. Vissa scheman är skrivna på ett språk som kan tolkas av databashanteringsprogramvara (DBMS), medan andra är helt abstrakta diagram. De primära elementen i ett databasschema är enheter och tabeller. En enhet är en datamodell för ett objekt i en databas, medan en tabell är en lagrad sekvens av värden eller andra enheter. Liksom en ritning kan ett väl utformat schema användas för att se exakt hur arkitekturen för en databas är konstruerad.
Databasscheman är ibland nödvändiga för att uttryckligen visa hur datum lagras och hur det hänför sig till resten av databasen. En enhet är en representation av en insamling av data. Som alla datastrukturer kan den ha ett antal fält. Enheter har dock vanligtvis ett unikt identifieringsfält. Detta kallas den primära nyckeln.
En primär nyckel är en länk till en tabell. Nyckeln måste vara unik bland alla andra element i tabellen. Ett exempel skulle vara ett kundnummer för en databas som spårar butiksköp. Varje enhet kan bara ha en primär nyckel.
Enheter kan också ha valfritt antal utländska nycklar. En utländsk nyckel är ofta den primära nyckeln för en annan enhet i en annan tabell. I exemplet ovan kan en utländsk nyckel vara ett ordernummer för den kunden.
I relationella databaser används primära och utländska nycklar för att uttrycka det mycket viktiga begreppet en-till-många-relationer. I det angivna exemplet kan en kund ha många olika beställningar och ordernummer. Det motsatta är inte sant, eftersom beställningen kan ha endast en kund. En-till-många-relationer är en del av anledningen till att ett databasschema är nödvändigt.
En annan typ av förhållande kallas många-till-många. Detta är ett exempel där ett företag inte bara kan ha många relationer till en enda typ, utan också kan inkluderas i många typer av en annan typ. Ett exempel på detta är hur valfritt antal kunder kan beställa samma produkt. Samtidigt kan en kund beställa valfritt antal produkter. Detta många-till-många-förhållande är vanligt men kräver speciell datamodellering för att fungera inom databasschemat.
Det finns vissa standardkonventioner som följs när du skapar ett databasschema, men det finns också många sätt att representera datamodellerna. Exakt hur varje schemaobjekt representeras i en abstrakt design är upp till datormodellerens bedömning. I vissa situationer kan ett DBMS-system acceptera ett databasschema som skrivs på ett specifikt sätt och faktiskt implementera en del av designen automatiskt.