Hva er et databaseskjema?

Innholdsfortegnelse:

Hva er et databaseskjema?
Hva er et databaseskjema?
Anonim

Et databaseskjema er en samling metadata som beskriver relasjonene mellom objekter og informasjon i en database. En enkel måte å se for seg et skjema på er å tenke på det som en boks som inneholder tabeller, lagrede prosedyrer, visninger og relaterte dataressurser. Et skjema definerer infrastrukturen til denne boksen.

bunnlinjen

På sitt grunnleggende nivå fungerer et skjema som en beholder for dataressurser. Imidlertid strukturerer forskjellige databaseleverandører skjemaene sine på forskjellige måter. Oracle, for eksempel, behandler hvert skjema som en brukerkonto. For å opprette et nytt skjema, oppretter en databaseadministrator en ny databasebruker med det tiltenkte skjemanavnet.

Why Schemas Matter

Fordi skjemaer utgjør en grunnleggende strukturell funksjon i en database, bruker de fleste databasemiljøer tilgangstillatelser til objekter på skjemanivå.

For eksempel kan en firmadatabase inneholde en rekke brukere. Hver bruker pådrar seg et skjema, men tilgang til forskjellige skjemaer gis individuelt, og med detaljerte tillatelser, til brukere utenfor hjemmeskjemaet.

De fleste verktøy for databasebehandling viser ikke skjemaer; i stedet viser de databaser og brukere.

Image
Image

For eksempel oppretter et selskap brukerkontoer (skjemaer) for Bob og Jane. Den oppretter også kontoer for avdelinger som HR og markedsføring. Deretter gir den en analytiker i hver avdeling tilgang til avdelingens skjemakonto.

HR-analytikeren oppretter tabeller og visninger i HR-skjemaet og gir tilgang til Bob til å lese (men ikke skrive til) en HR-tabell som viser ansattes navn og medarbeider-ID-numre. HR-analytikeren kan også gi Jane tilgang til å lese og skrive til en HR-tabell som viser ansattes telefonnumre.

Ved å gi tilgang på denne måten kan bare de riktige rollene og brukerne lese, skrive eller endre dataene i et selvstendig dataelement i den større databasen.

Hver databasemotor ser på skjemaer som den grunnleggende metoden for å segregere data i et flerbrukermiljø.

Ulike databasemotorer behandler brukere og skjemaer forskjellig. Se dokumentasjonen for databasemotoren din for å finne syntaks- og logikkmodellene rundt brukere, skjemaer og tillatelser.

Creating Schemas

Et skjema er formelt definert ved hjelp av Structured Query Language (SQL). I Oracle oppretter du for eksempel et skjema ved å opprette brukerkontoen som eier det:

CREATE USER bob

IDENTIFISED BY temporary_password

DEFAULT TABLESPACE-eksempel

QUOTA 10M ON-eksempel

MIDLERTIDIG TABLESPACE-temp

QUOTA 5M PÅ system

PROFILE app_user

PASSORD UTLØPER;

Andre brukere får tilgang til nye skjemaer i kraft av brukernavnet sitt eller av en eller flere roller som brukerkontoen er lagt til.

skjemaer vs. datamodeller

Som en datamodell er ikke et skjema i seg selv strukturert for å gjøre noe. I stedet er det en infrastruktur for å støtte segmenteringstillatelser i en database.

En datamodell er en samling av tabeller og visninger som er satt sammen på bestemte nøkler. Disse datamidlene tjener sammen et forretningsformål. Det er akseptabelt å bruke en datamodell på et skjema – for store og komplekse datamodeller, og å knytte dem til skjemaer gir smart databaseadministrasjon. Men det er ikke logisk nødvendig å bruke et skjema for en datamodell eller å behandle en datamodell som et skjema.

Image
Image

For eksempel kan HR-avdelingen inkludere en datamodell for ansattes ytelsesgjennomganger i skjemaet sitt. I stedet for å lage et skjema for disse gjennomgangene, kan datamodellen sitte i HR-skjemaet (sammen med andre datamodeller) og forbli logisk forskjellig gjennom prefikser i tabellen og visningsnavn for objektene i datamodellen.

Datamodellen kan få et uformelt navn, for eksempel ytelsesanmeldelser, og da kan alle tabeller og visninger ha prefikset med pr_ Tabellen med ansattoppføringer kan bli referert til som hr.pr_employee uten at det kreves et nytt skjema for resultatgjennomgangene.

FAQ

    Hva er forskjellen mellom et databaseskjema og en databasetilstand?

    Et databaseskjema beskriver databasen. En databasetilstand refererer til innholdet i en database på et tidspunkt og kan betraktes som en utvidelse av databaseskjemaet.

    Hva er et relasjonsskjema for en database?

    Et relasjonsskjema skisserer relasjonene mellom tabeller og elementer som er knyttet til hverandre. Et skjema kan være en grafisk illustrasjon eller diagram, eller det kan skrives i SQL-kode.

Anbefalt: