Mis on andmebaasi skeem?

Andmebaasiskeem on viis, kuidas kirjeldada andmebaasis kasutatava ja selles hoitava teabe struktuuri ja seoseid. Mõned skeemid on kirjutatud keeles, mida saab tõlgendada andmebaasihaldustarkvaraga (DBMS), samas kui teised on täiesti abstraktsed diagrammid. Andmebaasi skeemi põhielemendid on olemid ja tabelid. Olem on andmebaasis oleva objekti andmemudel, tabel aga väärtuste või muude olemite salvestatud jada. Nagu kavandit, saab hästi läbimõeldud skeemi kasutada selleks, et näha täpselt, kuidas andmebaasi arhitektuur on üles ehitatud.

Andmebaasiskeemid on mõnikord vajalikud selleks, et näidata selgelt, kuidas andmed salvestatakse ja kuidas see on seotud ülejäänud andmebaasiga. Olem on andmekogu esitus. Nagu igal andmestruktuuril, võib sellel olla mitu välja. Ent olemitel on tavaliselt ainulaadne identifitseerimisväli. Seda nimetatakse primaarvõtmeks.

Primaarvõti on link tabelile. Võti peab olema ainulaadne kõigi teiste tabeli elementide hulgas. Näiteks võib tuua poeoste jälgiva andmebaasi kliendinumbri. Igal olemil võib olla ainult üks primaarvõti.

Olemitel võib olla ka suvaline arv võõrvõtmeid. Võõrvõti on enamasti mõne teise tabelis oleva teise olemi primaarvõti. Ülaltoodud näites võib välisvõti olla selle kliendi tellimuse number.

Relatsiooniandmebaasides kasutatakse primaar- ja võõrvõtmeid väga olulise üks-mitmele suhete mõiste väljendamiseks. Toodud näites võib kliendil olla palju erinevaid tellimusi ja tellimusenumbreid. Vastupidine pole tõsi, sest tellimusel saab olla ainult üks klient. Üks-mitmele seosed on osa põhjusest, miks andmebaasiskeem on vajalik.

Teist tüüpi suhteid nimetatakse palju-paljudele. See on juhtum, kus olemil ei saa olla ainult palju seoseid ühe tüübiga, vaid see võib olla kaasatud paljudesse tüüpidesse teise tüübi kaudu. Selle näiteks on see, kuidas suvaline arv kliente saab tellida sama toote. Samal ajal saab klient tellida suvalise arvu tooteid. See mitu-mitmele suhe on tavaline, kuid andmebaasi skeemis töötamiseks on vaja spetsiaalset andmemodelleerimist.
Kuigi andmebaasiskeemi loomisel järgitakse mõningaid standardseid tavasid, on andmemudelite esitamiseks ka mitmeid viise. See, kuidas iga skeemiobjekti abstraktses kujunduses täpselt kujutatakse, sõltub andmemodelleerija äranägemisest. Mõnes olukorras suudab DBMS-süsteem aktsepteerida kindlal viisil kirjutatud andmebaasi skeemi ja tegelikult osa kujundusest automaatselt rakendada.