Shema baze podatkov je zbirka metapodatkov, ki opisuje razmerja med objekti in informacijami v bazi podatkov. Enostaven način, da si zamislite shemo, je, da si jo predstavljate kot škatlo, ki vsebuje tabele, shranjene procedure, poglede in povezana podatkovna sredstva. Shema določa infrastrukturo tega polja.
Spodnja vrstica
Na osnovni ravni shema služi kot vsebnik za podatkovna sredstva. Vendar različni prodajalci baz podatkov strukturirajo svoje sheme na različne načine. Oracle na primer vsako shemo obravnava kot uporabniški račun. Za ustvarjanje nove sheme skrbnik baze podatkov ustvari novega uporabnika baze podatkov s predvidenim imenom sheme.
Zakaj so sheme pomembne
Ker sheme predstavljajo osnovno strukturno značilnost baze podatkov, večina okolij baz podatkov uporablja dovoljenja za dostop do objektov na ravni sheme.
Na primer, zbirka podatkov podjetja lahko vsebuje niz uporabnikov. Vsak uporabnik ima svojo shemo, vendar je dostop do različnih shem dodeljen individualno in z natančnostjo dovoljenj uporabnikom zunaj domače sheme.
Večina orodij za upravljanje baze podatkov ne navaja shem; namesto tega navajajo baze podatkov in uporabnike.
Na primer, podjetje ustvari uporabniška računa (sheme) za Boba in Jane. Prav tako ustvari račune za oddelke, kot sta HR in marketing. Nato omogoči analitiku v vsakem oddelku dostop do računa sheme njihovega oddelka.
Kadrovski analitik ustvari tabele in poglede znotraj kadrovske sheme in odobri Bobu dostop do branja (vendar ne pisanja) kadrovske tabele, ki navaja imena zaposlenih in ID številke zaposlenih. Poleg tega lahko kadrovski analitik odobri Jane dostop do branja in pisanja v kadrovsko tabelo, v kateri so navedene telefonske številke zaposlenih.
Če omogočite dostop na ta način, lahko samo prave vloge in uporabniki berejo, pišejo ali spreminjajo podatke v samostojnem podatkovnem sredstvu znotraj večje baze podatkov.
Vsak mehanizem baze podatkov vidi sheme kot temeljno metodo ločevanja podatkov v večuporabniškem okolju.
Različni motorji baze podatkov različno obravnavajo uporabnike in sheme. Glejte dokumentacijo za vaš mehanizem zbirke podatkov, da odkrijete sintakso in logične modele, ki obkrožajo uporabnike, sheme in odobritve dovoljenj.
Ustvarjanje shem
Shema je formalno definirana z uporabo Structured Query Language (SQL). Na primer, v Oraclu ustvarite shemo tako, da ustvarite uporabniški račun, ki je njen lastnik:
USTVARI UPORABNIKA bob
IDENTIFICIRAN PO temporary_password
DEFAULT TABLESPACE example
QUOTA 10M ON example
TEMPORARY TABLESPACE temp
QUOTA 5M ON system
PROFILE app_user
PASSWORD EXTEKE;
Drugi uporabniki imajo dostop do novih shem na podlagi svojega uporabniškega imena ali ene ali več vlog, ki jim je bil dodan uporabniški račun.
Sheme proti podatkovnim modelom
Tako kot podatkovni model tudi shema ni sama po sebi strukturirana, da bi kar koli naredila. Namesto tega je infrastruktura za podporo dovoljenj za segmentacijo v bazi podatkov.
Podatkovni model je zbirka tabel in pogledov, združenih na določenih ključih. Ta podatkovna sredstva skupaj služijo poslovnemu namenu. Podatkovni model je sprejemljivo uporabiti za shemo – za velike in zapletene podatkovne modele, njihovo povezovanje s shemami omogoča pametno upravljanje baze podatkov. Ni pa logično, da je treba za podatkovni model uporabiti shemo ali podatkovni model obravnavati kot shemo.
Na primer, kadrovski oddelek lahko v svojo shemo vključi podatkovni model za preglede uspešnosti zaposlenih. Namesto ustvarjanja sheme za te preglede lahko podatkovni model sedi v shemi HR (skupaj z drugimi podatkovnimi modeli) in ostane logično ločen s predponami tabele in imen pogledov za objekte v podatkovnem modelu.
Podatkovni model si lahko prisluži neuradno ime, kot je pregledi uspešnosti, nato pa imajo lahko vse tabele in pogledi predpono pr_ Tabela s seznamom zaposlenih se lahko sklicuje na hr.pr_employee, ne da bi bila potrebna nova shema za preglede uspešnosti.
FAQ
Kakšna je razlika med shemo baze podatkov in stanjem baze podatkov?
Shema baze podatkov opisuje bazo podatkov. Stanje baze podatkov se nanaša na vsebino baze podatkov v določenem trenutku in se lahko šteje za razširitev sheme baze podatkov.
Kaj je relacijska shema baze podatkov?
Relacijska shema opisuje odnose med tabelami in elementi, ki so med seboj povezani. Shema je lahko grafična ilustracija ali grafikon ali pa je napisana v kodi SQL.