Objektově-relační databáze

Když softwarová firma Whitemarsh Information Systems vystavila na svých webových stránkách článek "Great News, The Rel...


Když softwarová firma Whitemarsh Information Systems vystavila na svých
webových stránkách článek "Great News, The Relational Model is Dead", zdálo se
na první pohled, že jde o pobuřující myšlenku. Znamená to snad, že zahodíme
relační databáze a začneme znova od začátku na základě nějaké nové technologie?
Jak tomu však často bývá, název článku byl spíše jen provokující.
Šlo o reakci na vznik nového standardu SQL s označením SQL:1999, který v sobě
kromě jiného zahrnuje objektové rysy. O co jde? Prvkem řádku relační tabulky
již nemusí být pouhá atomická hodnota, ale složitější struktura, např. pole
hodnot, odkaz na řádek jiné tabulky apod. Jak to funguje
Představme si např. město a jeho hranice aproximované n-úhelníkem. V relační
databázi jsme ho mohli rozložit na úsečky a každou z nich uložit do jednoho
řádku dohromady se společným identifikátorem. V tabulkách SQL:1999 lze
n-úhelník modelovat jako prvek řádek, který popisuje město přímo. Je jisté, že
se tím zjednoduší nejen uložení takových dat, ale i přístup k nim.
Návrhář databáze v SQL:1999 může dokonce navrhnout své vlastní typy dat spolu s
operacemi, které se na nich mají provádět. Vlastní data se sice tváří jako
řádky databáze, mohou však mít svoji identitu. Objekty z více tabulek lze
pomocí identifikátorů vázat do složitějších struktur, což vzdáleně připomíná
síťové a hierarchické databáze. Ano, vše tu již bylo, ale na jiném
technologickém základě. Nyní je k dispozici SQL, který k takovým složitým datům
umí přistupovat unifikovaným způsobem a s dostatečnou vyjadřovací silou. Jinými
slovy řečeno, klasická relační tabulka je jenom podmnožinou nové, objektově-
relační (OR) koncepce. Zajímavé je, že zavrhování relačního modelu tu již bylo
o několik let dříve v souvislosti se vznikem objektově orientovaných (OO)
databází. Ty opravdu představovaly nové paradigma, inspirované tvorbou OO
software. Nasazení takové technologie však znamenalo buď začít s vytvářením
databáze od začátku anebo provést netriviální úpravy starých dat a aplikací.
Horliví zastánci OO databází dokonce předvídali, že relační databáze nepřežijí
rok 2000. Situace je však dnes taková, že počet instalací OO databází je ve
srovnání s relačními spíše zanedbatelný. Proč tedy OR ano a OO tolik ne?

Pragmatismus vítězí
OR databáze se pokoušejí překlenout mezeru mezi relační technologií a OO
přístupem. Přidávají možnost ukládat objekty do relační databáze. Jde o trend
pragmatický. Výrobci relačních databází potřebovali rozšířit možnosti aplikace
relačních databází do oblastí požadujících integraci klasických tabulkových dat
a složitých objektů, jako jsou např. časové řady, prostorová data či binární
objekty, mezi které patří audio, video, obrázky či applety. Zapouzdřením metod
a datových struktur může OR server vyvolat náročné operace pro prohledávání a
transformaci složitých multimediálních dat. Nejde však jen o multimedia.
Databázové zpracování vyžadují i speciální aplikace, např. pro medicínu (EKG,
rentgenové snímky) či výzkum Země (seismická data, snímky ze satelitů).
Výsledkem těchto trendů jsou univerzální servery, které podporují jak složité
objekty, tak relační datové struktury obsahující multimediální data.
Rozšiřitelnost takových serverů zajišťují výrobci speciálními moduly můžeme bez
obav říci softwarovými komponentami které představují implementace jednotlivých
aplikačně orientovaných datových typů (zpracování textů, prostorových objektů,
otisků prstů, videa apod.). Většina z nich navazuje na další standardy. Např.
modul pro prostorová data je založen na geometrickém modelu prostorových dat
podle konsorcia OpenGIS.

Příslib pro budoucnost
OR technologie představuje pozadí, na kterém budou relační databáze žít ve
třetím tisíciletí. Je důležité, aby staré aplikace mohly existovat dál i v
novém prostředí. SQL:1999 a jeho implementace to garantují. Jakkoliv se SQL
rozrůstá do obludných rozměrů, je jeho vývoj řízen systematicky v několika
nezávislých větvích se společným základem. Databázová praxe žene vývoj sama
kupředu. To je vidět i z toho, co je již k dispozici v posledních verzích OR
databázových produktů a dosud není součástí standardu.
Aktuální vývoj v obasti objektově relačních databází bude patřit k hlavním
tématům národní databázové konference Datakon (19.-22. 10. 2002, Hotel Santon,
Brno), která nabídne o této záludné problematice tutoriál (J. Pokorný). To
samozřejmě není vše. Na své si přijdou i zájemci o UML (K. Richta), o využití
webových zdrojů se připravuje tutoriál Ontologie a web (V. Svatek) a do
aplikované futurologie míří tutoriál Kvantové počítání (J. Gruska).
Computerworld je mediálním partnerem této konference.

Historie SQL
S jazykem SQL (Structured Query Language) se můžeme setkat již v roce 1974. V
té době se však jmenoval Sequel. Jako první byl použit v Systému R vyvinutém v
kalifornské laboratoři IBM. Od té doby se jazyk rozšířil a byl používán v
ostatních relačních databázových systémech.
Postupem času však vznikaly další verze jazyka a bylo potřeba, aby byl
standardizován. K tomu došlo v roce 1986, kdy jej přijala standardizační
skupina ANSI (a v roce 1987 ISO). Standardem byl uznán dialekt firmy IBM. V
literatuře se můžeme setkat také s označením SQL86. Později bylo potřeba
rozšířit definiční jazyk o možnost integritního omezení. Výsledná zpráva byla
zveřejněna v roce 1989 organizací ISO. Tomuto rozšíření se říká SQL89. Další
standard, který byl přijat v roce 1992 (ANSI), je označován jako SQL92 (někdy
také jako SQL2). Ten umožňoval používání nových datových typů a konverzí mezi
datovými typy, zavedl různé typy spojení tabulek ve složce FROM a zpřesnil
pojem referenční integrity.
Další nové prvky obsahuje standard SQL:1999 (označovaný dříve jako SQL3), který
je zajímavý svou objektovou orientací.

Cíle objektově-relačního přístupu
Hnacím motorem technologických inovací v relačním světě je zkrácení obchodního
cyklu, a to jak v oblasti procesů, tak u služeb a výrobků. Za vším stojí
příslib nových kompetitivních výhod. Cílem OR technologie je (kromě jiného):
získat maximum z rozsáhlých investic do relační technologie (vybudování
databází, získání zkušeností)
využít výhody v pružnosti, produktivitě a provozních přínosech OO modelování
integrovat databázové služby do systémů výroby a dalších aplikací









Komentáře
K tomuto článku není připojena žádná diskuze, nebo byla zakázána.