602SQL-Úplná dokumentace Index  

Formát XML a jeho podpora v 602SQL

602SQL je vybaven rozšířením podporujícím formát XML - funkčnost je podmíněna aktivací po získání licence.

Podpora XML v nějaké formě je rys všech moderních databázových systémů. Pro ukládání XML do databáze a následný přístup k datům se používají dva základní způsoby:

  1. vložení celého XML dokumentu do jednoho BLOBu či CLOBu;
  2. rozebrání (parsování) XML dokumentu na elementy a vkládání do jednotlivých sloupců vhodných tabulek.
602SQL implementuje (a tato dokumentace popisuje) pouze druhý způsob. Vložit XML dokument do LOBu (první způsob) samozřejmě lze, server ale neposkytuje žádnou podporu pro data obsažená v XML dokumentu (třídění, vyhledávání apod.). Význam by to mělo tehdy, pokud by databáze sloužila pouze jako úložiště XML dokumentů a vlastní práci s daty by prováděla externí vrstva.

Vztah formátu XML k relačním databázím

Formát XML, na rozdíl od jiných textových formátů, může zachytit libovolně složitě strukturovaná data. Hodí se proto také pro uložení provázaných dat z relačních databází.

Vztahy mezi daty jsou v XML souboru obvykle vyjádřeny jinak než v relační databázi: v XML se používá vnoření elementů do sebe, zatímco v relační databázi vazbu mezi záznamy v různých tabulkách zajišťují stejné hodnoty klíčů. Proto při přenosu dat probíhá odpovídající transformace.

Cíle přenosu dat mezi databází a XML

Nástroje propojující XML soubory s databází mají za cíl:

Aby tyto cíle mohly být naplněny, nestačí jednoduchý import a export dat mezi databázovou tabulkou a souborem. Je nutno vytvořit zobrazení, které popisuje transformaci struktury dat. Toto zobrazení se nazývá DAD.

Možnosti transformace dat při přenosu

Popis přenosu v DAD umožňuje mimo jiné toto:

Vztah mezi strukturou dat v databázi a strukturou XML souboru se řídí dvěma principy: Relačnímu připojení N záznamů z další tabulky odpovídá vnoření N výskytů elementu obsahujícího data ze záznamu. Opakující se stejná data mohou být vytknuta o úroveň výše. První princip se více uplatňuje v analytických DADech, druhý v syntetických.

ODBC zdroje dat

Zde popisované způsoby práce s XML daty je možné použít i pro externí zdroje dat připojené přes ODBC rozhraní. Hlavním omezením přístupu přes ODBC je skutečnost, že vlastní provádění XML přenosů z/do ODBC je nutné dělat pouze z klientského rozhraní (Vývojové prostředí, PHP XML API nebo CDK), zatímco přenosy z/na 602SQL server je možné nejen z klientského, ale i ze strany SQL serveru v jazyce SQL. 602SQL server samotný nemá totiž implementováno ODBC rozhraní. Další omezení jsou popsána zde.

Operační systémy

Základem pro XML jsou kódování UTF-8 a UTF-16. Protože převody do a z těchto kódování nebyly podporovány ve Windows 95 ani ve Windows NT 3.5, nelze rozšíření XML používat pod těmito operačními systémy. Počínaje Windows 98/Me a Windows 4.0/2000/XP jsou již tato kódování podporována (Win 98 jen částečně).

Implementace podpory XML

Rozšíření pro práci s XML je implementováno v knihovně 602xmlXY.dll (XY je označení verze). Tato knihovna potřebuje pro svoji práci knihovnu xerces-c_2_*.dll šířenou pod licencí Apache.

Seznam subsekcí: