Az adatbázisséma metaadatok gyűjteménye, amely leírja az adatbázisban lévő objektumok és információk közötti kapcsolatokat. Egy sémát egyszerűen úgy képzelhet el, hogy úgy tekint rá, mint egy dobozra, amely táblákat, tárolt eljárásokat, nézeteket és kapcsolódó adatelemeket tartalmaz. Egy séma határozza meg ennek a doboznak az infrastruktúráját.
Bottom Line
Alapszinten a séma az adatvagyon tárolójaként szolgál. A különböző adatbázis-szállítók azonban eltérő módon strukturálják sémáikat. Az Oracle például minden sémát felhasználói fiókként kezel. Új séma létrehozásához az adatbázis-adminisztrátor létrehoz egy új adatbázis-felhasználót a kívánt sémanévvel.
Miért fontosak a sémák
Mivel a sémák az adatbázisok alapvető szerkezeti jellemzői, a legtöbb adatbázis-környezet séma szintű objektumokhoz alkalmaz hozzáférési engedélyeket.
Például egy vállalati adatbázis tartalmazhat egy sor felhasználót. Minden felhasználóhoz tartozik egy séma, de a különböző sémákhoz való hozzáférést egyedileg és az engedélyek részletességével biztosítják az otthoni sémán kívüli felhasználók számára.
A legtöbb adatbázis-kezelő eszköz nem listázza a sémákat; ehelyett adatbázisokat és felhasználókat sorolnak fel.
Például egy vállalat felhasználói fiókokat (sémákat) hoz létre Bob és Jane számára. Ezenkívül fiókokat hoz létre olyan részlegek számára, mint a HR és a Marketing. Ezután minden osztály elemzőjének hozzáférést biztosít az osztály sémafiókjához.
A HR-elemző táblákat és nézeteket hoz létre a HR-sémán belül, és hozzáférést biztosít Bobnak egy olyan HR-tábla olvasásához (de nem írásához), amely felsorolja az alkalmazottak neveit és az alkalmazottak azonosítószámait. Ezenkívül a HR-elemző hozzáférést biztosíthat Jane-nek, hogy olvasson és írjon egy HR-táblázatot, amely felsorolja az alkalmazottak telefonszámait.
A hozzáférés ilyen módon történő megadásával csak a megfelelő szerepkörök és felhasználók olvashatják, írhatják vagy módosíthatják a nagyobb adatbázison belüli önálló adatelem adatait.
Minden adatbázismotor a sémákat tekinti az adatok szétválasztásának alapvető módszerének egy többfelhasználós környezetben.
A különböző adatbázismotorok eltérően kezelik a felhasználókat és a sémákat. Tekintse meg az adatbázismotor dokumentációját a felhasználókat, sémákat és engedélyeket körülvevő szintaktikai és logikai modellek megismeréséhez.
Sémák létrehozása
A séma formálisan a Structured Query Language (SQL) használatával van meghatározva. Például az Oracle-ben létrehozhat egy sémát a tulajdonos felhasználói fiók létrehozásával:
FELHASZNÁLÓ LÉTREHOZÁSA bob
Az ideiglenes_jelszó által azonosítva
ALAPÉRTELMEZETT TABLESPACE példa
QUOTA 10M ON example
TEMPORARY TABLESPACEtempTEMPORARY TABLESPACE QUOTA 5M ON system
PROFILE app_user
JELSZÓ LEJÁRA;
Más felhasználók hozzáférést kapnak az új sémákhoz a felhasználónevük vagy egy vagy több olyan szerepkör alapján, amelyhez a felhasználói fiók hozzá lett adva.
Sémák kontra adatmodellek
Az adatmodellekhez hasonlóan a séma sem belső felépítésű, hogy bármit is csináljon. Ehelyett egy olyan infrastruktúra, amely támogatja a szegmentálási engedélyeket egy adatbázisban.
Az adatmodell meghatározott kulcsokkal összekapcsolt táblázatok és nézetek gyűjteménye. Ezek az adateszközök együttesen üzleti célt szolgálnak. Elfogadható az adatmodell alkalmazása egy sémára – nagy és összetett adatmodellek esetén, ezek sémákkal való társítása intelligens adatbázis-adminisztrációt tesz lehetővé. De logikailag nem szükséges sémát használni egy adatmodellhez, vagy egy adatmodellt sémaként kezelni.
Például a HR-részleg beépíthet egy adatmodellt az alkalmazottak teljesítményértékeléséhez a sémájába. Ahelyett, hogy sémát hozna létre ezekhez az áttekintésekhez, az adatmodell belefér a HR sémába (más adatmodellekkel együtt), és logikailag elkülönülhet a tábla előtagjaival és az adatmodellben lévő objektumok nézetneveivel.
Az adatmodell kaphat egy informális nevet, például teljesítményértékelések, majd minden táblázat és nézet előtagja lehet: pr_ Előfordulhat, hogy az alkalmazottak listája táblázat hr.pr_employee néven hivatkozik anélkül, hogy új sémára lenne szükség a teljesítményértékelésekhez.
GYIK
Mi a különbség az adatbázisséma és az adatbázis-állapot között?
Egy adatbázisséma írja le az adatbázist. Az adatbázisállapot egy adatbázis tartalmára utal egy adott pillanatban, és az adatbázisséma kiterjesztésének tekinthető.
Mi az adatbázis relációs sémája?
A relációs séma felvázolja az egymáshoz társított táblák és elemek közötti kapcsolatokat. A séma lehet grafikus illusztráció vagy diagram, vagy megírható SQL kóddal.