Et databasestyringssystem (DBMS) er et komplekst programvaresystem med forskjellige sammenkoblede moduler som jobber sammen for å administrere og få tilgang til data. Her er hovedmodulene til en DBMS:
1. Datadefinisjonsspråk (DDL)
* Funksjon: Definerer strukturen til databasen, inkludert å opprette, endre og slette tabeller, indekser og andre databaseobjekter.
* eksempler: Lag tabell, alter tabell, slippbord.
2. Datamanipulasjonsspråk (DML)
* Funksjon: Lar brukere sette inn, hente, oppdatere og slette data i databasen.
* eksempler: Sett inn, velg, oppdater, slett.
3. Datakontrollspråk (DCL)
* Funksjon: Gir kontroll over datatilgang og sikkerhet, inkludert tildeling og tilbakekalling av brukertillatelser.
* eksempler: Grant, tilbakekall.
4. Data Query Language (DQL)
* Funksjon: Gjør det mulig for brukere å hente spesifikke data fra databasen ved hjelp av strukturerte spørsmål.
* eksempler: Velg utsagn (inkludert sammenføyninger, hvor klausuler osv.)
5. Lagringssjef:
* Funksjon: Ansvarlig for å håndtere fysisk lagring av data om disk, tildeling av lagringsplass og hente data effektivt.
* inkluderer:
* File Manager: Administrerer de fysiske filene og lagringsfordelingen.
* Buffer Manager: Administrerer dataoverføringen mellom hovedminnet og disken.
* Access Method Manager: Gir forskjellige måter å få tilgang til data på (sekvensiell, indeksert osv.).
6. Transaksjonssjef:
* Funksjon: Sikrer dataintegritet og konsistens under samtidig tilgang fra flere brukere. Det håndterer:
* samtidighetskontroll: Forhindrer dataforhold fra flere brukere som får tilgang til og oppdaterer de samme dataene samtidig.
* Gjenopprettingsledelse: Gjenoppretter databasen til en jevn tilstand i tilfelle feil eller krasjer.
7. Sikkerhetssjef:
* Funksjon: Beskytter databasen mot uautorisert tilgang og sikrer dataintegritet. Dette innebærer:
* Autentisering: Verifiserer brukeridentiteter og gir tilgang basert på tillatelser.
* Autorisasjon: Bestemmer hvilke operasjoner brukere kan utføre i forskjellige deler av databasen.
* revisjon: Sporer databaseaktiviteter og identifiserer mistenkelige eller uautoriserte handlinger.
8. Katalogleder (Data Dictionary):
* Funksjon: Lagrer metadata om selve databasen, inkludert tabelldefinisjoner, datatyper, indekser, forhold og annen viktig informasjon.
* gir informasjon for:
* Datadefinisjon og manipulering.
* Spørringsoptimalisering.
* Datatilgangskontroll.
9. Spørringsprosessor:
* Funksjon: Tar brukerforespørsler (DQL), analyserer dem, optimaliserer dem og genererer en utførelsesplan for databasen for å hente de forespurte dataene.
10. Brukergrensesnitt (UI):
* Funksjon: Gir en måte for brukere å samhandle med DBMS, inkludert:
* Kommandolinjegrensesnitt (CLI): Et tekstbasert grensesnitt for utføring av SQL-kommandoer.
* Grafisk brukergrensesnitt (GUI): Et visuelt grensesnitt med verktøy for å administrere databaseobjekter og få tilgang til data.
11. Applikasjonsprogrammeringsgrensesnitt (API):
* Funksjon: Tilbyr et sett med funksjoner og protokoller som lar andre applikasjoner samhandle med DBMS. Dette muliggjør:
* Integrering av databasefunksjonalitet i andre programvaresystemer.
* Utvikling av tilpassede applikasjoner som bruker databasedata.
Disse modulene fungerer på en koordinert måte for å gi en omfattende plattform for å håndtere og få tilgang til data effektivt og sikkert. Ulike DBMS -er kan implementere disse modulene på forskjellige måter, men kjernefunksjonalitetene forblir like.