XML alapú adatbázis-kezelés. (Katona Endre diái alapján)



Hasonló dokumentumok
Dokumentumformátumok Jelölő nyelvek XML XML. Sass Bálint Bevezetés a nyelvtechnológiába 2. gyakorlat szeptember 20.

ADATBÁZISOK E-K MODELLBŐL RELÁCIÓS MODELL. Debrenti Attila

INFORMATIKA ÁGAZATI ALKALMAZÁSAI. Az Agrármérnöki MSc szak tananyagfejlesztése TÁMOP /1/A

Adatbázisok. 8. gyakorlat. SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE), SELECT október október 26. Adatbázisok 1 / 17

Adatbázisok II. Jánosi-Rancz Katalin Tünde 327A

Adatbázisok. 9. gyakorlat SQL: SELECT október október 26. Adatbázisok 1 / 14

SQL ALAPOK. Bevezetés A MYSQL szintaxisa Táblák, adatok kezelésének alapjai

DTD Dokumentumtípus definició

Az XML alapnyelv. dr. Paller Gábor. XML technológiák

Az XML szabvány. Az XML rövid története. Az XML szabvány

XML. Document Type Definitions (DTD) XML séma

Adatbázisok. 2. gyakorlat SQL november november 12. Adatbázisok 1 / 31

XML és XSLT (a színfalak mögül)

Bevezetés: az SQL-be

A relációs adatbáziskezelés szabványos nyelve Két fő csoportba sorolhatók az utasításai

Az XML 1.0 szabvány. tanulmány. Készítette: Mészáros Tamás. Budapest, BME Méréstechnika és Információs Rendszerek Tanszék

Az XML Bevezetés. Fabók Zsolt Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem. Utolsó módosítás:

Adatbázisok. 8. gyakorlat. SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE) október október 22. Adatbázisok 1 / 14

ADATBÁZISOK gyakorlat: SQL 2. rész SELECT

Adatbázisok gyakorlat

ADATBÁZIS-KEZELÉS - BEVEZETŐ - Tarcsi Ádám, ade@inf.elte.hu

Redukciós műveletek. Projekció (vetítés): oszlopok kiválasztása. Jelölés: attribútumlista (tábla) Példa: Könyv

Magas szintű adatmodellek Egyed/kapcsolat modell I.

5. téma XML DB. Az adatkezelés és XML kapcsolata. Miért fontos az XML használata az adatbázis kezelésben?

XML (DTD) (XSD) DOM SAX XSL. XML feldolgozás

Az XML alapjai BME VIK BSc. Intelligens Rendszerek ágazat, Kooperatív rendszerek labor

Relációs algebra áttekintés és egy táblára vonatkozó lekérdezések

Adatbázis-kezelés. alapfogalmak

Adatbázisok* tulajdonságai

Az XML kidolgozásakor a fejlesztés szempontjait tíz pontban foglalták össze:

Adatbázisok elmélete 9. előadás

Adatbázis-lekérdezés. Az SQL nyelv. Makány György

SQL haladó. Külső összekapcsolások, Csoportosítás/Összesítés, Beszúrás/Törlés/Módosítás, Táblák létrehozása/kulcs megszorítások

Adatbázisok-1 előadás Előadó: dr. Hajas Csilla

Adatbázis-kezelő rendszerek. dr. Siki Zoltán

Zenetár a webszerverünkön,

HTML. Dr. Nyéki Lajos 2016

Lekérdezések az SQL-ben 1.rész

Félig-strukturált adatmodell (Semi-structured data model)

Lekérdezések az SQL-ben 1.rész

Intelligens közlekedési rendszerek (ITS)

Bevezetés: Relációs adatmodell

Adatbázisok. 4. gyakorlat. Adatmodellezés: E-K modellb l relációs adatbázisséma. Kötelez programok kiválasztása szeptember 24.

Lekérdezések az SQL SELECT utasítással

Bevezetés: Relációs adatmodell

KML Keyhole Markup Language

Bevezetés az SQL-be. Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009

Programozás. Adatbázis-kezelés (alapok) Fodor Attila

Adatmodellezés. 1. Fogalmi modell

RELÁCIÓS ADATBÁZISSÉMÁK. Egyed-kapcsolat modellről átírás

SQL. 1.rész. 1.elıadás // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 1

Adatbázis rendszerek 7. előadás State of the art

Orvos Bejelentő Program (OBP) rekordkép 2. verzió XML formátum

