Databaser använder en
systemkatalog För att lagra data om dess tabeller. Detta är också känt som
Data Dictionary eller
schema förvar . Så här fungerar det:
1. Systemkatalogtabeller:
* Systemkatalogen är i sig en samling specialtabeller som håller metadata om databasen.
* Dessa tabeller lagrar information om:
* tabeller: Namn, kolumner, datatyper, begränsningar, index, etc.
* Visningar: Definitioner och bastabeller.
* Användare: Behörigheter, åtkomsträttigheter, roller.
* Index: Detaljer om index, inklusive de indexerade kolumnerna och deras typ.
* Förfaranden: Lagrade procedurer, funktioner, triggers, etc.
2. Åtkomst till systemkatalogen:
* Databashanteringssystem (DBMS) ger sätt att fråga systemkatalogen. Detta görs ofta med:
* Systemvyer: Fördefinierade vyer som exponerar specifika metadata.
* Systemtabeller: Direkt åtkomst till katalogtabellerna (vanligtvis med specifika behörigheter).
* databasintrospektionsverktyg: Verktyg som kan läsa katalogen och presentera informationen på ett mer användarvänligt sätt.
3. Metadata lagras:
Systemkatalogen lagrar olika metadata om databasobjekten, inklusive:
* Tabellstruktur:
* Kolumnnamn och datatyper: Definierar strukturen på tabellen.
* Begränsningar: Regler och begränsningar som definierar dataens integritet (t.ex. primära nycklar, utländska nycklar).
* Index: Datastrukturer som används för att påskynda datainhämtning baserat på vissa kolumner.
* Tabellegenskaper:
* Namn och ägare: Identifierar tabellen unikt och indikerar den ansvariga användaren.
* lagringsparametrar: Anger hur tabellen lagras och dess plats.
* Andra objekt:
* Användarkonton: Lagrar information om användare och deras privilegier.
* Visningar: Definierar virtuella tabeller som är baserade på andra tabeller eller frågor.
* Förfaranden och funktioner: Lagrar kod för anpassade operationer på data.
4. Systemkatalogens betydelse:
* dataintegritet: Säkerställer datakonsistens och giltighet genom verkställighet av begränsningar.
* schemahantering: Ger ett centralt arkiv för att definiera och modifiera databasschemat.
* Query Optimization: Databasmotorer använder metadata från katalogen för att planera och optimera frågor.
* Åtkomstkontroll: Hjälper till att hantera användarbehörigheter och begränsar åtkomsten till känslig data.
* Backup och återhämtning: Underlättar att återställa databasstrukturen och data vid fel.
Exempel:
I en databastabell som heter "Kunder" med kolumner "CustomerID", "FirstName" och "LastName", skulle systemkatalogen innehålla information som:
* Tabellnamn: "Kunder"
* Kolumnnamn: "CustomerId", "FirstName", "LastName"
* Datatyper: "CustomerId" (heltal), "FirstName" (Varchar), "LastName" (Varchar)
* Begränsningar: "CustomerId" (primär nyckel)
* Index: Ett index kan definieras i kolumnen "CustomerID" för snabbare uppslagning.
Genom att lagra dessa metadata kan databasen effektivt hantera sina data, upprätthålla integritet och ge användare den nödvändiga informationen om dess struktur och innehåll.