Andmebaasiskeem on metaandmete kogum, mis kirjeldab seoseid objektide ja teabe vahel andmebaasis. Lihtne viis skeemi kujutamiseks on pidada seda kastiks, mis sisaldab tabeleid, salvestatud protseduure, vaateid ja seotud andmevarasid. Skeem määrab selle kasti infrastruktuuri.
Alumine rida
Algtasemel toimib skeem andmevarade konteinerina. Erinevad andmebaasimüüjad struktureerivad oma skeeme aga erineval viisil. Näiteks Oracle käsitleb iga skeemi kasutajakontona. Uue skeemi loomiseks loob andmebaasi administraator uue andmebaasi kasutaja ettenähtud skeemi nimega.
Miks skeemid on olulised
Kuna skeemid moodustavad andmebaasi põhilise struktuuriomaduse, rakendab enamik andmebaasikeskkondi skeemi tasemel objektidele juurdepääsuõigusi.
Näiteks võib ettevõtte andmebaas sisaldada mitmeid kasutajaid. Igal kasutajal on skeem, kuid juurdepääs erinevatele skeemidele antakse koduskeemist väljaspool olevatele kasutajatele individuaalselt ja vastav alt lubade detailsusele.
Enamik andmebaasihaldustööriistu ei loetle skeeme; selle asemel loetlevad nad andmebaasid ja kasutajad.
Näiteks loob ettevõte Bobi ja Jane'i jaoks kasutajakontod (skeemid). Samuti loob see kontosid sellistele osakondadele nagu personalijuhtimine ja turundus. Seejärel annab see iga osakonna analüütikule juurdepääsu oma osakonna skeemikontole.
Personali analüütik loob tabeleid ja vaateid HR-skeemi raames ning annab Bobile juurdepääsu personali tabeli lugemiseks (kuid mitte kirjutamiseks), mis sisaldab töötajate nimesid ja ID-numbreid. Samuti võib personalianalüütik anda Jane'ile juurdepääsu personali tabeli lugemiseks ja kirjutamiseks, kus on loetletud töötajate telefoninumbrid.
Nii juurdepääsu andmisel saavad ainult õiged rollid ja kasutajad lugeda, kirjutada või muuta suurema andmebaasi iseseisva andmevara andmeid.
Iga andmebaasimootor näeb skeeme kui põhimeetodit andmete eraldamisel mitme kasutajaga keskkonnas.
Erinevad andmebaasimootorid kohtlevad kasutajaid ja skeeme erinev alt. Kasutajaid ümbritsevate süntaksi- ja loogikamudelite, skeemide ja lubade leidmiseks vaadake oma andmebaasimootori dokumentatsiooni.
Skeemide loomine
Skeem on ametlikult määratletud struktureeritud päringukeele (SQL) abil. Näiteks Oracle'is saate luua skeemi, luues seda omava kasutajakonto:
LOO KASUTAJA bob
IDENTIFITSEERITUD ajutise_parooli järgi
DEFAULT TABLESPACE näide
QUOTA 10M ON example
AJUTISED TABESRUUMI QUOTA 5M ON system
PROFILE app_user
PAROOLI AEGUMINE;
Teised kasutajad saavad juurdepääsu uutele skeemidele nende kasutajanime või ühe või mitme rolli alusel, millele kasutajakonto on lisatud.
Skeemid vs. andmemudelid
Nagu andmemudel, ei ole ka skeem sisuliselt üles ehitatud midagi tegema. Selle asemel on see infrastruktuur, mis toetab andmebaasi segmenteerimisõigusi.
Andmemudel on kindlate võtmetega ühendatud tabelite ja vaadete kogu. Need andmevarad teenivad koos ärilist eesmärki. Andmemudeli rakendamine skeemile on vastuvõetav suurte ja keerukate andmemudelite jaoks, nende seostamine skeemidega muudab andmebaasi nutika halduse. Kuid loogiliselt ei ole vaja andmemudeli jaoks kasutada skeemi ega käsitleda andmemudelit skeemina.
Näiteks võib personaliosakond lisada oma skeemi töötajate tulemuslikkuse ülevaatuste andmemudeli. Nende ülevaadete jaoks skeemi loomise asemel võib andmemudel asuda HR-skeemis (koos teiste andmemudelitega) ja jääda tabeli eesliidete ja andmemudelis olevate objektide vaatenimede kaudu loogiliselt eristatavaks.
Andmemudel võib saada mitteametliku nime, nt toimivusülevaateid, ning seejärel võib kõikide tabelite ja vaadete eesliide olla pr_ Töötajate loendi tabelile võib viidata kui hr.pr_employee, ilma et oleks vaja tulemuslikkuse ülevaatuste jaoks uut skeemi.
KKK
Mis vahe on andmebaasiskeemil ja andmebaasi olekul?
Andmebaasi skeem kirjeldab andmebaasi. Andmebaasi olek viitab andmebaasi sisule teatud ajahetkel ja seda võib pidada andmebaasi skeemi laiendiks.
Mis on andmebaasi relatsiooniskeem?
Relatsiooniskeem kirjeldab seoseid omavahel seotud tabelite ja üksuste vahel. Skeem võib olla graafiline illustratsioon või diagramm või see võib olla kirjutatud SQL-koodis.