On Tue, 11 May 2004 23:32:58 +0200, Jan Gregersen wrote:
> Jeg er i forbindelse med en opgave blevet spurgt om Oracles nye 10g
> database, kan håndtere andre datamodeller end den relationelle.
Jeg vil sige "nej".
Godtnok kan Oracle (fra og med version 8i eller måske endda tidligere)
siges at være i kategorien af "objektrelationelle" databasesystemer
(ORDBS'er), men efter min mening er det et ret ubrugeligt begreb, der
primært siger, at RDBMS'et understøtter brugerdefinerede typer og
operationer. Et ORDBMS benytter efter min opfattelse stadig den
relationelle datamodel. (I modsætning til objectorienterede databaser.)
En anden måde at anskue det på er at overveje hvilke andre datamodeller,
der kunne komme i betragtning. Her kan jeg komme i tanker om den
hierarkiske model og netværksmodellen, men jeg synes ikke, at Oracle
hører herunder. - Det skulle da lige være, hvis man opfatter Oracle's
mulighed for at gemme tabeller i tabeller som en art hierarkisk datamodel.
Hvis jeg skulle nævne et databasesystem, der for alvor bygger på en
ikke-relationel model, så kunne det være en LDAP-server (hierarkisk
model). Objektorienterede databaser kan vel siges at høre til i
netværksmodellen(?) - hvilket dog er irrelevant, grundet deres meget
begrænsede udbredelse.
De fleste nye generationer af RDBMSer indeholder eller kan tilføjes
faciliteter til XML-håndtering, se
http://www.infoworld.com/reports/17SRxml.html
At man kan gemme XML-data direkte i databasen som "strukturerede"
dokumenter, der kan navigeres rundt i og udføres XQuery-lignende
forespørgsler til, kan måske siges at tilføje en hierarkisk datamodel
til RDBMSerne, men stadig synes det mest at være et kuriosum. - Og XML'en
er da også fortsat placeret som elementer i en tabel-lignende verden med
rækker og kolonner.
Yderligere et par links:
http://en.wikipedia.org/wiki/Relational_model
http://en.wikipedia.org/wiki/Object-relational_database
(Og andre Wikipedia-links derfra.)
--
Greetings from Troels Arvin, Copenhagen, Denmark