UDK (UDC) 681.3.06 SQL/MM OBJEKTNO US E ENI STANDARDI ZA PODATKOVNE B E IS/LIS-A dr. Radoš Šumrada FAGG-Oddelek za geodezijo, Ljubljana Prispelo za objavo: 31.5.1994 Izvleček V članku je pregled vsebine in razvojnih trendov v sklopu posebnega projekta ISO za izdelavo standardnega objektnega poizvedovalnega jezika SQL!MultiMedia. Ta jezik, popularno imenovani tudi SQL3, je namenjen definiciji in manipulaciji z objekti za potrebe CAD-a, multimedijskih in GJS-ovih aplikacij. V projektu je tudi podrobni predlog za opredelitev abstraktnih objektnih tipov za potrebe prostorskih informacijskih sistemov. Ključne besede: GJS/LJS objektno orientirani podatkovni model, ISO, objektni SQL, SAIF, SQL!MM, SQL3 Abstract The paper presents an overview of contents and outlines current trends established fara special ISO project called SQL/MultiMedia. The aim of this project is the development of an object-oriented query language SQL!MM, also called · SQL3 to define and manipulate with objects far the needs of CAD, multimedia and, GIS applications. The project describes a detailed proposal far abstract object types specifications far the needs of GISs'. Keywords: GIS/LIS object oriented data model, ISO, object SQL, SAIF, SQL/MM, SQL3 1. UVOD Prostorski podatki imajo zelo kompleksno in spremenljivo notranjo strukturo, kar otežuje njihovo enostavno in neposredno uporabo v tradicionalnih podatkovnih bazah (DBMS). Grafični podatki so zato običajno shranjeni v posebej organiziranih zapisih zunaj relacijskih ali drugih podatkovnih baz. Prostorski podatki so tudi količinsko zelo obsežni, podobno kot raznovrstni podatkovni tipi, ki se hranijo za potrebe multimedijev. ISO (International Standard Organisation) in tudi mnogi tržni proizvajalci podatkovnih baz zato pospešeno razvijajo novo tehnologijo objektno usmerjenih podatkovnih baz za podporo celemu nizu novih in zahtevnih podatkovnih tipov. Posebna ISO-va delovna skupina za jezike podatkovnih baz (JTC1/SC21/WG3 Database Languages) razvija tretjo generacijo strukturnega poizvedovalnega Geodetski vestnik 38 ( 1994) 2 jezika SQL/MM (popularno SQL3), ki bo formalno sprejet in uveljavljen do leta 1996 (SQL/MM 1993). Imel bo podporo za CAD, multimedijske aplikacije, geografske informacijske sisteme in bo predvsem objektno naravnan. SQL3 bo splošen objektno usmerjeni poizvedovalni jezik za objektne podatkovne baze, ki ga bodo uporabljale. Ohraniti bo moral tudi kompatibilnost s sedaj veljavnim standardom SQL2, ki je bil uradno sprejet leta 1992 (ISO/IEC 1992). Vsi dokumenti ISO SQL/MM-a so dostopni v digitalni obliki prek interneta na strežniku NIST (National Institute of Standards and Technology) z oznako speckle.ncsl.nist.gov. Dostopni so prek prenosa FTP (File Transfer Protocol). a Uradu za geomatiko Ministrstva za okolje, zemljišča in parke v Viktoriji, Britanska Kolumbija, Kanada, so izdelali predloge za ISO standardni SQL/MM za potrebe multimedijev, CAD in GIS sistemov. Njihov predlog je bil sprejet in predstavlja osnovo za izdelavo ISO standardnega SQL/MM. Sprejeti predlog za osnovo se imenuje SAIF (Spatial Archive and Interchange Format). SAIF predstavlja leta 1993 sprejeti kanadski nacionalni standard za podatkovno modeliranje in izmenjavo podatkov. SAIF temelji na objektno usmerjenem podatkovnem modelu, ki je zelo prožen. Predstavlja tudi osnovo za ISO-v standardni SQL/MM in delo skupine Open GIS v ZDA. Pryi osnutek za SAIF je sprejel CGBS (Canada General Standards Board), Komite za geomatiko leta 1991. Od tedaj so izdelali že številne razširitve in izboljšave. Zadnja v celoti objavljena SAIF verzija iz septembra 1993 ima oznako 2.0 in je bila delno spremenjena ter dopolnjena ob koncu januarja 1994 (verzija 3.0) z dodatnimi predlogi (SQL/MM 1994). Trenutna zadnja delovna verzija ima že oznako SAIF 3.1 (Lutz 1994). Večina dokumentov projekta SAIF je dostopna v digitalni obliki prek interneta na strežniku z oznako s2k-ftp.cs.berkley.edu. Prenos je možen prek protokola FTP kot uporabnik anonyrnous. Na posebnem področju pub/sequoia/schema/STANDARDS/ SAIF se nahajata dve s programom pkzip zgoščeni datoteki z zadnjo verzijo dokumentov SAIF-a. 2. SESTAVNI DELI STANDARDA SAIF Osnovni SAIF-ov model je brez geografskega pomena in vsebine. Ukvarja se predvsem z osnovnimi koncepti računalniških znanosti in informatike. SAIF temelji na objektno usmerjenem podatkovnem modelu, ki ga sestavljajo definiciJe in osnovni sestavni bloki. Ta opredelitev osnovnih razredov obsega n-terke, nize, sezname, kazalce, referenčne povezave, vektorje, polja, besedila, grafične gradnike itd. Standard SAIF določa tudi temeljno zbirko z okoli 300 objektnimi tipi kot so na primer točke, linije, območja, koordinatni sistemi in kartografske projekcije. Podana so tudi temeljna pravila za opredeljevanje objektnih tipov na višjih uporabniških nivojih. SAIF je izvorni predlog, ki predstavlja odlično osnovo za izdelavo ISO-vega standardnega poizvedovalnega jezika SQL3 za objektno usmerjene podatkovne baze. Predstavljeni so okvirji podatkovnih tipov, ki so potrebni za predstavitev geografskih razredov. To so metapodatki oziroma osnovni objektni tipi z vsemi grafičnimi, geometričnimi, topološkimi in opisnimi atributi, iz katerih lahko uporabniki izvedejo svoje razrede prek principa dedovanja. Predlog SAIF za sedaj Geodetski vestnik 38 (1994) 2 obsega samo opredelitev objektnih tipov, njihovih atributov ter relacij med njimi. Manjka še detajlnejša opredelitev vmesnikov objektnih tipov in realizacija metod razr,edov. Da postanejo SAIF-ovi objektni tipi resnični abstraktni razredi, je treba dodati še standardne vmesnike in tudi virtuelne funkcije. Trenutno je večina razvojnih naporov usmerjenih v to smer. Standard SAIF sestavljajo štiri komponente: SAIF-ov podatkovni model, SAIF-ova shema, definicijski in uporabniški jezik, SAIF-ova zunanja podatkovna predstavitev. Podatkovni model SAIF temelji na objektno usmerjenem pristopu in uporabi večkratnega dedovanja. SAIF določa tudi pravila za sestavo namenskih objektnih tipov na višjih nivojih, ki so potrebni na primer uporabnikom določenega sistema GIS-a. Podatkovni model SAIF temelji na objektno usmerjenem modeliranju stvarnosti in vključuje vse sodobne trende objektno orientiranih programskih jezikov. Standardno shemo SAIF-a sestavljajo definicije več kot tristotih različnih objektnih tipov, ki tvorijo objektni podatkovni model oziroma knjižnico SAIF-a. Zunanja softverska firma izdeluje tudi dodatno uporabniško knjižnico, ki bo omogočila lažji dostop in uporabo podatkovnih zapisov SAIF-a (Lutz 1994). V SAIF-ovi knjižnjici zbrani razredi zagotavljajo vse izvorne, trajne in prehodne oblike objektnih tipov za potrebe objektnih podatkovnih baz in izmenjavo podatkov. Poleg definicije podatkovnih članov razredov so navedene tudi nekatere osnovne funkcije objektnih tipov (SQL/MM 1993). Za potrebe GIS-ovih sistemov so opredeljene denimo naslednje pomembnejše kategorije razredov: o pomožni objektni tipi (GEO _ Cell3DReference, GEO _ Ce113DDefinition, GEO _ZPosition itd.) o koordinatni objektni tipi ( GEO _ Coordinate, GEO _ Coordxyz, GEO _ Coordxyt, GEO _ Coordxyzt itd.) o točkovni objektni tipi (GEO_FointClass, GEO_Foint, GEO_DEMPoint, GEO_PointGrid itd.) o linijski objektni tipi ( GEO _ LineClass, GEO _ Are, GEO _ OrientedArc, GEO _ !soline, GEO_Boundary itd.) o območni objektni tipi (GEO_AreaClass, GEO_Cell, GEO_CellGrid, GEO_Polygon, GEO_Surface itd.) o volumski objektni tipi (GEO_VolumeClass, GEO_Cell3D, GEO_Cell3DGrid itd.) o rastrski objektni tipi (GEO_RasterClass, GEO_AreaRaster, GEO_Pixels, GEO_PixelGrid itd.) o tekstualni objektni tipi (GEO _ TextClass, GEO _ TextLine, GEO _TextOnCurve, GEO_TextMultiLine itd.) Podatkovni model SAIF-a je zasnovan kot osnova, s pomočjo katere lahko uporabniki razvijajo svoje razrede. Vsi razredi objektnega podatkovnega modela SAIF-a so kodirani v skladu s posebnimi jezikovno neodvisnimi standardnimi pravili: SAIF ima poseben opisen objektno usmerjen jezik CSN (Class Syntax Notation), ki služi za definicijo osnovnih in novih razredov. Vsi kodirani zapisi podatkovnih shem Geodetski vestnik 38 (1994) 2 so zato enostavno prenosljivi med različnimi sistemi. CSN omogoča uporabnikom predvsem razširitev osnovnih standardnih SAIF-ovih shem in s tem definicijo poljubnih uporabniško izpeljanih razredov. Uporabniki lahko tako s pomočjo dedovanja opredelijo svoje razrede in definirajo njihove dejanske metode. Uporabniška notacija OSN (Object Syntax Notation) je enostavnejši jezik, ki zagotavlja sintakso za objektno usmerjeno opredelitev konkretne podatkovne strukture. Uporabnikom predvsem omogoča, da opredeljujejo pojave obstoječih objektov iz že definiranih razredov. SAIF-ovo zunanjo podatkovno predstavitev tvorijo standardni formati za izmenjavo podatkov. Obstaja tudi binarna izvedba standardnega izmenjalnega formata SAIF, ki uporablja hkratno zgoščevanje s pomočjo posebnega programa (SAIF/ZIP). V provinci Britanska Kolumbija uporabljajo SAIF-ove standardne prenosne formate že več kot dve leti. V SAIF-ovem objektnem podatkovnem modelu in izmenjalnem formatu je vzpostavljenih že več kot tri tisoč topografskih kart v merilu 1:20 000 in katastrski podatki za provinco Britanska Kolumbija. Do konca leta 1994 bo za šolanje in privajanje na standard SAIF izdelanih tudi veliko pomožnih orodij za Unix in MS Windows okolje. Osnovna zbirka orodij bo vključena v paket SAIF. Dodatna orodja bodo izdelale zunanje programske hiše. Osnovna zbirka bo obsegala posebno knjižnico za lažje pisanje, čitanje in testiranje standardnega formata SAIF-a ter pripomočke za izdelavo pretvornikov med različnimi drugimi standardnimi formati in formatom SAIF. Osnovna knjižnica bo napisana v jeziku C++, vendar bo omogočala dostop ter uporabo orodij iz jezikov C in C++. Izdelan bo tudi poseben učbenik in informator kot hipertekst o standardu SAIF 3. ZAKLJUČEK Trenutni problemi v zvezi z objektnim SQL3 se lahko neformalno opredelijo kot notranji in zunanji. Interne probleme predstavlja trenutno predvsem uskladitev prispelih pripomb na delovni osnutek ISO-vega standarda (SQL/MM 1994). Nujno potrebna je opredelitev standardnih vmesnikov vseh abstraktnih objektnih tipov, ki izhajajo iz SAIF-ovega predloga in njegovih dopolnitev. Zunanje probleme predstavlja predvsem povezljivost s podobnimi poskusi, ki tečejo delno vzporedno in na nivoju objektno usmerjenih podatkovnih baz. Poleg predloga SQL/MM obstojita še dva podobna in delno se prekrivajoča projekta za standardizacijo na področju objektnih podatkovnih baz ter geografskih informacijskih sistemov. To sta projekta ODMG-93 in OGIS. Skupina OMG (Object Management Group) je organizacija, katere namen je sestava in uveljavljanje standardov s področja objektno usmerjene tehnologije. Leta 1991 je bila ustanovljena posebna sekcija ODMG (Object Database Management Group ). Sestavljajo jo predstavniki proizvajalcev objektnih podatkovnih baz, ki pokrivajo prek 80 odstotkov svetovnega tržišča. Ta skupina je sestavila in objavila osnutek standarda ODMG-93 (Atwood 1993), v katerem so opredeljene naslednje sestavine: ODM - Object Data Model, ODL - Object Definition Language, OQL - Object Query Language, C++ in Smalltalk jezikovne povezave. Čeprav ODMG ni skupina, ki deluje v okviru projektov ISO/ANSI, pa bo imel standard Geodetski vestnik 38 (1994) 2 ODMG-93 nedvomno velik vpliv na celotno industrijo podatkovnih baz. Zato bo standard ODMG-93 kmalu predložen tudi za potrditev kot standard ISO. Skupina OMG je omogočila tudi razvoj posebnega vmesniškega standarda CORBA (Common Object Request Broker Architecture) (Mowbray, Thom 1993), ki za sedaj še ni del standarda ODMG-93. CORBA je zelo splošen vmesnik, ki omogoča dostop in komunikacije med različnimi objekti v distribuirani arhitekturi, neodvisno ocl vrste računalnikov, operacijskih sistemov ter raznih mrežnih protokolov. CORBA vmesniška arhitektura je tako ne samo osnova za distribuirane objektne podatkovne baze, temveč.je postala pomembna tudi pri razvoju naslednje generacije objektno usmerjenih operacijskih sistemov (Stein 1994). Vzporedno z zadnjim predlogom za verzijo CORBA 2.0 je tvrdka MS (MicroSoft) zavrnila zahtevo po priklučitvi k skupnemu OMG standardu CORBA in še naprej razvija novo verzijo 2.0 svojega lastnega standarda OLE (Objects Linking ancl Embeding), ki predstavlja tehnološko osnovo za MS-jevo odprto objektno arhitekturo za programe in dokumente (OpenDoc). Projekt OGIS (Open Geodata Interoperability Specification) je bil zasnovan v ZDA in pri njegovi izvedbi sodelujejo številne zasebne družbe ter javne ustanove. Osnovni cilj projekta je izdelava operativnih standardov za prostorske podatke. Pristop OGIS-a izhaja iz nekdanje fondacije Open Grass, ki se je ustrezno razširila in osvojila objektni pristop. Prvi osnutek projekta OGIS, sedaj nosilne skupine OGF (Open GIS Foundation), je bil objavljen aprila 1994 (Strand 1994b) in je trenutno v fazi javne obravnave ter zbiranja kritičnih pripomb. Projekt OGIS temelji na izhodiščih standarda SAIF, ki predstavlja temelj tudi za model OGIS-a. Namen projekta OGIS je več kot samo izdelava standardov za izmenjavo prostorskih podatkov. Opredeljena je tudi objektno usmerjena arhitektura za obdelavo prostorskih podatkov v distribuiranem računalniškem okolju. Arhitektura OGIS-ovega pristopa sestoji iz treh delov. Distribuirana objektna tehnologija predstavlja okolje, ki zagotavlja komunikacijo med objektnimi tipi OGIS-a. Vmesniki in metode vseh objektnih tipov OGIS-a formalno že upoštevajo predlog standarda CORBA, ki ga je objavila skupina OMG (Vinoski 1993). Podatkovni model OGIS-a, imenovan VGM (Virtual Geodata Model), sestavlja obsežna knjižnica abstraktnih objektnih tipov, ki so namenjeni za ponazoritev prostorskih objektov in vseh komunikacij med njimi. Izvedeni so s pomočjo dedovanja in tvorijo hierarhijo začasnih in trajnih razredov. Model VGM formalno upošteva tudi značilnosti standarda ISO SQUMM za prostorske objektne tipe. Model programskih aplikacij, ki se imenuje APM (Application Programming Model), omogoča kreacijo in izvedbo dejanskih pojavov objektov. Aplikacije so procesi, ki odgovarjajo določenim uporabniškim zahtevam. Vse aplikacije in metode uporabljajo VGM kot skupni konceptualni podatkovni model za dostop do prostorskih objektov. Trenutno stanje na področju standardizacije objektnih podatkovnih baz in objektno usmerjenih GIS-ovih sistemov je torej naslednje. Objavljena sta predloga oziroma osnutka splošnih industrijskih standardov za objektne podatkovne sisteme ODMG-93 in CORBA, ki bosta kmalu prešla v okvire projektov ISO-ja. Predstavljata pomembno osnovo tudi za vse nadaljnje poskuse standardizacije na področju objektno usmerjenih GIS-ovih sistemov. V ZDA nastali pristop OGIS Geodetski vestnik 38 (1994) 2 formalno upošteva standard ODMG-93 in CORBA. Prav tako to velja za v Kanadi nastali projekt ki je kot že prešel v okvire projektov ISO. Končni cilj vseh navedenih poizkusov, ki so za sedaj še večinoma na stopnji osnutkov (SAIF je tudi že sprejeti nacionalni standard v Kanadi), je razvoj enotnega objektnega podatkovnega modela, definicijskega in poizvedovalnega jezika, vmesnikov ter knjižnice osnovnih abstraktnih razredov za potrebe raznovrstnih uporabnikov GIS-ove tehnologije. Literntu:ra: Atwood, T., 1993, ODMG-93: The Object DBMS Standard1 Object Magazine, September-October. Atwood, T., 1994, ODMG-93: The Object DBMS Standard, Part 2, Object Magazine, Janua,y. ISO!IEC, 1992, Database Language SQL, Document ISO!IEC 9075:1992. Lutz, D., 1994, SAIF Frequently Asked Question (FAQ) List, Version 1.0, April 27. Mowbray, 1 T, Brando, T, 1993, Interoperability and CORBA Based Open Systems, Object · Magazine, September-October. SQL!MM, 1993, ISOIIEC JTC1/SC21/WG3:SQL!MM MUN-002, SQL!MM MUN-003, SQL!MM MUN-004, SQL!MM MUN-005, September. SQL!MM, 1994, CAC ISO/IEC JTC1/SC21/WG3:SQL!MM MUN-009, SQL/MM MUN-010, SQL/MM MUN-014, SQL!MM MUN-019, Janua,y. Soley, R., 1994, Demystifying the World of Object Standards, Object Magazine, May. Stein, R.M., 1994, Object Databases, Byte, April. Stewart, M.K., 1994, Executive Brief, Object Magazine, May. Strand, J.E., 1993a, Open GJS Unlocks Private Spatial Databases, GIS World, November. Strand, J.E., 1993b, Broker Handles Map Objects by Request, GIS World, December. Strand, J.E., 1994a, ISO Extends Structured Que,y Language the SAIF Way, GIS World, Janua1y. Strand, J.E., 1994b, Open GIS Specification Open for Comment, GIS World, Februa,y. Strand, J.E., 1994c, Js GJS a Giant Object after Ali, GIS World, April. Strickland, H., 1993, ODMG-93: The Object Database Standard for C++, C++ Report, October. Vinoski, S., 1993, Distributed Object Computing with CORBA, C++ Report, July-August. Recenzija: Janko Rozman dr. Marijan Žura Geodetski vestnik 38 (1994) 2