Inhoud
- Een schema is de blauwdruk van een database die zorgt voor een optimale organisatie
- Schema's maken
- Schema's versus gegevensmodellen
Een schema is de blauwdruk van een database die zorgt voor een optimale organisatie
Een bedrijf maakt bijvoorbeeld gebruikersaccounts (schema's) voor Bob en Jane. Het maakt ook accounts aan voor afdelingen als HR en marketing. Vervolgens geeft het een analist in elke afdeling toegang tot het schemarekening van de afdeling.
De HR-analist maakt tabellen en weergaven binnen het HR-schema en geeft Bob toegang tot het lezen (maar niet schrijven naar) een tabel met namen van werknemers en ID-nummers van werknemers. Ook kan de HR-analist Jane toegang verlenen om te lezen en te schrijven naar een tabel met telefoonnummers van werknemers.
Door op deze manier toegang te verlenen, kunnen alleen de juiste rollen en gebruikers de gegevens lezen, schrijven of wijzigen in een op zichzelf staand gegevensmiddel binnen de grotere database.
Elke database-engine ziet schema's als de fundamentele methode om gegevens te scheiden in een omgeving met meerdere gebruikers.
Verschillende database-engines behandelen gebruikers en schema's anders. Raadpleeg de specifieke documentatie voor uw database-engine om de specifieke syntaxis- en logische modellen te ontdekken die gebruikers, schema's en toestemmingen verlenen.
Schema's maken
Een schema is formeel gedefinieerd met behulp van Structured Query Language. In Oracle maakt u bijvoorbeeld een schema door het gebruikersaccount te maken dat de eigenaar is:
CREATE USER bob
GEÏDENTIFICEERD DOOR tijdelijk_wachtwoord
STANDAARD TABLESPACE voorbeeld
QUOTA 10M ON voorbeeld
TIJDELIJKE TAFELSPACE temp
QUOTA 5M ON-systeem
PROFIEL app_user
WACHTWOORD VERLOPEN;
Andere gebruikers krijgen toegang tot nieuwe schema's op grond van hun gebruikersnaam of door een of meer rollen waaraan het gebruikersaccount is toegevoegd.
Schema's versus gegevensmodellen
Een schema is niet intrinsiek gestructureerd om iets te doen; in plaats daarvan is het een infrastructuur om de segmentatie van toestemmingen in een database te ondersteunen. De voorwaarden schema en gegevensmodel worden echter onderling uitwisselbaar gebruikt.
Het is verwarrend, maar niet verkeerd, om te gebruiken schema om te verwijzen naar een specifieke verzameling tabellen en weergaven die zijn verbonden door specifieke onderlinge relaties. De schema-als-architectuurbenadering die in dit artikel wordt geschetst, is de hoofdletter S-versie van schema. De schema-as-data-relaties is de kleine S-versie - een synoniem. Veel online referentiesites vervagen dit essentiële onderscheid.
Een gegevensmodel is een verzameling tabellen en weergaven die op specifieke sleutels zijn samengevoegd. Deze gegevensactiva dienen samen een zakelijk doel. Het is volkomen acceptabel om een datamodel toe te passen op een schema - in feite zorgt het koppelen van schema's voor grote en complexe datamodellen voor slim databasebeheer. Maar het is logisch niet nodig om een schema voor een datamodel te gebruiken of om een datamodel als een schema te behandelen.
De HR-afdeling kan bijvoorbeeld in haar schema een gegevensmodel opnemen voor prestatiebeoordelingen van werknemers. In plaats van een schema voor deze beoordelingen te maken, kan het datamodel in het HR-schema zitten (samen met andere datamodellen) en logisch onderscheiden blijven door voorvoegsels van de tabel en namen bekijken voor de objecten in het datamodel.
Het gegevensmodel kan een informele naam verdienen, zoals functioneringsgesprekken, en dan kunnen alle tabellen en weergaven worden voorafgegaan door pr_. Naar de tabel met werknemersvermeldingen kan worden verwezen als hr.pr_medewerker zonder dat er een nieuw schema nodig is voor de prestatiebeoordelingen.