Citater fra C.J.Date "An Introduction to Database Systems" kapitel 4:
En relation svarer til det, man indtil nu i bogen har kaldt en tabel.
En tupel svarer til en række i en sådan tabel. Antallet af tupler kaldes kardinaliteten, og antallet af rækker kaldes graden.
Primærnøglen er en unik identifikation for tabellens rækker - en kolonne eller en kombination af kolonner med den egenskab, at der på et givet tidspunkt aldrig er to rækker i tabellen med samme værdi i de pågældende kolonner.
Et domæne er en pulje af værdier, hvorfra en given attribut i en given relation henter sin aktuelle værdi. [79]
Udgangspunktet er den mindste semantiske dataenhed, som antages at være den enkelte dataværdi. Sådanne værdier kaldes skalarer. [81]
Et domæne defineres som en navngiven mængde skalare værdier, som alle er af samme type. Hver attribut skal være "defineret på" nøjagtig et underliggende domæne. [81]
Hvis to attributter henter deres værdier fra samme domæne, så vil sammenligninger (og dermed også joins, unions og mange andre operationer) sandsynligvis give mening. [82]
Domæner er primært begrebsmæssige af natur. De bør som et minimum være defineret som en del af database definitionen. [82]
Hver attributdefinition bør inkludere en reference til det relevante domæne, så systemet ved, hvilke attributter, der er sammenlignelige med hinanden og hvilke, der ikke er. [83]
Det er en god ide at lade attributterne have samme navne som de underliggende domæner, hvis det er muligt - eller i det mindste at lade navnet på domænet indgå som det sidste led i navnet på attributten. [83]
Det skal være muligt at nedlægge et eksisterende domæne, når man ikke længere har brug for det. [84]
Et domæne er i virkeligheden hverken mere eller mindre end en datatype. [85]
Historisk set har der været en del forvirring omkring dette tilsyneladende enkle begreb. En relationsvariabel er en variabel i samme forstand som i forbindelse med programmeringssprog.. Den værdi, som en sådan variabel på et givet tidspunkt indeholder, kaldes en relationsværdi. [86]
En relation består af to dele, en overskrift (heading) og en krop. [86]
Overskriften består af et afgrænset sæt attributter. Kroppen består af et sæt tupler. [87]
Antallet af attributter i en given relation - eller i det ækvivalente antal underliggende domæner - kaldes relationens grad. [89]
Domæner er statiske, relationer er dynamiske. [89]
Relationer ejer visse egenskaber, som alle er direkte
afledt af den tidligere angivne definition på begrebet relation.
Alle egenskaber er vigtige: [91]
Der må ikke være duplikate tupler
Denne egenskab er en følge af at relationens krop er et matematisk sæt (af tupler), og matematiske sæt må pr. definition ikke indeholde duplikate elementer. [92]
En vigtig logisk konsekvens af denne kendsgerning
er, at der altid er en primærnøgle. Eftersom
alle tupler er unikke, følger det heraf, at i det mindste
kombinationen af alle relationens attributter kan fungere
som primærnøgle, hvis ikke en mindre del af relationens
attributter i kombination kan fungere som primærnøgle.
[92]
Tupler er uordnede - oppefra og ned.
Denne egenskab er også en følge af,
at relationens krop er et matematisk sæt. Matematiske sæt
er ikke ordnede. [92]
Attributter er uordnede - fra venstre mod højre
Denne egenskab følger af den kendsgerning,
at relationens overskrift også er defineret som et sæt
(af attributter). [93]
Alle attributters værdier er atomare
Denne egenskab er en konsekvens af den kendsgerning, at alle underliggende domæner udelukkende indeholder atomare værdier. [93]
Relationer må ikke indeholde gentagne grupper. En relation, som opfylder denne betingelse, siges at være normaliseret, eller at være i første normalform. [93]
I dette afsnit identificeres nogle af de forskellige typer af relationer, som kan forekomme i et relationelt system:
Det bør være intuitivt klart for alle, at enhver relation, basis eller afledt, har en tilsigtet fortolkning eller betydning. [97]
Prædikatet for en given relation udgør kriteriet for at en opdatering er acceptabel for den pågældende relation. [97]
En relationel database er en database som
af brugeren opfattes som en samling af normaliserede relationer
af forskellige grader. [98]
Indlagt 25. april 1997