A tietokantaskeema on kokoelma metatietoja, joka kuvaa tietokannan objektien ja tiedon välisiä suhteita. Helppo tapa esittää skeemaa on ajatella sitä laatikkona, jossa on taulukoita, tallennettuja proseduureja, näkymiä ja niihin liittyviä tietoresursseja. Järjestelmä määrittelee tämän laatikon infrastruktuurin.
Tietoresurssisäiliöt
Juuritasolla skeema toimii tietoresurssien säilönä. Eri tietokantatoimittajat kuitenkin jäsentävät skeemansa eri tavoin. Esimerkiksi Oracle käsittelee jokaista skeemaa käyttäjätilinä. Luodakseen uuden skeeman tietokannan järjestelmänvalvoja luo uuden tietokannan käyttäjän, jolla on aiottu skeeman nimi.
Miksi aikataulut ovat tärkeitä
Koska skeemat ovat tietokannan rakenneosia, useimmat tietokantaympäristöt käyttävät käyttöoikeuksia skeematason objekteille. Esimerkiksi yrityksen tietokanta voi sisältää useita käyttäjiä. Jokaiselle käyttäjälle on annettu järjestelmä, mutta pääsy eri järjestelmiin myönnetään yksilöllisesti ja käyttöoikeuksien tarkkuudella kotijärjestelmän ulkopuolisille käyttäjille. Useimmat tietokannan hallintatyökalut eivät lue skeemoja; sen sijaan he luettelevat tietokantoja ja käyttäjiä.
Esimerkiksi yritys luo käyttäjätilejä (skeemoja) Bobille ja Janelle. Se luo myös tilejä osastoille, kuten HR ja markkinointi. Sitten se antaa kunkin osaston analyytikolle pääsyn osaston kaavatiliin. HR-analyytikko luo taulukoita ja näkymiä HR-skeemaan ja antaa Bobille oikeuden lukea (mutta ei kirjoittaa) HR-taulukkoa, jossa on työntekijöiden nimiä ja henkilötunnusnumeroita. HR-analyytikko voi myös myöntää Janelle oikeuden lukea ja kirjoittaa HR-taulukkoa työntekijöiden puhelinnumeroista. Myöntämällä käyttöoikeudet tällä tavalla, vain asianmukaiset roolit ja käyttäjät voivat lukea, kirjoittaa tai muokata tietoja erillisessä tietokohteessa suuremmassa tietokannassa. Jokainen tietokantakone pitää skeemoja perustavanlaatuisena menetelmänä tietojen erottamisessa usean käyttäjän ympäristössä. Eri tietokantakoneet kohtelevat käyttäjiä ja skeemoja eri tavalla. Tutustu tietokantamoottorisi dokumentaatioon käyttäjien, skeemojen ja käyttöoikeuksien syntaksiin ja loogisiin malleihin.
Luo aikatauluja
Kaava määritellään muodollisesti SQL:n (Structured Query Language) avulla. Esimerkiksi Oraclessa luot skeeman luomalla sen omistaman käyttäjätilin:
LUO KÄYTTÄJÄ bob
TUNNISTETTU väliaikaisella_salasanalla
OLETUSTAULUKKOPAIKKA esimerkki
QUOTA 10M ON esimerkki
VÄLIAIKAINEN PÖYTÄTILA temp
QUOTA 5M ON -järjestelmä
PROFIILI app_user
SALASANA PÄÄNTYNYT;
Muut käyttäjät saavat pääsyn uusiin järjestelmiin heidän käyttäjätunnuksensa tai yhden tai useamman roolin kautta, joihin käyttäjätili on lisätty.
Kaaviot vs tietomallit
Kuten tietomalli, skeema ei ole luonnostaan rakennettu tekemään mitään. Sen sijaan se on infrastruktuuri, joka tukee segmentointioikeuksia tietokannassa. Tietomalli on kokoelma taulukoita ja näkymiä, jotka on yhdistetty tietyillä avaimilla. Yhdessä nämä tietovarat palvelevat liiketoimintaa. Tietomallin soveltaminen skeemaan on hyväksyttävää. Suurille ja monimutkaisille tietomalleille niiden yhdistäminen skeemoihin tekee tietokannan älykkäästä hallinnasta. Mutta loogisesti ajatellen ei ole tarvetta käyttää skeemaa tietomallille tai käsitellä tietomallia skeemana.
Henkilöstöosasto voi esimerkiksi ajoittaa tietomallin työntekijöiden suoritusarviointia varten. Sen sijaan, että luotaisiin skeema näitä arviointeja varten, tietomalli voi istua HR-skeemassa (muiden tietomallien kanssa) ja pysyä loogisesti erotettavissa tietomallin objektien taulukkoetuliitteillä ja näyttönimillä. Tietomallille voidaan antaa epävirallinen nimi, kuten: kehityskeskustelutja sitten kaikkia taulukoita ja näkymiä voidaan edeltää PR_. Työntekijäluettelotaulukkoon voidaan viitata seuraavasti: hr.pr_employee ilman uutta suoritusarviointiaikataulua.
FAQ
-
Mitä eroa on tietokantaskeeman ja tietokannan tilan välillä?
Tietokantaskeema kuvaa tietokantaa. Tietokannan tila viittaa tietokannan sisältöön tietyllä hetkellä, ja sitä voidaan pitää tietokantaskeeman jatkeena.
-
Mikä on tietokannan relaatiokaavio?
Relaatioskeema hahmottelee taulukoiden ja toisiinsa linkitettyjen kohteiden väliset suhteet. Kaava voi olla graafinen kuva tai kaavio tai se voidaan kirjoittaa SQL-koodilla.