602SQL 8.1 a XML, DAD

602SQL Server - lze provozovat na operačním systému Windows 98/ME/NT/2000/XP nebo Linuxu SUSE 7/Red Hat 6.1 a vyšším.

SQL norma ANSI/ISO - SQL 2 Intermediate level, umožňuje psát procedury a triggery dle normy SQL 3, podporuje BLOB/CLOB, fulltextový index

nově ve verzi 8.1 je implementována podpora XML pro přenos dat mezi heterogenními systémy.

1. Vývojové a provozní prostředí 602SQL pro Win32, které umožní vývoj vlastních aplikací, jejich ladění a provozování (tj. spouštění).

2. Standardizované drivery pro přístup cizích aplikací k datům na serveru - ODBC driver (Win32 a Linux), dbExpress driver (Win32/Delphi a Linux/Kylix), JDBC driver nebo ODMA driver.

3. Internetoví klienti, kteří umožňují spouštět dynamické HTML aplikace v libovolném webovém prohlížeči. Speciálním případem internetového klienta je PHP modul (Win32 a Linux).

4. Aplikace vyvinuté v programovacích jazycích C/C++ nebo Delphi, které využívají API rozhraní serveru.

602SQL 8.1 Rozhraní

Dynamické www stránky

602SQL Internet klienti pro přístup k datům

je sada programů 602SQL, pomocí kterých je možné vytvářet databázové aplikace napojené na libovolný webserver.

FastCGI klient - Windows NT (Apache pro Windows či pro Linux)

ISAPI klient - pouze Windows NT (webserver MS IIS)

CGI klient - Windows NT, na Windows 95/98 (webserver MS IIS, 602Messaging Server), pro Linux existuje ve dvou variantách: jako binární soubor spouštěný webserverem Apache nebo jako modul pro Apache (mod_wb602).

+ referenční integrita, fulltext

+ triggery, procedury, blokování db během provádění procedur, vícevláknové zpracování procedur

+ trasování a logování činnosti serveru, kvalitní zálohování

+ podpora XML (Extensible Markup Language)

- db závislá na systému souborů daného OS

- nekompatibilita souborů databází s dřívějšími verzemi

- použitelnost pro velké množství dat

Další vlastnosti

XML ideově vychází ze zhruba o deset let mladšího standardu SGML (Structure Generalized Markup Language)

Je to značkovací metajazyk

Pomocí značkování můžeme vystihnout objektové i datové vazby nějaké skutečnosti.

<clovek>

<jmeno>José</jmeno>

<prijmeni>Chroustal</prijmeni>

<e-mail>jose.chroustal@microsoft.com</e-mail>

</clovek>

XML Standard 1.0 (Připravuje se XML 1.1) W3C.org

XML Extension

XML – zobrazitelné pomocí internetového prohlížeče,

– zpracovatelné různými jazyky (parsery pro Javu, Perl, Python,	PHP, C++, ...)

Proč XML a databáze?

Exportovat data z dbs do XML

Importovat data z XML do dbs

Export i import lze dělat pomocí námi napsané aplikace, nebo

použít XML rozšíření u 602SQL.

XML Extension

XML Extension

Hlavní výhodou formátu XML je při zachování potenciálně složité struktury dat oddělení dat od konkrétní reprezentace v relační databázi a její prezentace v prohlížeči.

XML rozšíření pro 602SQL 8.1 je kompatibilní s XCollection v IBM DB2.

Pro popis mapování mezi databází a XML souborem slouží tzv. DAD (Document Access Definition) (DTD Document Type Definition)

DAD je v XML formátu a edituje se vizuálním návrhářem.

Syntetický a analytický DAD

DAD může být navržen jedním ze dvou způsobů:

·	DAD může odkazovat na jednu nebo více relačně propojených databázových tabulek. Takový DAD se hodí pro import i export dat a nazývá se analytický DAD.

·	DAD může obsahovat dotaz v jazyce SQL, který čerpá data z databáze. Takový DAD se hodí pouze pro export dat z databáze do XML souboru, může exportovat i hodnoty vypočtených výrazů a nazývá se syntetický DAD.

·	Analytický nebo syntetický druh DAD se volí hned na začátku návrhu.

Syntetický a analytický DAD - příklad

Table klient:

klient_id jmeno prijmeni	cislo_uctu(fk)

7511212859 Alois Okurka	0800-7654321

5205152598 Jose Chroustal	0800-1234567

Table ucet:

cislo_uctu(pk)	zustatek pobocka_id

0800-1234567	250000 11150

0800-7654321	-125000 11000

select klient.jmeno, klient.prijmeni, ucet.zustatek

from klient, ucet

where klient.cislo_uctu=ucet.cislo_uctu

Syntetický a analytický DAD

·	Elementy a atributy v XML souboru mohou být libovolně pojmenovány

a nemusí souviset se jmény databázových sloupců nebo tabulek.

·	Údaje v XML souboru lze přenášet nejen do a z databáze, ale také do a z proměnných deklarovaných v aplikaci.

·	Opakujícím se stejným hodnotám v databázi mohou v XML odpovídat data vytknuta ven, na vyšší úroveň ve struktuře zanořených elementů.

·	Hodnoty klíčů relačně propojujích záznamy mohou být buď přenášeny v XML nebo mohou být generovány až při importu.

·	Výběr záznamů pro export z databáze lze řídit nastavením hodnot klientských proměnných a jejich použitím v podmínkách DAD

- Vytváření DTD z DAD

- Export dat z tabulky včetně informace o typech (umožnění vytvořit tabulku a naplnit ji daty z jednoho XML souboru).

- Při exportu dat zapisovat do XML souboru místo dat pouze URL do databáze odkazující na data (typicky pro obrázky).

- Agregační funkce při výstupu do XML (například součet hodnot přes skupinu elementů obsažených v elementu).

- Rekurzivní volání exportu/importu.

- Speciální akce spouštěné pro záznam vložený importem

z XML

Prozatím neřešené otázky v XML a DBS

Závěrem

http://technet.idnes.cz/zprava.html?zprava=27488

Proč ne :)

Jan Pacek

2004-03-22T11:21:33