Tartalomjegyzék. Tartalomjegyzék 1. Az SQL nyelv 1 Az SQL DDL alapjai 2

Objektum relációs lehetőségek az Oracle-ben. Katona Endre Adatbázis alapú rendszerek diasorozata alapján

Szerializáció. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Szerializáció / 22

Adatbázisok elmélete 9. előadás

NORMALIZÁLÁS. Funkcionális függés Redundancia 1NF, 2NF, 3NF

Oracle Spatial. Térbeli adatot tartalmazó tábla: Geometry table Legalább 2 oszlopa van: Elsődleges kulcs, SDO_GEOMETRY típusú oszlop.

AB1 ZH mintafeladatok. 6. Minősítse az állításokat! I-igaz, H-hamis

SQL DDL-1: táblák és megszorítások

XML adatbázis kezelésének lehetőségei

Az SQL nyelv Structured Query Language (Struktúrált lekérdező nyelv)

Informatikai alapismeretek Földtudományi BSC számára

Adatbázis, adatbázis-kezelő

Célkitűzések Az Oracle10 g felépítésének, használatának alapszíntű megismerése

LOGISZTIKAI ADATBÁZIS RENDSZEREK JOIN, AGGREGÁCIÓ

ALAPOK. 0 és 255 közé eső számértékek tárolására. Számértékek, például távolságok, pontszámok, darabszámok.

Adatbázis rendszerek. dr. Siki Zoltán

XML az Extensible Markup Language (Kiterjeszthet jelöl nyelv) szavak rövidítése. XML a World Wide Web Konzorcium (W3C) ajánlása, amely kompatíbilis

XML EXtensible Markup Language

Adatbázisok II. Jánosi-Rancz Katalin Tünde 327A

Adatbázis kezelés Delphiben. SQL lekérdezések

Az adatok a vállalat kulcsfontosságú erőforrásai. Az információs rendszer adatai kezelésének két alapvető változata:

5.előadás: Adatbázisok-I. dr. Hajas Csilla (ELTE IK)

Adatbázisok I. Az SQL nyelv

Keskeny Zoltán 2007/08 SQL. Structured Query Language. (gyakorlat az SQL2 szabvány alapján) Keskeny Zoltán tanév

SQLServer. DB Recovery modes

Adatbázis Rendszerek I. 9. SQL alapok (DDL esettanulmány)

ADATBÁZIS-KEZELÉS. Relációs modell

Adatbázis rendszerek 2. előadás. Relációs algebra

Relációs adatmodellezés

LEKÉRDEZÉSEK SQL-BEN. A relációs algebra A SELECT utasítás Összesítés és csoportosítás Speciális feltételek

30 MB INFORMATIKAI PROJEKTELLENŐR

ADATBÁZIS-KEZELÉS. Modellek

BGF. 4. Mi tartozik az adatmodellek szerkezeti elemei

Adatkezelési mőveletek az XML nyelvben XQuery - XML dokumentumok lekérdezésére szolgáló lekérdezınyelv kifejezı ereje az OQL nyelvével egyenértékő.

34. Elsődleges kulcs megadása XMLSchema-ban Idegen kulcs megadása XMLSchema-ban Típusok kategóriái és saját típus megadásának

Adatbázis használat I. 2. gyakorlat

Multimédiás adatbázisok

LOGISZTIKAI ADATBÁZIS RENDSZEREK UNIÓ, ALLEKÉRDEZÉSEK

Adatbázisok elmélete

Lekérdezések az SQL SELECT utasítással. Copyright 2004, Oracle. All rights reserved.

Lekérdezések az SQL SELECT utasítással

Hallgató i Ú tmutató. Beadandó anyag követelményei

Csoportosított adatok megjelenítése összesítı függvények használatával. Copyright 2004, Oracle. All rights reserved.

Adatbázisok. 3. gyakorlat. Adatmodellezés: E-K modellb l relációs adatbázisséma. Kötelez programok kiválasztása szeptember 21.

EGY MÓDSZERTANI KÍSÉRLET A RAKTÁRI JEGYZÉKEK SZÁMÍTÓGÉPES MEGJELENÍTÉSE

1. Az XML és XHTML nyelvek. Az XML leíró nyelv Szabályok XHTML írásra. Tartalom Az XML leíró nyelv

ADATBÁZISKEZELÉS ADATBÁZIS

Átírás:

XML alapú adatbázis-kezelés Adatstruktúrák: Digitális kép, hang: teljesen strukturálatlan A web (linkek): részben strukturált Relációs: teljesen strukturált Motiváció: (Katona Endre diái alapján) Ismeretlen adatstruktúrák fogadása. (Teljesen strukturált adatokat csak a séma ismeretében tudjuk beolvasni.) Különféle forrásból eredő adatok integrálása. Rugalmasabb adatstruktúrák alkalmazása.

A relációs modell megközelítése A relációs modell külön kezeli az adatszerkezet leírását és magukat az adatokat. Relációséma: Vásárlás (eladó, vevő, egységár, mennyiség) Adatok: Kovács Tóth 2120 18 Kiss Nagy 150 4500 Szabó Kiss 980 3

Önleíró adatstruktúra Tétel = (Eladó = Kovács, Vevő = Tóth, Egységár = 2120, Mennyiség = 18) Tétel = (Eladó = Kiss, Vevő = Nagy, Egységár = 150, Mennyiség = 4500) Tétel = (Eladó = Szabó, Vevő = Kiss, Egységár = 980, Mennyiség = 3)

HTML-szerű leírás (XML) <Vásárlások> <Tétel> <Eladó> Kovács </Eladó> <Vevő> Tóth </Vevő> <Egységár> 2120 </Egységár> <Mennyiség> 18 </Mennyiség> </Tétel> <Tétel> <Eladó> Kiss </Eladó> <Vevő> Nagy </Vevő> <Egységár> 150 </Egységár> <Mennyiség> 4500 </Mennyiség> </Tétel> </Vásárlások>

XML HTML (HyperText Markup Language) XML (Extensible Markup Language): a HTML általánosításának tekinthető. Az XML szabvány fejlesztője: W3C = World Wide Web Consortium http://www.w3.org/ SGML (Standard Generalized Markup Language): metanyelv, amely adat- és dokumentumcsere céljára szolgáló nyelvek (pl. HTML) definiálására alkalmas. Az SGML szabványt 1988-ban publikálták. Az XML az SGML leszűkített változata.

Az XML elemei XML-deklaráció: <? xml version="1.0"...?> Kezdőcímke: <címkenév> Zárócímke: </címkenév> A címkenévben kis- és nagybetű különböző! Elem: kezdő- és zárócímkepár által leírt egység. Attribútum: <címkenév attr="érték"> Kommentár: <!--... --> Hierarchikus felépítés: minden elemnek egy szülője és több gyermeke lehet.

<? xml version="1.0"?> <könyvtár> <könyv> <szerző> Jókai </szerző> <cím> Aranyember </cím> </könyv> <könyv> <szerző> Sályi </szerző> <szerző> Szelezsán </szerző> <cím> Adatbázisok </cím> </könyv> <olvasó> <név> Nagy László </név> <lakcím> <város> Pécs </város> <utca> Kő u. </utca> <házszám> 35 </házszám> </lakcím> </olvasó> </könyvtár> Példa: könyvtári nyilvántartás

Szintaktikai szabályok A jól formált (well-formed) XML szabályai: Minden kezdőcímkéhez tartozik zárócímke. Az elemek nem átfedőek. Csak egy gyökérelem van. Attribútumértékek idézőjelek között szerepelnek. Egy elemnek nincs két azonos nevű attribútuma. Címke belsejében nem szerepelhet megjegyzés vagy feldolgozásra vonatkozó utasítás. Elemben és attribútumban a < és & karakterek csak speciális kódolással (escape-szekvenciában) fordulhatnak elő.

Az XML-dokumentum két típusa Önálló dokumentum: <? xml version="1.0" standalone="yes"?> <címke>... </címke> Helyes (valid) dokumentum: szabályrendszer leírását (DTD) feltételezi.

A DTD fogalma DTD = Document Type Definition: a dokumentum felépítési szabályainak leírása. Elemdeklaráció a DTD-ben: <!ELEMENT elemnév (komponensek)> A DTD lehet külön fájlban, az XML dokumentum elején.

Külön fájlban elhelyezett DTD Az XML fájl: <? xml version="1.0" standalone="no"?> <!DOCTYPE minta SYSTEM "minta.dtd"> <címke>... </címke> A minta.dtd fájl: <? xml version="1.0"?> <!ELEMENT elemnév (komponensek)>...... <!ELEMENT elemnév (komponensek)>

XML fájlban elhelyezett DTD <? xml version="1.0" standalone="yes"?> <!DOCTYPE gyökércímke [ <!ELEMENT elemnév (komponensek)>... <!ELEMENT elemnév (komponensek)> ]> <címke>... </címke>

<? xml version="1.0"?> <könyvtár> <könyv> <szerző> Jókai </szerző> <cím> Aranyember </cím> </könyv> <könyv> <szerző> Sályi </szerző> <szerző> Szelezsán </szerző> <cím> Adatbázisok </cím> </könyv> <olvasó> <név> Nagy László </név> <lakcím> <város> Pécs </város> <utca> Kő u. </utca> <házszám> 35 </házszám> </lakcím> </olvasó> </könyvtár> Milyen DTDvel írjuk le a könyvtári nyilvántartás szabályait?

Példa: könyvtári nyilvántartás DTD-je <? xml version="1.0"?> <!ELEMENT könyvtár (könyv*, olvasó*)> <!ELEMENT könyv (szerző+, cím)> <!ELEMENT szerző (#PCDATA)> <!ELEMENT cím (#PCDATA)> <!ELEMENT olvasó (név, lakcím)> <!ELEMENT név (#PCDATA)> <!ELEMENT lakcím (város, utca, házszám)> <!ELEMENT város (#PCDATA)> <!ELEMENT utca (#PCDATA)> <!ELEMENT házszám (#PCDATA)>

Jelölések #PCDATA: szövegkonstans (Parsed Character Data, parse = elemez) * jelentése "nulla vagy több", tetszőleges számú ismétlés, beleértve a nullaszorost is. + jelentése "egy vagy több", tetszőleges számú ismétlés, de legalább egy.? jelentése "nulla vagy egy". jelentése: kizáró vagylagos kapcsolat, például (#PCDATA (város, utca, házszám))

A féligstrukturált adatmodell Féligstrukturált adatmodell (semistructured data model): Önleíró adatstruktúra (nincs külön séma és tartalom). Az XML elméleti alapjának tekinthető. Grafikus ábrázolás: címkézett gráf Csomópont: adatpéldány, XML-elemnek felel meg (levélen atomi adat, közbülső csomópontban összetett adat) Él: adatpéldányok közötti viszony (tartalmazás vagy kapcsolat)

<? xml version="1.0"?> <könyvtár> <könyv> <szerző> Jókai </szerző> <cím> Aranyember </cím> </könyv> <könyv> <szerző> Sályi </szerző> <szerző> Szelezsán </szerző> <cím> Adatbázisok </cím> </könyv> <olvasó> <név> Nagy László </név> <lakcím> <város> Pécs </város> <utca> Kő u. </utca> <házszám> 35 </házszám> </lakcím> </olvasó> </könyvtár> Példa: könyvtári nyilvántartás

Könyv1 könyv Könyvtár szerző cím könyv olvasó Jókai Aranyember Olvasó1 szerző Könyv2 név lakcím Sályi szerző cím Nagy László Lakcím1 Szelezsán Adatbázisok város utca házszám Pécs Kő u. 35.

Kapcsolatok kezelése Probléma: a kölcsönzést (könyv olvasó kapcsolat) hogyan kezeljük? Megoldás féligstrukturált modellben: nyilak. Megoldás XML-ben: attribútumok.

K1 könyv Adatbázis szerző cím könyv olvasó Jókai Aranyember könyvei Olv1 szerző K2 olvasója név lakcím Sályi szerző cím Nagy László Lakcím1 Szelezsán Adatbázisok város utca házszám Pécs Kő u. 35.

<? xml version="1.0"?> <könyvtár> <könyv könyvid="k1"> <szerző> Jókai </szerző> <cím> Aranyember </cím> </könyv> <könyv könyvid="k2" olvasója="olv1"> <szerző> Sályi </szerző> <szerző> Szelezsán </szerző> <cím> Adatbázisok </cím> </könyv> <olvasó olvasóid="olv1" könyve="k2"> <név> Nagy László </név> <lakcím> <város> Pécs </város> <utca> Kő u. </utca> <házszám> 35 </házszám> </lakcím> </olvasó> </könyvtár> Példa: könyvtári nyilvántartás kölcsönzéssel (1:1 kapcsolat)

<? xml version="1.0"?> <könyvtár> <könyv könyid="k1" olvasója="olv1"> <szerző> Jókai </szerző> <cím> Aranyember </cím> </könyv> <könyv könyid="k2" olvasója="olv1"> <szerző> Sályi </szerző> <szerző> Szelezsán </szerző> <cím> Adatbázisok </cím> </könyv> <olvasó olvasóid="olv1" könyvei="k1, K2"> <név> Nagy László </név> <lakcím> <város> Pécs </város> <utca> Kő u. </utca> <házszám> 35 </házszám> </lakcím> </olvasó> </könyvtár> Példa 1:N kapcsolatra N:M kapcsolat hasonlóan

Attribútumok megadása DTD-ben ATTLIST elemnév attribútumdefiníciók Attribútumdefiníció: attribútumnév típus alapértelmezés Típusok: CDATA: karakteres adat. ID: egyértelmű elemazonosító. IDREF vagy IDREFS: hivatkozás azonosítóra. Alapértelmezés: Alapértelmezett érték megadása, például "0". #REQUIRED: az attribútum megadása kötelező. #IMPLIED: az attribútum megadása nem kötelező.

Példa: könyvtári DTD attribútumokkal <? xml version="1.0"?> <!ELEMENT könyvtár (könyv*, olvasó*)> <!ELEMENT könyv (szerző+, cím)> <!ATTLIST könyv könyvid ID #REQUIRED olvasója IDREF #IMPLIED> <!ELEMENT szerző (#PCDATA)> <!ELEMENT cím (#PCDATA)> <!ELEMENT olvasó (név, lakcím)> <!ATTLIST olvasó olvasóid ID #REQUIRED könyvei IDREFS #IMPLIED> <!ELEMENT név (#PCDATA)> <!ELEMENT lakcím (város, utca, házszám)> <!ELEMENT város (#PCDATA)> <!ELEMENT utca (#PCDATA)> <!ELEMENT házszám (#PCDATA)>

Az SQL-szabvány XML-támogatása SQL:2003 szabvány: XML támogatás (SQL/XML) Oracle 9i-ben jelent meg az XML támogatás (XML DB). XMLType: XML adattípus, tábla oszlopához rendelhető. XML-t kezelő metódusok használhatók. Belül CLOB-ként tárolódik.

SQL/XML függvények Az alábbi függvények az SQL-szabványban szerepelnek, és az Oracle is támogatja azokat. Lényegében relációs adattábla XML konverziót támogatnak. XMLElement: XML-elemet hoz létre. XMLForest: XML-elemek sorozatát hozza létre. XMLAgg: elemcsoportot tartalmazó XML-elemet hoz létre (SQL összesítő függvények mintájára). XMLConcat: XMLType típusú elemek sorozatából egyesített sorozatot hoz létre. XMLSequence: az XMLConcat inverze.

Az XMLElement függvény A létrehozandó elem: <elemnév attr1="érték1" attr2="érték2"... > tartalom </elemnév> XML-elem létrehozása: XMLELEMENT ( elemnév [, XMLATTRIBUTES (érték1 AS attr1, érték2 AS attr2,...) ] [, tartalom] ] )

Példák XMLElement használatára 1. példa: SELECT XMLELEMENT(proba,'szöveg') AS p FROM dual; Eredmény: <PROBA>szöveg</PROBA> 2. példa (kisbetű-nagybetű megkülönböztetése): SELECT XMLELEMENT("Próba",' szöveg ') AS p FROM dual; Eredmény: <Próba> szöveg </Próba>

Példák XMLElement használatára 3. példa: SELECT XMLELEMENT(proba, XMLATTRIBUTES('ertek1' as "attr1"), szöveg ) AS p FROM dual; Eredmény: <PROBA attr1="ertek1">szöveg</proba>

Példák XMLElement használatára 4. példa: Könyv (könyvszám, szerző, cím) SELECT XMLELEMENT(konyv, XMLATTRIBUTES(k.konyvszam AS "konyvszam"), k.szerzo ': ' k.cim) AS result FROM konyv k; Eredmény: <KONYV konyvszam="1121"> Sályi: Adatbázisok</KONYV> <KONYV konyvszam="3655"> Radó: Világatlasz</KONYV> <KONYV konyvszam="2276"> Karinthy: Így írtok ti</konyv> <KONYV konyvszam="1782"> Jókai: Aranyember</KONYV>

Példák XMLElement használatára 5. példa: SELECT XMLELEMENT( konyv, XMLATTRIBUTES(k.konyvszam AS "ksz"), XMLELEMENT(szerzo, k.szerzo), XMLELEMENT(konyvcim, k.cim) ) AS result FROM konyv k; Eredmény: <KONYV ksz="1121"><szerzo>sályi</szerzo> <KONYVCIM>Adatbázisok</KONYVCIM></KONYV> <KONYV ksz="3655"><szerzo>radó</szerzo> <KONYVCIM>Világatlasz</KONYVCIM></KONYV> <KONYV ksz="2276"><szerzo>karinthy</szerzo> <KONYVCIM>Így írtok ti</konyvcim></ko <KONYV ksz="1782"><szerzo>jókai</szerzo> <KONYVCIM>Aranyember</KONYVCIM></KONYV>

Az XMLForest függvény XML-elemsorozat létrehozása: XMLFOREST (kifejezés1 [AS elemnév1], kifejezés2 [AS elemnév2],...) A létrehozott elemek: <elemnév1> érték1 </elemnév1> <elemnév2> érték2 </elemnév2>... Megjegyzések: A "kifejezés1" aktuális értéke "érték1". Ha "kifejezés1" egy tábla oszlopneve, akkor az oszlopnév lesz az "elemnév".

Példák XMLForest használatára 1. példa: SELECT XMLFOREST (konyvszam AS ksz, szerzo, cim) AS lista FROM konyv k; Eredmény: <KSZ>1121</KSZ> <SZERZO>Sályi</SZERZO> <CIM>Adatbázisok</CIM> <KSZ>3655</KSZ> <SZERZO>Radó</SZERZO> <CIM>Világatlasz</CIM>...

Példák XMLForest használatára 2. példa: SELECT XMLELEMENT( konyv, XMLATTRIBUTES(k.konyvszam AS "ksz"), XMLForest(szerzo, cim) ) AS lista FROM konyv k; Eredmény: <KONYV ksz="1121"><szerzo>sályi</szerzo> <CIM>Adatbázisok</CIM></KONYV> <KONYV ksz="3655"><szerzo>radó</szerzo> <CIM>Világatlasz</CIM></KONYV> <KONYV ksz="2276"><szerzo>karinthy</szerzo> <CIM>Így írtok ti</cim></konyv>...

Az XMLAgg függvény XML-aggregációs függvény: XMLAGG ( xml_elem [ORDER BY oszlop] ) A létrehozott adatstruktúra: A lekérdezett xml_elem-ek sorozatát egyetlen XML-elemként adja vissza.... Az SQL összesítő függvények (AVG, SUM,...) és GROUP BY mintájára működik.

Példák XMLAgg használatára 1. példa: Dolgozó (adószám, név, lakcím, osztálykód) SELECT XMLELEMENT ( osztaly, XMLAGG( XMLELEMENT (dolgozo, d.nev ': ' d.lakcim) ORDER BY nev) ) AS lista FROM dolgozo d WHERE osztalykod='3'; Eredmény: <OSZTALY> <DOLGOZO>Fekete: Pécs, Hegy u.5.</dolgozo> <DOLGOZO>Kiss: Pápa, Kő tér 2.</DOLGOZO> <DOLGOZO>Nagy: Pécs, Cső u.25.</dolgozo> </OSZTALY>

Példák XMLAgg használatára 2. példa: SELECT XMLELEMENT( osztaly, XMLATTRIBUTES(osztalykod AS osztkod), XMLAGG( XMLELEMENT(dolgozo, d.nev ': ' d.lakcim)) ) AS lista FROM dolgozo d GROUP BY osztalykod;

Példák XMLAgg használatára 2. példa eredménye: <OSZTALY OSZTKOD="1"> <DOLGOZO>Tóth: Tata, Tó u.2.</dolgozo> <DOLGOZO>Kovács: Vác, Róka u.1.</dolgozo> <DOLGOZO>Takács: Győr, Pap u.7.</dolgozo> </OSZTALY> <OSZTALY OSZTKOD="2"> <DOLGOZO>Kovács: Pécs, Vár u.5.</dolgozo> <DOLGOZO>Török: Pécs, Sas u.8.</dolgozo> </OSZTALY> <OSZTALY OSZTKOD="3"> <DOLGOZO>Kiss: Pápa, Ko tér 2.</DOLGOZO> <DOLGOZO>Fekete: Pécs, Hegy u.5.</dolgozo> <DOLGOZO>Nagy: Pécs, Cső u.25.</dolgozo> </OSZTALY>