Een Database Management System (DBMS) wordt een Relationeel Database Management Systeem (RDBMS) door vast te houden aan de principes van het relationele model, voorgesteld door Edgar F. Codd. Deze principes zijn weliswaar niet strikt gecodificeerd als een ‘regelslijst’, maar zijn van fundamenteel belang voor wat een RDBMS definieert. Ze kunnen als volgt worden samengevat:
Belangrijkste principes en functies die van een DBMS een RDBMS maken:
1. Gegevensorganisatie: Gegevens zijn georganiseerd in relaties (tabellen). Elke relatie heeft een vaste set attributen (kolommen) met specifieke gegevenstypen, en elke rij vertegenwoordigt een tupel (record) aan gegevens.
2. Gestructureerde querytaal (SQL): RDBMS's gebruiken SQL als de standaardtaal voor gegevensdefinitie (tabellen maken en wijzigen), gegevensmanipulatie (gegevens invoegen, bijwerken, verwijderen en ophalen) en gegevenscontrole (beheer van toegang en beveiliging). Dit is misschien wel het meest cruciale bepalende kenmerk.
3. Relationele algebra: De onderliggende activiteiten van de database zijn gebaseerd op relationele algebra en bieden een formele wiskundige basis voor gegevensmanipulatie. Dit maakt een nauwkeurige definitie van gegevensbewerkingen mogelijk en zorgt voor gegevensconsistentie.
4. Beperkingen van gegevensintegriteit: RDBMS's handhaven de gegevensintegriteit door middel van beperkingen zoals:
* Primaire sleutels: Unieke identificatie van elke record in een tabel.
* Buitenlandse sleutels: Relaties tussen tabellen tot stand brengen, referentiële integriteit behouden.
* Unieke beperkingen: Zorgen voor uniciteit van waarden binnen een kolom of reeks kolommen.
* Controleer beperkingen: Het afdwingen van specifieke regels voor gegevenswaarden.
* Geen nulbeperkingen: Voorkomen van null-waarden in opgegeven kolommen.
5. Normalisatie: RDBMS'en streven naar gegevensnormalisatie om gegevensredundantie te verminderen en de gegevensconsistentie te verbeteren. Dit omvat het organiseren van tabellen en kolommen om het dupliceren van gegevens te minimaliseren en om gegevens te isoleren, zodat toevoegingen, verwijderingen en wijzigingen van een veld in slechts één tabel kunnen worden aangebracht.
6. ZUUREigenschappen: De meeste RDBMS'en implementeren ACID-eigenschappen voor transacties:
* Atomiciteit: Een transactie wordt behandeld als een enkele, ondeelbare werkeenheid. Ofwel zijn alle wijzigingen doorgevoerd, ofwel zijn er geen wijzigingen aangebracht.
* Consistentie: Transacties behouden de integriteit van de database en laten deze in een geldige staat achter.
* Isolatie: Gelijktijdige transacties zijn van elkaar geïsoleerd, waardoor interferentie wordt voorkomen.
* Duurzaamheid: Zodra een transactie is vastgelegd, zijn de wijzigingen permanent, zelfs in het geval van een systeemstoring.
7. Gegevensonafhankelijkheid: De gegevens zijn onafhankelijk van de fysieke opslag en de applicatieprogramma's die met de gegevens interageren, zijn onafhankelijk van de specifieke details van hoe de gegevens worden opgeslagen.
In het kort: Een DBMS wordt een RDBMS wanneer het het relationele model implementeert met behulp van SQL, beperkingen op het gebied van de gegevensintegriteit afdwingt en idealiter de ACID-eigenschappen volgt. De aanwezigheid van relationele algebra als fundamentele motor, hoewel niet altijd expliciet vermeld, is een fundamentele vereiste. Het ontbreken van een van deze kernfuncties zou een systeem doorgaans diskwalificeren om als een RDBMS te worden beschouwd. |