15 - XML databáze Flashcards

1
Q

XML databáze

A

XML DB je DB s podporou XML – tzn. dovoluje data specifikovat, a někdy i ukládat v XML formátu.

Většina DB podporuje XML alespoň tak, že jej umožňuje do DB ukládat (tzv. XML enabled DB).

Je-li podpora vnitřní (DB “rozumí” struktuře XML, pracuje s DOM apod.), mluvíme o NATIVNÍ podpoře XML.

Motivací pro XML DB je velké rozšíření tohoto formátu a má-li pro něj DB přímou podporu, je snadnější s ním pracovat.

Mohou existovat wrappery umožňující provádět SQL dotazy nad XML DB. Mezi nativní XML DB patří např. open source DB eXist.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

SQL podpora pro XML v SQL:2003

A
  • Zavádí datový typ XML (XMLType) umožňující ukládat “XML hodnoty” (XML dokumenty).
  • SQL/XML - funkce, které lze použít v příkazech SQL:
    • xmlelement - vytvoří element s daným jménem a do obsahu uloží hodnotu
    • xmlforest - vytvoří skupinu XML elementů z názvů sloupců relační tabulky
    • xmlconcat - sloučení XML hodnot
    • xmlattribute, xmlroot, xmlparse, …

• Mapování SQL na XML a naopak. (datových typů, metadat, export/import dat z DB ve formátu XML)

  • Sloupec typu XML může obsahovat:
    • XML dokument
    • jednotlivé elementy
    • strom elementů a semistrukturovaný obsah

• Atributy se mohou vyskytovat pouze v rámci elementů, samy o sobě nejsou legální XML hodnotou.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Podpora XML u serveru Oracle 10g (2002)

A
  • Oracle server od roku 2002 podporuje tyto věci plus některé další (XPath, XML Schémata, …).
  • Typ XMLType - odpovídá standardnímu typu XML
  • SQL funkce a operátory pro práci s XML
  • Podpora XML Schema
  • Dualita XML a SQL - lze používat SQL operace nad XML daty a naopak
  • Podpora dotazování SQL/XML, XPath, XQuery
  • Organizace dat - hierarchická struktura pomocí XML DB Repository
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Typy XML dokumentů

A

Datové XML dokumenty (data-centric) - XML použit pro zápis dat (typicky k přenosu)

• typický životní cyklus: DB -> XML -> DB 
• nezáleží na pořadí dat (rozhodující název elementu/atributu) 
• pravidelná struktura 
• jemná granularita  Příklady: faktury, objednávky; dokumenty vytvořené podle šablony; export dat z DB. 

Dokumentově zaměřené XML dokumenty (document-centric) - Často určené pro čtení či zpracování lidmi, data zpravidla nepochází z DB

• pořadí elementů zásadní 
• méně pravidelná struktura  Příklady: Knihy, e-maily, WWW stránky v XHTML.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Typy Ukládání XML do DB (3)

A

Shredding (rozklad XML dokumentu do relačního modelu)
• používaný dříve, ztrácí výhody XML (Microsoft SQL Server používá doteď; má více druhů podpory XML dokumentů)
• výhoda použití již implementovaných operací, indexů, …
• možnost převést XPath, XQuery na standardní SQL dotaz
• náročná operace sestavení originálního XML dokumentu
• rozklad/sestavení XML dokumentu na aplikační úrovni ↔ standardní uložení/načtení do/z DB

Uložení do CLOB
• uložení celého dokumentu do CLOB
• flexibilní s ohledem na změnu schématu
• rychlé získání dokumentu
• operace nad částmi pomalé a paměťově náročné
• pomalé aktualizace

Objektově - relační uložení
• použití typu XMLType pro vytvoření sloupcových objektů a objektových tabulek
• mapování a validace na základě XML schématu
• efektivní práce s částí dokumentu pomocí XPath
• možnost využití podpory pro omezení v SQL (např. PRIMARY KEY)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

XML databázové produkty

A

Nativní XML databázové systémy
• datový model vychází z modelu XML dokumentu

XML servery
• JEE, webové aplikační a další servery s datovým rozhraním v XML
• slouží k vytváření distribuovaných aplikací nebo pouhému publikování XML dokumentů na webu

Dokumentově zaměřené aplikace

Systémy pro správu obsahu (CMS - content management system)
• typicky systémy nad nativní XML DB, souborovým systémem nebo RDB
• prostředky pro kontroly, editaci, verzování atd.

Datově zaměřené aplikace (zbytek)

Databázové systémy s podporou XML (XML enabled)
• většina komerčních relačních DB, PostgreSQL má podporu XML nad CLOB a umožňuje provádět XPath dotazy
• DB -> XML, XML -> DB

Middleware
• data v relační tabulce, ale pracujeme s nimi jako s XML
• prostředník mezi aplikacemi
• DB -> XML, XML -> DB, (podpora XML ale není v DB ale v middleware)
• např. Mícrosoft ADO

Wrappery
• data v XML, ale dotazujeme jako na relační
• programy umožňující relační pohled na XML (dotazování v SQL na data pocházející z XML)

Nástroje pro navázání XML dat (XML data binding)
• z XML dokumentu vytvoří objekty zapouzdřující data (XML -> objekt)
• resp. z XML schématu třídy pro práci s dokumentem (XML Schema -> třída)
• např.: JAXB (Java Architecture for XML Binding)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Dotazování nad XML

A

Xpath (popř. i XSLT pro transformaci výsledku) – Např. ZAKAZNICI/* vybere všechny potomky uzlu ZAKAZNICI.
XQuery – Funkcionální dotazovací jazyk.
XSQL – Jazyk kombinující XML a SQL.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly