Relationsdatabaser er klar til XML

Denne artikel stammer fra det trykte Computerworlds arkiv. Artiklen blev publiceret den Computerworld d. 15. januar 2002.


De mest udbredte relationsdatabaser kan alle gemme og hente data i XML-format. Men de håndterer formatet forskelligt.

XML (Extensible Markup Language) er på vej til at blive det foretrukne format til dataudveksling. Men data skal ikke kun udveksles mellem systemer, de skal også gemmes. Her kan virksomheder vælge mellem særlige XML-databaser og traditionelle relationsdatabaser.
En XML-database er skræddersyet til at gemme data direkte i XML-format. Et eksempel er databasen Tamino fra Software AG. Fordelen ved denne type databaser er, at der ikke skal gøres noget særligt ved XML-dokumenterne, de kan gemmes direkte i databasen.
Men virksomheder, der allerede har investeret i en relationsdatabase, kan ønske at beholde den som deres centrale samlingspunkt for data. Udfordringen her består i, at XML og relationsdatabaser har nogle grundlæggende forskelle: XML opbevarer data i hierarkier: Et kundeobjekt kan indeholde et kontaktperson-objekt, der indeholder data som fornavn, efternavn og direkte telefonnummer. En relationsdatabase opbevarer data som poster i tabeller. Forbindelsen mellem objekter angives ved hjælp af relationer mellem tabellerne.
En relationsdatabase skal grundlæggende kunne håndtere to hændelser i forbindelse med XML-dokumenter: Den skal kunne gemme et XML-dokument, og den skal kunne generere XML-dokumenter ud fra data i databasen.
Som regel klarer relationsdatabaserne opgaven med at gemme XML-dokumenter ved at køre dem gennem en parser. Det er et program, der oversætter XML-elementerne til felter i databasen.
Når data skal den modsatte vej, udfører man en forespørgsel i databasen på normal vis. Resultatet fra den konverterer et program så til XML-format.
Skønt alle de tre databaser, Computerworld har set på, allerede understøtter XML, har leverandørerne flere funktioner på vej. IBM arbejder på et projekt med kodenavnet Xperanto. Det skal blive en egentlig XML-database, der fungerer under DB2. Den vil inkludere en lang række XML-baserede standarder, herunder XQuery, XML Schema, UDDI, SOAP og WSDL.
Hos Oracle hedder fremtidsprojektet XDB.

Boks: IBM:
Tre måder at lagre XML på
IBM har understøttet XML siden 1999 i DB2. Det sker via udvidelsen DB2 XML Extender, som DB2-brugere kan hente gratis.
DB2 XML Extender giver mulighed for at lagre XML på tre måder: Som en XML-kolonne, som en såkaldt "XML collection", eller som en ekstern fil, der indekseres fra databasen.
I en XML-kolonne gemmes hele XML-dokumentet. Det kan lade sig gøre, fordi DB2 er en objektrelationel database, som kan udvides med nye datatyper og funktioner. DB2 XML Extender udvider således basen med en XML-datatype og funktioner, der opererer på datatypen.
Data fra XML-dokumentet kopieres imidlertid også ud i andre tabeller. Hvilke felter, der kopieres til hvilke tabeller og kolonner, bestemmes af et særligt dokument, Data Access Definition (DAD). Denne kopiering gør det muligt at udnytte databasens indekseringsfunktioner, så brugere kan søge i XML-data på lige fod med relationelle data.
En XML collection er det samme som en XML-kolonne, blot gemmes det oprindelige XML-dokument ikke. Her kopieres alle data altså over i tabeller ud fra oplysningerne i DAD'en.
Endelig kan data lægges i en ekstern tekstfil, som kun DB2 har adgang til at ændre. Det kan give fordele ved web-løsninger, hvor en web-server skal have hurtig adgang til XML-data, og hvor der ikke er brug for at involvere databasen.
Med XPath-teknologien kan brugerne søge i, hente og gemme XML-data.
IBM's DAD kommer igen i brug, når man skal hente data ud i XML-format. Så angiver DAD'en, hvilke XML-tags de enkelte felter skal konverteres til.
IBM anvender også XML i beskedkøsystemet MQSeries. Det anvendes især til systemintegration, hvor flere applikationer kan kommunikere ved at sende beskeder til hinanden.
- DB2 kan lægge et XML-dokument i køen, der overfører det til et andet system, som oversætter XML'en til sit interne format, forklarer Søren Ravn Pedersen fra IBM's softwareafdeling.

Boks: Oracle:
Oracles måde at gemme XML-data på minder meget om IBM's. Da Oracle 9i-databasen også er en objektrelationel database, har det ikke været noget problem at udvide den med en ny datatype.
- Vi gemmer XML-dokumentet som en XML-datatype. Men samtidig kan vi udnytte Oracles indekseringsmuligheder og fritekstsøgning, siger salgschef Søren Hebsgaard fra Oracle.
Alternativt kan man få oversat de enkelte XML-felter til relationsdatabaseformat. På samme måde kan databasen danne XML-dokumenter ud fra eksisterende data i basen.
- Metoden med at oversætte til og fra relationsdatabaseformat vil nok især blive brugt ved eksisterende applikationer, der har brug for at udveksle data med XML-applikationer. Metoden med at gemme som XML-datatype er interessant, hvis man af og til skal kunne udlevere et helt dokument - for eksempel ved en artikelsamling, siger Søren Hebsgaard.
Også hos Oracle kan data ligge uden for databasen. Her sker det med datatypen URI-ref, der henviser til et eksternt XML-dokument eller dele af det.




Brancheguiden
Brancheguide logo
Opdateres dagligt:
Den største og
mest komplette
oversigt
over danske
it-virksomheder
Hvad kan de? Hvor store er de? Hvor bor de?
KEYBALANCE A/S
Udvikling og salg af økonomisystemer samt CRM og MPS. Systemer til blandt andet maskinhandlere, vvs-branchen, vognmænd, låsesmede,handelsvirksomheder

Nøgletal og mere info om virksomheden
Skal din virksomhed med i Guiden? Klik her

Kommende events
Sådan bruger du aktivt AI til at styrke din cybersikkerhedsindsats

Kan AI styrke din cybersikkerhed og forebygge f.eks. ransomwareangreb? Ja – og endda særdeles effektivt! På denne konference kan du blive klogere på, hvordan du i praksis anvender AI til at styrke dit sikkerhedsniveau – og gøre cyberbeskyttelsen mere fleksibel.

27. november 2024 | Læs mere


Styrk din virksomhed med relevant, pålidelig og ansvarlig AI integration med SAP

Kom og få indsigt i, hvordan du bruger AI til at transformere og effektivisere dine arbejdsgange. Vi kigger nærmere på AI-assistenten Joule, der vil revolutionere måden, brugerne interagere med SAP’s forretningssystemer. Og så får du konkret viden om, hvordan du kommer i gang med at bruge AI til at booste din forretningsudvikling.

03. december 2024 | Læs mere


Fyr op under vækst med dataanalyse, AI og innovation

Hvor langt er den datadrevne virksomhed nået i praksis? Det kan du høre om fra virksomheder, som har foretaget transformationen. Du kommer også til at høre, hvordan de anvender AI i processen, hvilke mål de har nået, hvordan de har høstet gevinsterne og hvilke nyskabelser, der er på vej i horisonten.

04. december 2024 | Læs mere