Databaser bruger et
systemkatalog at gemme data om dens tabeller. Dette er også kendt som
Data Dictionary eller
skema -arkiv . Sådan fungerer det:
1. Systemkatalogborde:
* Systemkataloget er i sig selv en samling af specielle tabeller, der indeholder metadata om databasen.
* Disse tabeller gemmer information om:
* Tabeller: Navne, kolonner, datatyper, begrænsninger, indekser osv.
* visninger: Definitioner og basisborde.
* Brugere: Tilladelser, adgangsrettigheder, roller.
* indekser: Detaljer om indekser, herunder de indekserede kolonner og deres type.
* procedurer: Lagrede procedurer, funktioner, triggere osv.
2. Adgang til systemkataloget:
* Databasestyringssystemer (DBMS) giver måder at forespørge systemkataloget på. Dette gøres ofte ved hjælp af:
* Systemvisninger: Foruddefinerede synspunkter, der udsætter specifikke metadata.
* Systemtabeller: Direkte adgang til katalogborde (normalt med specifikke tilladelser).
* Database Introspektionsværktøjer: Værktøjer, der kan læse kataloget og præsentere oplysningerne på en mere brugervenlig måde.
3. Metadata lagret:
Systemkataloget gemmer forskellige metadata om databaseobjekterne, herunder:
* Tabelstruktur:
* Kolonnenavne og datatyper: Definerer strukturen af tabellen.
* Begrænsninger: Regler og begrænsninger, der definerer integriteten af dataene (f.eks. Primære nøgler, udenlandske nøgler).
* indekser: Datakonstruktioner, der bruges til at fremskynde dataindhentning baseret på visse kolonner.
* Tabelegenskaber:
* Navn og ejer: Identificerer tabellen unikt og angiver den ansvarlige bruger.
* Opbevaringsparametre: Specificerer, hvordan tabellen er gemt og dens placering.
* Andre objekter:
* Brugerkonti: Gemmer information om brugere og deres privilegier.
* visninger: Definerer virtuelle tabeller, der er baseret på andre tabeller eller forespørgsler.
* procedurer og funktioner: Gemmer kode til brugerdefinerede operationer på dataene.
4. Betydningen af systemkataloget:
* Dataintegritet: Sikrer datakonsistens og gyldighed gennem håndhævelse af begrænsninger.
* Skemahåndtering: Tilvejebringer et centralt depot til at definere og ændre databaseskemaet.
* Forespørgseloptimering: Databasemotorer bruger metadata fra kataloget til at planlægge og optimere forespørgsler.
* adgangskontrol: Hjælper med at administrere brugertilladelser og begrænser adgangen til følsomme data.
* backup og gendannelse: Letter gendannelse af databasestrukturen og data i tilfælde af fejl.
Eksempel:
I en databasetabel kaldet "Kunder" med kolonner "CustomerID", "FirstName" og "Sidname", ville systemkataloget indeholde oplysninger såsom:
* Tabelnavn: "Kunder"
* Kolonnenavne: "CustomerId", "FirstName", "Sidname"
* Datatyper: "CustomerID" (heltal), "FirstName" (Varchar), "LastName" (Varchar)
* Begrænsninger: "CustomerID" (primær nøgle)
* indekser: Et indeks kan defineres i kolonnen "CustomerID" for hurtigere opslag.
Ved at gemme disse metadata kan databasen effektivt håndtere sine data, håndhæve integritet og give brugerne de nødvendige oplysninger om dens struktur og indhold.