Hvad er et databaseskema?

Indholdsfortegnelse:

Hvad er et databaseskema?
Hvad er et databaseskema?
Anonim

Et databaseskema er en samling metadata, der beskriver forholdet mellem objekter og information i en database. En nem måde at forestille sig et skema på er at tænke på det som en boks, der indeholder tabeller, lagrede procedurer, visninger og relaterede dataaktiver. Et skema definerer infrastrukturen for denne boks.

Bundlinje

På dets grundlæggende niveau fungerer et skema som en beholder for dataaktiver. Imidlertid strukturerer forskellige databaseleverandører deres skemaer på forskellige måder. Oracle, for eksempel, behandler hvert skema som en brugerkonto. For at oprette et nyt skema opretter en databaseadministrator en ny databasebruger med det tilsigtede skemanavn.

Why Schemas Matter

Fordi skemaer udgør et grundlæggende strukturelt træk ved en database, anvender de fleste databasemiljøer adgangstilladelser til objekter på skemaniveau.

For eksempel kan en virksomhedsdatabase indeholde en række brugere. Hver bruger pådrager sig et skema, men adgang til forskellige skemaer gives individuelt og med detaljerede tilladelser til brugere uden for hjemmeskemaet.

De fleste databasestyringsværktøjer viser ikke skemaer; i stedet viser de databaser og brugere.

Image
Image

For eksempel opretter en virksomhed brugerkonti (skemaer) til Bob og Jane. Det opretter også konti til afdelinger som HR og marketing. Derefter giver det en analytiker i hver afdeling adgang til deres afdelings skemakonto.

HR-analytikeren opretter tabeller og visninger i HR-skemaet og giver Bob adgang til at læse (men ikke skrive til) en HR-tabel, der viser medarbejdernavne og medarbejder-id-numre. Desuden kan HR-analytikeren give Jane adgang til at læse og skrive til en HR-tabel, der viser medarbejdernes telefonnumre.

Ved at give adgang på denne måde kan kun de rigtige roller og brugere læse, skrive eller ændre dataene i et selvstændigt dataaktiv i den større database.

Hver databasemotor ser på skemaer som den grundlæggende metode til at adskille data i et flerbrugermiljø.

Forskellige databasemotorer behandler brugere og skemaer forskelligt. Se dokumentationen til din databasemotor for at finde syntaks- og logikmodellerne omkring brugere, skemaer og tilladelser.

Oprettelse af skemaer

Et skema er formelt defineret ved hjælp af Structured Query Language (SQL). I Oracle opretter du f.eks. et skema ved at oprette den brugerkonto, der ejer det:

OPRET BRUGER bob

IDENTIFICERET AF midlertidig_adgangskode

DEFAULT TABLESPACE-eksempel

QUOTA 10M ON-eksempel

MIDDELIGE TABLESPACE-temp.

QUOTA 5M PÅ system

PROFILE app_user

PASSWORD UDLØB;

Andre brugere får adgang til nye skemaer i kraft af deres brugernavn eller af en eller flere roller, som brugerkontoen er blevet tilføjet til.

Skemaer vs. datamodeller

Som en datamodel er et skema ikke i sig selv struktureret til at gøre noget. I stedet er det en infrastruktur til at understøtte segmenteringstilladelser i en database.

En datamodel er en samling af tabeller og visninger samlet på bestemte nøgler. Disse dataaktiver tjener tilsammen et forretningsformål. Det er acceptabelt at anvende en datamodel til et skema - for store og komplekse datamodeller, at associere dem med skemaer giver smart databaseadministration. Men det er ikke logisk nødvendigt at bruge et skema til en datamodel eller at behandle en datamodel som et skema.

Image
Image

For eksempel kan HR-afdelingen inkludere en datamodel for medarbejderpræstationsgennemgange i sit skema. I stedet for at oprette et skema for disse anmeldelser, kan datamodellen sidde i HR-skemaet (sammen med andre datamodeller) og forblive logisk adskilt gennem præfikser i tabellen og visningsnavne for objekterne i datamodellen.

Datamodellen får muligvis et uformelt navn, f.eks. præstationsanmeldelser, og så kan alle tabeller og visninger være foranstillet af pr_ Medarbejderlistetabellen kan blive refereret til som hr.pr_employee uden at kræve et nyt skema for præstationsgennemgange.

FAQ

    Hvad er forskellen mellem et databaseskema og en databasetilstand?

    Et databaseskema beskriver databasen. En databasetilstand refererer til indholdet af en database på et tidspunkt og kan betragtes som en udvidelse af databaseskemaet.

    Hvad er et relationsskema for en database?

    Et relationsskema skitserer relationerne mellem tabeller og elementer, der er forbundet med hinanden. Et skema kan være en grafisk illustration eller et diagram, eller det kan skrives i SQL-kode.

Anbefalede: