Objektrelationel database

Betegnelsen for en form for objektorienterede databaser, der bygger på en kombination af fundamentet for relationelle databaser og objektorienteret teknologi. Repræsenterer databaseområdets bud på objektorientering og står i modsætning til objektorienteret programmering-områdets bud, der i udgangspunktet er netop objektorienteret programmering tilføjet persistens. De to retninger har været, og er fortsat, genstand for stor uenighed. Ingen af dem er endnu gennemprøvede i forbindelse med praktisk databaseanvendelse, men, hvad dette angår, vil den objektrelationelle retning nok få større gennemslagskraft. Den nye standard for det dominerende databasesprog SQL, SQL3 eller SQL99 (den blev vedtaget i 1999), indfører som noget meget centralt (og omdiskuteret) det objektrelationelle aspekt.

Det særlige ved en objektrelationel database er, at begrebet relation spiller en central rolle. Der skelnes imellem to slags objekttyper, nemlig "row types" og "abstract data types", som er typer, der kan dannes relationer hhv. attributter over. Den første adskiller sig ved ikke at realisere fuld indkapsling - relationer kan manipuleres som i en relationel database. Den anden svarer til objekttype i sædvanlig objektorienteret forstand. Den manglende indkapsling for "row types" er på en gang central for kritikken af objektrelationelle databaser og årsag til, at væsentlige styrker ved relationel teknologi går igen i den objektrelationelle. Herunder bl.a. enkle forespørgselsudtryk og mulighed for optimering, der fører til effektiv beregning af svar.

Forfattere: 
Troels Andreasen
Casper Thomsen