Relationsdatabase

Datamodellen for relationsdatabasesystemer bygger på mængdelære. Den blev beskrevet første gang i 1970 af dr. Edgar F. Codd. Relationsmodellen vedrører i hovedsagen tre aspekter: en datastruktur, et integritetsbegreb samt et sprog til manipulation af data.

Datastrukturen i relationsmodellen er relationer, dvs. mængder af tupler, der kan betagtes som to-dimensionale tabeller. En relation er defineret med et navn samt et antal attributter, der hver et specificeret med en type. En relation har et "skema", som udgør definitionen, og en "forekomst", dvs. et indhold. En relation til registrering af personer kan f.eks. defineres med et relations-skema Person(Nummer, Navn). Her er der tale om en relation, der benævnes Person med to attributter Nummer og Navn. En forekomst af denne relation kunne bestå af en mængde af tre tupler: {(17, Peter), (23, Lisa), (35, Hans)}. Både definition og forekomst fremgår når en relation noteres på tabelform som:

Person
Nummer Navn
17 Peter
23 Lisa
35 Hans
Tupler svarer til rækker i tabellen og attributter svarer til søjler. Her er ikke angivet type, hvilket ofte udelades når der blot noteres på skitseform. Over for databasesystemet, hvor skemaet f.eks. udtrykkes i SQL (se databasesprog), skal en type dog angives. Formelt er der ikke blot tale om type, men et såkaldt domæne, dvs. en den mængde af værdier, hvorfra alle værdier i en attribut skal trækkes. Domæner indgår i den formelle definition af relation: en relation er en delmængde af produktet af domænerne for relationens tupler.

En relation har en primærnøgle, dannet af en eller flere attributter. Den primære nøgle benyttes som entydig identifikation for tuplerne i en relation. En database består af et antal relationer, hver specificeret med et relationsskema. Samlingen af relationsskemaer svarer til databasens skema.

Dataintegritet opdeles i entitetsintegritet og referenceintegritet. Entitetsintegritetsreglen foreskriver, at alle attributter, der indgår i den primære nøgle, til enhver tid indeholder en værdi (en entitet er en "ting" der kan skelnes, derfor må den også kunne identificeres entydigt). Referenceintegritetsreglen bestemmer, at en fremmednøgle enten skal være tom eller indeholde en værdi, der findes som primær nøgle i den anden relation (det der refereres til skal eksistere).

Datamanipulation omfatter de operationer, der benyttes til at oprette, ændre, slette og udtrække data i en relationsdatabase. Operationerne er dels nogle velkendte fra mængdelæren, og dels nogle mere specielle opfundet til brug for den relationelle datamodel.

De operationer, der stammer fra mængdelære, er: foreningsmængde, fællesmængde, differensmængde og produktmængde. De operationer, der er specielle for relationsmodellen, er selektion, projektion, join og division.

Forfattere: 
Troels Andreasen
Casper Thomsen