Ett schema definierar hur data är organiserad i en databas. Det specificerar tabeller, kolumner, datatyper, begränsningar och relationer. Schemat är ritningen. Databasen är byggnaden. Ett väl utformat schema gör frågor enkla och data konsekventa. Ett dåligt utformat schema skapar problem som är svåra att åtgärda senare. Att ändra ett schema efter att data finns kräver migreringar som kan orsaka att applikationer slutar fungera och data skadas.
Scheman finns på olika nivåer. Det konceptuella schemat beskriver affärsenheterna och deras relationer. Det logiska schemat lägger till detaljer: tabeller, kolumner och nycklar. Det fysiska schemat specificerar lagring: filgrupper, index och partitioner. Varje nivå betjänar en annan målgrupp. Affärsanalytiker förstår det konceptuella schemat. Utvecklare arbetar med de logiska och fysiska. I vissa databaser tillämpas schemat strikt. I andra är det flexibelt. Dokumentdatabaser har ofta inget tillämpat schema alls. Applikationen definierar strukturen. Den flexibiliteten påskyndar utvecklingen men flyttar ansvaret till applikationen. Utan schematillämpning kommer dålig data lätt in. Databasen accepterar vad applikationen än skickar. Ett schema är ett kontrakt. Det anger hur informationen ser ut och vilka regler den följer. Att bryta kontraktet förstör allt som byggts på det.
Schemakomponenter
- Tabeller — entiteter i datamodellen
- Kolumner — attribut med datatyper
- Nycklar — primära och främmande nycklar
- Begränsningar — regler för giltiga data
- Index — strukturer för frågeprestanda
- Vyer — sparade frågor presenterade som tabeller
Ett schema är en plan. Utan det är databasen en hög med data utan struktur.
Comments
No comments yet. Be the first to share a thought.
Leave a comment