Databaser bruker en
systemkatalog For å lagre data om tabellene. Dette er også kjent som
Data Dictionary eller
skjema repository . Slik fungerer det:
1. Systemkatalogtabeller:
* Systemkatalogen er i seg selv en samling spesielle tabeller som inneholder metadata om databasen.
* Disse tabellene lagrer informasjon om:
* tabeller: Navn, kolonner, datatyper, begrensninger, indekser osv.
* Visninger: Definisjoner og basetabeller.
* Brukere: Tillatelser, tilgangsrettigheter, roller.
* indekser: Detaljer om indekser, inkludert de indekserte kolonnene og deres type.
* Prosedyrer: Lagrede prosedyrer, funksjoner, triggere osv.
2. Få tilgang til systemkatalogen:
* Database Management Systems (DBMS) gir måter å spørre systemkatalogen på. Dette gjøres ofte ved hjelp av:
* Systemvisninger: Forhåndsdefinerte visninger som utsetter spesifikke metadata.
* Systemtabeller: Direkte tilgang til katalogbordene (vanligvis med spesifikke tillatelser).
* Database Introspeksjonsverktøy: Verktøy som kan lese katalogen og presentere informasjonen på en mer brukervennlig måte.
3. Metadata lagret:
Systemkatalogen lagrer forskjellige metadata om databaseobjektene, inkludert:
* Tabellstruktur:
* Kolonnenavn og datatyper: Definerer strukturen på tabellen.
* Begrensninger: Regler og begrensninger som definerer integriteten til dataene (f.eks. Primærnøkler, utenlandske nøkler).
* indekser: Datastrukturer som brukes til å fremskynde datainnhenting basert på visse kolonner.
* Tabellegenskaper:
* Navn og eier: Identifiserer tabellen unikt og indikerer den ansvarlige brukeren.
* Lagringsparametere: Angir hvordan tabellen lagres og dens beliggenhet.
* Andre objekter:
* Brukerkontoer: Lagrer informasjon om brukere og deres privilegier.
* Visninger: Definerer virtuelle tabeller som er basert på andre tabeller eller spørsmål.
* Prosedyrer og funksjoner: Lagrer kode for tilpassede operasjoner på dataene.
4. Viktigheten av systemkatalogen:
* Dataintegritet: Sikrer datakonsistens og gyldighet gjennom håndhevelse av begrensninger.
* skjemadministrasjon: Tilbyr et sentralt depot for å definere og endre databaseskjemaet.
* spørringsoptimalisering: Databasemotorer bruker metadata fra katalogen for å planlegge og optimalisere spørsmål.
* Tilgangskontroll: Hjelper med å administrere brukertillatelser og begrenser tilgangen til sensitive data.
* sikkerhetskopiering og gjenoppretting: Letter å gjenopprette databasestrukturen og dataene i tilfelle feil.
Eksempel:
I en databasetabell kalt "kunder" med kolonner "CustomerId", "FirstName" og "LastName", vil systemkatalogen inneholde informasjon som:
* Tabellnavn: "Kunder"
* Kolonnenavn: "CustomerId," "FirstName," "LastName"
* Datatyper: "CustomerId" (Heltall), "FirstName" (varchar), "LastName" (varchar)
* Begrensninger: "CustomerId" (primærnøkkel)
* indekser: En indeks kan defineres på kolonnen "CustomerID" for raskere oppslag.
Ved å lagre disse metadataene kan databasen effektivt administrere sine data, håndheve integritet og gi brukerne nødvendig informasjon om dens struktur og innhold.