Det er ikke en enkelt enhet, men snarere en kombinasjon av komponenter i en DBMS som er ansvarlig for å opprettholde datastrukturintegritet. Disse komponentene fungerer sammen for å håndheve reglene du definerer:
1. Datadefinisjonsspråk (DDL):
* definerer skjemaet: Dette inkluderer å lage tabeller, definere datatyper for kolonner, spesifisere begrensninger (primærnøkler, utenlandske nøkler, etc.) og sette opp forhold mellom tabellene.
* håndhever begrensninger: DDL sikrer at data samsvarer med de forhåndsdefinerte skjemaene. For eksempel, hvis en kolonne er definert som ikke null, vil ikke DBMS tillate deg å sette inn eller oppdatere en rad uten en verdi i den kolonnen.
2. Datamanipulasjonsspråk (DML):
* administrerer data: DML -kommandoer (sett inn, oppdatering, slett) brukes til å endre dataene i databasen.
* Kontroller begrensninger: DML-komponenten samhandler med de DDL-definerte begrensningene for å verifisere dataintegritet under datamodifiseringsoperasjoner.
3. Transaksjonsstyringssystem:
* sikrer atomisitet, konsistens, isolasjon og holdbarhet (syreegenskaper): Dette sikrer at transaksjoner utføres fullstendig og nøyaktig.
* håndterer samtidighetskontroll: Dette forhindrer konflikter når flere brukere får tilgang til og endrer data samtidig.
4. Data Dictionary:
* lagrer metadata: Informasjon om databasestrukturen (tabeller, kolonner, begrensninger, forhold) lagres i Data Dictionary.
* brukt av andre komponenter: DDL-, DML- og spørringsoptimisatoren er avhengige av dataordboken for å forstå strukturen til databasen.
5. Query Optimizer:
* genererer effektive utførelsesplaner: Denne komponenten bruker informasjonen i Data Dictionary for å optimalisere utførelsen av spørring, og potensielt håndheve dataintegritet gjennom spørringstransformasjoner.
Oppsummert opprettholdes datastrukturintegritet gjennom en kombinasjon av DDL, DML, transaksjonsstyring, Data Dictionary og Query Optimizer. Disse komponentene fungerer sammen for å sikre at databasen holder seg til de forhåndsdefinerte reglene og at data er konsistente og nøyaktige.