Databázová schéma je zbierka metadát, ktorá popisuje vzťahy medzi objektmi a informáciami v databáze. Jednoduchý spôsob, ako si predstaviť schému, je predstaviť si ju ako box, ktorý obsahuje tabuľky, uložené procedúry, zobrazenia a súvisiace dátové aktíva. Schéma definuje infraštruktúru tohto boxu.
Zrátané podčiarknutie
Na základnej úrovni schéma slúži ako kontajner pre dátové aktíva. Rôzni predajcovia databáz však štruktúrujú svoje schémy rôznymi spôsobmi. Napríklad Oracle považuje každú schému za používateľský účet. Ak chcete vytvoriť novú schému, správca databázy vytvorí nového používateľa databázy so zamýšľaným názvom schémy.
Prečo na schémach záleží
Pretože schémy tvoria základný štrukturálny prvok databázy, väčšina databázových prostredí uplatňuje prístupové oprávnenia k objektom na úrovni schémy.
Firemná databáza môže napríklad obsahovať sériu používateľov. Každý používateľ získa schému, ale prístup k rôznym schémam je udelený individuálne a s podrobnými povoleniami používateľom mimo domovskej schémy.
Väčšina nástrojov na správu databáz neuvádza schémy; namiesto toho uvádzajú databázy a používateľov.
Spoločnosť napríklad vytvára používateľské účty (schémy) pre Boba a Janu. Vytvára tiež účty pre oddelenia ako HR a marketing. Potom poskytne analytikovi v každom oddelení prístup k účtu schémy ich oddelenia.
HR analytik vytvára tabuľky a zobrazenia v rámci HR schémy a udeľuje Bobovi prístup na čítanie (ale nie zapisovanie) HR tabuľky, ktorá obsahuje mená zamestnancov a identifikačné čísla zamestnancov. Personálny analytik môže tiež udeliť Jane prístup, aby mohla čítať a zapisovať do tabuľky ľudských zdrojov, ktorá obsahuje telefónne čísla zamestnancov.
Povolením prístupu týmto spôsobom môžu údaje v samostatnom dátovom aktíve v rámci väčšej databázy čítať, zapisovať alebo upravovať iba správne roly a používatelia.
Každý databázový stroj sa pozerá na schémy ako na základnú metódu segregácie údajov v prostredí s viacerými používateľmi.
Rôzne databázové nástroje zaobchádzajú s používateľmi a schémami odlišne. Pozrite si dokumentáciu k svojmu databázovému nástroju, kde nájdete modely syntaxe a logiky obklopujúce používateľov, schémy a udelené povolenia.
Vytváranie schém
Schéma je formálne definovaná pomocou jazyka SQL (Structured Query Language). Napríklad v systéme Oracle vytvoríte schému vytvorením používateľského účtu, ktorý ju vlastní:
VYTVORIŤ POUŽÍVATEĽA bob
IDENTIFIKOVANÉ PODĽA dočasného_hesla
VÝCHOZÍ TABLESPACE príklad
KVÓTA 10 MIL. NA príklade
QUOTA 5M ON system
PROFIL app_user
PASSWORD EXPIRE;
Ostatným používateľom je udelený prístup k novým schémam na základe ich používateľského mena alebo jednej alebo viacerých rolí, ku ktorým bol používateľský účet pridaný.
Schémy vs. dátové modely
Rovnako ako dátový model, ani schéma nie je vnútorne štruktúrovaná tak, aby niečo robila. Namiesto toho je to infraštruktúra na podporu povolení na segmentáciu v databáze.
Dátový model je zbierka tabuliek a zobrazení spojených špecifickými kľúčmi. Tieto dátové aktíva slúžia spoločne na obchodné účely. Je prijateľné použiť dátový model na schému – pre veľké a komplexné dátové modely, ich spojenie so schémami umožňuje inteligentnú správu databáz. Nie je však logicky potrebné použiť schému pre dátový model alebo považovať dátový model za schému.
Oddelenie ľudských zdrojov môže napríklad do svojej schémy zahrnúť dátový model na hodnotenie výkonnosti zamestnancov. Namiesto vytvárania schémy pre tieto kontroly môže dátový model sedieť v HR schéme (spolu s inými dátovými modelmi) a zostať logicky odlišný prostredníctvom predpôn tabuľky a názvov zobrazení pre objekty v dátovom modeli.
Dátový model môže získať neformálny názov, ako napríklad recenzie výkonnosti, a potom môžu mať všetky tabuľky a zobrazenia predponu pr_ Tabuľka so zoznamom zamestnancov môže byť uvedená ako hr.pr_employee bez toho, aby sa vyžadovala nová schéma pre hodnotenie výkonnosti.
FAQ
Aký je rozdiel medzi schémou databázy a stavom databázy?
Databázová schéma popisuje databázu. Stav databázy sa vzťahuje na obsah databázy v danom okamihu a možno ho považovať za rozšírenie schémy databázy.
Čo je relačná schéma databázy?
Relačná schéma načrtáva vzťahy medzi tabuľkami a položkami, ktoré sú navzájom spojené. Schéma môže byť grafická ilustrácia alebo graf, prípadne môže byť napísaná v kóde SQL.