Home
Dokument 1
Contents
1. Abk X Astep1 X X Astep m gt R Ab Abk Acj m lt k In der Syntax entspricht lt table gt der Me relation MR und lt method gt gibt den Namen der Inter polationsmethode fj In der ENTRY Klausel werden die Ap Abk gegeben und in der STEP Klausel die Astep1 X X Astep m hnliche Erweiterungen von QUEL wurden unter dem Namen POSTQUEL von StRo86 einge f hrt um Aggegrationsfunktionen und komplexe Objekte mit geometrischen Operationen zu handhaben Komplexe Objekte k nnen Attribute erhalten die vom Datentyp Prozeduraufruf oder DML Operation sind und auch als Wert jeweils einen Prozeduraufruf bzw eine DML Operation enthalten Der Aufruf dieser Funktionen und DML Operationen erfolgt dann ber die Auflistung dieser speziellen Attribute in der SELECT Klausel und ist in der Anfrage ohne Kenntnis des Schemas nicht als Prozeduraufruf zu erkennen Diese Erweiterungen sind damit Erweiterungen der Definitionssprache aber nicht der Anfragesprache Der Aufruf von Prozedu ren wird damit komplizierter er ist n mlich nur noch ber Attribute m glich die diesen beson deren Datentyp haben Damit k nnen dann auch sehr allgemeine und f r den Benutzer schwer nachvollziehbare Operationen durchgef hrt werden Z B k nnen weitere Relationen ber hrt werden die ein bestimmter Benutzer gar nicht sehen darf Er bek me dann f r ihn unerkl rlich ein leeres Ergebnis Das ist f r ein System mit dem Anwender
2. lt result_column gt lt expression gt lt result_column gt lt expression gt FROM lt table gt lt corr_name gt lt table gt lt corr_name gt BY METHOD lt method gt lt cont attr gt ENTRY lt base_attr gt lt value gt lt base_attr gt lt value gt STEP lt distance gt lt distance gt BY METHOD lt method gt lt cont attr gt ENTRY lt base_attr gt lt value gt lt base_attr gt lt value gt STEP lt distance gt lt distance gt lt table gt lt corr_name gt WHERE lt search_condition gt GROUP BY lt attr gt lt attr gt HAVING lt search_condition gt ORDER BY lt result attr gt ASC DESC lt result_attr gt ASC DESC Hier entspricht die Erweiterung lt table gt lt corr_name gt BY METHOD lt method gt lt cont attr gt ENTRY lt base_attr gt lt value gt lt base_attr gt lt value gt der Spezifikation einer Interpolationsfunktion fiir einen Wert interpolationj MR X fj X Ab Abk gt Acj und die Erweiterung Die SQL Erweiterung CSQL 81 lt table gt lt corr_name gt BY METHOD lt method gt lt cont attr gt ENTRY lt base_attr gt lt value gt lt base_attr gt lt value gt STEP lt distance gt lt distance gt entspricht der Interpolationsfunktion f r eine Folge von quidistanten Werten interpol_series MR x fj X Abi
3. 04 01 1991 00 00 00 Eine Anfrage die die Werte von drei Tagen selektiert anfria SELECT zeitpunkt lufttempr FROM wetter_60 WHERE zeitpunkt gt 31 12 1989 23 59 59 AND zeitpunkt lt 04 01 1990 00 00 00 Die verschiedenen Varianten der Anfrage 2 sind alle CSQL Anfragen Die Anfragen anfr2 und anfr2a behandeln berwiegend Treffer d h Werte die so in der Datenbank existieren w hrend die Anfragen anfr2c und anfr2d jeden Wert wirklich interpolieren m ssen 174 Anhang Testanfragen und Me ergebnisse Die Anfragen 3 laufen auf der gro en Relation wetter_10 Die anfr3 ist die SQL Anfrage anfr3a eine CSQL Anfrage mit nur Treffern und anfr3b eine CSQL Anfrage mit echter Interpolation Alle drei Anfragen sind geschachtelt mit Aggregation in der inneren SELECT Klausel Die In anfr2 SELECT zeitpunkt lufttempr FROM wetter 60 BY METHOD lufttempr lufttempr ENTRY zeitpunkt 01 01 1990 00 26 15 STEP 2 hours 0 minutes 0 seconds WHERE zeitpunkt gt 31 12 1989 23 59 59 AND zeitpunkt lt 01 01 1991 00 00 00 anfr2a SELECT zeitpunkt lufttempr FROM wetter 60 BY METHOD lufttempr lufttempr ENTRY zeitpunkt 01 01 1990 00 26 15 STEP 2 hours 0 minutes 0 seconds WHERE zeitpunkt gt 31 12 1989 23 59 59 AND zeitpunkt lt 01 02 1990 00 00 00 anfr2c SELECT zeitpunkt lufttempr FROM wetter 60 BY METHOD lufttempr lufttempr ENTRY zeitpunkt 01 01
4. Der Name dieser Sicht wird wie auch der Name der Ergebnisrelation fiir die Interpolationsrou tine unter Zuhilfenahme der aktuellen Proze nummer gebildet so da er wie DB Objekte sonst auch eindeutig f r diesen DB Knoten Rechner ist Dadurch bleibt die Mehrbenutzerf higkeit des DBS im CSQL System erhalten ohne da sich verschiedene CSQL Benutzer die sonst nur Leseoperationen ausf hren gegenseitig behindern Die Interpolationsroutinen f hren immer nur die Interpolation eines Wertes bei einem Aufruf durch Das Hochz hlen der Basisattribute im folgenden auch als Generierung der STEP Werte bezeichnet erfolgt im CSQL System Die Interpolationsroutinen erhalten mit einem bergabe string den Namen der Relation oder der Sicht auf der sie interpolieren sollen den Namen der Ergebnisrelation die Namen der variierenden und festen Basisattribute und des kontinuierlichen Attributs sowie die aktuellen Basiswerte f r die sie interpolieren sollen In einem zweiten bergabeparameter bekommt die Interpolationsfunktion mitgeteilt ob weitere Funktionsaufrufe folgen damit sie in gewisser Weise optimieren kann indem z B Zwischenergebnisse gespei chert werden Der R ckgabewert der Funktion zeigt an ob sie mit den in der DB vorhandenen Werten berhaupt eine Interpolation durchf hren konnte Diesen Wert kann die Steuerung ver wenden um endlose Generierung von STEP Werten und Aufrufe der Interpolationsfunktion zu verhindern wenn sonst kei
5. semant Analyse F DECLARE SQL nderung Anfrage CREATE PROF METHOD ma SQL Anfrage CSQL Anfrage abschlie ende Bearbeitung Anfragebaum weitere Bild 8 2 Bearbeitung von Anweisungen durch den CSQL Parser 104 Verarbeitung von CSQL 8 4 Ablaufsteuerung bei der Interpolation Die gesamte weitere Bearbeitung der CSQL Anweisungen bevor die Anfrage dem SQL System bergeben wird erfolgt mit Hilfe des vom Parser aufgebauten Anfragebaums der in diesem Kapitel zun chst kurz motiviert und erl utert werden soll Die Zwischendarstellung der CSQL Anfragen in einer baumartigen verzeigerten Datenstruktur wurde aus folgenden Gr nden gew hlt e In dieser Darstellung sind die verschiedenen Teile der Anfrage wie Interpolationsangaben oder WHERE Bedingungsliste leicht zu finden und schnell zugreifbar e Bekannte Methoden zur Anfrageoptimierung arbeiten h ufig mit einer baumartigen Darstel lung der Anfrage Haer78 Kim82 JaKo83 GaWo87 Hard87 Sie k nnen dann direkt auf CSQL bertragen werden e Die Bildung der SQL Anfrage nach erfolgter Interpolation ist bei dieser Darstellung beson ders einfach Einige von CSQL eingef hrte Optimierungen k nnen erhalten bleiben siehe Kap 8 6 Der Anfragebaum jeder SELECT Anweisung davon kann es mehrere durch UNION verbundene geben teilt sich in die drei Zweige Projektionsliste Relationenliste FROM und die Liste der Einschr nkungen WHERE Die Relationenliste enth lt auch d
6. auszeichnen Das ist im Prinzip eine Wertebereichsbeschr nkung auf dem Datentyp Relationenschema Es bleiben alle Eigenschaf ten einer Relation erhalten es kommen noch neue hinzu Man kann allerdings bei den sonst immer erlaubten Operationen aus diesem eingeschr nkten Wertebereich herauskommen Die berall angebotenen Definitionen von Objekten bzw Objektklassen eignen sich um komplexe re Zusammenh nge zwischen Versuchsreihen gleich im DB Schema auszudr cken Besonders die benutzerdefinierten Funktionen k nnen verwendet werden um Daten f r die Weiterverar beitung auszuw hlen und aufzubereiten Hier sind insbesondere aggregierende Funktionen Table Functions und Funktionen auf benutzerdefinierten Datentypen wichtig siehe Kap 5 Diese Mittel erleichtern das Einbinden zus tzlicher Funktionen wie die oben genannte Inter und Extrapolation die in Kapitel 3 4 erw hnte r umliche Suche oder Verfahren f r die Suche auf chemischen Strukturen Es ist i a nicht notwendig da ein System alle Anforderungen er f llt Hier ist die Kernel Architektur von DASDBS SPSW90 Wolf90 mit verschiedenen Erg n zungen f r unterschiedliche Anwendungen eine gute Alternative Auch die Modularit t der mei sten EDBS kommt uns hier entgegen so k nnte man mit vertretbarem Aufwand eine Art Schablonen f r Klassen von Anwendungen wie z B chemische Stoffdatenbanken Datenban ken f r wenige Me reihen oder f r einfache Schad Stoffverfolgu
7. e _bio_cnt liefert die Anzahl der gepufferten Ein Ausgabeanforderungen vom Benutzerpro gramm f r diese Sitzung F r eine bestimmte Anfrage oder Transaktion ist dieser Wert immer gleich unabh ngig von der derzeitigen Last des Rechners oder von Speicherstrukturen e _dio_cnt liefert die Anzahl der Ein Ausgabeanforderungen f r Daten auf Platten f r diese Sitzung e _cpu_ms liefert die verbrauchte CPU Zeit dieser Sitzung in msec e _et_sec liefert die verstrichene Zeit dieser Sitzung in sec Diese Variable enth lt auch die Pausen in denen ein Benutzerprogramm anderes bearbeitet e _pfault_cnt liefert die Anzahl der sog page faults d h da keine freie Hauptspeicherseite f r den INGRES Server vorhanden ist Es wurden immer alle f nf Statusvariablen abgefragt obwohl f r den CSQL und SQL End benutzer eigentlich nur _cpu_ms und _et_sec interessant sind Die anderen Variablen k nnen nur Hinweise darauf geben warum einzelne Anfragen besonders viel Zeit ben tigen Alle diese 150 Fallstudie Variablen z hlen immer nach oben definierte Anfangszust nde gibt es nicht Deshalb ist es im mer notwendig die Variablen vor und nach einer Anfrage bzw Transaktion abzufragen und die Differenz zu bilden Wie in INGR89 vorgeschlagen wurden die zu messenden Anfragen im mer von folgenden Anfragen umrahmt INSERT INTO mess_prot v_bio_cnt v_cpu_ms v_dio_cnt v_et_sec v_pfault_cnt anfrage lauf ben_system
8. gangs oder eines kontinuierlich laufenden nat rlichen Prozesses Im Idealfall sind die Me stellen punktf rmig f r jede Basisgr e also Me punkte Gelegentlich m ssen aus mef technischen Gr nden kleinere Intervalle gebildet werden Eine Bodenprobe mu ein gewisses Volumen haben damit man sie analysieren kann und der Niederschlag mu ein paar Minu ten lang auf einer gewissen Fl che gesammelt werden damit Aussagen bez glich der Menge gemacht werden k nnen Hier lassen sich die Me parameter dann aber auf punktf rmige Ba siswerte zur ckrechnen Das hei t z B f r das Niederschlagsbeispiel da der Niederschlag zwar auf einer mehrere cm gro en Fl che gesammelt wird da der ermittelte Wert z B in der Einheit Liter pro cm pro Stunde oder Minute aber f r jeden Punkt dieser Fl che gilt Ebenso l t sich f r jeden Zeitpunkt des zeitlichen Me intervalls sagen da der Nieder schlag mit einer St rke fiel die einer bestimmten Anzahl Liter pro cm pro Stunde ent spricht F r jede m gliche Kombination des Zeitattributs der r umlichen Koordinaten oder anderer Basisgr en innerhalb des Versuchsrahmens gibt es genau einen Wert f r die Me gr e den kontinuierlichen Proze Sind die Me werte z B Wetterdaten so gibt es f r jeden Zeitpunkt und Ort Werte f r Lufttemperatur Niederschlag Luftdruck etc unabh ngig davon ob diese Werte aufgezeichnet werden Soll die Festigkeit eines Metall
9. genauer betrachtet aus der Beschreibung des gemessenen Parameters selbst und aus der Be schreibung des Versuchs innerhalb dessen der Wert aufgezeichnet wurde Der einzelne Para Me werte Umweltdaten und Umweltprojekte 15 meter wird mindestens durch seine Dimension Me genauigkeit und die Basis gegen die ge messen wird beschrieben Es k nnen noch weitere Parameter hinzukommen etwa sich ndern de Randbedingungen Zur Me basis bei Umweltme werten geh ren immer der Ort und die Zeit zu der gemessen wird Orts und Zeitgr en k nnen in Punkten oder ber Intervalle aufge zeichnet werden Punktf rmige Basiswerte hat z B die Lufttemperatur die zu bestimmten Zeit punkten gemessen wird und haben Grundwasserst nde die an bestimmten Punkten auf einer Fl che gemessen werden Intervalle als Basis gibt es beim Niederschlag der ber einen Zeit raum aufsummiert wird oder bei Bodenproben die zylinderf rmig sind Manchmal kann die explizite Aufzeichnung einer oder mehrerer Dimensionen entfallen weil sie sich w hrend des Versuchs oder Projekts nicht ndern So ist z B der Ort bei Laborversuchen oder bei Wetterdaten die f r ein ganzes Gebiet gelten nicht relevant Ebenso mu die Zeit bei geologischen Formationen nicht aufgezeichnet werden die sich w hrend einer Versuchslaufzeit von beispielsweise 10 Jahren nicht ndern Wenn in Laborversuchen Ort und Zeit nicht relevant sind kann es sein da die Me basis nur aus Randbedi
10. logie entwickelt wie sie heute in Informix verf gbar ist Info96 Im System EXODUS gibt es Speicherobjekte von virtuell beliebiger L nge CDRS86 Gro e Objekte werden auch hier in Unterobjekte der Gr e normaler DB Objekte zerteilt die dann in einer B Baum Struktur gespeichert werden Dieses Verfahren hat den besonderen Vorteil da nderungen innerhalb eines gro en Objekts leicht vorgenommen werden k nnen ber die Ein Ausgabe von BLOBs wird in CDRS86 nichts gesagt Da EXODUS ein modulares System ist das durch den Datenbankimplementierer erst noch zusammengesetzt werden mu w re es nur konsequent diesem auch hnlich wie dem Benutzer in POSTGRES die Implementierung entsprechender Ein Ausgabeprozeduren zu berlassen In Starburst hei en die BLOBs lange Felder long fields LeLi89 Sie d rfen bis zu maxi mal 120 MBytes gro sein Auch hier werden die langen Felder in Segmente zerteilt die dann nach dem Prinzip den Buddy Systems Knut75 gespeichert werden Zu jedem langen Feld gibt es einen Deskriptor der an Stelle des eigentlichen Objekts in der Relation gespeichert wird Wie die End Benutzerschnittstelle zu den langen Feldern aussieht dar ber gibt es in LeLi89 keine Angaben Beim Entwurf des Speichersystems von Starburst wurde besonderer Wert auf eine gute Verarbeitungsgeschwindigkeit von langen Feldern gelegt Und es wurde darauf geach tet da paralleler Zugriff und eine schnelle Wiederherstellun
11. 1990 Springer Verlag LNCS 466 Literatur 167 LiMP87 Bruce Lindsay John McPherson Hamid Pirahesh A Data Management Extension Architecture in ACM SIGMOD Record Vol 16 No 3 Dec 1987 pp 220 226 LiNe86 Udo W Lipeck Karl Neumann Modelling and Manipulating Objects in Geoscien tific Databases in Proc of 5 Int Conf on ER Approach Dijon France 1986 pp 105 124 LSBM83 Guy M Lohmann Joseph C Stoltzfus Anita N Benson Michael D Martin Alfon so F Cardenas Remotely Sensed Geophysical Databases Experience and Impli cations for Generalized DBMS in ACM Sigmod 83 Proceedings of Annual Mee ting San Jose 1983 SIGMOD Record Vol 13 No 4 pp 146 160 LMWW79 Peter C Lockemann Heinrich C Mayr Wolfgang H Weil Wolfgang H Wohl lieber Data Abstractions for Database Systems in ACM ToDS Vol 4 No 1 March 1979 pp 60 75 Maib85 T S E Maibaum Database Instances Abstract Data Types and Database Speci fication in The Computer Journal Vol 28 No 2 1985 pp 154 161 Matt96 Nelson M Mattos An Overview of the SQL3 Standard Database Technology Insti tute IBM Santa Teresa Lab San Jose California July 1996 MuPS86 A J Musgrave B Page M Stopp INFUCHS Ein Informationssystem fiir Um weltchemikalien und St rf lle in Informatik im Umweltschutz Anwendungen und Perspektiven B Page ed Oldenbourg Verlag M nchen 1986 pp 144 177 Neug89 Leonore Neugebauer Exten
12. 26232 21390 200 anfrl CSQL 26232 21360 200 anfrl CSQL 26232 21750 200 anfrl CSQL 5207 469140 24961 anfr2c CSQL 5207 466630 24963 anfr2c CSQL 5207 475760 24952 anfr2c CSQL 5207 480430 24944 anfr2c CSQL 5207 473710 25000 anfr2c CSQL 5207 484180 24961 anfr2c CSQL COW OO FIO Or 2 0 0 0 5207 459240 24926 anfr2c CSQL 5207 464320 24914 anfr2c CSQL 5207 489390 24912 anfr2c CSQL 4310 250 anfr3 SQL 4350 249 anfr3 SQL 4230 246 anfr3 SQL 4300 246 anfr3 SQL 4200 246 anfr3 SQL 4200 246 anfr3 SQL 4470 245 anfr3 SQL 6810 375 anfr3a CSQL 7040 370 anfr3a CSQL 6670 371 anfr3a CSQL 6620 367 anfr3a CSQL 6390 433 anfr3a CSQL 6230 375 anfr3a CSQL 6990 350 anfr3a CSQL Tabelle A 2 Messungen mit und ohne Parallelzugriff auf dieselbe DB Anhang Testanfragen und Mefergebnisse 179 Die n chste Tabelle A 3 enth lt die Antwortzeiten nach den INGRES Kommandos optimizedb und sysmod zur Reorganisation und Optimierung der Statistiken der Systemtabellen in den L ufen 30 und 31 Zum Vergleich k nnen hier alle L ufe aus Tabelle A 1 dienen Der Uber sichtlichkeit halber sind nur die L ufe eins und zwei aufgef hrt cpu_ms dio_cnt et_sec pfault_cnt Anfrage Programm 3720 208 39 14 anfrl SQL 4050 207 42 anfrl SQL 4010 215 34 anfrl SQL 3920 208 40 anfrl SQL 22340 205 anfrl 1 CSQL 23730 205 anfrl CSQL 22630 206 anfrl CSQL 23310 206 anfrl CSQL 90 anfrla 1
13. Ein besonderer Vorteil eines mit YACC erzeugten Parsers ist da neben der blichen Parser Kellerstruktur auf der die Grammatik Elemente gespeichert und reduziert werden parallel eine weitere Kellerstruktur der sogenannte Werte Keller value stack gehalten wird Mit dieser zweiten Kellerstruktur ist es auf einfache Weise m glich die Anfrage in eine Baumstruktur um zuwandeln im folgenden Anfragebaum genannt wie in Riet90 gezeigt wird Alle Anweisungen die ber die CSQL Schnittstellen eingegeben werden werden zun chst an den Parser weitergereicht Sobald sie aber einer bestimmten Gruppe von Anweisungen zugeord net werden k nnen werden sie auf unterschiedliche Weise weiter verarbeitet e SQL nderungsanweisungen Sobald festgestellt wurde da eine Anweisung eine nderung beinhaltet wird die Analyse abgebrochen und die Anweisung direkt an SQL bergeben Wie oben erw hnt ist Interpola tion in Unteranfragen von nderungsanweisungen noch nicht zul ssig Da bereits nach dem ersten Symbol einer Anweisung feststeht ob es sich um eine nderungsanweisung handelt INSERT UPDATE DELETE ist die Verz gerung die hier durch den CSQL Pr pro zessor entsteht relativ gering e SQL Anfragen SELECT Anweisungen SELECT Anweisungen werden immer vollst ndig analysiert Sollte sich dabei herausstellen da sie keine Interpolation enthalten werden sie unver ndert an SQL weitergereicht es sei denn der Parser hat ber
14. Generierung der STEP Werte und f r jede Kombination wird die Interpolationsroutine aufgerufen Diese schreibt die Ergebnisse in eine tempor re Relation Im Anfragebaum wird dann die Originalrelation durch die tempor re Ergebnisrelation ersetzt Selektionen auf zus tzlichen Attributen sowie andere vollst ndig ausgewertete Selektionen werden entfernt Aus dem Anfragebaum kann nun wieder eine SQL Anfrage generiert werden deren weitere Auswertung durch das DBS erfolgen kann 8 6 Generierung der SQL Anfragen Die Generierung der SQL Anfragen erfolgt aus dem Anfragebaum umgekehrt zu dessen Erstel lung Die Interpolationsklauseln werden zuvor vollst ndig aus dem Anfragebaum entfernt Schon ausgewertete Bedingungen die nicht auf den Interpolationsergebnissen nochmals ausge wertet werden m ssen wurden zuvor aus dem Anfragebaum entfernt s o Das sind Bedingun gen e die zus tzliche Attribute und e Vergleiche fester Basisattribute mit Konstanten enthalten Evtl durchgef hrte Entschachtelungen und Vereinfachungen der Bedingungen in den WHERE und HAVING Klauseln bleiben nat rlich erhalten Die neu eingef hrten Ergebnisrelationen erhal ten als Korrelationsnamen die alten Relationennamen oder deren Korrelationsnamen So braucht nicht die gesamte Anfrage ge ndert zu werden Es wird nur dann eine SQL Anfrage generiert und an das DBS weitergeleitet wenn zuvor keine Fehler festgestellt werden konnten andernfalls bekommt der Benutzer
15. HOURS zeitpunkt MINUTES zeitpunkt SELECT FROM WHERE HOURS zeitpunkt MINUTES zeitpunkt a nn DATE_PART w10 zeitpunkt w10 feuchte w60 lufttempr w60 btemp5 w60 btemp80 w60 btemp140 w60 btemp5a w10 w60 w10 zeitpunkt gt 01 04 90 00 00 00 w10 zeitpunkt lt 03 04 90 00 00 00 gt 30 lt 30 15 gt 30 16 lt 30 DATE_TRUNC DAYS w10 zeitpunkt DATE_TRUNC DAYS w60 zeitpunkt DATE_PART HOURS w10 zeitpunkt gt 12 DATE_PART HOURS w60 zeitpunkt gt 12 DATE_PART HOURS w10 zeitpunkt lt 12 DATE_PART HOURS w60 zeitpunkt lt 12 AND OR AND AND OR AND AND OR AND AND OR AND AND AND AND AND OR AND Das Antwortzeitverhalten l t sich u U verbessern wenn man folgenden Teil der Qualifikation in die View Definitionen aufnimmt zeitpunkt gt 01 04 90 00 00 00 zeitpunkt lt 03 04 90 00 00 00 AND Wenn die Tupel nach dem Attribut zeitpunkt geclustert sind bzw ein passender Index auf zeit punkt definiert ist wird so sichergestellt da nur die Tupel angefa t werden die diese Qualifi kation erf llen Sonst ist das abh ngig von der G te des Optimierers Es wird dann jedoch auf wendiger das Zeitintervall zu ndern 148 Fallstudie 10 4 Das INGRES Datenbanksystem In diesem Abschnitt sollen die fiir das CSQL System verwendeten Installationsparameter des
16. INGRES DBS beschrieben werden Au erdem werden einige Parameter der f r die Messungen verwendeten Datenbank beschrieben Die Werte der INGRES Parameter setzten sich aus den Empfehlungen der Handbiicher sowie den Erfahrungen verschiedener Mitarbeiter fiir ihre DBS Anwendungen zusammen Sie enthielten sicher nicht berall fiir das CSQL System optimale Werte insgesamt waren sie jedoch akzeptabel Die Installation umfa te das INGRES Grundsystem Anfragebearbeitung und auswertung SQL ISQL Embedded SQL C Dynamic SQL C alle vorhandenen M glichkeiten mit Masken zu arbeiten Forms Embedded Forms ABF VISION und die INGRES Object Management Ex tension VISION und die Object Management Extension kamen jedoch erst sp ter hinzu anfangs geh rten sie nicht zum Lieferumfang von INGRES so da sie bei der Implementierung des CSQL Systems nicht ber cksichtigt werden konnten Die hier verwendete Installation lag auf einem Rechner SUN Sparc 2 und zwei Fujitsu Platten von ein bzw zwei GByte Gr e mit 11 msec mittlerer Zugriffszeit f r Daten und Protokolle F r das DBS stand Platz auf zwei Platten zur Verf gung auf einer f r die Daten auf einer f r Protokolle und gelegentliche DB Gesamtabz ge F r die Transaktions Protokolldatei stand ein sog raw device zur Verf gung Das ist ein zusammenh ngender Plattenabschnitt auf den das DBS unter Umgehung des Betriebssystems in dem von ihm gew nschten Format schreiben kann Die Protokolldatei
17. WSSH88 verwendeten Im Gegensatz zu anderen Ans tzen WSSH88 StRG83 wird der ADT Mechanismus hier nicht dem Benutzer angeboten um selbst neue Datentypen und Operationen darauf zu definie ren Me relationen und Interpolationsfunktionen sind alle vom gleichen hier vorgestellten Da ten bzw Operationstyp Der Benutzer erh lt ein bereits fertig auf seine Bed rfnisse zugeschnit tenes System in das er nur noch neue Instanzen von Me relationen und Interpolationsfunktio nen einf gen mu Sei Ri die Menge aller m glichen Relationen und A seien die Attribute abgeleitet aus den m g lichen Wertebereichen Dann wird die neue Menge Me wertrelation MR wie folgt definiert type MR from R A f operations new R x D Ap D Abk X D Ac D Acj gt MR elle MR x fi X Ab Abk gt Acl ersehen MR x fj X Ab Abl gt Acj variables mr e MR relations D J Ab Abk mr c D Ab Abk D II Aci mr c D Aci Die SQL Erweiterung CSQL 77 Diese einfache Interpolation eines Wertes reicht nicht aus um die in den Abschnitten 3 4 2 und 3 4 3 beschriebenen Probleme zu l sen Das erste Problem ist der Vergleich von zwei Meb rei hen formal ausgedr ckt der Verbund zwischen ihren Basisattributen Das zweite ist die Erzeu gung quidistanter Eingabereihen f r Modellrechnungen Hierf r wird eine komplexere Opera tion ben tigt Dieser n chste Schritt ist die Berechnung quidistanter
18. brunnen auch Me pegel genannt gebohrt in denen anschlie end regelm ig die Grundwasserst nde gemessen wurden sowie zus tzliche Versuche durchgef hrt wurden Die Bohrkerne der Me brunnen wurden auf vielf ltige Weise untersucht Die Relation grdwamess Grundwasserme stelle beschreibt einen Me brunnen und zwar den Zeitpunkt an dem er gebohrt wurde seine Tiefe von der Erdoberfl che aus gemessen die H he N N des Gel ndes an dieser Stelle messpkthoehe die Bauart alt neu gebohrt Bohrverfah ren und gibt jedem Me pegel einen eindeutigen Identifikator gwm_id Die Relation gwmessung Grundwasserstandsmessung nennt die Me stelle gwm_id ihre Koor dinaten x_koord y_koord den Zeitpunkt der Messung und den Grundwasserstand gdw_stand in m H he N N also den eigentlichen Me wert Die Relation bohrprobe beschreibt die einzelnen Proben das sind die Abschnitte in die jeder Bohrkern zwecks weiterer Untersuchungen unterteilt wurde Jedes Tupel enth lt die Me stelle gwm_id aus der der Bohrkern stammt eine eindeutige Identifikation der einzelnen Probe pro be_id den Abschnitt des Bohrkerns tiefe_oben tiefe_unten einen Zusatz z B gro er Stein und grob die Bodenart z B Sand Kies Lehm An jede einzelne Probe wurden im Labor elektrische Spannungen angelegt um verschiedene Bodenparameter zu bestimmen Diese sind in der Relation permvers Permeameterversuch auf gezeichnet Jedes Tupel ent
19. chen mit den Anwendern aus den unterschiedlichen Fachgebieten stellte sich bald heraus da folgen de Punkte die wichtigsten Anliegen aller Beteiligten waren das Schlie en von kleinen und gr eren Me l cken das Vergleichen von Me werten auf verschobener Me basis und das Er zeugen von Me reihen mit quidistanten Werten aus vorhandenen Me reihen mit unterschiedli chen oder anderen Abst nden Die L sung dieser Probleme wurde Schwerpunkt des DB Teil projekts und damit Gegenstand dieser Arbeit Prinzipiell lassen sich diese Probleme alle durch Interpolation aus den vorhandenen Me werten l sen Geeignete Interpolationsverfahren sind i a bekannt siehe z B FrTh84 Die Aufgabe des Datenbank Teilprojekts war es nun diese Interpolation in ein DBS zu integrieren und zwar mit den folgenden Randbedingungen 1 Es wird ein kommerzielles relationales DBS verwendet das zu Beginn des Projekts Stand der Technik gewesen ist und von dem weitere Verbesserungen zu erwarten sind 2 Der Endbenutzer soll die Interpolation direkt in seine Datenbank Anfrage integrieren k nnen Das System soll ihm dabei soviel Hilfe wie m glich geben Um den Punkt 2 zu erf llen wurde zun chst festgelegt was Interpolation innerhalb einer Da tenbank Anfrage bedeuten kann und dann wurde die SQL Spracherweiterung CSQL entwickelt Hierbei wurde davon ausgegangen da ein SQL gewohnter Benutzer nicht zuviele neue Klau seln hinzulernen m chte und da er
20. nge untereinander Nachdem die Abh ngigkeiten erkannt wurden wird versucht sie m glichst exakt mathematisch zu beschreiben Zun chst werden der Vorgang bzw seine Parameter genauer Folgen seiner Pa rameter erhoben also gemessen Um einen nat rlichen Vorgang vollst ndig und genau zu erfas sen sind eine Reihe von Versuchen und eine gr ere Anzahl von Me ger ten notwendig Da bei entstehen Daten in vielen unterschiedlichen Formaten von unterschiedlicher Qualit t und Menge Die Anzahl der Werte ist bei einigen Messungen z B Grundwasserpegeln relativ ge ring bei anderen wie z B einer Wetterstation aber au erordentlich hoch Trotz der Vielfalt gel ten f r die gewonnenen Me werte und Me reihen bestimmte gemeinsame Eigenschaften die n her betrachtet werden sollen In LSBM83 wurde zum ersten Mal beschrieben da Me werte besondere Eigenschaften auf weisen und da Raum und Zeitattribute im Zusammenhang mit Me werten sich stark von sol chen Attributen in kommerziellen Anwendungen unterscheiden In kommerziellen Anwendun gen werden nur diskrete Zeitpunkte Orte oder Oberfl chen ben tigt und nur solche Attribute k nnen in konventionellen DBS modelliert werden F r sich ber die Zeit kontinuierlich n dernde Daten wird kein Modellierungskonzept angeboten Deshalb sind konventionelle DBS bisher f r die Verarbeitung von Umweltdaten oder Me werten und Anwendungen darauf auch nur bedingt geeignet Auch in anderen Proj
21. nicht auf weiteren Attributen spezifiziert werden weil die weiteren Attribute zum Zeitpunkt der Auswertung dieser Anweisungen bereits hinausprojiziert wurden Schachtelung von Anfragen Interpolation innerhalb geschachtelter innerer SELECT Anfragen ist nur dann erlaubt wenn sich diese entschachteln lassen oder zu einem konstanten Wert berechnen lassen N heres dazu welche Typen von geschachtelten Anfragen sich prinzipiell entschachteln lassen welche sich im Pr prozessor Ansatz auf dem DBS INGRES entschachteln lassen und welche sich in der der zeitigen CSQL Version entschachteln lassen findet sich in Kapitel 8 5 ber Optimierung im CSQL System und in Jahk91 Fehlerbehandlung Eine grunds tzlich neue Art der Fehlerbehandlung bei Eingabefehlern des Benutzers ist nicht erforderlich Durch die CSQL Erweiterungen erh ht sich lediglich die Anzahl der m glichen verschiedenen Fehler und damit der Fehlermeldungen Es k nnen jetzt zus tzlich Fehler wie Relation R ist keine Me wertrelation Attribut A ist kein Basisattribut oder F r Attribut A ist Interpolationsverfahren I nicht definiert auftreten Wenn eine Interpolation aufgrund fehlender umgebender Werte nicht m glich ist wird ein leeres Ergebnis geliefert wie sonst auch wenn in der Datenbank keine auf die gegebe nen Qualifikationen passenden Werte gefunden werden k nnen Anwendung Kontinuierliche Feste Variierende Sonstige von Attri
22. sollte es noch weitere Relationen geben die Erkl rungen und Kommentare zu den Interpolati onsverfahren enthalten die bei Bedarf dem Benutzer ausgegeben werden k nnen Gibt der Benutzer eine neue Interpolationsfunktion dem System bekannt werden die zus tzli chen Systemrelationen vom CSQL System erg nzt Es wird auch berpr ft ob alle Einschr n kungen bez glich der Namen der Funktionen eingehalten werden Wie bei anderen Systemrela tionen auch k nnen sie vom DBA auch direkt ver ndert werden In diesem Fall tr gt der Be nutzer das Risiko falscher oder inkonsistenter Eintragungen 92 Die SQL Erweiterung CSQL 7 Die Schnittstelle zwischen Interpolationsmodul und DBS Das CSQL System bietet einen geeigneten Rahmen fiir die Einbettung von Interpolation in ein DBS Wie aber aus den Ausf hrungen im Kapitel 6 insbesondere 6 3 1 hervorgeht sind auch bei der Implementierung der Interpolationsfunktionen noch einige anspruchsvolle Aufgaben zu l sen Die in dieser Arbeit implementierten Beispiel Interpolationsfunktionen wurden jeweils in Zusammenarbeit von Informatikern bzw DB Programmierern und Anwendern erstellt siehe Kap 10 Wenn es jedoch nicht m glich ist dem Anwender einen DB Spezialisten zur Seite zu stellen m ssen vom System Hilfen angeboten werden In diesem Kapitel wird kurz erl utert welche Hilfen m glich sind und wie sie aussehen k nnten Aus Zeitgr nden wurden solche Hil fen jedoch bisher nicht implementier
23. tem Manifesto ABDD90 genau definiert Dabei wurde nicht von konkreten Systemen ausge gangen sondern die Anforderungen wurden systemunabh ngig zusammengestellt Im n chsten Kapitel 4 3 5 werden f nf experimentielle DBS daraufhin untersucht inwieweit ihre heutigen Versionen dem Manifesto gen gen In ACM91 sind Beschreibungen weiterer Systeme mit Diskussion dieser Punkte zu finden Nach dem Manifesto m ssen Systeme die sich OODBS nennen d rfen mindestens die folgenden Anforderungen erf llen 1 Das OODBS mu auf einem echten DBS aufgebaut sein wobei unter einem echten DBS ein DBS verstanden wird mit gemeinsamer persistenter Datenhaltung aller Benutzer auf Se kund rspeicher sowie mit Mehrbenutzerbetrieb Transaktionskontrolle Protokollierung aller Aktionen Sicherungs und Wiederherstellungsverfahren und interaktiven Benutzerschnittstel len zu den Datenbest nden 2 Komplexe Objekte m ssen definiert erzeugt und verarbeitet werden k nnen Komplexe Ob jekte werden mit Hilfe von sog Konstruktoren aus anderen Objekten aufgebaut Die einfach sten Objekte sind ganze Zahlen Zeichen Zeichenketten beliebiger L nge Wahrheitswerte und Gleitpunktzahlen Diese Grundobjekte m ssen vom DBS bereitgehalten werden Kon struktoren sind Tupel Mengen Listen Felder u Die ersten drei der aufgez hlten Konstruk toren m ssen angeboten werden Orthogonalit t der Konstruktoren wird gefordert d h ber all wo ein skalare
24. 1990 00 30 00 STEP 2 hours 0 minutes 0 seconds WHERE zeitpunkt gt 31 12 1989 23 59 59 AND zeitpunkt lt 04 01 1990 00 00 00 anfr2d SELECT zeitpunkt lufttempr FROM wetter 60 BY METHOD lufttempr lufttempr ENTRY zeitpunkt 01 01 1990 00 30 00 STEP 2 hours 0 minutes 0 seconds WHERE zeitpunkt gt 31 12 1989 23 59 59 AND zeitpunkt lt 01 01 1990 12 31 00 terpolation findet jeweils in der inneren Klausel statt anfr3 SELECT zeitpunkt regen FROM wetter _ 10 WHERE regen SELECT MAX regen FROM wetter _10 WHERE zeitpunkt gt 15 02 1990 06 00 00 zeitpunkt lt 15 02 1990 10 00 00 AND zeitpunkt gt 31 12 1989 23 59 59 AND zeitpunkt lt 01 06 1990 00 00 00 Anhang Testanfragen und Mefergebnisse 175 antr3a SELECT FROM WHERE antr3b SELECT FROM WHERE zeitpunkt regen wetter_10 regen SELECT MAX regen FROM wetter _ 10 BY METHOD regen regen ENTRY zeitpunkt 15 02 90 06 06 15 STEP 1 hours 10 minutes 0 seconds WHERE zeitpunkt lt 15 02 1990 10 00 00 AND zeitpunkt gt 31 12 1989 23 59 59 AND zeitpunkt lt 01 06 1990 00 00 00 zeitpunkt regen wetter_10 regen SELECT MAX regen FROM wetter _ 10 BY METHOD regen regen ENTRY zeitpunkt 15 02 90 06 00 00 STEP 1 hours 10 minutes 0 seconds WHERE zeitpunkt lt 15 02 1990 10 00 00 AND zeitpunkt gt 31 12 1989
25. 2 Kap 9 2 6 2 3 DDL Erweiterungen Syntaktisch sind einige geringf gige Erweiterungen der DDL notwendig um dem DBS mitzu teilen welche Attribute kontinuierliche Attribute sind und welches die zugeh rigen Basisattri bute sind Eine Relation die kontinuierliche Attribute und Verweise auf Basisattribute enth lt wird als Me wertrelation erkannt Die DDL Syntax folgt INGR91a 78 Die SQL Erweiterung CSQL CREATE TABLE lt relation name gt lt attr name gt lt data format gt BASE ATTRIBUTE lt attrname gt lt data format gt BASE ATTRIBUTE lt attr name gt lt data format gt CONTINUOUS ATTRIBUTE lt attr name gt lt data format gt CONTINUOUS ATTRIBUTE lt attr name gt lt data format gt WITH LOCATION lt location gt lt location gt INO JOURNALING NO DUPLICATES mit lt data format gt lt data type gt NOT NULL WITH NOT DEFAULT WITH NULL Die Grundwasserst nde Relation siehe Kap 10 wird mit dieser Syntax wie folgt definiert CREATE TABLE gwmessung x_koord float4 BASE ATTRIBUTE y_koord float4 BASE ATTRIBUTE zeitpunkt date BASE ATTRIBUTE gdw_stand float4 CONTINUOUS ATTRIBUTE gwm_id vchar 8 Ein Interpolationsverfahren wird im DBS wie folgt deklariert DECLARE METHOD lt interpol meth gt ON TABLE lt rel name gt CONTINUOUS ATTRIBUTE lt attr name gt VARYING BASE ATTRIBUTES lt attr name gt lt attr name gt Die Deklaration des Interpolation
26. 23 59 59 AND zeitpunkt lt 01 06 1990 00 00 00 Es folgen nun die Me ergebnisse in Tabellenform Einige Me werte sind in unterschiedlichen Zusammenh ngen mehrfach aufgef hrt Jeder Lauf hat jedoch eine innerhalb einer Anfrage eindeutige Nummer erhalten Die folgende Tabelle A 1 enth lt jeweils sechs L ufe von denen die ersten vier mit Dateipuf ferleerung und die L ufe f nf und sechs ohne Dateipufferleerung abgelaufen sind Die Anfrage 2 wurde nur einmal gemessen weil sie eine deutlich l ngere Antwortzeit hat als alle anderen Die allgemeinen Schlu folgerungen k nnen genauso gut aus den anderen Ergebnissen abgelei tet werden bio_cnt dio_cnt et_sec pfault_cnt Anfrage Programm 80 80 80 80 80 80 208 39 14 anfrl SQL 207 42 SQL 208 53 SQL 204 40 SQL 204 39 SQL 202 39 SQL anfrl anfrl anfrl anfrl anfrl 205 anfrl CSQL 205 CSQL 206 CSQL anfrl oo OD O O OnO BON RIND nn A UUN anfrl 176 Anhang Testanfragen und Mefergebnisse bio_cnt cpu_ms dio_cnt et_sec pfault_cnt Anfrage Programm 26232 22800 204 0 anfrl CSQL 26232 22720 204 CSQL 26232 23470 202 CSQL 90 SQL 140 SQL 160 SQL 110 SQL 100 SQL 90 SQL 26448 22400 204 CSQL 26448 23000 205 CSQL 26448 24590 206 101 CSQL 26448 23750 206 102 CSQL 26448 24550 204 115 CSQL 26448 23000 204 87 CSQL 591021 52193940 3582928 69612 anfr2 CSQL 39921 170310 518
27. 4 6 zu entnehmen die mit Hilfe der angegebenen Literatur aufgestellt wurde Im oberen Teil der Ta belle sind die Erweiterungen aufgelistet die ber die Datensprache hinausgehen Im unteren Teil werden Angaben zur Implementierung der Erweiterungen gemacht Diskutierte Punkte die hier in Tab 4 6 nicht aufgef hrt sind wurden von keinem der betrach teten EDBS angeboten 60 Technische Verarbeitung von Umweltdaten nAMAQHNO T eunn CORDA Ausgabe Pr sentation von Datentypen Zugriffspfade Speichermedien Optische Platten Versionenverwaltung auch als verteiltes DBS geschachtelte Transaktionen Wissensrepr sentation Regeln System modular aufgebaut DBI erforderlich x eingeschr nkt m glich nur im Entwurf f r Erweiterungen nach den Konzepten der Kiinstlichen Intelligenz Tabelle 4 6 M glichkeiten verschiedener EDBS 4 5 DB Erweiterungen zur Unterst tzung von Umweltprojekten Mit den bisher in diesem Kapitel vorgestellten Erweiterungen lassen sich noch nicht alle in Kap 3 6 aufgestellten Forderungen an ein Umwelt MeBwert DBS erf llen Alle Erweiterun gen die die EDBS bzw OODBS anbieten zielen darauf die vorhandenen Daten anders zu se hen zu repr sentieren zu strukturieren und zu bearbeiten In Umwelt und Me wert DB besteht aber ein ganz anderes Problem Hier sollen auf Anfrage Daten geliefert werden die gar nicht explizit in de
28. 434 HeSt93 Joseph M Hellerstein Michael Stonebraker Predicate Migration Optimizing Que ries with Expensive Predicates in Proc of the 1993 ACM SIGMOD Int Conf on Management of Data Washington DC May 26 28 1993 pp 267 276 Illu94 Ilustra Information Technologies Inc Mustra User s Guide Illustra Server Re lease 2 1 June 1994 Info96 Informix Corp Developing DataBlade Modules for INFORMIX Universal Server Informix White Papers 1996 INGR89 INGRES Technical Note 6 Measuring Query Performance Release 6 1 onwards May 1989 INGR91 INGRES Corp Using INGRES Through Forms and Menus for the UNIX and VMS Operating System Release 6 4 December 1991 INGR91a INGRES Corp INGRES SQL Reference Manual for the UNIX and VMS Ope rating System Release 6 4 December 1991 INGR91b INGRES Corp INGRES Embedded SQL Companion Guide for C for the UNIX Operating System Release 6 4 December 1991 INGR91c INGRES Corp INGRES Object Management Extension for the UNIX and VMS Operating Systems Release 6 3 6 3 03 and 6 4 December 1991 ISO90 International Standards Organization ISO working draft Database Language SQL2 and SQL3 internal committee document ISO IEC JTC1 SC21 WG3 SEL 3b dated April 1990 JaMa86 Donald A Jardine Aviram Matzov Ontology and Properties of Time in Informa tion Systems in Proc IFIP Working Conf Knowledge amp Data DS 2 Algarve Portugal 1986 pp F1 F16 Jahk91 Thi
29. 85 anfrl SQL 22340 205 anfrl 1 CSQL 23730 205 anfrl CSQL 28430 942 anfrl CSQL 28360 942 anfrl CSQL 22400 204 anfrlc 1 CSQL 23000 205 anfrlc CSQL 28070 942 anfrlc CSQL 94440 4973 anfr2d 1 CSQL 91090 5022 anfr2d CSQL 223110 26449 anfr2d CSQL 222520 26386 anfr2d CSQL 4310 250 anfr3 1 SQL 4350 249 anfr3 SQL 56000 8203 anfr3 SQL 53980 8201 anfr3 SQL 6810 375 anfr3a 1 CSQL 7040 370 anfr3a CSQL 223730 37026 anfr3a CSQL 225710 37012 anfr3a CSQL 148580 4563 anfr3b 1 CSQL 149950 4564 anfr3b CSQL 633360 86193 anfr3b CSQL 584580 86195 anfr3b CSQL So olo CO m N oO OR N N nN N e oo Y o o N aA u Tabelle A 4 Vergleich von ISAM und Hash Struktur Die Tabelle A 5 enth lt Antwortzeitvergleiche von Anfragen auf Relationen verschiedener Gr Be Der Lauf null wurde auf den Relationen der Gr e 30 262 Tupel anfrix anfr2x bzw 181 727 Tupel anfr3x gemessen Zum Vergleich k nnen hier zus tzlich die L ufe eins bis sechs der Tabelle A 1 auf den entsprechenden Anfragen hinzugezogen werden F r die Anfra gen anfrix und anfr2x wurden der Lauf Im auf 120 Tupeln f nf Tage der Lauf 2m auf 1487 Tupeln zwei Monate und der Lauf 3m auf 4367 Tupeln sechs Monaten ausgef hrt F r die Anfragen anfr3x wurden der Lauf 1m auf 22 025 Tupeln f nf Monate und der Lauf 2m auf 182 Anhang Testanfragen und Mefergebnisse 52 385 Tupeln ein Jahr gemessen Die Wer
30. ANSI89 wird beschrieben Im siebten Kapitel werden die Schnittstellen der Interpolationsroutinen zum DBS n her spezifiziert und in Kapitel 8 wird die Verarbeitung der um Interpolation erweiterten Anfragen erl utert Darauf aufbauend wird die Implementierung der Erweiterungen grob beschrieben In Kapitel 9 schlie lich werden die Implementierung und m gliche Optimierungen diskutiert Ein Alternativ Vorschlag f r Syntax und Implementierung zu den in Kapitel 6 bis 8 beschriebe nen Erweiterungen wird gegeben der sich auch einfacher in die im Kapitel 4 beschriebenen Er weiterbaren DBS integrieren lie e aber vom Endbenutzer mehr Aufwand und Verst ndnis ver langt Zur Abrundung wird in Kapitel 10 eine Fallstudie mit Leistungsuntersuchungen pr sen tiert Die Ergebnisse einer gr eren Anzahl von Leistungsmessungen die durchgef hrt wurden um herauszufinden welche Parameter einen deutlichen Einflu auf das Antwortzeitverhalten haben sind im Anhang aufgelistet In Kapitel 11 werden eine Zusammenfassung und ein Aus blick auf weitere m gliche Verbesserungen des Gesamtsystems gegeben Einleitung 2 Die Teilprojekte In diesem Abschnitt werden die Randbedingungen f r das Informatik Teilprojekt im Rahmen eines interdisziplin ren Verbundprojekts und damit auch f r diese Arbeit beschrieben Dazu werden kurz alle Teilprojekte vorgestellt auch das DB Projekt aus der Sicht der Anwender Zu jedem Teilprojekt werden die Projektziele genannt
31. Anderungsoperationen mit Interpolation m ten auch Anfrageb ume aufgebaut wer den e Die Transaktionsverwaltung m te strenger gehandhabt werden In diesem Fall m te die gesamte Interpolation in Transaktionsklammern gesetzt werden weil es vorkommen kann da Relationen die ge ndert werden sollen bereits bei der Interpolation angesehen werden etwa um die Generierung von STEP Werten zu begrenzen In der damaligen Version von INGRES war so aber ein Mehrbenutzerbetrieb w hrend der Interpolation praktisch nicht mehr m glich deshalb wurden so grobe Transaktionsklammern nicht gesetzt Beides wurde zugunsten einer schnellen Prototyperstellung zur ckgestellt e Geschachtelte Anfragen die sich nicht entschachteln lassen wie etwa Ungleichheit in Ver bindung mit Aggregationsfunktionen k nnen noch nicht bearbeitet werden Hier m te die Kontrolle zwischen dem CSQL Pr prozessor und der Anfrageauswertung des DBS wechseln das ist auf einfache Weise bei einem Pr prozessor aber nicht m glich 112 Verarbeitung von CSQL Interpolation in geschachtelten SELECT Klauseln innerhalb der HAVING Klausel ist bisher nicht m glich Hierzu m te wenn diese Anfragen ohne Interpolation im INGRES System korrekt funktionieren w rden ebenfalls der Anfragebaum erweitert werden Au erdem m te dann an zwei Stellen Interpolation ausgewertet werden bevor die Anfragen an SQL weiterge geben werden Eingebaute INGRES Funktionen z B Typ
32. Bereitstellung der Me werte und Umweltdaten aus dem vorher Gesagten abgeleitet Dabei wird beschrieben wie die Eigenschaften der Me werte das System beeinflussen k nnen 3 1 Eigenschaften von Umwelt Forschungsprojekten Umweltforschungsprojekte befassen sich mit den Auswirkungen der Eingriffe des Menschen auf die nat rliche Umwelt Die Ziele dienen dem Umweltschutz das hei t es werden Wege aufgezeigt wie der sch dliche Einflu des Menschen verringert werden kann bzw wie Gegen ma nahmen ergriffen werden k nnen s a BaZi95 Umweltprobleme sind i a nur interdiszi plin r vollst ndig erfa bar und m ssen deshalb instituts bergreifend bearbeitet werden So sind Umweltforschungsprojekte dann meistens interdisziplin re Projekte an denen Partner aus ver schiedenen Fachrichtungen h ufig in r umlich voneinander entfernten Institutionen mitwirken Die Hardware Ausstattung der Kenntnisstand und die Erfahrung mit Datenverarbeitung der verschiedenen Projektpartner sind meistens sehr unterschiedlich Jedoch m chten alle bereits vorhandene Hard und Software weiterverwenden bzw gleichartigen Ersatz bekommen Umweltforschungsprojekte sind so strukturiert da man das Endziel bzw die Endziele des Pro jekts ber mehrere Zwischenziele erreicht H ufig werden in Umweltforschungsprojekten neue Me verfahren und ger te erprobt von denen man noch nicht genau wei ob und in welcher Qualit t sie die gew nschten Werte liefern Je innov
33. CSQL CSQL CSQL CSQL 148580 149950 146500 147620 146370 145010 4563 4564 4564 4560 4558 4560 O o OF a 00 0 anfr3b anfr3b anfr3b anfr3b anfr3b anfr3b aA Gr WN FIED tr DD FILED N Tabelle A 1 Verschiedene L ufe mit und ohne Dateipufferleerung CSQL CSQL CSQL CSQL CSQL CSQL Die n chste Tabelle A 2 zeigt wie sich das parallele Arbeiten auf derselben Datenbank auf die Antwortzeiten auswirkt In den L ufen eins bis sechs wurde nicht parallel gearbeitet in den L ufen zehn bis zw lf wurde parallel auf derselben Datenbank auf einer anderen Relation gear beitet Im Lauf 14 wurde parallel auf dieselbe Relation lesend zugegriffen Paralleles Lesen auf derselben Relation wurde in CSQL nicht gemessen weil bedingt durch das Anlegen tempor rer Relationen die Sperren hier restriktiver gesetzt werden und es zu Verklemmungen kommen kann et_sec pfault_cnt Anfrage Programm 39 42 53 40 39 39 53 61 52 70 anfrl anfrl anfrl anfrl anfrl anfrl anfrl anfrl anfrl anfrl SQL SQL SQL SQL SQL SQL SQL SQL SQL SQL 178 Anhang Testanfragen und Mefergebnisse bio_cnt cpu_ms dio_cnt et_sec pfault_cnt Anfrage Programm 26232 22340 205 110 8 anfrl CSQL 26232 23730 205 102 anfrl CSQL 26232 23570 206 99 anfrl CSQL 26232 22800 204 94 anfrl CSQL 26232 22720 204 94 anfrl CSQL 26232 23470 202 97 anfrl CSQL
34. ESQL C Schnittstelle sind in Bosc90 Riet90 zu fin den In den CSQL Benutzerschnittstellen werden die eingegebenen CSQL und SQL Anweisungen zuerst analysiert und wenn sie syntaktisch korrekt sind aufgeteilt in unterschiedlich zu bear beitende Gruppen e CSQL DDL Anweisungen werden direkt verarbeitet Sie werden z B aufgeteilt in Einf ge Anweisungen in die zus tzlichen CSQL Systemrelationen und normale SQL DDL Anwei sungen e SQL DDL Anweisungen werden dahingehend berpr ft ob sie Auswirkungen auf die Inter polation haben k nnten und entsprechende Anweisungen werden zus tzlich gegeben Wird 98 Verarbeitung von CSQL z B eine Me relation gel scht m ssen alle auf ihr definierten Interpolationen verboten wer den e Reine SQL DML Anweisungen und reine SQL Anfragen werden direkt an das INGRES Sy stem weitergereicht e CSQL Anfragen werden vorverarbeitet d h die Anfrage wird in einen sog Anfragebaum s u umgeformt Interpolation wird aufgerufen und die Ergebnisse werden in tempor re Re lationen geschrieben Dann werden entsprechend modifizierte Anfragen an das INGRES Sy stem weitergegeben Die Vorverarbeitung der CSQL Anweisungen ist der aufwendigste Teil im Gesamtsystem weil hier auch eine Anfrageoptimierung stattfinden mu Interpolation ist aufwendig denn sie bein haltet einen Prozeduraufruf mit mehreren DB Zugriffen und Berechnungen Insbesondere die Anzahl der Datenbank Zugriffe ist fast imm
35. Ergebnisspalte Klausel IFROM Element TABLE Element TABLE Element Interpolations Relationen Korrela Klausel J eco ooo 9 00 name tionsname HAVING Klausel METHOD Element METHOD Element eee Methoden kontinuierliches eee Arber Basisattribut WHERE ENTRY Element Konstante Klausel STEP GROUP BY ENTRY Element Klausel eeo ks OPERATOR Elem Operand GROUP Element Attributname Relationenname eee Operand Attributname Relationenname eee Bild 8 3 Allgemeine Struktur eines Anfragebaums 106 Verarbeitung von CSQL Anfragebaum UNION Element SELECT Element PROJ Element PROJ Element PROJ Element x_koord gdw_stand IFROM Element TABLE Element gwmessung OPERATOR METHOD Element gdw_staende ENTRY Element ENTRY Element gt x_koord gt 50 0 zeitpunkt 29 03 88 y_koord 225 0 Bild 8 4 Beispiel eines Anfragebaums Schritt ist notwendig um die Restriktionen die vor der Interpolation ausgewertet werden m s sen abgrenzen zu k nnen und um sp ter die bereits ausgewertete Qualifikationen einfach aus der WHERE Klausel entfernen zu k nnen Die vorgezogene Auswertung von Restriktionen geschieht dadurch da auf der Me relation eine Sicht definiert wird die genau diesen Bedingungen gen gt Der Name dieser Sicht wird der Interpolationsroutine dann anstatt des Namens der Me relation bergeben Verarbeitung von CSQL 107
36. Folgen von Werten auf dem kontinuierlichen Attribut Daf r ben tigen die Interpolationsfunktionen weitere Eingabepa rameter die die Distanzen oder Schrittweiten zwischen den Basisattributen der zu interpolieren den Werte angeben Die Schrittweiten Astep i m ssen eine Intervallbreite aus dem Wertebereich des zugeh rigen Abi enthalten Astepi u v l u v e D Abi u gt v operations interpol_series1 MR x fi X Ab1 Abk X Astep1 X X Astep m R Ab1 Abk Ac1 interpol_seriesj MR x fj x Abl Bee Abl x Astep1 xX X Astep n gt R Abl or Abk Acj m lt k n lt l variables mr e MR relations D II Ab Abk mr c D Astep1 X X Astepk Astep Kann hier ein oder mehrdimensional sein also eine Interpolation entlang einer Geraden im Raum oder auf einer n dimensionalen Ebene Implementiert wurde zun chst die Interpola tion entlang einer Geraden im Raum weil bei der zweiten Variante leicht Performance Proble me auftreten k nnen Denn die Anzahl der zu interpolierenden Werte w chst bei der zweiten Variante exponentiell mit der Anzahl variierender Basisattribute n denn f r jeden Wert des er sten Basisattributs werden alle m glichen Werte bzw Kombinationen von Werte der weiteren Basisattribute generiert Werden bei zwei Basisattributen je 100 Schritte angegeben werden in der ersten Variante 100 Werte interpoliert in der zweiten Variante jedoch 100 100 also 10000 Werte siehe auch Bild 9
37. Fremdschl ssel durch die Definition refe rentieller Integrit tsbedingungen mit anh ngenden kaskadierenden Operationen automatisiert werden Diese Art der Datenhaltung eignet sich gut f r das Speichern einzelner Me reihen F r die ein zelnen Me werte sind die Grunddatentypen geeignet und ausreichend Der Unterschied zwi schen diskreten und stetigen Wertebereichen l t sich damit jedoch nicht ausdr cken Wenn komplexere Zusammenh nge wie z B die Zuordnung verschiedener Mefreihen zu einem gr Beren Versuch dargestellt werden m ssen werden m chtigere Konzepte zur Strukturierung be n tigt Hier ist eine aufwendige Modellierung durch bergeordnete Relationen notwendig die z B enthalten welche Me reihe welchem Versuch zuzuordnen ist Erweiterungen wie ge schachtelte Relationen w rden Abhilfe schaffen Auch mit einem Konzept zum Ausdr cken vom Vererben von Eigenschaften wie es etwa seit einiger Zeit zun chst vom DBS Illustra Hlu94 und dann von dessen Nachfolger Informix Info96 mit den benutzerdefinierten Daten typen in den sog DataBlades angeboten wird l t sich so ein Sachverhalt gut modellieren Der Aufwand zum Definieren der verschiedenen ber und untergeordneten Relationen typen ist aber auch hier nicht unerheblich 28 Me werte Umweltdaten und Umweltprojekte In den g ngigen DBS werden alle Daten gleich bearbeitet Eine besondere Behandlung insbe sondere r umlicher Daten ist nicht m glich weder
38. Klasse von Me werten abgestimmt Deshalb sollen sie im DBS auch genau einer Relation oder Klasse von Re lationen zugeordnet werden Generische Interpolationsverfahren die sich auf beliebige Me Werte anwenden lassen werfen eine Reihe von Problemen auf Die Implementierung w re auf wendiger denn schon die unterschiedliche Anzahl von Basisdimensionen z B im Raum oder in der Fl che gewonnene Me werte ist ein Problem N heres zu diesem Aspekt findet sich auch in Kap 9 Es besteht zwar immer die M glichkeit Interpolationsfunktionen generisch also praktisch f r alle Relationen zu implementieren so wie eine Funktion auf alle Werte eines Datentyps anwendbar ist Dann w rde jedoch nicht berpr ft ob als zu interpolierende Relation wirklich eine Me relation angegeben wurde Bei einer direkten Einbettung der Interpolationsfunktionen in das DBS besteht die M glichkeit des festen Bindens an einzelne Relationen in der Regel nicht bzw ist sehr aufwendig Denn die Integration der Interpolation m te hier vor der Definition der Me relationen geschehen Eine andere M glichkeit bietet hier das neuartige relationale DBS Illustra Ilu94 das eine hierarchi sche Typisierung von Relationen erlaubt Hier k nnte eine Interpolationsfunktion an einen be stimmten Relationentyp bzw untertyp gebunden werden Aber auch genau an einzelne Relationen angepa te Interpolationsfunktionen haben einige Nach teile Der Programmierer mu
39. Personen die Me werte erheben und auch diejenigen die sie weiterverarbeiten und aus werten sind i a keine Informatiker sondern Wissenschaftler aus den Anwendungsgebieten Deshalb mu die Benutzerfreundlichkeit und Handhabbarkeit von Werkzeugen zur Unterst t zung der Verarbeitung von Me werten besonders hoch sein 3 5 1 Dateneingabe Me werte und Umweltdaten k nnen prinzipiell auf drei verschiedene Arten in das DBS gelan gen n mlich durch 1 manuelle Eingabe 2 durch bertragung von aufgezeichneten Daten von Disketten oder aus Datenloggern oder 3 durch direkte bertragung vom Me ger t Me werte Umweltdaten und Umweltprojekte 25 Die Unterst tzung der manuellen Dateneingabe ist besonders wichtig Diese T tigkeit wird oft von Hilfspersonal durchgef hrt das die genauen Sachverhalte nicht kennt und deshalb die Schl ssigkeit der eingegebenen Daten nicht berpr fen kann Deshalb sind hier besonders ge naue Anweisungen und automatische Konsistenzpr fungen der eingegebenen Daten notwendig Wenn bei der manuellen Eingabe effizient gearbeitet werden soll m ssen Eingabemasken ergo nomisch gestaltet werden k nnen und die mehrfache Eingabe derselben Sachverhalte mu ver mieden werden Heute bieten alle bekannten kommerziellen DB Hersteller zu ihren Systemen passende Werkzeuge zur Gestaltung von Benutzerschnittstellen an mit denen die oben genann ten Anforderungen erf llt werden k nnen Die Implementierung einer wirklic
40. Prozeduren Funktionen u m ssen folgende Voraus setzungen geschaffen werden e Definition von Datenbankprozeduren CREATE PROCEDURE DROP PROCEDURE gibt es schon in einigen kommerziellen DBS wie z B INGRES e Erweiterung der Attributdefinition in der CREATE TABLE Anweisung zur Beschreibung ab geleiteter Attribute e interaktive Definition von Triggern in konventionellen DBS bisher meist nur gebunden an Anwendungen oder bestimmte Tools Anwendungsgeneratoren bzw Definition von Re geln POSTGRES Starburst etwa CREATE RULE ON lt Anla gt lt Pr dikat Trigger gt lt Anweisungsliste bzw DB Prozedur gt L schen von Reglen wie DROP RULE e Definition von Funktionen Operatoren Mengenpr dikaten und Table Functions e Syntax f r Aggregationsfunktionen mit zus tzlichen Parametern DML e Anwendung der Table Functions also Funktionsaufrufe in der FROM Klausel e F r abgeleitete Attribute die Anwendung von Triggern und Regeln sowie von DB Proze duren innerhalb von Triggern werden keine Erweiterungen der DML ben tigt Benutzerde finierte Funktionen und Operatoren werden wie andere built in Funktionen bzw Operato ren auch angewendet Im POSTGRES System wird POSTQUEL eine Erweiterung der Datensprache QUEL verwendet Alle anderen Systeme verwenden Erweiterungen von SQL der einzigen Datensprache f r rela tionale Datenbanken f r die bisher ein Standard definiert wurde ANSI86 ANSI89 ANSI89a und f r die an weiter
41. Verschiedene Strukturen und Zugriffspfade f r geometri sche also auch r umliche Daten werden in Guen88 verglichen und bewertet In letzter Zeit befa t sich die Forschung speziell mit der Auswertung r umlicher Operationen auf solchen Da tenstrukturen RoSV95 etwa befa t sich mit der Auswertung von Anfragen wie das Finden der k dichtesten Nachbar Objekte zu einem Punkt im Raum in R Tree Datenstrukturen In PTSE95 werden r umliche Beziehungen auf kleinsten umschlie enden Rechtecken in r umli chen Datenstrukturen wie R Trees und R Trees behandelt F r die Optimierung der Anfragen auf r umlichen Daten w re es am besten wenn es zu jeder r umlichen Operation Prozedur im der in Kap 7 1 erw hnten Bibliothek eine passende Spei cherstruktur und einen geeigneten Zugriffspfad in der DB geben w rde so da f r h ufig ge nutzte Anwendungen diese mit der Einbindung der Interpolationsfunktion angelegt werden k nnten 96 Die Schnittstelle zwischen Interpolationsmodul und DBS 7 3 Implementierung der Standardzugriffe fiir Interpolationsfunktionen Im INGRES DBS und einigen anderen kommerziellen DBS auch gibt es zwei M glichkeiten parametrisierte Zugriffe auf die DB bereitzustellen Datenbankprozeduren und Dynamisches SQL Datenbankprozeduren siehe auch Kap 4 4 1 haben jedoch den Nachteil da sie immer einer DB fest zugeordnet werden m ssen D h m chte ein Programmierer sie in einer anderen DB verwenden mu er sie z
42. also auch benutzerdefinierte Typen verarbeiten In POST GRES k nnen neue Basistypen und zusammengesetzte Typen definiert werden Die Konstruk toren Menge und Feld gibt es nicht direkt auf Umwegen kann jedoch der gleiche Effekt er reicht werden Es gibt den Attributtyp PROCEDURE der besagt da ein Attribut den Namen einer Prozedur enth lt die jedesmal ausgef hrt wird wenn der Wert des Attributs gefragt ist Es ist auch zul ssig da hier eine Menge von Werten geliefert wird Auf vollst ndige Or thogonalit t aller Konstruktoren wurde in POSTGRES noch zugunsten von besserer Perfor mance verzichtet Im Starburst System war die Komponente zur Definition neuer Datenty Technische Verarbeitung von Umweltdaten 47 pen zur Projektlaufzeit noch in der Entwicklung LiHa90 deshalb lie sich ber die ange botenen Konstruktoren noch nichts Genaues sagen Die in WSSH88 aufgestellten Anfor derungen lassen aber auf ein m chtiges Werkzeug schlie en In DASDBS SPSW90 stehen mit dem NF Modell die Konstruktoren Tupel und Menge orthogonal zur Verfiigung Im GENESIS System gibt es die Konstruktoren Tupel Menge Link und endliche Menge Uber deren Orthogonalit t wird in der zitierten Literatur keine Aussage gemacht 3 Zu den Punkten der wertunabh ngigen Identifikation und der Surrogat Schl ssel bzw sy stemgenerierten Schl ssel wird in der Literatur zu keinem der Systeme eine pr zise Aussage gemacht Es scheint in allen f nf Systemen
43. an dernfalls werden sie f r weitere Interpolationsschritte aufbewahrt Das Verfahren zur Interpolation der Lufttemperatur ist in Bild 10 2 noch einmal kurz darge stellt F r ein sehr schnelles Interpolationsverfahren k nnte man auf die Berechnung der Fourierkoef fizienten verzichten und direkt aus den gesch tzten Tagesminimal und Tagesmaximalwerten mitteln Die Ergebnisse w ren entsprechend ungenauer Fallstudie 141 Zeitpunkt des gesuchten Wertes eintragen in ja_ Wert in Me rela temp Relation tion vorhanden eintragen in temp Relation Bild 10 2 Interpolation der Lufttemperatur nein ja Werte vor u nac Interpolation ges Wert vorh nein Werte gestern u morgen vorh nein Tagesminimal u maximal werte im ges Bereich best Fourierkoeffizien ten berechnen Minimal u Maximalwert am gesuchten Tag ber Wert am ges Zeitpunkt ber Folgen weitere Interpolationen nein Zwischenergeb nisse l schen 10 3 Anwendungen auf der Beispiel Datenbank Im folgenden werden nun einige Beispiele gegeben die zeigen wie das CSQL System mit den Interpolationsfunktionen angewendet werden kann Es wird jeweils auch versucht eine oder 142 Fallstudie mehrere aufeinanderfolgende SQL Anweisungen zu geben die zumindest ann herungsweise das Gleiche leisten Das Antwortzeitverhalten dieser Beispielanfragen wurde auch gemessen Die Ergebnisse sind in Kap 10 5 zu finden 1 Be
44. aufbereiten und auch Unter st tzung bei online Anfragen Ohne diese speziellen Erweiterungen und geschickte Datenmo dellierung sind DBS aber unflexibel Sie werden h ufig auch zu langsam f r effizientes Arbei ten weil auf ungeeigneten logischen und physischen Datenstrukturen komplizierte Anfragen ge stellt werden m ssen Eine geringe Verarbeitungsgeschwindigkeit steht wieder einer h heren Akzeptanz entgegen 4 2 Datenmodelle f r Me werte und Umweltdaten Eine wichtige Voraussetzung f r ein effizientes Verarbeiten von Umweltdaten in Datenbanken ist eine angemessene Modellierung der Umweltdaten Es w re g nstig wenn sich Me werte und Umweltdaten in einem der Datenmodelle darstellen lie en f r die es bereits kommerzielle DBS gibt oder in K rze geben wird weil damit eine einfache Wartung des DBS und die Kom patibilit t zu anderen Datensammlungen gew hrleistet w re Von den drei klassischen Daten modellen Hierarchisches Netzwerk und Relationales Datenmodell kann f r den Einsatz bei Anwendern nur das Relationale Modell gew hlt werden weil nur f r dieses Datenmodell und seine Erweiterungen deskriptive und damit hinreichend einfach zu erlernende Datensprachen Quel SQL und Erweiterungen davon wie ObjectSQL kommerziell angeboten werden Das Relationale Datenmodell erscheint zun chst gut geeignet zur Modellierung von Me werten da sich Me reihen gut als Tabellen entspricht Relationen abspeichern lassen So fallen e
45. bearbeitete Parzelle aufgeteilt Es wird vor allem der Einflu der Landwirtschaft auf die Qualit t und Quantit t des Sickerwassers Wasser auf dem Weg von der Oberfl che Die Teilprojekte 7 zum Grundwasser untersucht mit Schwerpunkt auf dem D ngestoff Nitrat und einigen ausge w hlten Herbiziden Es wurde eine Fruchtfolge f r das Testfeld festgelegt und f r beide Parzel len wurden eine unterschiedliche Art der Bearbeitung z B hacken pfl gen Unkraut j ten so wie die einzusetzenden Mengen an D nger und Pflanzenschutzmitteln unterschiedlich be stimmt Zur Bestimmung des Nitrat Gehalts im Boden werden in regelm igen Abst nden 4 Wochen Bodenproben auf der gesamten Fl che in drei verschiedenen Tiefen genommen Die Proben m ssen vorschriftsm ig zwischengelagert und dann analysiert werden Auf den beiden unter schiedlich bewirtschafteten Parzellen wurde je eine Intensivme parzelle eingerichtet auf der kontinuierlich die Sickerwassermenge der Niederschlag und die Verdunstung sowie Wasser spannungen und Saugspannungen w chentlich in 6 bis 8 verschiedenen Tiefen gemessen wer den und Bodenwasserproben 14 t gig in 5 verschiedenen Tiefen genommen werden Detail lierte Beschreibungen der Me vorrichtungen und Me gr en finden sich in PlKa89 2 4 Das Teilprojekt Bodenchemie Das Bodenchemie Projekt das erst sp ter in das Verbundprojekt eingegliedert wurde unter sucht die Wechselwirkung zwischen dem
46. bei der Modellierung noch bei der Speiche rung R umliche Daten k nnen dem DBS nicht als solche bekannt gemacht werden um z B Beziehungen dar ber zu definieren Die Eigenschaften von Me werten k nnen auch nicht durch spezielle Speicherstrukturen oder durch spezielle Zugriffspfade die einen effizienteren Zugriff auf diese Daten erlauben ausgenutzt werden Es ist nicht m glich zwischen punktuellen Wer ten und Intervallen zu unterscheiden Ausnahme Datentyp Zeit mit z B 03 00 00 f r 3 00 Uhr bzw 3 hours Es k nnen keine zusammengesetzten Attribute definiert werden etwa um mehrdimensionale Me basen zu modellieren Daten lassen sich auch nicht mit bestimmter Se mantik wie z B Me werte oder mehrdimensionale Me basis auszeichnen Abh ngig von dieser Semantik k nnte man aber bestimmte Operationen zulassen oder verbieten Auch die wichtige Eigenschaft Kontinuit t siehe Kap 3 1 2 l t sich so den Me werten bzw Me rei hen nicht zuordnen In den neusten kommerziell erh ltlichen DBS wie Informix Info96 und dessen Vorg nger Il lustra Illu94 sind zumindest einige dieser M ngel behoben oder abgemildert Es lassen sich verschiedene Relationentypen definieren Damit ist es m glich bestimmte Relationen gegen ber anderen auszuzeichnen z B als Me reihen f r Pegelst nde Allerdings hat ein bestimmter Relationentyp ein festes Schema Man kann also nicht einfach beliebige Me werterelationen m
47. dabei gro e Mengen unter schiedlicher Daten an Zur Verwaltung dieser Daten bietet sich der Einsatz von DBS an Jedoch sind DBS heute noch berwiegend f r die oben erw hnten sogenannten kommerziellen Anwen dungen konzipiert F r einen erfolgreichen Einsatz im Umweltbereich sind Erg nzungen und Erweiterungen erforderlich Diese Arbeit begann im Rahmen des interdisziplin ren Umwelt Forschungsprojekts Naturme feld Horkheimer Insel das von Februar 1988 bis Ende 1990 durchgef hrt wurde Die Horkheimer Insel liegt im Neckar bei Heilbronn Dieses Projekt kann als repr sentativ f r viele hnliche Projekte angesehen werden Das Forschungsprojekt bestand aus sechs Teilprojek ten f nf Anwender Projekten aus der Sicht des Informatikers und dem Datenbank Teilpro jekt Die Anwender Projekte waren in den Fachgebieten Geohydrologie Bodenkunde Boden chemie Pflanzenbau Landwirtschaft und Wasserchemie angesiedelt Das Hauptziel des Ge samtprojekts war die Erforschung des Bodens und Grundwassers unter landwirtschaftlich ge nutzten Fl chen Basierend auf diesen Erkenntnissen sollten Anbaumethoden gefunden werden die nicht den sch dlichen Einflu heute blicher Bewirtschaftung auf die Umwelt haben und trotzdem qualitativ und quantitativ gute Ertr ge bringen Um diese Ziele zu erreichen mu ten zun chst der Zustand des Testfelds und die nat rlichen Vorg nge aufgezeichnet werden Dazu wurden unterschiedliche Me ger
48. das Schema und die Struktur der Datenbank wie Relationen und Attributnamen Beziehungen zwischen Relationen und Sekund rschl ssel sehr genau ken nen Die Interpolationsfunktionen sind nicht transparent gegen ber auch kleineren nderun gen des DB Schemas d h sie m ssen an jede nderung des Datenbankschemas angepa t wer den Die Interpolationsfunktionen sind nicht einfach auf andere Relationen in derselben oder ei ner anderen DB bertragbar die Werte mit derselben Semantik enthalten Teilweise k nnen diese Nachteile insbesondere die fehlende bertragbarkeit zumindest tech nisch dadurch behoben werden da bei der Programmierung Dynamisches SQL INGR89b verwendet wird und die ben tigten Namen beim Funktionsaufruf bergeben werden Dann m s sen bei geringf gigen nderungen der Relationenschemata und bei der bertragung eines Ver fahrens auf eine semantisch hnliche Relation nur einige Beschreibungen und Definitionen in der DB nicht aber die Implementierung der Funktion selbst ge ndert werden Es k nnen so auch Daten ber Sichten interpoliert werden In denen k nnen Sekund rschl sselbeziehungen schon denormalisiert sein gewisse geeignete Zugriffspfade schon eingerichtet sein und die zu durchsuchende Tupelmenge schon eingeschr nkt sein siehe Kap 9 Interpolation von Me werten 71 Fest an einzelne Relationen gebundene Interpolationsfunktionen haben auch den Vorteil gegen ber generischen da f r
49. der DB vorhandenen Werten Wertekombina tionen ausgewertet soweit nicht in der WHERE Klausel weiter eingeschr nkt wird Derzeit sind in der ENTRY Klausel nur numerische Werte keine Referenzen arithmetischen Ausdr cke u zul ssig Sie hat folgende Syntax ENTRY lt base_attr gt lt value gt lt base_attr gt lt value gt Zu jeder BY METHOD Klausel mu es genau eine ENTRY Klausel geben 80 Die SQL Erweiterung CSQL Die STEP Klausel Die STEP Klausel dient der Spezifikation von quidistanten Folgen von Werten F r alle in der ENTRY Klausel angegebenen Werte werden die Abst nde die Schrittweiten angegeben Auch hier sind nur numerische Angaben zul ssig Die STEP Klausel sieht wie folgt aus STEP lt distance gt lt distance gt Zu jeder ENTRY Klausel gibt es h chstens eine STEP Klausel Eine STEP Klausel ohne ENTRY Klausel ist nicht zul ssig Die STEP Klausel mu genauso viele Werte beinhalten wie die zuge h rige ENTRY Klausel und die Attribute in der gleichen Reihenfolge ansprechen Die CSQL Syntax die die Spezifikation von Interpolationsmethoden beliebigen Me punkten ENTRY Punkten und Schrittweiten STEP f r quidistante Folgen von Werten erlaubt sieht folgenderma en aus hnlich der Syntax in INGR9l1a Die Basisattribute die in der STEP Spezifikation nicht auftreten werden zu den in der Datenbank vorhandenen Werten ausgewer tet SELECT ALL DISTINCT
50. empfiehlt Ullm91 p 270 auch den Ein satz von DDBS f r wissenschaftliche DB um bisher unbekannte Beziehungen zwischen Me parametern zu suchen und zu finden Die in Kap 3 und hier aufgezeigten Probleme lassen den Einsatz von DDBS f r nicht aufbereitete Me werte jedoch als ungeeignet erscheinen Ein weiteres Argument gegen den Einsatz von DDBS f r die in dieser Arbeit behandelten Pro bleme zeigt Ullm91 selbst noch auf Um die M glichkeit spontaner ungeplanter Anfragen zu erhalten m chte er den Einsatz neuer Datentypen und benutzerdefinierter Funktionen verbieten Genau dies geschieht aber bei der Einbindung von Interpolation 4 3 4 Objekt orientierte Datenbanksysteme Mit neuen nicht konventionellen Anwendungen wie Umwelt Ingenieurs oder CAD Daten banken entstand das Bed rfnis nach reichhaltigeren Strukturen f r die Datenmodellierung als relationale DBS sie anbieten Deshalb wurde an mehreren Stellen die Idee formuliert die Vor teile wie objekt orientierte Programmiersprachen Simula C sie bieten in DBS zu integrie ren Daraus enstanden die sog Objekt orientierten DBS OODBS Nat rlich wiesen zun chst die verschiedenen als OODBS bezeichneten Systeme noch durchaus unterschiedliche Eigen schaften auf Um einen gewissen Qualit tsanspruch f r die Bezeichnung OODBS zu sichern wurde von einer Forschergruppe der Begriff OODBS mit dem Object Oriented Database Sys Technische Verarbeitung von Umweltdaten 43
51. er 4 68 5 3 Die Schnittstelle zum DBS 23 23 2 Fe 32h a ee ee ei 69 6 Die SOL Erweit rung CSQL 2 4 3 2a a Kr ea nee 73 6 1 Allgemeine Anforderungen an die Spracherweiterung CSQL 73 6 2 Syntax und Semantik von CSQL 1 24 22 826 4 bake an a este Dr a 74 6 2 1 Differenzierte Relationentypen CC nommen 75 6 2 2 Nee Operationen 0 ar ara nd ia rl 76 6 2 3 DDE Erweiter ngen oin 22 Se ed eS ANS Tas Le 6 2 4 Erweiterungen der Anfragesprache 2 2 2 Emmen 78 6 3 Vertr glichkeit mit Standard SQL 0 0 00 eee eee 81 6 3 1 Antrasetenl von SQL 2 34 44 4 BER eR He ea eh 82 6 3 2 Datenmanipulationsteil von SQL 2 2 ee ee 89 6 4 Zus tzliche Systemrelationen 2 Aw ao a 90 7 Die Schnittstelle zwischen Interpolationsmodul und DBS 93 7 1 St ndard Zusriffe auf die DB 2 22 24 2 22 8 a So RA ee ee 94 7 2 Auswirkungen auf die Leistung des DBS 2 2 nommen 95 7 3 Implementierung der Standardzugriffe f r Interpolationsfunktionen 96 8 Verarbeitung von CSOD ve ose ee Oe FR we ee Ss 97 8 1 CSQL 1m DES INGRES ws ee ee ie eat 97 8 2 CSQL Benutzerschnittstellen aooaa 2 FI ya ak 100 8 3 Analyse der CSQL Anweisungen aoaaa a 101 8 4 Ablaufsteuerung bei der Interpolation 2 2 2 aa a 104 8 5 Entschachtelung und Optimierung von Interpolationsanfragen 107 8 6 Generierung der SQL Anfragen 2 aa a 110 8 7 Nachbehandlung vc 5 oe
52. exe oe ne ae ey Gad air ee 111 8 8 Stand der Prototyp Implementierung ooo a a 111 8 9 M gliche Verbesserungen bei direkter Einbettung 114 9 Alternative Syntax und Optimierung 0 202 e ee ewes eee 117 9 1 Gr nde f r einen zweiten neuen Ansatz ooa 117 9 2 Der Zweite Ansatz aouri EN ED ee 119 9 3 Auswertung und Optimierungsm glichkeiten bei Interpolationsanfragen 123 93 1 Innere Optimierung re ae er TEE DE 124 9 3 2 u ere Optimierung 6 4 20 Shue Ka are 127 9 3 3 Optimierung in CSQL 2 2 2 2 eo Re ia a 128 9 3 4 Optimierung im zweiten Ansatz o oo 129 9 4 Vergleich und Bewertung beider Ans tze 2 on mn 130 10 Rallstodie 2 4 23 22 2 8822 6 20 0 18 are a a EE RR 133 10 1 Die Beispiel Datenbank 2 u 2024 ad Sopa Au SNE rd 133 10 2 Die Beispiel Interpolationsverfahren 2 2 2 2 o nme 136 10 2 1 Die Interpolation von Grundwasserst nden 136 10 2 2 Die Interpolation von Niederschlag 2 2 22m nennen 137 10 2 3 Die Interpolation von Lufttemperatur 0 139 10 3 Anwendungen auf der Beispiel Datenbank 141 10 4 Das INGRES Datenbanksystem 0 000000 ee eee 148 LOS Leistinesmessunsen 35 2 222 3 So a oe a SA asien 149 10 5 1 Leistungsmessung im INGRES System 2040 149 10 5 2 Antwortzeitverhalten im CSQL System 151 10 5 3 Messung der Beispi
53. g nstiger realisiert werden weil innerhalb der Interpolationsfunktion optimiert werden kann siehe Kap 9 3 6 2 Syntax und Semantik von CSQL In diesem Abschnitt werden zun chst formal die Erweiterungen beschrieben die notwendig sind damit Interpolationen vom DBS unterst tzt durchgef hrt werden k nnen Anschlie end werden die formalen Beschreibungen syntaktisch in SQL Erweiterungen umgesetzt Die SQL Erweiterung CSQL 75 6 2 1 Differenzierte Relationentypen Da die besonderen Eigenschaften der Me daten w hrend ihrer gesamten Lebenszeit in der Da tenbank bestehen erscheint es sinnvoll sie auf Konzeptioneller oder logischer Ebene w hrend des Datenbankentwurfs festzuschreiben Deshalb mu das Datenmodell ein erweitertes relatio nales Modell zwei Arten von Relationen unterscheiden k nnen 1 Konventionelle Relationen Ri werden formal als Mengen von geordneten Wertekombinatio nen definiert den Tupeln Die Dom nenfunktion D liefert den Wertebereich eines Attributs A Ri Ail Ain c D Ail X X D Ain ie N wobei die Ajj die Attribute der Relation R sind Jede Relation mu mindestens ein Attribut enthalten Die Schl sselattribute von Rj sind frei w hlbar 2 Me wertrelationen sind eine Teilmenge aller Relationen die einige zus tzliche Eigenschaften haben welche nicht alle Relationen haben und auf denen weitere Operationen definiert sind die auf anderen Relationen nicht angewendet werden d rfen Ein
54. glich erhoben werden Sie ben tigen eine besonders sorgf ltige Sicherung Und bei je dem Wechsel von Betriebssystem oder Hardware Speichermedien sollte man sicherstellen da alle Daten sp ter noch gelesen werden k nnen Im Zweifelsfall m ssen sie umformatiert oder umgespeichert werden 3 4 Aufbereitung der Daten Interpolation Von der Speicherung in einem DBS erwartet man nicht nur sicheres Aufbewahren der Daten sondern auch eine geeignete Bereitstellung bzw Aufbereitung In diesem Abschnitt wird ge 20 Me werte Umweltdaten und Umweltprojekte zeigt da diese Erwartungen f r die zuvor in Kap 3 3 geschilderten F lle nicht ganz erf llt werden Dazu werden Standard SQL Anfragen konstruiert die dem Gew nschten m glichst nahe kommen Danach wird beschrieben wie Abhilfe geschaffen werden kann n mlich durch die Integration von Interpolation in das DBS und in die Anfragesprache 3 4 1 Aufbereitung f r spontane interaktive Anfragen In konventionellen DBS ist es nicht m glich einen Wert auch aus einem kontinuierlichen Vorgang an einem bestimmten Me punkt abzufragen wenn dieser Wert nicht genau an die sem Punkt aufgezeichnet wurde Z B kann man man aus einer Temperaturme reihe die halb st ndliche Werte um xx Uhr und xx 2 Uhr enth lt niemals die Werte zur vollen Stunde ab fragen Me werte werden in der Praxis fast nie genau an den Orten und zu den Zeitpunkten aufgezeichnet an denen sie sp ter ben t
55. innerhalb einer Speicherstruktur die f r den sp teren Zugriff die rich tige Reihenfolge vorh lt z B B Tree oder ISAM e Speicherung der Tupel in der Reihenfolge in der sie auftreten und Anlegen eines Indexes ber alle Basisattribute Alternative Syntax und Optimierung 127 Im gegebenen Beispiel waren die folgenden Optimierungen sinnvoll Nachdem die Bedingung in der WHERE Klausel das feste Basisattribut auf einen einzigen Wert reduziert hat sollte ein Index ber die neuen x und y Koordinaten angelegt werden Die N tzlichkeit dieses Schritts ist nat rlich abh ngig von der Implementierung des Zugriffspfads und des Indexes im DBS von der Anzahl und Breite der Tupel in der Zwischenrelation die ann hernd berechnet werden kann von der Anzahl der STEP Werte und von der Selektivit t der Einschr nkungen die be rechnet werden k nnen wenn Statistiken gef hrt werden Die Zeit die das DBS zum Aufbau von Zugriffspfaden ben tigt abh ngig von der Anzahl und Breite der Tupel kann durch Lei stungsmessungen ann hernd im voraus bestimmt werden und so dem Optimierer bekannt sein Nach diesen Vorarbeiten kann die Gruppierung zusammengeh render Tupel und die Auswer tung der Aggregationsfunktionen sehr effizient durchgef hrt werden Die Auswertung der benutzerdefinierten Aggregationsfunktion Kann recht kompliziert werden Hier kann es g nstig sein Zwischenergebnisse aufzubewahren so da sie nicht f r jede Gruppe neu berechnet we
56. manueller Eingabe und beim Einlesen von Me werten direkt aus einem Me ger t mu noch h ufiger gesichert werden weil die Sicherungskopie auf der Originaldiskette entf llt Bei manueller Dateneingabe ist es wichtig da die eingegebenen Werte bereits nach wenigen Eingaben zwischen gesichert werden damit bei Systemunterbrechungen m glichst wenig die ser zeitintensiven Arbeit verloren geht Auch d rfen bei der Korrektur von Eingabefehlern zu vor richtig eingegebene Werte nicht verloren gehen F r beide F lle mu es m glich sein den Eingabevorgang in sehr kurze Transaktionen zu unterteilen Nur so l t sich der Wiederherstel lungsaufwand nach System oder Eingabefehlern gering halten Normalerweise brauchen die Daten nach der Eingabe nicht mehr h ufig gesichert zu werden weil sich Me werte nicht n dern Laufen jedoch aufwendige Simulationsrechnungen kann es wichtig werden auch oft umfangreiche Zwischen Ergebnisse zu sichern Hier werden dann lange oder sogar sehr lan ge Transaktionen Stunden Tage ben tigt Me werte Umweltdaten und Umweltprojekte 27 3 6 Resultierende Anforderungen an das Datenhaltungssystem Wie schon in den einzelnen Abschnitten gezeigt lassen sich die bisher aufgelisteten Anforde rungen fiir das Informatik Teilprojekt beim heutigen Stand der Technik am besten durch den Einsatz eines relationalen DBS realisieren DBS garantieren dem Benutzer viele Eigenschaf ten die im Proje
57. nicht m glich zu sein oder nur auf explizite An gabe des Benutzers hin 4 Die Systeme EXODUS und POSTGRES bieten zur Definition der benutzerdefinierten Datenty pen und der Operationen darauf eine Schnittstelle nach der Syntax der ADT Damit ist eine Trennung von Definition und Implementierung der Datentypen und Operationen gegeben und die Kapselung wird erm glicht In Starburst werden Operationen und sp ter auch Datentypen ebenfalls gekapselt implementiert Die Literatur zu DASDBS und GENESIS enth lt hierzu kei ne konkreten Aussagen 5 Wie bereits in 4 gesagt werden ADT Schnittstellen von den Systemen EXODUS und POST GRES angeboten und so auch das damit verbundene Typkonzept F r Starburst ist auch ein Typkonzept geplant bei DASDBS und GENESIS gibt es hierzu keine Aussage 6 Zu allen betrachteten Systemen au er GENESIS wird behauptet da Hierarchien von Typen konstruiert werden k nnen und Eigenschaften durch diese Hierarchien vererbt werden k n nen In der Literatur zu keinem der Systeme wird aber Genaueres zu Vererbung der Eigen schaften angegeben Wie die daf r geeignete Schnittstelle aussieht z B nach Art der ADT wird auch nicht genauer beschrieben 7 In EXODUS POSTGRES und Starburst ist das berladen von Operatoren m glich In der Lite ratur ber DASDBS und GENESIS wird nichts dazu gesagt 8 Bei Systemen wie POSTGRES und Starburst die die Implementierung neuer Operatoren und Funktionen in einer h here
58. nstiges Antwortzeit verhalten gew hrleistet Der zweite Ansatz eignet sich besser f r den SQL kundigen Anwender der seine Interpolationsfunktionen schnell selbst schreiben m chte 132 Alternative Syntax und Optimierung 10 Fallstudie In diesem Kapitel wird an einem Beispiel einer Datenbank einigen Interpolationsfunktionen und einigen Beispiel Anfragen gezeigt wie das CSQL System arbeitet Die konkrete INGRES Installation wird kurz beschrieben insbesondere die M glichkeiten die fiir Leistungs und Zeit messungen vorhanden sind Abschlie end wird das CSQL System anhand der Vereinfachung der Anfragen und der Ergebnisse der Messungen bewertet 10 1 Die Beispiel Datenbank Das gegebene Datenbankschema bildet einen kleinen aber repr sentativen Ausschnitt aus der Projektdatenbank Alle Beispiele innerhalb dieses Kapitels beziehen sich auf dieses Schema Die Beispiel Relationen stammen mit Ausnahme der Relation bodenprobe aus zwei Teilprojek ten dem Geohydrologie Teilprojekt siehe Kap 2 2 und dem Pflanzenbau Teilprojekt siehe Kap 2 5 grdwamess zeitpunkt gwm_id tiefe messpkthoehe bauart gwmessung x_koord y_koord zeitpunkt gdw_stand gwm_id bohrprobe gwm_id probe_id tiefe_oben tiefe_unten zusatz bodenart siebanalyse sieb_id tiefe_oben tiefe_unten gesamt_gewicht bru_gewicht volumen korndichte probe_id permvers probe_id leiter kf_10 spez_r_ent spez_r_wass leitf_wass entw_poros restfe
59. oder mehrerer fr herer Projekte ist Dann gibt es weniger gewachsene Strukturen organisatorisch und datenverarbeitungstechnisch die ber cksichtigt werden m ssen 3 2 Die Weiterverarbeitung von Me werten Reihen von Me werten sind auf den ersten Blick nur Zahlenkolonnen oder Tabellen mit wenig Aussagekraft Damit man etwas aus ihnen ablesen kann m ssen sie aufbereitet oder ausgewer tet werden Die typischen und h ufigsten Arten der Weiterverarbeitung sind die Visualisierung von Me reihen und die Modellbildung oder Simulation 3 2 1 Visualisierung von Me reihen Wenn die Ergebnisse von Messungen bersichtlich dargestellt werden sollen insbesondere auch fachfremden Personen ist die graphische Darstellung der Me werte wichtig Dies kann z B in Karten f r r umliche Verteilungen oder in Diagrammen f r zeitliche Ver nderungen geschehen Ein Beispiel f r eine Karte ist eine Karte zur Bodenbeschaffenheit ein Beispiel f r ein Dia gramm ist der Jahresniederschlag aufgetragen als Balkendiagramm f r die Monate an einem Ort Solche Karten und Diagramme dienen auch als Argumentationshilfen wenn Ergebnisse aus Umweltprojekten Entscheidungstr gern vorgelegt werden um umweltfreundliche politische Entscheidungen zu bewirken Oder wenn die Ergebnisse einer breiten ffentlichkeit zug nglich gemacht werden um ein umweltfreundlicheres Verhalten zu motivieren Me werte Umweltdaten und Umweltprojekte 13 Eine andere h ufige Art der W
60. r ckweisen Trigger und Regeln bestehen immer aus zwei Teilen im ersten Teil wird eine Bedingung ausgewertet d h beliebige Eingabeparameter sind erlaubt und es wird ein bool scher Wert zur ckgeliefert Der zweite Teil sieht aus wie die unten beschriebenen Da tenbankprozeduren Datenbankprozeduren oder stored procedures Das sind Befehlsfolgen der Anfragesprache wie sie auch interaktiv oder in einem Anwendungsprogramm m glich w ren evtl erweitert um Kontrollstrukturen wie IF THEN ELSE Sie werden permanent in der DB gespeichert um dem Benutzer die wiederholte Eingabe zu ersparen Wenn diese DB Prozeduren mit Zugriffs rechten gekoppelt werden k nnen lassen sich damit auch ohne Trigger umfangreiche Inte grit tsbedingungen realisieren POSTGRES Wenn z B nderungsrechte ausschlie lich an Programme also Anwendungen vergeben werden k nnen und diese dann stets die entspre chende DB Prozedur verwenden beides ist leicht zu kontrollieren ist die Einhaltung der dort spezifizierten Integrit tsbedingingen sichergestellt Durch die zus tzlichen Kontrollstrukturen sind Datenbankprozeduren m chtiger als reine SQL Anweisungen Die Anzahl und Art der Ein und Ausgabeparameter sind nicht festgelegt 52 Technische Verarbeitung von Umweltdaten Einfache skalare Funktionen die aus einem oder mehreren skalaren Werten einzelnes Tupel oder Konstanten einen neuen Wert berechnen hnlich den Standard Operationen wie g
61. relationalen DBS wie Informix Info96 das eine Typisierung von Relatio nenschemata erm glicht w re eine einfachere Implementierung m glich siehe auch Kap 9 76 Die SQL Erweiterung CSQL In den Anwendungen des hier beschriebenen Systems bilden ein kontinuierliches Attribut und die zugeh rigen Basisattribute eine stetige mathematische Funktion f e F die die Wertekombi nationen der Basisattribute in den Wertebereich des kontinuierlichen Attributs abbildet fi Ab X Ab2 X X Abk gt Aci i 1 j Zu jedem Zeitpunkt und oder an jedem Ort des Versuchs nimmt das kontinuierliche Attribut einen bestimmten Wert an Diese Werte also die Funktion fi k nnen mit Hilfe umliegender Werte berechnet werden Die Funktion fj selbst ist nicht bekannt Jedoch kann ein geeignetes Interpolationsverfahren mit Hilfe einiger vorhandener Werte Teilbereiche von fj berechnen 6 2 2 Neue Operationen In diesem Abschnitt werden f r die oben aufgef hrten Erweiterungen zwei neue auf allen Me relationen ausf hrbare Operationen eingef hrt beschrieben in der Notation der Abstrakten Da tentypen ADT die u a in Gutt77 und LMWW79 als geeignetes Mittel dazu eingef hrt werden Die Definitionen werden nicht in eine vollst ndige Datenbankspezifikation eingebettet wie etwa in Maib85 angegeben sondern es werden nur die Erweiterungen spezifiziert Die Spezifikation dient als Grundlage f r die Implementierung Die Syntax ist hnlich der in
62. ssen alte Me werte aus fr heren Versuchen einbezogen werden bzw man kann da von ausgehen da die Werte die jetzt erhoben werden auch in sp teren Projekten mit herange zogen werden Deshalb sollte eine systemunabh ngige Art der Archivierung gew hlt werden die es auch nach l ngerer Zeit also nach zehn 20 oder noch mehr Jahren mit neuer Software erlaubt die Daten wieder einzulesen Systemunabh ngig hei t hier unabh ngig von einem be stimmten Betriebssystem und speziellen Komprimierungsmethoden unabh ngig von speziellen Datentr gern und auch unabh ngig von einem bestimmten Datenbanksystem Z B bieten DBS i a die M glichkeit Daten entweder in ASCII Dateien zu entladen oder in einer internen DBS Repr sentation Hier sind ASCII Dateien Daten der internen Repr sentation des DBS vorzuzie hen auch wenn die letzteren wesentlich weniger Speicherplatz ben tigen Die ASCII Dateien lassen sich mit relativ wenig Aufwand in das DBS eines anderen Herstellers laden oder in ein anderes Programm z B ein Statistik Paket Notfalls lassen sie sich auch direkt mit Hilfe eines Editors lesen F r die Anwender ist das oft sehr wichtig denn das Erheben der Me werte ist oft sehr arbeitsaufwendig und sie wollen nicht die Kontrolle ber ihre Daten verlieren Werte aus Messungen die im zeitlichen Zusammenhang unter nat rlichen Bedingungen im Feld durchgef hrt wurden d rfen nicht verloren gehen denn sie k nnen nicht wiederholt oder nachtr
63. umliche Daten in OLE DB integrieren lassen bzw damit zusammen arbeiten Zur Zeit sind die Aktivit ten auf den Gebieten Umweltinformatik und insbesondere Umwelt DBS nicht mehr ganz so stark und die Entwicklung entsprechender L sungen und Produkte l uft hier nicht mehr so schnell wie zu Beginn des interdisziplin ren Umweltforschungsprojekts Die allermeisten Umweltprobleme sind aber weiterhin ungel st so da der Bedarf f r ein Sy stem wie CSQL bestehen bleibt Die mit dem ersten Prototypen von CSQL erzielten Ergebnisse siehe Kap 10 und Anhang zusammen mit dem aufgelisteten Potential an Verbesserungsm g lichkeiten und einem neuartigen objekt relationalen DBS lassen erwarten da ein System zur Integration von Interpolation auf Me werten auf einem DBS realisiert werden kann das auch den Anforderungen von Anwendern gen gt die an kommerzielle Produkte gew hnt sind 160 Ausblick 12 Literatur ABDD90 Malcolm Atkinson Francois Bancilhon David DeWitt Klaus Dittrich David Maier Stanley Zdonik The Object Oriented Database System Manifesto in Datenbank Rundbrief Mitteilungsblatt der GI FG Datenbanken Ausgabe 5 Mai 1990 pp 28 36 ACM91 Communications of the ACM Next Generation Database Systems Vol 34 No 10 October 1991 ACM96 Communications of the ACM Data Mining Vol 39 No 11 November 1996 AMKP85 Hamideh Afsarmanesh Dennis McLeod David Knapp Alice Parker An Extensi ble Object Oriented Approac
64. von 100 Tupeln oder eine Projektion auf die Schl sselattribute als Ausgabe Sie haben die Form T relation x skalar x tupel relation Die verschiedenen Arten von Funktionen k nnen zun chst nach ihrem Giiltigkeitsbereich klas sifiziert werden Unter G ltigkeitsbereich wird hier verstanden wie weit die Funktion bekannt gemacht wird Eine Funktion kann entweder einer oder einzelnen Relationen bekannt sein oder Technische Verarbeitung von Umweltdaten 33 in der gesamten Datenbank oder installations bzw netzwerkweit im DBS Die oben zusam mengestellten Funktionen haben folgende G ltigkeitsbereiche Art der Funktion G ltigkeitsbereich Berechnung abgeleiteter Attribute eine Relation Trigger Regeln eine oder mehrere Relationen Datenbankprozeduren datenbankweit ben def skalare Funktionen installations oder ben def Mengenpr dikate netzwerkweit ben def Aggregationsfunktionen ben def Table Functions Tabelle 4 3 G ltigkeitsbereiche benutzerdefinierter Funktionen Die Berechnung abgeleiteter Attribute die Defintion von Triggern Regeln und Datenbankpro zeduren k nnen sich ganz aus den vom DBS angebotenen Funktionen und Operationen zusam mensetzen Um sie nutzen zu k nnen sind aber Erweiterungen der Anfragesprache der DML und der DDL notwendig siehe Kap 4 4 3 Zu bemerken ist au erdem da nur Trigger bzw Regeln und Datenbankprozeduren direkt den Inhalt der Datenbank ver nd
65. weitere Attribute oder beides beschrieben werden Damit enth lt eine Me relation auf der Interpolation ausgef hrt werden kann mindestens ein Me wertattribut im folgenden als kontinuierliches Attribut bezeichnet weil Interpolation nur bei kontinuierlichen Vorg ngen sinnvoll ist und mindestens ein sog Basisattribut Au erdem kann eine Me relation noch beliebig viele zus tzliche Attribute enthalten Eine Me relation kann mehrere kontinuierliche Attribute enthalten wenn diese gegen dieselbe Basis aufgezeich net wurden Die Basis besteht entweder aus so vielen Attributen wie Dimensionen oder bei ei nem Verweis auf die Basis aus den Schl sselattributen der referenzierten Relation Wenn interpoliert wird m ssen nicht immer alle Attribute der Basis genauer Dimensionen einbezogen werden Es kann z B bei Wasserstandsmessungen in Me brunnen wahlweise ber den Stand Ort die Zeit oder beides interpoliert werden Die Attribute ber die interpoliert Interpolation von Me werten 67 wird werden im folgenden als variierende Basisattribute bezeichnet die brigen als feste Basi sattribute Prinzipiell kann jede Relation die mindestens zwei Attribute mit Kontinuierlichem Wertebereich besitzt Me wert und Basis als Me relation behandelt werden Interpolation kann auf dem als Me wert betrachteten Attribut ausgef hrt werden Als Ergebnis einer Interpolation entsteht wie bei jeder SQL Anfrage auch eine Relation Die Erg
66. 0 der Quadtree Same90 oder Cell Trees mit zus tzlichen Ablagepl tzen fiir bergro e Elemente Guen90 W hrend der Gruppierung k nnen weitere Einschr nkungen aus der WHERE Klausel angewen det werden um die Anzahl der zu verarbeitenden Tupel zu verringern Sogar Bedingungen in der bezogen auf den zweiten Ansatz u eren WHERE Klausel die die neuen oder festen At tribute betreffen k nnen manchmal zu diesem Zeitpunkt schon ausgewertet und ausgenutzt werden wenn sie keine weiteren Beziehungen zur u eren Anfrage aufweisen Im gegebenen Beispiel k nnte die Qualifikation meas_date 29 03 88 w hrend des Lesens der Relation ausgewertet werden Das verringert die Gr e der erweiterten Zwischenrelation auf einen Bruchteil der Originalrelation Sind Messungen mit zehn verschiedenen Datumsangaben voll st ndig gespeichert wird die Zwischenrelation nur noch ein Zehntel so gro wie ohne diese Einschr nkung Eine andere Einschr nkung der u eren WHERE Klausel y_koord lt 350 0 kann ebenfalls ausgwertet und ausgenutzt werden Wenn eine variable Abbruchbedingung gege ben wurde wird so die H ufigkeit des Lesens der Originalrelation von 75 auf 13 L ufe redu ziert Wie zu Beginn dieses Abschnitts erw hnt ist das Speichern der Zwischenrelation der n chste Schritt an dem nach Optimierungsm glichkeiten gesucht werden kann Da bekannt ist da im n chsten Schritt der Interpolation nach allen Basisattributen gruppier
67. 2 nen 29 3 6 4 Archivierung und Komprimierung 2 2 2 2 Emmen 29 3 6 5 Verteilte Datenhaltung 2 2 24 ew Goce Bankier Dana ra 30 3 0 8 Schnittstellen va tt a a ae a ar Be Nate ee 30 3 6 7 Zusammenstellung der Anforderungen 2 2 2 2 2 nn 31 4 Technische M glichkeiten zur Verarbeitung von Umweltdaten 35 421 Existierende Systeme as a DAN a a See 35 vi 4 2 Datenmodelle f r Me werte und Umweltdaten 2 2 Co mon nn 36 4 3 Weiterentwicklungen von Datenbanksystemen 2 4 38 4 3 1 Geographische Informationssysteme 2 2 2 Comm 38 4 3 2 Multimedia Datenbanksysteme 22 2 a 39 4 3 3 Deduktive Datenbanksysteme ooa 41 4 3 4 Objekt orientierte Datenbanksysteme 2 2 2 2m nn 42 4 3 5 Erweiterbare Datenbanksysteme 2 2 2 Como n nen 44 44 Formen der Erweiterbarkeit amp s o vs ara ee areas 48 4 4 1 Neue Datentypen so 6 ents a ee BR tere a 48 4 4 2 Verschiedene Funktions und Prozedurerweiterungen in DBS 50 4 4 3 Spracherweiterungen un ee ana era ei rel 56 444 Andere Erweiterungen ss oeo Se Gases a4 aa 58 4 5 DB Erweiterungen zur Unterst tzung von Umweltprojekten 60 4 6 Aufwand zur Erweiterung des DBS und der Anfragesprache 61 5 Interpolation von Me werten 2 0 cee wee eee w re ween ene 65 5 1 Die Art der Einbettung der Interpolationsfunktionen 65 5 2 Die Schnittstelle zum Benutzer 2 3 2 we ae Gee as ai a Eee
68. 295 CSQL 39921 171140 431 276 CSQL 39921 173990 440 288 CSQL 39921 173000 495 271 CSQL 39921 176130 435 284 CSQL 39921 175540 431 283 CSQL 5207 469140 24961 661 CSQL 5207 466630 24963 617 CSQL 5207 475760 24952 644 CSQL 5207 480430 24944 649 CSQL 5207 473710 25000 621 CSQL 5207 484180 24961 772 CSQL 1118 94440 4973 130 CSQL 1118 91090 5022 122 CSQL 1118 93360 4960 126 CSQL 1118 92940 4956 130 CSQL 1118 93510 4961 124 CSQL 1118 94280 5026 203 CSQL 4310 250 SQL 4350 249 SQL 4230 246 SQL P anfrl anfrl anfrla anfrla anfrla anfrla anfrla anfrla anfrlc anfrlc anfrlc anfrlc anfric oO Oo OLDO 09000 0 2 0 anfric anfr2a anfr2a anfr2a anfr2a anfr2a anfr2a anfr2c anfr2c anfr2c anfr2c anfr2c anfr2c anfr2d anfr2d anfr2d anfr2d anfr2d anfr2d anfr3 Deo O O OIO O LU O O e o o o o o P OO anfr3 WN RFI Nn na BP WN RIED NA BP WN KID OH A WN KER ID OF WN RFID ON A WN KL DN anfr3 Anhang Testanfragen und Mefergebnisse 177 bio_cnt cpu_ms dio_cnt et_sec pfault_cnt Anfrage Programm 4300 4200 4200 246 246 246 8 6 7 0 0 0 anfr3 anfr3 anfr3 P SQL SQL SQL 6810 7040 6670 6620 6390 6230 375 370 371 367 433 375 18 16 13 14 13 11 anfr3a anfr3a anfr3a anfr3a anfr3a anfr3a CSQL CSQL
69. 8 10 00 Temperatur 23 1 13 08 94 17 10 00 15 9 13 08 94 17 30 00 Feuchte 65 9 13 08 94 17 10 00 60 7 13 08 94 18 10 00 Tabelle 4 1 Nicht normalisierte Relation fiir MeBwerte Au er Me werten gibt es aber auch noch andere Umweltdaten die komplexer strukturiert sind als flache Tabellen F r geographische Daten fehlen geeignete Modellierungskonzepte etwa bei dreidimensionalen Raumpunkten Das Gleiche gilt f r mehrdimensionale Me basen In einigen Systemen fehlte sogar noch ein geeigneter Zeitdatentyp Werden chemische Stoffdaten gespei chert mu f r einige Anwendungen der Aufbau von Molek len erkennbar bleiben Es gibt aber noch keine geeigneten Datenstrukturen die Suchalgorithmen nach Teilstrukturen darauf unter st tzen wie z B nach beliebigen funktionalen Gruppen in Molek len Hier werden keine Hier archien sondern allgemeine Netze ben tigt Sowohl Hierarchien als auch Netze werden bei der Darstellung von Produktionsverfahren und von Stoff Produktstr men ben tigt Es fehlt die M glichkeit dem DBS mitzuteilen da einige Relationen zus tzlich zu den Eigen schaften die alle Relationen haben noch einige weitere bestimmte Eigenschaften aufweisen m ssen etwa eine bestimmte Mindestanzahl von Attributen oder Attribute mit bestimmten Da tentypen siehe auch Kapitel 3 6 1 und damit diese Relationen gegen ber den anderen auszu zeichnen Diese ausgezeichneten Relatio
70. Carey David J DeWitt Daniel Frank Goetz Graefe Joel E Richardson Eugenie J Shekita M Muralikrishna The Architecture of the EXODUS Extensi ble DBMS A Preliminary Report Computer Science Technical Report 644 May 1986 University of Wisconsin Madison CDRS86 Michael J Carey David J DeWitt Joel E Richardson Eugene J Shekita Object and File Management in the EXODUS Extensible Database System in Proc of the 12 Int Conf on Very Large Data Bases VLDB Kyoto Japan August 25 28 1986 pp 91 100 COM97 Introduction to COM http msdn microsoft com library default asp URL library specs SICF80 HTM 1997 Date84 C J Date A Critique of the SQL Database Language in ACM SIGMOD Record Vol 14 No 3 November 1984 Date86 C J Date An Introduction to Database Systems Vol 1 Fourth Edition The Sys tem Programming Series Addison Wesley Publishing Company Reading Mass 1986 Davi98 Judith R Davis IBM s DB2 Spatial Extender Managing Geo Spatial Informati on Within the DBMS White Paper prepared for IBM Corporation May 1998 Diet89 Jochen R Dieter Leistungsmessungen im INGRES Datenbanksystem Diplomar beit Nr 574 IPVR Universitat Stuttgart Mai 1989 EgFr89 Max J Egenhofer Andrew U Frank PANDA An Extensible DBMS Supporting Object Oriented Software Techniques in Datenbanksysteme in Biiro Technik und Wissenschaft Proc BTW 89 GI SI Fachtagung Z rich March 1989 pp 74 79 Fab
71. DV88 p 420 StRH90 p 128 LiHa90 p 231 BBGS88 p 1720 SPSW90 p 38 Mengen pradikate 7 HFLP88 p 4 Aggregations funktionen CaDV88 p 422 StAH87a p 80 HFLP88 p 3 Table Functions LiHa90 p 229 HFLP88 p 4 Berechnung abgel Attribute CaDV88 p 421 StRH90 p 128 Trigger Regeln StRH90 p 134 LiHa90 p 237 Datenbank Prozeduren CaDV88 p 421 StAH87 p 352 StRH90 p 128 Operatoren CaDV88 p 420 StAH87a p 76 StRH90 p 127 Etwas Gleichwertiges l t sich auf Umwegen mit EXCESS programmieren POSTGRES erlaubt auch die Definition von Funktionen auf ganzen Relationen Sie lassen sich innerhalb der POSTQUEL Anfragesprache aber nicht voll ausnutzen Tabelle 4 5 Ubersicht welche EDBS welche Typen von Funktionserweiterungen unterstiitzen 4 4 3 Spracherweiterungen In den Kapiteln 4 4 1 und 4 4 2 wurden Erweiterungen des DBS und damit der Datensprache um Datentyp und Funktionsnamen vorgestellt die der Benutzer selbst vornehmen kann Um diese Erweiterungen aber voll ausnutzen zu k nnen sind einige Spracherweiterungen innerhalb der Anfragesprache notwendig die neue Arten von Klauseln LiHa90 zulassen W hrend POSTGRES zwar in der Endausbau Stufe die umfangreichsten M glichkeiten bietet Funktio nen zu definieren ist die Spanne der Anwendungen die mit Starburst implementiert werd
72. DataBlade Developers Kit kann nun ein neu es DataBlade Modul dem Server zur Verf gung gestellt werden Mit diesem Toolkit k nnen u a C Quellen Header Makefiles SQL scripts sowie ausf hrbarer Code erstellt werden und die Einbindung des Codes in den Server durchgef hrt werden Zusammenfassend l t sich sagen da f r gro e Systeme wie BKLM90 die Implementierung eines angepa ten DBS mit Hilfe eines EDBS sicher eine gute L sung ist bei kleinen unabh n gigen Systemen ist wahrscheinlich der Erstellungsaufwand recht hoch insbesondere bei solchen EDBS die von vorn herein einen DBI ben tigen F r kleinere Systeme ist sicherlich eine abge magerte Version auch mit an einigen Stellen eingeschr nkter Funktionalit t die aber einfa cher zu bedienen ist besser geeignet Am ehesten w ren noch Systeme wie POSTGRES StR086 StRH90 oder Starburst LiHa90 geeignet die auch ohne oder mit wenigen Erweiterungen voll funktionsf hig sind Es ist aber immer fraglich ob sich ein aufwendiges System f r eine kleine Anwendung lohnt Der Aufwand der Anpassung und Erweiterung lohnt nur f r gro e Projekte BKLM90 oder z B Systeme in Beh rden die an vielen Stellen eingesetzt werden 64 Technische Verarbeitung von Umweltdaten Es scheint so daB der Anwender sich eine gute schnelle Datenverwaltung bereitstellung und wartung mit dem Aufgeben seiner Selbst ndigkeit und der alleinigen Verf gbarkeit ber seine Daten und sein System
73. ERE Klausel ist gleichwertig zu einer Anfrage mit Gleich Verbund Hierbei ist jedoch zu beachten daB es Probleme mit Duplikaten geben kann Um dies zu vermeiden m ssen an geeigneten Stellen Duplikateliminierungen eingef hrt werden Fiir den Mengenoperator NOT IN ist ebenfalls eine spezielle Behandlung erforderlich Hier mu das sog Anti Join Pr dikat eingesetzt werden N heres dazu sowie Beispiele siehe Kim82 Jahk91 4 Typ JA Schachtelungen Eine Typ JA Anfrage ist eine Anfrage die in der inneren Anfrage eine Aggregation enth lt und in der inneren Qualifikation einen oder mehrere Bez ge zur u eren Relation Die Ent schachtelung ist hier aufwendig weil die innere Anfrage zuerst ber eine tempor re Relation die eine Gruppierung enth lt aufgel st werden mu Dann wird hnlich wie bei einer Typ J Schachtelung verfahren In GaW087 wird gezeigt da bei dieser Typ JA Entschachtelung in einigen F llen Probleme auftreten In GaWo87 und Jahk91 wird ausf hrlich erkl rt wie diese Probleme vermieden werden k nnen In einigen F llen kann nur mit Hilfe eines sog u eren Verbundes outer join eine quivalente ungeschachtelte Abfrage gefunden werden Da INGRES den u eren Verbund nicht unterst tzt k nnen diese Anfragen im CSQL System noch nicht bearbeitet werden Die im CSQL System implementierten Entschachtelungsalgorithmen k nnen bisher nur skalare Vergleichsoperatoren und die Mengenoperatoren IN bzw NOT I
74. Einbettung von Interpolationsfunktionen in die Datenbanksprache SQL Datenbankunterst tzung f r die Umweltforschung Von der Fakult t Informatik der Universit t Stuttgart zu Erlangung der W rde eines Doktors der Naturwissenschaften Dr rer nat genehmigte Abhandlung Vorgelegt von Leonore Zink aus Hameln an der Weser Hauptberichter Prof Dr Andreas Reuter Mitberichter Prof Dr Bernhard Mitschang Tag der m ndlichen Pr fung 16 Juni 2000 Institut f r Parallele und Verteilte H chstleistungsrechner der Universit t Stuttgart 2000 Vorwort Das Verbundprojekt Naturmeffeld Horkheimer Insel innerhalb dessen die vorliegende Ar beit entstanden ist begann vor mehr als zehn Jahren als interdisziplin res Forschungsprojekt in nerhalb einer gr eren Gruppe von Umweltforschungsprojekten die als Projekt Wasser Ab fall Boden PWAB vom Land Baden W rttemberg finanziert wurden Als das Informatik projekt im Fr hjahr 1988 zu arbeiten begann lief das Verbundprojekt bereits seit einiger Zeit und auch eine f r das Informatikprojekt wichtige Entscheidung die Auswahl des zu verwen denden Datenbanksystems war bereits getroffen Die Projektlaufzeit war zun chst auf ca drei Jahre f r alle Teilprojekte begrenzt aufbauende Projekte f r die n chsten zehn Jahre wurden aber von Anfang an angestrebt Aufgrund verschiedener nicht von den Mitarbeitern verschulde ter Verz gerungen wie berschwemmungen der Ho
75. GI 18 Jahrestagung I Vernetzte und komplexe Informatk Systeme Hamburg Oktober 1988 R Valk Hrsg Informatik Fachberichte 187 Springer Verlag Berlin 1988 pp 203 215 ReWa90 Ernst Rudolf Reichl Winfried H Walter ZOODAT die tiergeographische Da tenbank sterreichs in Neug90a RLMN93 Thomas C Rakow Michael L hr Frank Moser Erich J Neuhold Klaus S llow Einsatz von objektorientierten Datenbanksystemen f r Multimedia Anwen dungen in it ti 3 93 Informationstechnik und Technische Informatik 35 1993 3 pp 4 17 Literatur 169 Riet90 Peter Rieth Einbindung von Erweiterungen in die relationale Anfragesprache SQL zur Selektion von Me werten ber Interpolationsverfahren Teil 2 Studien arbeit Nr 871 IPVR Universitat Stuttgart Juli 1990 RoSV95 Nick Roussopoulos Steven Kelley Fr d ric Vincent Nearest Neighbor Queries in Proc of the 1995 ACM SIGMOD Int Conf on Management of Data an Jose California May 22 25 1995 pp 71 79 Same90 Hanan Samet Hierarchical Spatial Data Structures in Proc Symp on the Design and Implementation of Large Spatial Databases Santa Barbara Cal July 17 18 1989 LNCS Bd 409 Springer Verlag Berlin 1990 pp 193 212 ScSc83 H J Schek M Scholl Die NF Relationenalgebra zur einheitlichen Manipulation externer konzeptueller und interner Datenstrukturen in Sprachen fiir Datenban ken Fachgespr ch auf der 13 GI Jahrestagung Hamburg Oktober 1983
76. Generierung von Zyklen bei der Erzeugung von Pfaden aus Wegsegmenten einmal ab sieht auch nur eine endliche Menge von neuen Fakten ableiten Bei der Interpolation von Me werten liegt eine andere Aufgabe vor Hier sollen tats chlich neue Werte oder Objekte aus den vorliegenden berechnet oder gesch tzt werden Es soll etwa die Lufttemperatur zu einem Zeitpunkt interpoliert werden der als solcher noch in keinem Zu sammenhang in der DB gespeichert ist und es kann dabei ein Temperaturwert berechnet wer den der bisher noch nie genau so gemessen wurde Das einzige das sicher ber diesen Wert gesagt werden kann ist da zu diesem Zeitpunkt eine Lufttemperatur geherrscht hat und da diese mit sehr gro er Wahrscheinlichkeit in einer Umgebung der vorher und nachher gemes senen Werte liegt Auch lassen sich wenn man von der in der Praxis begrenzten Genauigkeit der Rechner einmal absieht beliebig viele neue Temperaturwerte interpolieren weil sich die Temperatur kontinuierlich ber die Zeit also ber kleinste Sekundenbruchteile ndert Die Art in der in Me wertdatenbanken Information aus vorhandenen Fakten abgeleitet werden soll n mlich durch evtl aufwendige Interpolation an beliebigen bisher nicht in der DB gespei cherten Punkten verbietet den Einsatz von DDBS f r dieses Problem Obwohl es wie Ullm91 aufzeigt auch gute Argumente f r den Einsatz von DDBS g be n mlich ihre gute Eignung f r spontane ungeplante Anfragen Deshalb
77. Herbizid Triazin und der Bodenflora Auch hier wer den in regelm igen Abst nden 6 Wochen Bodenproben auf dem ganzen Feld an insgesamt 104 Rasterpunkten pro Parzelle gezogen die auf Herbizide hin analysiert werden PlKa89 Um die gro e Menge an anfallenden Proben bew ltigen zu k nnen m ssen diese nach den Vor schriften der DFG an der Luft getrocknet homogenisiert und bis zur Analyse in der Tiefk hl truhe 20 C zwischengelagert werden 2 5 Das Teilprojekt Pflanzenbau Der Wasserverbrauch einer Pflanze an einem Standort steht im Mittelpunkt der Arbeit im Pflan zenbau Projekt Es wird die Fragestellung untersucht ob durch unterschiedliche Bewirtschaf tungsformen umweltschonend oder konventionell eine Ver nderung des Bodenwasserhaus halts hervorgerufen wird Dabei werden auch Pflanzenwachstumsmodelle die als Eingabepara meter im wesentlichen Wetterdaten wie Temperatur Sonneneinstrahlung und Niederschlag be n tigen validiert PIKa89 F r dieses Teilprojekt werden zun chst einmal Wetterdaten und Bodentemperaturen erhoben teilweise im 10 Minuten Abstand teilweise in st ndlichen Intervallen Au erdem werden w h rend der Vegetationsperiode unterschiedliche Parameter an den Pflanzen in gr eren Abst n den etwa 14 t gig erhoben wie die Atmungsaktivit t CO2 Austausch der Bl tter der Pflan zen ihre Trockenmasse ihre Gesamtwurzell nge und die Gr e ihrer Fr chte 8 Die Teilprojekte 2 6 Das
78. Konvertierungen oder String Operationen k nnen nicht bearbeitet werden wenn sie f r die vorgezogene Auswertung einer Bedingung ben tigt werden Die INGRES Funktionen k nnen aus dem CSQL Pr prozessor heraus nicht direkt ein gesetzt werden sie m ten explizit nachimplementiert werden Die INGRES Anweisungen HELP und CREATE PROCEDURE sind in CSQL nicht zul ssig Sie geh ren auch nicht zum Funktionsumfang des INGRES Embedded SQL CREATE PROCE DURE ist direkt in einem Pr prozessor berhaupt nicht m glich weil die Kontrolle mehrmals zwischen INGRES und dem Pr prozessor wechseln m te M glich w re hier h chstens der Umweg ber ein Kommando in einer Datei die mit SQL ausgef hrt wird HELP m te vollst ndig neu implementiert werden mit Hilfe der SQLDA und mehreren An fragen an die Verwaltungsrelationen der Datenbank Da f r CSQL im Rahmen einer anderen Arbeit eine eigene Verwaltungsschnittstelle implementiert worden ist Lieb90 wurde auf diesen aufwendigen Teil innerhalb des CSQL Systems verzichtet An einigen Stellen sind nicht alle in INGRES m glichen alternativen Schreibweisen zul ssig Da hier keine Beeintr chtigung des Funktionsumfangs entsteht wurde dies zugunsten einer einfacheren Implementierung zur ckgestellt siehe Bosc90 Anhang B Benutzerhandbuch Es fehlt noch die Unterst tzung des Benutzers beim Einf gen neuer und beim Entfernen ver alteter Interpolationsroutinen aus dem CSQL System Deshalb gibt es au
79. N bearbeiten F r die Pr dikate EXISTS bzw NOT EXISTS ANY und ALL gibt es auch Entschachtelungsverfahren Diese werden in Jahk91 skizziert ihre Implementierung wurde aber zugunsten einer schnelleren Fertigstel lung einer lauff higen Entschachtelungskomponente zur ckgestellt 110 Verarbeitung von CSQL Die Entschachtelungskomponente bestimmt zuerst auf dem Anfragebaum den Schachtelungstyp Dann wird der entsprechende Entschachtelungsalgorithmus aufgerufen Falls eine Anfrage meh rere Schachtelungen enth lt wird die Anfrage rekursiv beginnend mit dem innersten Anfrage block entschachtelt Auf dem entschachtelten Anfragebaum k nnen dann weitere Optimierun gen stattfinden F r die weitere Optimierung Kaja90 werden die Selektionen in WHERE und HAVING Klau seln zun chst in die KNF umgeformt Dann werden die Selektionen f r die zus tzlichen Attri bute der Me wertrelation zusammengefa t und ausgewertet Die Selektionen der Basisattribute werden zusammengefa t und soweit wie m glich ausgewertet zur Bestimmung der Interpolati onsgrenzen variierende Basisattribute und zur Einschr nkung der Anzahl der zu bearbeitenden nichtvariierenden Basisattribute Dabei werden f r jedes Basisattribut Minimum Maximum und die dazugeh renden Operatoren ermittelt Dann werden alle g ltigen Kombinationen der nicht variierenden Basisattribute bestimmt Dann werden die g ltigen variierenden Basisattributwerte f r jedes dieser Tupel bestimmt
80. NTRY x_koord 50 0 y_koord 225 0 STEP 0 10 WHERE zeitpunkt 29 03 88 AND y_koord lt 350 1 Zun chst mu eine Implementierung von SQL gew hlt werden in der geschachtelte SELECT Anfragen sog Subselects auch in der FROM Klausel m glich sind oder das verwendete SQL mu so erweitert werden Das w rde dann wie folgt aussehen SELECT A b1 A b2 B b1 B B2 FROM R1 A SELECT b1 b2 FROM R2 WHERE B WHERE A b3 B b1 AND In der inneren WHERE Klausel die Relation B erzeugt sollten keine Attribute der Relation A referenziert werden d rfen weil es sich hier praktisch um parallele unabh ngige Rela 120 Alternative Syntax und Optimierung tionen handelt wie etwa zwei verschiedene Subselects in einer WHERE Klausel Innerhalb der Interpolation definiert diese neue Relation die Ergebnisrelation fiir die interpolierten Werte Sie wird nicht dauerhaft gespeichert und entspricht der tempor ren Relation im CSQL System Das Subselect in der FROM Klausel enth lt dann die Interpolation Die Originalrelation vor der Interpolation ist dann nach au en nicht mehr sichtbar In der Restanfrage k nnen nur die interpolierten Werte und die neuen Werte der variablen Basisattribute angesprochen werden Innerhalb der Interpolation k nnen die Attribute der Original Relation mit ihrem al ten Attributnamen qualifiziert werden die neuen bekommen einen neuen Namen Im fol genden sollen sie mit dem Pr fix n
81. Pr prozessor erfordert einen weiteren Verar beitungslauf mit zus tzlichen Datenbankzugriffen der das Antwortzeitverhalten verschlech tert e Die Anfragen k nnen besser optimiert werden abgestimmt auf die jeweilige Interpolations funktion Bei einem Pr prozessor mu zweimal unabh ngig voneinander optimiert werden einmal im Pr prozessor die Interpolation und einmal die von Interpolation bereinigten Teile der Anfrage im DBS an sich Da jedoch aus den in Kapitel 4 6 beschriebenen Gr nden ein kommerzielles DBS gew hlt wer den mu te und zu solchen Systemen kein Quellcode erh ltlich ist mu te die Pr prozessor Al ternative gew hlt werden Dies hat auch einige Vorteile e Der Pr prozessor mu mit Hilfe von Embedded SQL und Dynamic SQL implementiert wer den Diese SQL Varianten werden auch genormt so da der fertige Pr prozessor einfach auf andere relationale DBS portiert werden kann 70 Interpolation von Me werten e Das Erg nzen neuer Interpolationsfunktionen ist einfacher Nur der Pr prozessor nicht das ganze DBS mu beim Erg nzen neuer Interpolationsfunktionen heruntergefahren und neu ge laden werden Fehlerhafte Interpolationsfunktionen k nnen nicht das gesamte DBS blockieren oder gar Datenbest nde zerst ren Dies ist insbesondere dann ein Vorteil wenn die Interpola tionsfunktionen von DB unerfahrenen Anwendern programmiert werden Interpolationsverfahren sind immer speziell auf eine Me Methode auf eine
82. SQL 140 anfrla SQL 150 anfrla SQL 110 anfrla SQL 22400 anfric l CSQL 23000 anfrlc CSQL 23490 anfrlc CSQL 22980 anfrlc CSQL 170310 anfr2a 1 CSQL 171140 anfr2a CSQL 169410 anfr2a CSQL 172840 anfr2a CSQL 469140 1 anfr2c 1 CSQL 466630 0 anfr2c CSQL 450540 anfr2c CSQL 457800 anfr2c CSQL 94440 anfr2d 1 CSQL 91090 anfr2d CSQL 91960 anfr2d CSQL 89070 anfr2d CSQL 4310 anfr3 1 SQL 4350 anfr3 SQL 4170 anfr3 SQL 4470 anfr3 SQL ooo co 0 0 0 09000 r O N SS 180 Anhang Testanfragen und Mefergebnisse bio_cnt cpu_ms dio_cnt et_sec pfault_cnt Anfrage Programm 526 6810 375 18 anfr3a CSQL 526 7040 370 16 anfr3a CSQL 526 6890 378 12 anfr3a CSQL 526 6880 371 13 anfr3a CSQL 640 148580 4563 anfr3b 1 CSQL 640 149950 4564 anfr3b CSQL 640 150440 4587 anfr3b CSQL 640 152050 4566 anfr3b CSQL Tabelle A 3 Messungen vor und nach optimizedb und sysmod Die Tabelle A 4 zeigt den Einflu der Datenstruktur auf die Antwortzeit Die L ufe 20 und 21 wurden mit Hash Struktur durchgef hrt INGRES defaults Als Vergleich dienen hier wieder die L ufe eins bis sechs aus Tabelle A 1 Der bersichtlichkeit wegen sind wieder nur die L ufe eins und zwei aufgef hrt Anhang Testanfragen und Mefergebnisse 181 cpu_ms dio_cnt et_sec pfault_cnt Anfrage Programm 3720 208 39 14 anfrl SQL 4050 207 42 anfrl SQL 8150 946 45 anfrl SQL 8090 944
83. Taxonomy of Time in Databases in Proc of ACM SIGMOD 85 Int Conf on Management of Data Austin Texas 1985 pp 236 246 170 Literatur SPSW90 Hans Joerg Schek Heinz Bernhard Paul Marc H Scholl Gerhard Weikum The DASDBS Project Objectives Experiences and Future Prospects in EEE Transactions on Knowledge and Data Engineering Vol 2 No 1 March 1990 pp 25 43 StAH87 Michael Stonebraker Jeff Anton Eric Hanson Extending a Database System with Procedures in ACM ToDS Vol 12 No 3 September 1987 pp 350 376 StBM99 Michael Stonebraker Paul Brown Dorothy Moore Object Relational DBMSs Tracking the Next Great Wave gu Edition Morgan Kaufmann Publishers Inc San Francisco California 1999 ISBN 1 55860 452 9 StO193 Michael Stonebraker Michael Olson Large Object Support in POSTGRES in Proc of the 9 Int Conf on Data Engineering April 19 23 1993 Vienna Austria pp 355 362 Ston97 Michael Stonebraker Architectural Options for Object Relational DBMSs Infor mix White Paper http www informix com California 1997 StRG83 Michael Stonebraker Brad Rubenstein Antonin Guttman Application of Abstract Data Types and Abstract Indices to CAD Data Bases in ACM SIG MOD SIGDBP Proc of Annual Meeting Engineering Design Applications San Jose May 1983 pp 107 113 StRH90 Michael Stonebraker Lawrence A Rowe Michael Hirohama The Implementation of POSTGRES in IEEE Transactions on K
84. Teilprojekt Wasserchemie Das Hydrochemie Teilprojekt befa t sich mit dem Zustandekommen der nat rlichen Grundwas serbeschaffenheit in Abh ngigkeit von den in der unges ttigten Zone stattfindenden chemischen Prozesse Dazu werden Bodenproben aus den verschiedenen Schichten im Untergrund entnom men Das Wasser aus diesen Proben wird abzentrifugiert und dann auf verschiedene Inhaltsstof fe wie z B Nitrat untersucht U a wird die Auswirkung des Pfl gens auf die Konzentration der verschiedenen Stoffe in der Bodenl sung untersucht 2 7 Das Teilprojekt Datenbankunterst tzung Die Aufgabe des Datenbankprojekts bestand darin die unterschiedlichen anfallenden Daten aus den Messungen zu strukturieren zu verwalten zu sichern und bei deren Verarbeitung Unterst tzung anzubieten Da das Gesamtprojekt als Langzeitprojekt angelegt war war zu er warten da nach ersten Messungen und Ergebnissen die Me parameter ver ndert wurden neue Me ger te Versuche und sogar Teilprojekte hinzukamen Es mu te auf einfache Art also ohne Ver nderung bestehender Anwendungen m glich sein die hier anfallenden Daten einzuglie dern Innerhalb dieses Projekts sollte ein Gesamtsystem entstehen zusammengesetzt aus einer Daten bank Komponente und Erweiterungen bzw Anwendungen darauf das zugeschnitten ist auf e die Verwaltung und Verarbeitung von Me werten und Umweltdaten und ihre Bereitstellung f r die weitere Auswertung e die Unterst tzun
85. Verschiedene Me werte die zum Erreichen dieser Ziele erhoben werden m ssen werden aufgez hlt so da ein berblick ber das Ge samtprojekt entsteht und die Vielfalt der Daten die vom Informatik Teilprojekt zu verwalten sind erkennbar wird Detailliertere Beschreibungen der Projekte finden sich in Kobu89 BEHL90 PlKa89 KTCP89 und Teut90 Die Hardware Austattung der Teilprojekte wird auf gez hlt 2 1 Das Gesamt Projekt Das Gesamt Projekt wurde innerhalb des Schwerpunktprogramms PWAB Projekt Wasser Ab fall Boden des Landes Baden W rttemberg durchgef hrt das vom Kernforschungszentrum Karlsruhe koordiniert wurde In allen PWAB Forschungsvorhaben wurde in interdisziplin rer Arbeit der Einflu des Menschen auf die Bereiche Wasser und Boden bzw durch Abfall auf die gesamte Umwelt untersucht Das Projekt Naturme feld Horkheimer Insel beschr nkte sich auf die Bereiche Wasser insbe sondere Grund und Sickerwasser und Boden und zwar unter landwirtschaftlich genutzter Fl che Auf kleiner Fl che wurden m glichst viele Daten gesammelt um Boden Wasser und die Vorg nge darin m glichst genau zu erfassen Hierbei standen die Auswirkungen von D ngemitteln Herbiziden und Pestiziden auf die Quali t t des Bodens des Sickerwassers und des Grundwassers im Vordergrund Der Abbau und Transport dieser k nstlich aufgebrachten Stoffe wurden dazu untersucht Ein Vergleich und die Eichung verschiedener Me methoden und ger te wu
86. Ya 10 mbit sec Glasfaserverbindung Informatik projekt Bild 2 1 Rechner Ausstattung und Vernetzung des Projekts Naturme feld Horkheimer Insel Entscheidend f r dieses Projekt war da alle Teilprojekte ein hnliches Betriebssystem und das gleiche DBS verwendeten damit der Datenaustausch vereinfacht wurde und die Benutzer schnittstelle f r alle Teilprojekte gleich aussah Es mu te au erdem ein kommerziell erh ltli ches DBS gew hlt werden f r das Anpassungen an neue Betriebssystemversionen vom Herstel ler auf allen Rechnern garantiert werden konnten weil schon bald nach Beginn des Projekts ein st ndig funktionsf higes DBS bereitstehen sollte 3 Me werte Umweltdaten und Umweltprojekte In diesem Kapitel wird definiert welche Daten als Umweltdaten bezeichnet werden k nnen Es werden typische Merkmale und Eigenschaften von Umweltdaten insbesondere von Umwelt Me werten aufgez hlt und erl utert Die Charakteristika von Projekten die im Bereich Um weltschutz angesiedelt sind werden beschrieben Alle Eigenschaften werden aus dem Projekt Naturme feld Horkheimer Insel abgeleitet und anhand von Beispielen erkl rt Sie treffen aber auch auf viele andere interdisziplin re natur und ingenieurwissenschaftliche Projekte zu Die Schw chen von konventionellen DBS bei der Bearbeitung von Daten aus Umweltprojekten werden aufgedeckt Am Ende des Kapitels werden Anforderungen an ein System zur Speiche rung und
87. Zeit die es dauert n Tupel zu sortieren denn Sortieral gorithmen sind bekannterweise von der Gr enordnung O n log n Welche Methode man hier am besten verwendet h ngt von der Implementierung der Speicher und Indexstrukturen im ak tuellen DBS ab von der Anzahl der Tupel und ihrer Breite hnliche Betrachtungen gelten f r das Speichern und erneute Lesen der tempor ren Relation die die interpolierten Werte enth lt 130 Alternative Syntax und Optimierung 9 4 Vergleich und Bewertung beider Ans tze In diesem Abschnitt sollen der CSQL Ansatz und der zweite Ansatz verglichen und bewertet werden Die Bewertung soll nicht ausschlie lich aber schwerpunktm ig bez glich der Opti mierung erfolgen denn eine gute Optimierung und damit ein gutes Antwortzeitverhalten sind entscheidend f r die Akzeptanz beim Benutzer Es soll auch beschrieben werden inwieweit die in Abschnitt 9 1 erw hnten Nachteile behoben werden k nnten und ob neue Probleme entstehen w rden Auch wenn so ein System mit den gegebenen Voraussetzungen nicht zu implementie ren war sollten jedoch konkretere berlegungen bez glich dieser Punkte angestellt werden k nnen Der zweite Ansatz ist dem urspr nglichen SQL n her Es gibt keine neuen Klauseln die Inter polation wird ber Funktionen durchgef hrt Die erweiterten Aggregationsfunktionen entspre chen der Funktion fj aus Kap 6 2 2 die ext_table Funktion liefert den Funktionen interpolation und interpol_ser
88. _id Zu jeder Probe wird der Zeitpunkt der Probenahme festge halten sowie die Koordinaten x_koord y_koord und die mittlere Tiefe des H henabschnitts der Gesamtprobe z B 30cm 50cm Welche Probenst cke zu einer insgesamt genommenen Probe geh ren erkennt man an den Koordinaten und an den Hunderterstellen des Identifikators Au erdem wird eine Beschreibung beschr der Stelle des Versuchsfelds an der die Probe gezogen wurde gegeben z B umweltschonend Wiese Mit diesen Proben wurden sp ter verschiedene Analysen durchgef hrt Die Beschreibung welche Tiefen oben und unten zu einer mittleren Tiefe geh ren findet sich in einer anderen Relation ebenso die Ergebnisse der verschiedenen Analysen 10 2 Die Beispiel Interpolationsverfahren Als Beispiel Interpolationsfunktion wurde zun chst ein einfaches Verfahren zur r umlichen In terpolation von Grundwasserst nden implementiert Dies erschien u a wegen der Dreidimensio nalit t zwei Dimensionen Basis und die Zeit als zus tzliches Attribut interessant Anschlie Bend werden Interpolationsverfahren auf einigen Parametern der Wetterdaten beschrieben Hier ist zu unterscheiden zwischen Me werten die aufsummiert werden z B Niederschlag und sol chen wo stets Absolutwerte gemessen werden z B Lufttemperatur 10 2 1 Die Interpolation von Grundwasserst nden Von Beginn des Projekts an war klar da eine Funktion zur Interpolation von Grundwasser st nden an beliebigen Punkte
89. abelle A 6 aufgenommen bio_cnt cpu_ms dio_cnt et_sec pfault_cnt Anfrage Lauf Programm 80 4050 230 28 20 anfrl 0 SQL 80 3710 223 12 0 anfrl la SQL 80 3720 208 39 14 anfrl 1 SQL 80 4050 207 42 0 anfrl 2 SQL 80 4160 208 53 0 anfrl 3 SQL 80 3760 204 40 0 anfrl 4 SQL 80 3860 204 39 0 anfrl 5 SQL 80 3940 202 39 0 anfrl 6 SQL 26232 24940 228 96 7 anfrl 0 CSQL 26232 23980 229 86 0 anfrl la CSQL 26232 22340 205 110 8 anfrl 1 CSQL 26232 23730 205 102 0 anfrl 2 CSQL 26232 23570 206 99 0 anfrl 3 CSQL 26232 22800 204 94 0 anfrl 4 CSQL 26232 22720 204 94 0 anfrl 5 CSQL 26232 23470 202 97 0 anfrl 6 CSQL 7 140 8 0 2 anfrla 0 SQL 7 90 6 0 0 anfrla 1 SQL J 140 7 0 0 anfrla 2 SQL 7 160 8 1 0 anfrla 3 SQL 7 110 8 0 0 anfrla 4 SQL 7 100 4 0 0 anfrla 5 SQL 7 90 4 0 0 anfrla 6 SQL 240 300 4 2 0 anfrla 0 CSQL 184 Anhang Testanfragen und Mefergebnisse bio_cnt dio_cnt et_sec pfault_cnt Anfrage Programm 294 0 anfr3 SQL 250 2 anfr3 SQL 249 43 anfr3 SQL 246 11 anfr3 SQL 246 0 anfr3 SQL 246 0 anfr3 SQL 246 0 anfr3 SQL 435 88 anfr3a CSQL 375 75 anfr3a CSQL 370 68 anfr3a CSQL 371 anfr3a CSQL 367 CSQL 433 CSQL 375 CSQL saaaao OI YA orn onu o l e e e e A a A On anfr3a w anfr3a 1 2 3 4 5 6 0 1 2 3 4 5 6 anfr3a Tabelle A 6 Verz gerung von SQL Anfragen durch das CSQL System Lebensla
90. alb komplexer Objekte m ssen diese Datentypen gesondert behandelt werden Andere Beispiele sind die sog File Da tentypen bei denen eine ganze Datei einen Attributwert bildet oder text Datentypen die mehr seitige Texte enthalten k nnen Soweit aus der g ngigen Literatur bekannt gibt es bisher kein System das wirklich benutzerde finierte neue Grunddatentypen zul t und alle notwendigen Erweiterungen dazu anbietet ange fangen bei der Definition und Implementierung neuer Speicherstrukturen durch den Benutzer bis hin zur Bereitstellung von geeigneten Optimierungsverfahren benutzerdefiniert Informix erlaubt mit den DataBlades praktisch alles bis auf die Definition neuer Optimierungsverfahren Genaueres dazu siehe Kap 4 6 Am Beispiel der BLOBs und drei der f nf verschiedenen EDBS die in dieser Arbeit n her betrachtet werden POSTGRES EXODUS und Starburst soll nun gezeigt werden wie verschieden die Ans tze zur Implementierung sein k nnen In der Li teratur zu GENESIS und DASDBS wurden BLOBs nicht n her betrachtet Zus tzlich wird er sichtlich wie kompliziert es sein k nnte und welche Folgen es haben k nnte dem End Be nutzer solche Erweiterungen zu erm glichen Auch in verschiedenen kommerziellen DBS werden die BLOBs schon angeboten jedoch nach StO193 ohne die passenden Operationen darauf oder die M glichkeit solche Operationen zu definieren Ein Grund f r die fehlenden Operationen ist da es nur einen Date
91. als Grundlage f r ein System zum Einlesen und Weiterverarbeiten von Umwelt Me daten direkt vom Me ger t nehmen Zur Strukturierung gro er Datenmengen bzw zum Finden von Informationen in gro en Men gen von Daten wurden in letzter Zeit unter dem Stichwort data mining interessante Ans tze ver ffentlicht ACM96 Z B wird in SeSW96 das IDEA System beschrieben das auf kom merzielle Daten zugeschnitten ist Gro e Mengen von Umwelt Me werten lie en sich damit aber auch strukturieren und bearbeiten Eine Erweiterung f r Umweltdaten so eines Systems k nnte f r Umweltforscher sinnvoll und n tzlich sein In kleineren Projekten wie dem in dieser Arbeit beschriebenen konnte man sich zun chst be helfen indem man zus tzliche Relationen einrichtete die Informationen ber Beziehungen zwi schen verschiedenen Me parametern in unterschiedlichen Relationen enthalten Ebenso kann in Dokumentationsrelationen gespeichert werden welche Daten es noch in vom Benutzer ma nuell angelegten Archiven gibt DBS die die besonderen Eigenschaften von Me werten sowie r umlichen und zeitlichen Daten kennen und ber cksichtigen gibt es bisher noch nicht Lediglich bei der Erforschung mehrdi mensionaler Speicherstrukturen die f r die Speicherung von Umweltdaten auch geeignet w ren wurden bereits Erfolge erzielt siehe Kap 7 2 Neue Speicherstrukturen lassen sich aber in ein kommerzielles DBS durch den Benutzer nicht einf gen Auch
92. and in einem Arbeitsgang zu berechnen Dies ist aber in CSQL auch nicht vorge sehen Eine Umrechnung der Werte auf einen anderen Me abstand etwa 5 min 15 min oder 1 h erforderte ein ganz anderes Verfahren Grob beschrieben verl uft die Interpolation von Niederschlag in folgenden Schritten ab 1 Auspacken des Eingabestrings und berpr fung ob die entsprechende Relation in der DB vorhanden ist 2 Zun chst wird berpr ft ob der gesuchte Wert in der Me relation oder dem Me view vor handen ist In diesem Fall wird nicht interpoliert der gesuchte Wert in die Ergebnisrelation eingetragen und ein erfolgreich interpoliert zur ckgeliefert Es wird auch gepr ft ob der gesuchte Wert bereits in der Ergebnisrelation steht Das ist beim derzeitigen CSQL System nicht m glich In diesem Fall w rde nichts getan und ein Erfolg zur ckgeliefert 3 Berechnung einzelner fehlender Werte oder von Werten zu anderen Me zeitpunkten Es wird berpr ft ob Me werte in der Umgebung des gesuchten Wertes vorhanden sind Die Umgebung wird hier durch ein Vielfaches des Me abstands definiert Sinnvoll erscheint hier bei st ndlichen Messungen etwa ein Vielfaches von zwei bei zehnmin tigen Messungen ein Vielfaches von bis zu sechs Der n chst gr ere und der n chst kleinere Wert werden selek tiert und aus diesen Werten wird linear gewichtet interpoliert Der gesuchte Wert wird in die Ergebnisrelation eingetragen und ein erfol
93. anisation in System 9 Bericht der Prime Wild GIS Heerbrugg Schweiz 1988 PiAn86 P Pistor F Anderson Designing a Generalized NF Model With an SQL Type Language Interface in Proc 12 Int Conf on Very Large Data Bases VLDB Kyoto Japan August 25 28 1986 pp 278 285 PiJa90 W Pillmann A Jaeschke Hrsg Informatik fiir den Umweltschutz Proc 5 Sym posium Wien Osterreich September 1990 Informatik Fachberichte 256 Springer Verlag Berlin 1990 PIKa89 R R van der Ploeg G Kahnt Transportvorg nge und Sickerwasserqualit t in der unges ttigten Zone unter konventionell und alternativ bewirtschafteten Ak kerfl chen 2 Zwischenbericht PW 87 043 Universit t Hohenheim Institut f r Bo denkunde und Standortslehre Mai 1989 POST90 POSTGRES Implementation Team POSTGRES POSTQUEL Manual Version 2 Berkeley CA 1990 PTSE95 Dimitris Papadias Yannis Theodoridis Timos Sellis Max J Egenhofer Topological Relations in the World of Minimum Bounding Rectangles A Study with R trees in Proc of the 1995 ACM SIGMOD Int Conf on Management of Data an Jose California May 22 25 1996 pp 92 103 Reut85 Andreas Reuter Datenbanksysteme fiir KI Anwendungen Vorlesungsskript Insti tut f r Parallele und Verteilte H chstleistungsrechner Abteilung Anwendersoftware SS 1990 Reut88 Andreas Reuter Datenbanken als Grundlage f r gro e verteilte Me Kontroll Analyse und Simulationssysteme in Proc
94. arbeiten sollen ungeeignet Deshalb wurde hier im CSQL System eine m glichst einfache Syntax mit einleuchtender Se mantik gew hlt 6 3 Vertr glichkeit mit Standard SQL Zun chst soll hervorgehoben werden da Me wertrelationen nat rlich weiterhin auch als kon ventionelle Relationen betrachtet werden k nnen und alle relationalen Operationen auf sie ange wendet werden k nnen Es ist nicht sinnvoll und w nschenswert Interpolation innerhalb von Datenmanipulation einzusetzen weil nderungen auf tempor r berechneten Ergebnissen nicht sinnvoll sind und berechnete und gemessene Werte keinesfalls vermischt werden d rfen Die einzige Ausnahme bildet die Interpolation innerhalb eines SELECT Statements zum Kopieren von Daten in neue bzw andere Relationen 1 Die SQL Anweisungen HELP und CREATE PROCEDURE sind im CSQL System nicht m glich weil CSQL mit Embedded SQL C siehe Kap 8 implementiert wurde Dort sind diese Anweisungen auch nicht zul ssig 82 Die SQL Erweiterung CSQL 6 3 1 Anfrageteil von SQL Interpolation kann praktisch in jede Datenbankanfrage eingebettet werden Voraussetzungen sind lediglich da mindestens eine der beteiligten Relationen eine Me wertrelation ist und da dem DBS ein passendes Interpolationsverfahren bekannt ist Wichtig f r die Auswertung der Anfragen sind die Fragen welchen Einschr nkungen diese Anfragen unterliegen und an wel cher Stelle der Auswertung die Interpolation ausgef hrt werden ka
95. arbeitung von Umweltdaten 39 Wenn GIS als Teil eines Gesamtsystems gesehen werden ist es wichtig zu wissen wie und wie gut GIS mit anderen Komponenten zusammen arbeiten In Buis89 werden Betrachtungen an gestellt wie r umliche Daten mit wissensbasierten Systemen bearbeitet werden k nnen Bei r umlichen Daten bzw r umlichem Wissen ist es zun chst wichtig zu definieren in welchem Modell z B euklidisch Vektor Raster metrisch topologisch das Wissen dargestellt wird Das wissensbasierte System kann dann bei der Umwandlung von einem in ein anderes Modell be hilflich sein Es kann also bei der Aufbereitung von Daten f r ein GIS z B der Ableitung von topologischen Daten aus digitalisierten eingesetzt werden Andere sinnvolle Hilfen k nnen wis sensbasierte Systeme bei der Entscheidungsfindung aufgrund von in GIS gespeicherten Infor mationen anbieten Neue Daten etwa Zwischenwerte zu den gespeicherten k nnen jedoch nicht abgeleitet werden siehe auch unten Kap 4 3 3 In Bill90 wird auf die Einsatzm glichkeiten von GIS in Umweltinformationssystemen einge gangen Auch hier wird klar da GIS hier nur einen Teil der ben tigten Funktionen abdecken k nnen I a gibt es in GIS kaum Versionenverwaltung und keinen Zeitbezug Auch arbeiten GIS h ufig noch nicht vollst ndig auf der Basis eines relationalen DBS Oft werden nur die Sachdaten in einem DBS gehalten nicht aber die r umlichen Daten Alle diese Punkte verst rk
96. archien mit Vererbung von Eigenschaften ebenso wie f r eine gekapselte Implementierung siehe z B LWWM79 Maib85 Die Definition neuer Da 44 Technische Verarbeitung von Umweltdaten tentypen und Operationen darauf erfolgt im ADT Ansatz hnlich wie die Definition algebrai scher Strukturen Neue Datentypen in der Literatur zu ADT meist Sorten genannt werden de finiert durch Aufz hlung der m glichen Werte durch Definition von Mengen und Listen aus vorhandenen Datentypen durch Einschr nkung oder durch Kombination vorhandener Datenty pen hnlich der Typdefinitionen in h heren Programmiersprachen wie C oder PASCAL ber die Konstruktion von neuen Datentypen aus vorhandenen k nnen deren Eigenschaften vererbt werden Funktionen werden durch Abbildungen der Art rn B1 X X Bm gt Bn n IN Bi Datentypen bzw Sorten definiert Das Verhalten dieser Funktionen wird durch Axiome oder Gleichungen spezifiziert Es kann eine Funktion ohne linke Seite zur Erzeugung neuer Elemente der Typen definiert wer den Eigenschaften der Elemente k nnen dann durch Axiome die diese Funktion enthalten spe zifiziert werden Jede Implementierung der neuen Typen und Funktionen mu die G ltigkeit der Axiome sicherstellen 7 Das berladen von Operatoren mu m glich sein Dabei wird derselbe Operator f r hnliche Operationen auf verschiedenen Typen verwendet etwa f r Integer und Float Werte bei Kompatibilit t auch zwischen den
97. atial Data bases Santa Barbara Cal July 17 18 1989 LNCS Bd 409 Springer Verlag Berlin 1990 pp 67 88 WSSH88 P F Wilms P M Schwarz H J Schek L M Haas Incorporating Data Types in an Extensible Database Architecture in Proc of 3rd Int Conf on Data and Knowledge Bases Jerusalem Israel June 1988 pp 180 192 WSSM89 W Windhorst W Schaefer A Salski M Meyer Erfassung Verwaltung und Auswertung von Daten im Projektzentrum Okosystemforschung der Christi an Albrechts Universit t zu Kiel in Proc 4 Symposium Informatik im Umwelt schutz Karlsruhe 6 8 November 1989 Informatik Fachberichte 228 Springer Verlag Berlin 1989 pp 251 272 172 Literatur Anhang Testanfragen und Me ergebnisse Hier werden alle Testanfragen und Me ergebnisse aufgef hrt aus denen die allgemeinen Aus sagen zur Laufzeit von CSQL und SQL im Kap 10 5 2 abgeleitet wurden Alle diese Testanfra gen laufen auf den Wetterdaten den Relationen wetter_60 und wetter_10 weil diese mit 30 262 bzw 181 727 Tupeln eine realit tsnahe Gr e haben Zun chst werden hier alle Anfragen auf gef hrt Eine Anfrage die die Werte eines Jahres selektiert anfr SELECT zeitpunkt lufttempr FROM wetter _60 WHERE zeitpunkt gt 31 12 1989 23 59 59 AND zeitpunkt lt 01 01 1991 00 00 00 nur CSQL anfric SELECT zeitpunkt lufttempr FROM wetter_60 WHERE zeitpunkt gt 31 12 1989 23 59 59 AND zeitpunkt lt
98. ativer also so ein Forschungsprojekt ist de sto weniger genau wei man zu Anfang wie alle Zwischenziele und Endziele erreicht werden 12 Me werte Umweltdaten und Umweltprojekte k nnen Nachdem man erste Messungen durchgef hrt hat und erste Teilergebnisse gewonnen hat werden die Projekt Zwischen Ziele redefiniert es kommen neue Versuche Projektziele und sogar Teilprojekte hinzu Fast alle diese nderungen haben Einflu auf das Datenschema also die Strukturen in denen Me werte und andere Projektdaten in der Datenbank abgelegt werden Nicht nur neue Teilprojekte und Projektziele k nnen Gr nde f r nderungen des Datenschemas sein Wenn Me ger te ausfallen m ssen sie sofort durch neue ersetzt werden damit die Auf zeichnungen m glichst wenig L cken aufweisen H ufig k nnen nur Ger te neuerer Bauart be schafft werden die dann die Daten mit anderer Genauigkeit Dimension oder sogar etwas ande re Me parameter aufzeichnen Auf diese unvorhergesehenen Struktur nderungen m ssen die Datenbankadministation und die Datenauswertung flexibel und schnell reagieren K nnen Kennzeichnend f r Umweltforschungsprojekte aus dem natur und ingenieurwissenschaftlichen Bereich sind also e heterogene Hard und Softwareumgebung e neue und revidierte Versuchsumgebungen Projektziele und Teilprojekte e sich fortentwickelnde Datenschemata Es ist ein Vorteil wenn ein Projekt neu eingerichtet wird und nicht die Fortsetzung eines
99. auf ein Teilprojekt das ber ffentliche und Universit tsnetze nicht zu erreichen war hier mu ten die Daten auf B ndern bzw Streamer Cartridges ausge tauscht werden waren alle Workstations ber Ethernet miteinander verbunden Das Testfeld selbst war f r die Dauer dieses Projekts nicht in das Netz integriert So mu ten alle Me ergeb nisse auf digitalen Datenaufzeichnungsger ten mit Speicherkapazit t sog Datenlogger Disket ten oder Papier aufgezeichnet zu den Projektrechnern transportiert werden Da Ergebnisse und Anwendungen aus fr heren und anderen Projekten weiterverwendet werden sollten mu ten noch einige zus tzliche Hard und Softwarekomponenten in die Projektumge bung integriert werden Hierbei handelte es sich um Auswertungs Statistik und Plotprogram me sowie entsprechende Ausgabeger te Zu diesen Programmen mu ten Schnittstellen zum DBS geschaffen werden d h die Daten m ssen geeignet aus der DB ausgew hlt werden k n nen Das Me feld und die Projektdatenbank wurden neu eingerichtet Auf alte Strukturen brauchte also relativ wenig R cksicht genommen zu werden Die Hardware Ausstattung des Projekts ist in Bild 2 1 dargestellt 10 Die Teilprojekte Naturmeffeld BITNET Horkheimer Insel age Anwender Disketten projekt 4 Papierzettel Workstation Workstation Workstation Anwender Anwender Anwender projekt 3 projekt 1 projekt 2 Labor Labor zus tzliche Z Hardware
100. beiden Datentypen Er kann auch noch f r ganz andere Operationen wie f r die Konkatenation von Zeichenketten eingesetzt werden Das Sy stem mu sp t binden und selbst finden welche Implementierung eines Operators eingesetzt werden mu 8 Die Anfragesprache mu berechnungsuniversell sein 9 Das System mu erweiterbar sein Benutzer k nnen immer wieder neue Objekte Typen bzw Klassen und Operationen darauf definieren Es gibt noch weitere w nschenswerte Funktionen die einige der verf gbaren OODBS schon aufweisen Diese Funktionen sind nach dem Manifesto von ADBB90 aber optional Weitere Funktionen k nnen u a Versionenkontrolle von Objekten sein oder zus tzliche Transaktions modelle wie etwa lange Transaktionen f r Design Datenbanken 4 3 5 Erweiterbare Datenbanksysteme F r den Begriff Erweiterbare DBS EDBS gibt es keine so pr zise Definition wie f r die OODBS In verschiedenen Forschergruppen sind als Forschungsprototypen mehrere sog EDBS entstanden Bei diesen Systemen handelt es sich grob gesagt um Relationale DBS die darauf vorbereitet sind um verschiedene Komponenten durch den Benutzer erweitert zu werden Eini ge Systeme wie z B EXODUS CDFG86 oder GENESIS BBGS88 bestehen aus einer Reihe von Moduln f r die DB Funktionen die zun chst erg nzt werden m ssen bevor sie zusammen gesetzt und eingesetzt werden k nnen Das ist der sog Toolkit Ansatz Andere EDBS bestehen wie DASDBS SPSW90 n
101. bute Basisattribute Basisattribute Attribute Restriktionen nachher vorher nachher vorher u nachher vorher Verbunde Joins nachher nachher nachher Projektionen nachher nachher obligat vorher Aggregationen nachher nachher nachher Gruppierung nachher nachher nachher Sortierung nachher nachher nachher Tabelle 6 1 Zusammenspiel von Interpolation und relationalen Operationen Die SQL Erweiterung CSQL 87 Wenn ein Benutzer umst ndliche aber prinzipiell berechenbare Kombinationen von Klauseln und Bedingungen eingibt z B eine Interpolation in der inneren Schleife und ein EXISTS Pr di kat auf das variable Basisattribut in der u eren Schleife wird die Anfrage nicht unbedingt ab gewiesen oder automatisch vereinfacht sondern langwierig berechnet b Einschr nkungen f r Anfragen mit Interpolation Es gibt einige Kombinationen von Standard SQL Klauseln und CSQL Erweiterungen die nicht sinnvoll sind und deshalb vom System als Fehler zur ckgewiesen werden m ssen Das sind die folgenden Kombinationen e Arithmetische Ausdr cke in denen sowohl kontinuierliche interpolierte Attribute als auch zus tzliche Attribute auftreten sind nicht m glich weil die ersten nur nach der Interpolation und die zweiten nur vor der Interpolation verf gbar sind siehe auch Ausf hrungen zur Aus wertung e Dadurch da manche Restriktionen bzw Attribute in Restriktionen vor der Interpo
102. bute fehlen F r diese m ssen dann wei tere Umgebungstupel gesucht werden Zu jedem kontinuierlichen Attribut m ssen mehrere Interpolationsfunktionen definiert werden k nnen Zum einen kann bei einer mehrdimensionalen Me basis ber das eine das andere oder alle Basisattribute interpoliert werden zum anderen k nnen auch verschiedene Interpolations verfahren existieren die wahlweise z B schneller berechnet werden oder genauer sind So mu also wenn der Benutzer Interpolation w nscht angegeben werden welche Interpolationsverfah ren auf welchen Attributen zu welchen Werten der variierenden Basisattribute berechnet werden sollen Das Attribut mu zumindest bei Mehrdeutigkeiten wie dem Verbund einer Relation mit sich selbst angegeben werden Es gibt Probleme die sind abh ngig von individuellen W nschen der Benutzer oder von der Realisierung des Interpolationsverfahrens Solche Probleme sind e Was geschieht bei sog Treffern wenn der Benutzer f r die variierenden Basisattribute zuf llig oder bewu t Werte angegeben hat die in der Datenbasis zur Zeit vorhanden sind e Wann ist eine Interpolation nicht mehr sinnvoll weil die umliegenden Me werte zeitlich oder r umlich zu weit entfernt sind Wann unterbleibt die Interpolation aus diesen Gr n den 68 Interpolation von Me werten Diese Fragen werden in die Interpolationsfunktionen selbst verlagert Die Interpolationsfunktio nen werden vom System in jedem Fall auf
103. ces auf x und y Koordinaten angelegt sind liefern sowohl CSQL als auch SQL die beschriebenen Ergebnisse sehr schnell n heres hierzu in Kap 10 5 3 146 Fallstudie 3 Beispiel Vergleich von zwei MeBreihen Um die Abh ngigkeiten zwischen Luftfeuchtigkeit Luft und Bodentemperaturen zu erforschen werden die Me werte die im April 1990 erhoben wurden ber den Verbund verglichen Beide Me reihen m ssen interpoliert werden um zu vergleichbaren Werten zu kommen Diese Anfra ge ist typisch f r eine Situation in der man sich einen ersten berblick verschaffen will SELECT w10 zeitpunkt w10 feuchte w60 lufttemp w60 btemp5 w60 btemp80 w60 btemp140 w60 btemp5a FROM wetter 10 w10 BY METHODfeuchte_zeit_int feuchte ENTRY zeitpunkt 01 04 90 04 00 00 STEP 12 hours 0 minutes 0 seconds wetter_60 w60 BY METHODlufttemp_zeit_int lufttemp ENTRY zeitpunkt 01 04 90 04 00 00 STEP 12 hours 0 minutes 0 seconds BY METHODbtemp5_zeit_int btemp5 ENTRY zeitpunkt 01 01 90 04 00 00 STEP 12 hours 0 minutes 0 seconds BY METHODbtemp80_zeit_int btemp80 ENTRY zeitpunkt 01 01 90 04 00 00 STEP 12 hours 0 minutes 0 seconds BY METHODbtemp140_zeit_int btemp140 ENTRY zeitpunkt 01 01 90 04 00 00 STEP 12 hours 0 minutes 0 seconds BY METHODbtemp5a_zeit_int btemp5a ENTRY zeitpunkt 01 01 90 04 00 00 STEP 12 hours 0 minutes 0 seconds WHERE w60 zei
104. ch der Interpolation nicht unterschiedlich refe renzieren kann Die in Kap 9 geschilderte Alternative f r Syntax und Auswertungsstrategie von CSQL l st dieses Problem Verbunde Joins Es werden i a die Basisattribute ber einen nat rlichen Verbund verkn pft und zwar nach der Interpolation um die kontinuierlichen Attribute vergleichen zu K nnen Ein Verbund der konti nuierlichen Attribute ist in den meisten F llen nicht sinnvoll Wenn so ein Verbund jedoch ge w nscht wird mu er nach der Interpolation stattfinden weil erst dann die Werte der Attribute vorliegen Weitere Attribute wurden durch die Interpolation bereits herausprojiziert und d rfen daher nicht in den Verbundbedingungen auftreten Projektionen Die Interpolation bedingt eine Projektion auf das kontinuierliche Attribut und die Basisattribute Diese Projektion mu s o vor der Interpolation durchgef hrt werden Weitere Projektionen nach der Interpolation auch in einer Verbundrelation sind m glich 86 Die SQL Erweiterung CSQL Gruppierung eingebaute Funktionen Aggregation und Sortierung Diese Operationen werden in SQL auf den Ergebnissen der in der FROM und WHERE Klausel spezifizierten Relationen entspricht der Lese Operation Verbund Operationen und Restriktio nen durchgef hrt Sie m ssen deshalb nach der Interpolation die auch in der FROM Klausel spezifiziert wird und zur Spezifikation der Relation geh rt erfolgen In CSQL d rfen sie somit
105. ch m te zu erst der ESQL Pr prozessor nachimplementiert werden der die EXEC SQL Aufrufe in Funktionsaufrufe umwandelt Dieser ECSQL Pr prozessor m te zun chst einmal andere neue Funktionen aufrufen Diese m ten dann die Funktionen mit denen INGRES das Dynamic SQL bearbeitet nach der CSQL Vorverarbeitung aufrufen Das ist praktisch nicht m glich weil INGRES die Schnittstellen dieser Funktionen nicht offenlegt und sich auch vorbeh lt Funktions namen u mit jeder neuen Version wieder zu ver ndern Hier ist der Pr prozessor Ansatz also nicht geeignet Die Modifikationen w rden besser auf einer tieferen Ebene des DBS ansetzen Beide CSQL Schnittstellen lesen die CSQL und SQL Anweisungen zeilenweise ein und rei chen sie sobald ein Semikolon die Eingabe einer vollst ndigen Anweisung anzeigt an den Par ser weiter Die interaktive CSQL Schnittstelle Bosc90 besteht aus einer INGRES Maske die eine Tabelle mit einem Attribut einer Bildschirmzeile enth lt Somit zeigt sie auch alle dem ISQL und allen INGRES Masken eigenen Eigenschaften ber in der Men Zeile verf gbare Funktionen konnten die im ISQL Men vorhandenen Funktionen identisch bis auf geringf gi ge Verbesserungen nachgebildet werden Die wichtigsten Funktionen hier sind eine Anfrage zur Verarbeitung abschicken einen Editor aufrufen vorw rts und r ckw rts bl ttern Dateien einlesen und ausschreiben den Bildschirminhalt l schen und das S
106. ch noch keine DROP METHOD Anweisung Dies w re in einer sp teren Version sinnvoll Basisattribute k nnen noch nicht ber Sekund rschl ssel den Me werten zugeordnet werden Dies w re bei mehrdimensionalen Basen sinnvoll z B wenn bei Pegelst nden nur noch die Identifikatoren der Me brunnen beigef gt w ren denen in einer anderen Relation die Koordi naten zugeordnet sind Die Generierung der STEP Werte erfolgt noch auf eine gewisse Art eindimensional auch bei mehreren variierenden Basisattributen entlang einer Geraden im Raum Um dies zu n dern also ein mehrdimensionales Raster von STEP Werten zu erzeugen m ten folgende nderungen eingef hrt werden hier in einem C hnlichen Pseudo Code dargestellt Verarbeitung von CSQL 113 Folgende Deklarationen sind gegeben float entry 1 n ENTRY Angaben f r n Dimensionen Y float step 1 n STEP Angaben f r n Dimensionen si float w_wert 1 n Variable f r die STEP Werte f r n Dimensionen 3 bool m glich weitere Interpolation m glich 3j Initialisierungen for i 1 to n do w_wert i entry i m glich ja Bisher lief das Erzeugen der STEP Werte so ab while m glich do Eingabe Parameterstring generieren m glich interpol Eingabe Parameterstring weitere_folgen for i 1 to n do w_wert i w_wert i step i Sp ter soll das Erzeugen der STEP Werte dann wie folgt ablaufen while m glich do 2 n
107. chgebildet das ist relativ einfach m glich da INGRES die in den eigenen Schnittstellen verwendeten Bildschirmmasken auch berwiegend mit diesem System erzeugt hat Der Parser f r die lexikalische und syntaktische Analyse wurde mit den UNIX Werkzeugen LEX und YACC SUN88 SUN89 erstellt Das gesamte CSQL System be steht aus C Programmen in die sowohl die INGRES Masken Embedded Forms System als Verarbeitung von CSQL 99 CSQL Anfrage CSQL Masken CSQL lineare Benutzerschnittst Benutzerschnittst lexikalische Analyse tempor re Relationen Anfragebaum Anfrage entschachtelung Anfrage optimierung entschachtelter Anfragebaum R cktransformatio in SQL Anfrage INGRES Ergebnismengen Interpolations routinen Aufbereitung Aufbereitung Ausgabe Maske Ausgabe linear Bild 8 1 bersicht ber das CSQL System auch die gesamte Steuerung der Anfragebearbeitung die Optimierung und Auswertung ber Embedded SQL bzw Dynamic SQL eingebunden sind Der gr te Teil des CSQL Systems wurde im Rahmen von studentischen Arbeiten implementiert Bosc90 Riet90 Kaja90 Jahk91 Die Interpolationsroutinen selbst sind nicht fester Bestandteil des CSQL Systems sondern aus wechselbar Die bisher implementierten Routinen werden innerhalb von Kapitel 10 beschrieben 100 Verarbeitung von CSQL 8 2 CSQL Benutzerschnittstellen Relationale DBS bieten dem Benutzer i a mehrere Schnittstelle
108. cht vorgesehen Dies wird aber bei der gro en Anzahl der erhobenen Werte in einem Umweltprojekt unumg nglich wenn es ber eine l ngere Zeit l uft Hier m ssen noch Regeln gefunden werden nach welchen Kri terien Daten archiviert werden sollen und wie diese Archive verwaltet und in das DBS inte griert werden k nnen 30 Me werte Umweltdaten und Umweltprojekte Die Archive k nnen im Lauf der Jahre sehr umfangreich werden deshalb sollte ihre Verwal tung auf jeden Fall in dasselbe DBS integriert werden das zur Verwaltung der Online Daten verwendet wird Daf r gibt es zur Zeit noch keine Standard Werkzeuge Bei einigen DBS wie Starburst POSTGRES siehe Kap 4 4 und dessen kommerziellen und kon zeptionellen Nachfolgern Illustra bzw Informix wird die Speicherung auf optischen Platten sog WORM Devices write once read many nur einmal beschreibbar angeboten Prinzipiell eignen sich solche Speichermedien f r Me daten weil diese ja kaum ge ndert werden Au er dem mu so ein DBS gewisse Archivierungsfunktionen f r den st ndig wachsenden Datenbe stand anbieten Ob sich diese allerdings auch f r Me werte eignen von denen ja keine durch L schen oder nderungen ung ltig werden mu sich in der Praxis erst noch zeigen Eine Alternative zur Archivierung ist die Komprimierung von Daten Das kann z B durch die Durchschnitts oder Summenbildung ber deutlich gr ere Intervalle als die Me intervalle ge schehen Die Original
109. daten m ssen dann aber trotzdem archiviert werden um sp ter bei Ver dacht auf fehlerhafte Komprimierung diese nachvollziehen zu k nnen 3 6 5 Verteilte Datenhaltung F r ein Verbundprojekt eignet sich am besten ein verteiltes DBS das aus unabh ngigen ver netzten DBS Servern besteht die verteilte Transaktionen verarbeiten k nnen In diesem System h lt jeder Projektpartner seine Daten lokal und gew hrt den anderen Teilprojekten lesenden Zugriff darauf Zugriffstransparenz ist w nschenswert es wird also ein verteiltes DBS ben tigt F r die im Projekt verwendete Hardware war so ein DBS zur Laufzeit des Informatik Teilpro jekts noch nicht kommerziell erh ltlich Von Seiten der Hersteller war aber bereits angek ndigt da es in absehbarer Zeit verf gbar sei Deshalb wurden die Daten zun chst mit einfacher Netz werk Software ausgetauscht und repliziert Dies l t sich f r Me werte die sich normalerweise nicht ndern mit relativ einfachen Mitteln weitgehend automatisieren Neug89 ohne die Kon sistenz der Gesamt DB zu gef hrden Zwischenzeitlich sind geeignete kommerzielle Datenbank systeme verf gbar 3 6 6 Schnittstellen Die Eingabe der Daten in das DBS kann je nachdem wie die Daten vorliegen durch Ladebe fehle spezielle Ladeprogramme oder manuelle Eingabe durch den Benutzer erfolgen Ladebe fehle sind meist nicht m chtig genug um die Daten in dem Format in dem sie vom Me ger t geliefert werden in die Struktu
110. den Benutzer nicht die Gefahr besteht ein ungeeignetes Verfahren auszuw hlen Unter den gegebenen Randbedingungen und unter Abw gung der Vor und Nachteile der ver schiedenen Optionen erschien es zumindest f r die erste Version am g nstigsten einen Pr prozessor zu implementieren in den die Interpolationsfunktionen fest an einzelne Relationen gebunden eingebunden werden In diesem Ansatz werden die Interpolationsfunktionen in einer h heren Programmiersprache implementiert und greifen ber Embedded und Dynamic SQL di rekt auf die DB zu Dabei m ssen typische w hrend einer Interpolation ben tigte Suchverfah ren jedesmal bei der Interpolation selbst mit implementiert werden Abhilfe schaffen k nnten hier vordefinierte SQL Anfragen f r die blichen Suchoperationen in die innerhalb der Interpolationsfunktion die passenden Relationen und Attributnamen einge setzt werden m ssen siehe Kap 7 72 Interpolation von Me werten 6 Die SQL Erweiterung CSQL Die Interpolation auf Me werten in der Datenbank wird dem Benutzer ber eine SQL Erweite rung CSQL zur Verfiigung gestellt siehe Kap 5 2 Diese SQL Erweiterung umfaBt sowohl Erweiterungen des Definitionsteils der Datensprache als auch des Anfrageteils In diesem Kapi tel werden zun chst die Me wertrelationen mit den entsprechenden Attributen und die Interpo lationsoperation formal eingef hrt Dann wird darauf die Syntax definiert und an kurzen Bei spielen ve
111. den von ihm spezifizierten Bedingungen gen gt W rde eine solche Ein schr nkung schon vor der Interpolation ausgewertet k nnten durch die Interpolation wieder Werte erzeugt werden die diese Einschr nkung verletzen Au erdem k nnten f r die Interpo lation relevante Tupel ausgeschlossen werden Beispiel Gegeben sei eine Relation CREATE TABLE temperatur me wert float CONTINOUS ATTRIBUTE zeitpunkt date BASE ATTRIBUTE Die SQL Erweiterung CSQL 83 Dabei ist me wert das kontinuierliche Attribut und zeitpunkt das variierende Basisattribut Der Benutzer spezifiziert die Restriktion me wert gt 0 Wird diese Restriktion vor der Interpolation ausgewertet wird die Interpolation f r Tage an denen die Temperatur tags ber ber 0 Grad lag und nachts darunter wenn sie den sinusf rmigen Verlauf einer Temperaturkurve nachbil det f r die n chtlichen Zeitpunkte wieder negative Werte berechnen Diese m chte der Be nutzer aber gar nicht sehen Sie m ssen also nach der Interpolation entfernt werden Au er dem w rde die Interpolation insgesamt ungenauer weil ein Teil der Werte die negativen nicht mitber cksichtigt werden Einschr nkungen auf weiteren Attributen Die Anwendung von Interpolation impliziert eine Projektion auf ein kontinuierliches Attribut und die Basisattribute Nach einer Interpolation die aus Werten aus verschiedenen Tupeln einen neuen Wert berechnet l t sich ber die weiteren Attribute i a berhaupt k
112. der Me pegel auch noch die Bodenbeschaffenheit der Umgebung des zu interpolierenden Punkts hinzuzuziehen Solcher Abh ngigkeiten wird sich der Benutzer eher bewu t wenn er f r jedes Kontinuierliche Attribut eine andere Interpolationsfunktion defi nieren bzw spezifizieren mu Der CSQL Pr prozessor mu sp ter berpr fen k nnen ob Interpolationsverfahren auf kontinu ierlichen Attributen definiert wurden und ob die Benutzer die Interpolationsfunktionen auf die richtigen Attribute anwenden Zun chst m ssen die Me wertrelationen mit ihren kontinuierli chen und Basisattributen ausgezeichnet werden Dazu werden zwei Systemrelationen ben tigt weil die Anzahl der kontinuierlichen Attribute pro Relation und die Anzahl der Basisattribute pro kontinuierlichem Attribut nicht begrenzt sind Zu jedem Basisattribut wird au erdem festge halten ob es direkt in der Me relation steht oder ber einen Fremdschl ssel aus einer anderen Relation geholt werden mu Weiterhin werden zwei Systemrelation f r die Interpolationsverfahren selbst ben tigt Diese Re lationen m ssen enthalten wie ein Verfahren hei t f r welches kontinuierliche Attribut welcher Me wertrelation es anwendbar ist und welche Basisattribute variabel sind Die Anzahl der va riablen Basisattribute ist wiederum unbegrenzt Im derzeitigen Prototypen wird das folgende Die SQL Erweiterung CSQL 91 Schema hier in der DDL Syntax von INGRES SQL verwendet das allen oben gena
113. dieser Vorteil weniger deutlich aus F r die Interpolation ist die Tiefe in der anderen Relation ohnehin irrelevant Und die Zwi schenrelation mit den interpolierten Werten ist klein und der Verbund mit ihr ohne komplizierte Berechnungen durchzuf hren Ohne Tiefenbeschr nkung kostet damit die CSQL Anfrage nicht ganz doppelt so viel wie die entsprechende SQL Anfrage mit Tiefenbeschr nkung fast das 16fache Um zu sehen wie teuer eine Interpolation ist wurde Lauf 3 ohne STEP Werte und ohne die Einschr nkung der Tiefe gemessen Hier sieht man da bereits die erste Interpolation relativ teuer ist Die weiteren Interpolationen dagegen sind relativ g nstig zu haben Die Beispeilanfrage 3 wurde jeweils mit drei verschiedenen Zeitintervallen gemessen und zwar ber zwei Tage Lauf 1 ber eine Woche 7 Tage Lauf 2 und ber einen Monat 30 Tage Lauf 3 Die SQL Anfrage wurde jeweils zweimal gemessen einmal mit der zeitlichen Ein schr nkung in den Sichten a und einmal mit der zeitlichen Einschr nkung in der Anfrage b cpu_ms dio_cnt pfault_cnt Lauf Programm 930 96 15 la 2 Tage SQL 1540 105 0 2a 7 Tage SQL 4630 158 15 3a 30 Tage SQL 31820 880 25 lb 2 Tage SQL 33520 937 0 2b 7 Tage SQL 35250 908 14 3b 30 Tage SQL 517360 22233 75 1 2 Tage CSQL 1779920 76420 0 2 7 Tage CSQL 7307530 324300 3 30 Tage CSQL Die zweite fiir den Benutzer komfortablere SQL Version b ben tigt etwa zehnmal so
114. ding a Database to Support the Handling of Environ mental Measurement Data in Proc Symp on the Design and Implementation of Large Spatial Databases Santa Barbara Cal July 17 18 1989 LNCS Bd 409 Springer Verlag Berlin 1990 pp 147 165 Neug89a Leonore Neugebauer Datenbankunterst tzung f r ein langfristiges Umweltfor schungsprojekt in Proc 4 Symposium Informatik im Umweltschutz Karlsruhe 6 8 November 1989 Informatik Fachberichte 228 Springer Verlag Berlin 1989 pp 231 240 Neug90 Leonore Neugebauer Einbettung von Interpolationsverfahren in die Anfrage sprache SQL zur Bearbeitung von Umweltme werten in Proc Workshop Um weltinformatik 1990 FAW B 91002 II FAW Ulm 13 Februar 1991 pp 71 91 Neug91 Leonore Neugebauer Optimization and Evaluation of Database Queries Includ ing Embedded Interpolation Procedures in Proc acm SIGMOD 91 Int Conf on Management of Data May 29 31 Denver Colorado 1991 pp 118 127 Neum88 Neumann Karl H Eine Geowissenschaftliche Datenbanksprache mit Benutzer definierbaren Geometrischen Datentypen Diss TU Braunschweig 1988 168 Literatur Orac86 Oracle Corp The ORACLE Database Administrator s Guide Version 5 1 Oracle Part Number 3601 V5 1 1986 Oren86 Jack A Orenstein Spatial Query Processing in an Object Oriented Database Sys tem in ACM SIGMOD Record Vol 15 No 2 June 1986 pp 326 336 PeSp88 Lars Ole Pedersen Richard Spooner Datenorg
115. e Me wertrelation ist also ein Spezialfall einer Relation die alle Eigenschaften einer normalen Relation hat und noch eini ge mehr Formal sieht eine Me wertrelation wie folgt aus MR Aip1 Aibk Aicl Aicj Ail Ain lt D Aid X X D Aibk XD Aic1 X X D Aicj XD Ail X x D Ain ieN k j21 wobei die Aib die Basisattribute bezeichnen die Aic die kontinuierlichen Attribute und die Aj sonstige Attribute Jede Me wertrelation mu mindestens zwei Attribute ein Basisattribut und ein kontinuierliches Attribut aufweisen Eine wesentliche Eigenschaft der Basisattribute ist da sie einen Schl ssel oder zumindest einen Teil eines Schl ssels bilden Die Basisattribute enthalten den Kontext des Me werts oder der Me werte in jedem Tupel der die Me werte eindeutig gegen ber anderen Werten identifiziert Im Beispiel in Kap 6 2 3 ist der Me wert gdw_stand Grundwasserstand ein kontinuierliches Attribut Die zugeh rigen Basisattribute sind die Koordinaten x_koord und y_koord und der Zeitpunkt zeitpunkt Da das f r die Implementierung verwendete DBS INGRES INGR91a wie die meisten der heute weit verbreiteten relationalen DBS keinerlei Differenzierung von Relationen kennt wird diese Kennzeichnung der Me wertrelationen durch die in Abschnitt 6 2 3 beschriebenen DDL Erwei terungen und die in Abschnitt 6 4 beschriebenen zus tzlichen Systemrelationen implementiert Mit einem objekt
116. e function ben tigt die die folgenden Eingabeparameter er wartet e die Original Me wertrelation e die ENTRY und STEP Angaben f r jedes Basisattribut und Alternative Syntax und Optimierung 121 e eine Abbruchbedingung die angibt in welchem Bereich die STEP Werte generiert werden sollen Diese Funktion erzeugt praktisch ein kartesisches Produkt aus der Original Me wertrelation und den m glichen Interoplationspunkten Die Anzahl der Interpolationspunkte ist durch die Abbruchbedingung auf jeden Fall begrenzt Diese relationenwertige Funktion wird hier ext_table extended table genannt weil sie die Original Relation um einige Attribute erwei tert Die allgemeine Form die Syntax dieser Funktion k nnte so aussehen ext_table lt orig_relation gt lt var_attr_name1 gt entry1 step1 lt var_attr_namen gt entryn stepn lt stop_condition gt F r das Beispiel 1 s he der Aufruf dieser Funktion dann so aus ext_table gwmessung x_koord 50 0 0 y_koord 225 0 10 0 sqrt exp abs x_koord new_x_koord exp abs y_koord new_y_koord lt 500 Die Abbruchbedingung ist ein Ausdruck der die neu generierten variablen Basisattribute hier new_x_koord new_y_koord enthalten mu8 und einen booleschen Wert liefert Solange dieser Wert zu wahr ausgewertet wird werden Tupel um diese neuen Werte erweitert Es sind auch feste Abbruchbedingungen m glich die die alten Original Basisattribute nic
117. ebnisrelation ist auf das interpolierte kontinuierliche Attribut und die Basisattribute der Aus gangsrelation projiziert worden Bei den variierenden Basisattributen sind dann keine Verweise sondern die wirkliche Basis in der Relation enthalten Zus tzliche Attribute der Ausgangsrelati on wie z B die G te eines Me werts oder die Bauart eines Me brunnens die genau den Me tupeln zugeordnet gewesen sind sind dann i a nicht mehr sinnvoll Nur in Ausnahmef llen wenn z B die Werte eines zus tzlichen Attributs aller f r die Interpolation ben tigten Tupel gleich sind w re die Erhaltung dieses zus tzlichen Attributs sinnvoll Da dies nur sehr aufwen dig oder in anderen F llen gar nicht berpr fbar ist sollen zus tzliche Attribute bei der Inter polation grunds tzlich nicht in die Ergebnisrelation aufgenommen werden Wenn in einer Me relation mehrere kontinuierliche Attribute gef hrt werden wird durch eine Interpolationsfunktion immer nur eins bzw eine zusammengeh rige Gruppe z B Koordinaten zur Zeit bearbeitet Die brigen kontinuierlichen Attribute werden dann wie zus tzliche Attribu te behandelt Hier mu so vorgegangen werden weil i a jedes Kontinuierliche Attribut z B Raum oder Zeit ein anderes Interpolationsverfahren ben tigt das z B auch die f r die Interpo lation ben tigten Umgebungstupel nach anderen Kriterien ausw hlt Zus tzlich k nnten inner halb eines Tupels Werte f r einige kontinuierliche Attri
118. egangen da der Niederschlag am Tage unterschiedlich verteilt ist da verschiedene Tage sehr unterschiedliche Mengen von Niederschlag haben k nnen von Tagen ohne Niederschlag bis zu Tagen mit starkem oder ununterbrochenem Niederschlag und da die verschiedenen Monate unterschiedliche Niederschlagssummen aufweisen Das hier beschriebene Verfahren eignet sich zur Interpolation des Niederschlags in Nordeuropa oder hnlichen Klima zonen F r Klimagebiete mit sehr regelm igem Niederschlag Mittagsregen j hrlicher Mon sunregen ist es weniger geeignet F r die Interpolation von Niederschlag und hnlichen Me parametern haben wir in der g ngigen Literatur kein passendes Verfahren gefunden Das hier beschriebene Verfahren wurde in Diskussionen der Autorin mit dem Diplomanden Thilo Jahke Jahk91 und dem Mitarbeiter im Pflanzenbau Teilprojekt Thomas Entenmann siehe Kap 2 5 gefunden Eine detaillierte Beschreibung des Verfahrens findet sich in Jahk91 Das hier beschriebene Verfahren eignet sich zur Berechnung von Niederschlagswerten an ein zelnen Zeitpunkten oder Reihen von quidistanten Me werten mit demselben Me abstand wie die Original Me werte Das ist darin begr ndet da die Niederschlagswerte ber den Mefab stand hier 10 min aufsummiert werden Einzelne Werte stellen auch immer eine Aufsummie 138 Fallstudie rung ber diesen Me abstand dar Deshalb ist es auch nicht m glich Werte mit unregelm i gem Mefabst
119. eidimensionale Erzeugung von STEP Werten Insgesamt sieht die Syntax des zweiten Ansatzes wie folgt aus SELECT FROM Ri Rm SELECT f_agg m 1 bi bk b1 On FROM ext_table lt orig_relation gt lt att_namei gt entryi stepi lt new_att_namei gt lt att_namek gt entryk stepk lt new_att_namek gt lt stop_condition gt WHERE user defined restrictions GROUP BY bj new_bi new_bk Dn WHERE b1 bn Basisattribute bj bk variierende Basisattribute Die Anfrage aus Beispiel 1 in Kap 10 w rde dann also insgesamt so aussehen SELECT x_koord y_koord gdw_stand FROM SELECT gdw_stand weight_x gdw_stand x_koord y_koord new_x_koord new_y_koord 3 x_koord new_x_koord y_koord new_y_koord zeitpunkt FROM ext_table gwmessung x_koord 50 0 0 y_koord 225 0 10 0 sqrt exp abs x_koord new_x_koord exp abs y_koord new_y_koord lt 500 WHERE guete g AND zeitpunkt 29 03 88 GROUP BY new_x_koord new_y_koord zeitpunkt WHERE y_koord lt 350 0 Diese Syntax ist SQL hnlicher aber sie ist schwieriger zu lesen und erwartet vom Endbenutzer mehr Wissen ber Struktur und Inhalte der Datenbank sowie ber den Ablauf der Interpolation Statt nur zu wissen welche Interpolationsfunktionen es gibt mu der Endbenutzer wissen wel che Funktionen der Art von ext_table es gibt welche neuen Aggregationsfunktionen vorhanden Alter
120. eine Aussa ge mehr machen Deshalb m ssen Einschr nkungen auf weiteren Attributen zwingend vor der Interpolation ausgewertet werden Beispiel Wird z B bei Messungen des Grundwasserstands in Me pegeln jeweils vermerkt welche Person diese Messung durchgef hrt hat kann dieses Attribut Person nach der Interpolation keinen sinnvollen Wert mehr enthalten weil ja keine echte Messung durchgef hrt wurde Einschr nkungen auf variierenden Basisattributen Diese Einschr nkungen d rfen eigentlich erst nach der Interpolation ausgewertet werden weil sonst Tupel wegfallen k nnten die zur Interpolation herangezogen werden sollten Anderer seits k nnen diese Restriktionen bei fr hzeitiger Auswertung dazu dienen die Anzahl der In terpolationsvorg nge entscheidend zu verringern Ist bekannt in welcher Distanz von den eigentlichen Me punkten die Interpolationsfunktion noch g ltige Werte liefert kann eine sol che Restriktion nach Addition dieser Distanz auch vor der Interpolation schon ausgewertet werden Die Restriktion mu dann aber nach der Interpolation noch einmal berpr ft werden Da dieser Fall kompliziert ist soll er im folgenden ausf hrlich erl utert werden Einschr nkungen auf variierenden Basisattributen m ssen nach der Interpolation bzw aus Per formancegr nden vor und nach der Interpolation durchgef hrt werden Trotzdem kann es manchmal zu vom Benutzer unerwarteten Ergebnissen kommen bzw w nschenswerte Ergeb nismen
121. eit verk rzt wurde Bei den Messungen f r diese Arbeit wurden keine deutlichen Unterschiede zwischen dem ersten und weiteren direkt folgenden L ufen einer Anfrage festgestellt Bez glich des INGRES local cache l t sich dazu sagen da dieser Puffer bei jedem erneuten Aufruf von SQL oder CON NECT bei ESQL neu initialisiert wird was bei den jetzigen Messungen immer geschehen ist Bez glich des UNIX Dateipuffers l t sich nur vermuten da entweder INGRES seine Zu griffsstrategie so ver ndert hat da der alte Inhalt dieses Puffers keine Rolle mehr spielt Oder die Zeit die ben tigt wird um eine Seite in den Dateipuffer zu lesen wird gegen ber der gesamten Antwortzeit vernachl ssigbar gering Denn obwohl bei Anfragen mit vorheriger Dateipufferleerung tendenziell mehr page faults auftreten hat das keine Auswirkung auf die Antwortzeit F r Details siehe Tabelle A 1 im Anhang Lauf 1 bis 4 mit Dateipufferleerung im Vergleich zu Lauf 5 und 6 ohne Dateipufferleerung e Wie oben beschrieben hatte zwar die allgemeine Last des Rechners kaum einen Einflu auf die Me ergebnisse wenn jedoch auf derselben Datenbank parallel gearbeitet wird wirkt sich das leicht negativ auf das Antwortzeitverhalten aus Die reine CPU Zeit bleibt zwar gleich 152 Fallstudie jedoch steigt die Anzahl der page faults leicht so daB die Antwortzeit insgesamt etwas steigt Siehe Tabelle A 2 im Anhang Lauf 10 bis 12 im Vergleich zu den vorhergehenden L u
122. eiterverarbeitung von Me werten sind Statistiken Im Unter schied zum Diagramm wird hier bereits ein Zusammenhang zwischen mindestens zwei Me gr Ben hergestellt z B die Atmungsaktivit t der Gr nteile von Pflanzen im Verh ltnis zur Son neneinstrahlung Statistiken werden f r die gleichen Zwecke wie Karten und Diagramme ben tigt Zur einfachen Erzeugung von Statistiken und einfachen Diagrammen gibt es bereits einige kommerzielle Softwareprodukte Auch relationale DBS bieten meist ein geeignetes Werkzeug dazu an Allen diesen Programmen ist aber gemein da sie korrekte und vollst ndige Eingabe daten erwarten und auch keine Vollst ndigkeits oder Konsistenzpr fungen bernehmen 3 2 2 Modellbildung und Simulation Anspruchsvolle Anwendungen auf Me werten sind Simulationsprogramme und Modellrechnun gen unterschiedlichster Art Diese Anwendungen berechnen f r einen Ausgangszustand und f r einige ber die Dauer der Simulation gegebene Parameter das Verhalten von einem oder mehre ren anderen Parametern Beispiele sind ein Grundwasserstr mungsmodell oder ein Pflanzen wachstumsmodell Ein Grundwasserstr mungsmodell berechnet aus den Bodengegebenheiten und dem aktuellen Niederschlag den Flu des Grundwassers So l t sich z B die Verbreitung von Schadstoffen im Grundwasser vorausberechnen Ein Pflanzenwachstumsmodell berechnet die Entwicklung einer Pflanze abh ngig von verschiedenen Wetterparametern wie Temperatur Niederschlag
123. eits grobe Fehler entdeckt und dem Benutzer gemeldet e CSQL Anfragen CSQL Anfragen werden auch vollst ndig analysiert und auf syntaktische und semantische Korrektheit berpr ft Bei der Analyse wird parallel der Anfragebaum aufgebaut auf dem sp ter die gesamte Bearbeitung und Auswertung stattfindet Die Kapitel 8 4 bis 8 7 und 9 be fassen sich ausschlie lich mit dieser Gruppe von Anweisungen e CREATE Anweisungen Sie werden vollst ndig analysiert und auf syntaktische Korrektheit berpr ft Und es wird festgestellt ob sie f r CSQL relevante Teile enthalten Wenn ja werden die notwendigen Ak tionen vom Pr prozessor eingeleitet Auf jeden Fall wird die CREATE Anweisung evtl berei nigt an SQL weitergereicht e DROP Anweisungen Es wird gepr ft ob sie die Interpolation irgendwie betreffen Wenn ja werden vom Pr pro zessor entsprechende Aktionen ausgef hrt Anschlie end wird die Anweisung von SQL bear beitet Verarbeitung von CSQL 103 e DECLARE METHOD Anweisungen Sie werden analysiert und anschlie end vollst ndig vom Pr prozessor bearbeitet Das Einf gen der neuen Interpolationsmethode in die zus tzlichen CSQL Systenrelationen geschieht dabei auch mit Hilfe von SQL Anweisungen Die Bearbeitung der CSQL Anweisungen ist in Bild 8 2 dargestellt Das Element weitere Verarbeitung wird in den folgenden Unterkapiteln aufgeschl sselt und beschrieben CSQL Anweisung lexikalische Analyse LEX syntakt
124. ekten und Arbeitsgruppen wurde schon auf die mangelnde Eignung kon ventioneller DBS f r umweltbezogene Daten hingewiesen und L sungen f r Teilgebiete werden angeboten Bez glich temporaler Aspekte wurden die Anforderungen und die M ngel konven tioneller DBS schon ausf hrlich in JaMa86 SnAh85 und Gadi88 beschrieben Eine beson dere Behandlung von r umlichen Daten wird u a im PROBE Projekt Oren86 und in dem Geo Kernel System des DASDBS ScWa86 SPSW90 Wolf90 angeboten Auf das System DASDBS wird im Kapitel 4 3 im Zusammenhang mit erweiterbaren DBS noch n her eingegangen wer den Im Zusammenhang mit geographischen Datenbanken und einem Geo Objektmodell wird auch in LiNe86 die Forderung nach einer besonderen Behandlung von Raum und Zeit Attri buten aufgestellt Speziell f r die Speicherung geographischer Daten werden die sogenannten Geographischen Informationssysteme GIS angeboten Die GIS werden ebenfalls in Kap 4 n her beschrieben Inzwischen bieten auch einige kommerzielle relationale DBS Erweiterungen f r raumbezogene Daten an etwa die sog DataBlades in Informix Info96 oder ein entspre chender Spatial Extender in DB2 Davi98 Diese Systeme werden ebenfalls in Kap 4 3 mit betrachtet 3 3 1 Der Kontext von Me werten Zu jedem Me wert geh ren Angaben dar ber wann wo wie und unter welchen Bedingungen er erhoben wurde denn nur so hat er eine Bedeutung Diese Beschreibung der Kontext besteht
125. elanfragen 22 20 0 Ga a daw oe a Sew A 153 10 6 Bewertung der Ergebnisse 00 000 2b eee eee 155 11 Zusammenfassung und Ausblick 0 2 ce eee wee c eevee 157 12 Literatur a 38 2 FS a EE AE AEROS EI ET BS 161 Anhang Testanfragen und Me ergebnisse 2 2 222220 rer 173 vili 1 Einleitung Seit gut 30 Jahren werden Datenbanksysteme DBS erfolgreich zur Verwaltung gro er Daten mengen eingesetzt wie sie etwa im Bankwesen in der Verwaltung gro er Unternehmen oder bei weltweit arbeitenden Flug Reservierungssystemen anfallen Diese konventionellen bzw kommerziellen Anwendungen von DBS arbeiten alle mit Daten die relativ einfach strukturiert sind Durch die Erfolge im konventionellen Bereich ermutigt wird immer mehr versucht DBS auch in anderen Bereichen einzusetzen in denen gro e Datenmengen anfallen die aber komple xer strukturiert sind Gerade bei der Verwaltung und Verarbeitung komplex strukturierter Daten wird maschinelle Unterst tzung besonders dringend ben tigt Einer dieser Bereiche ist die Erforschung von Abl ufen in unserer Umwelt sowie die Einwir kungen des Menschen darauf z B durch Landwirtschaft Industrie und Verkehr Das ist heute eine wichtige Aufgabe um Ans tze f r wirksamen Umweltschutz und die Renaturierung bela steter Gebiete zu finden Die komplexen Zusammenh nge in unserer nat rlichen Umwelt k n nen nur interdisziplin r erfa t und erkl rt werden Nat rlich fallen
126. em SQL ein hnliches Ergebnis zu erhalten k nnte der Benutzer die folgende Anfrage formulieren SELECT 50 0 225 0 AVG gdw_ stand FROM gwmessung WHERE x_koord gt 40 0 AND x_koord lt 65 0 AND y_koord gt 215 0 AND y_koord lt 235 0 AND DATE_TRUNC DAYS zeitpunkt 29 03 88 Das Ergebnis w re dann bei den oben gegebenen Daten das Mittel aus den Werten 157 137 und 157 127 pl2 und p14 also 157 132 Hier mu der Benutzer genau wissen wie er die Grenzen f r die x und y Koordinaten zu set zen hat damit er ein akzeptables Ergebnis erh lt oder aber ausprobieren Bei den Originaldaten f hrte dies nach mehreren Versuchen zu der folgenden Einschr nkung WHERE x_koord gt 40 0 AND x_koord lt 65 0 AND y_koord gt 215 0 AND y_koord lt 235 0 AND Dann werden sieben Me werte ber cksichtigt und das Ergebnis lautet 157 150 Dabei wird f r den Benutzer sicher die Abweichung vom interpolierten Ergebnis von geringerer Bedeutung sein als die Tatsache mehrfach probieren zu m ssen bis in den angegebenen Grenzen eine ak zeptable Anzahl Tupel zu finden ist und dies auch durch Voranfragen berpr fen zu m ssen 2 Beispiel Ein Verbund zwischen berechneten Werten und Me werten Das zweite Beispiel zeigt einen Vergleich von Bodenproben und Grundwasserst nden imple mentiert durch einen Verbund Die Grundwasserst nde werden an den Stellen berechnet an de nen Bodenproben genommen wurden Die Bodenproben
127. en k nnen gr er Starburst bietet wichtige Spracherweiterungen um diese neuen selbst imple mentierten Funktionen wie z B Table Functions auch voll einsetzen zu k nnen Bei den Spracherweiterungen kann wieder in DDL und DML bzw Anfragesprache unterschie den werden Zun chst sollen hier die f r die am Anfang dieses Kapitels beschriebenen Daten typ und Funktionsdefinitionen notwendigen Erweiterungen aufgez hlt werden Technische Verarbeitung von Umweltdaten 57 F r die Handhabung von benutzerdefinierten Datentypen sollten noch mindestens folgende Spracherweiterungen eingef hrt werden e Syntax zur Definition von neuen Datentypen etwas wie CREATE DATATYPE DROP DATA TYPE und Schl sselw rter f r die m glichen Konstruktoren DDL e neue benutzerdefinierte Namen an jeder Stelle DML e Ansprechen von Komponenten in strukturierten Objekten etwa die Punktnotation in POSTGRES StRH90 DML Die Definition neuer Datentypen wird sich i a nicht auf eine Anweisung beschr nken k nnen wie sich der neue Datentyp aus vorhandenen zusammensetzt bzw wie er aus ihnen abgeleitet wird Das DBS ben tigt eine Reihe von Funktionen f r die Konvertierung bei der Ein Ausga be von Werten des neuen Datentyps f r die Anfrageoptimierung wie Statistiken zu sammeln sind und wie eine totale Ordnung auf den Werten definiert ist damit die blichen Speicher strukturen angelegt werden k nnen F r das Arbeiten mit benutzerdefinierten
128. en Anfragen an das DBS ist es wichtig da nicht nur neue Datenty pen und komplexe Objekte definiert werden k nnen sondern da diese auch dem Benutzer in angemessener Form vom DBS pr sentiert werden k nnen Es besteht zwar die in Abschnitt 4 4 3 angedeutetete M glichkeit sie vom Benutzer bei der Datentypdefinition spezifizieren zu lassen aber f r die vom System angebotenen Konstruktoren k nnen auch schon Mechanismen im System existieren POSTGRES Object Management von INGRES Zus tzlich k nnen neuartige Speicherstrukturen und oder Zugriffspfade angelegt werden f r folgende Zwecke e Die Eigenschaften der neuen Datentypen m ssen ber cksichtigt werden wie variabel lange Tupel und BLOBs e Mehrdimensionalit t geometrisch geographisch mu ber cksichtigt werden e Neue Speichermedien wie optische Platten k nnen einbezogen werden e Archive k nnen einbezogen werden Die M glichkeit neue Speichermedien verwenden zu k nnen ist wichtig wenn gro e Mengen Daten anfallen die nicht mehr ver ndert werden wie z B Bilder aller Art Neue Speichermedi en k nnen u U auch dann effizient genutzt werden wenn dies nicht explizit vorgesehen ist Technische Verarbeitung von Umweltdaten 59 aber umfangreiche Erweiterungen bzw Anderungen bei der Implementierung physischer Spei cherstrukturen und Zugriffspfade m glich sind Der Bedarf f r Versionenverwaltung und f r eine fast f r den Benutzer transparente Vertei lung de
129. en Standards gearbeitet wird ISO90 F r einige der oben genannten Erweiterungen existieren Vorschl ge im SQL Standard SQL2 SQL3 ISO90 Shaw90 Matt96 so da es voraussichtlich in einigen Jahren eine einheitliche 58 Technische Verarbeitung von Umweltdaten Syntax geben wird Der Standard SQL2 kann in mehreren Stufen verwirklicht werden In der letzten Stufe werden noch viele andere niitzliche Erweiterungen vorgeschlagen Einige die fiir die in dieser Arbeit verfolgten Ziele n tzlich sein K nnen werden hier aufgez hlt In Kapitel 9 wird n her darauf eingegangen e Wertebereichsbeschr nkungen domain constraints auch in konventionellen DBS schon teilweise verwirklicht e Schl sseldeklarationen in konventionellen DBS meist nur im Umweg ber eine entspre chende Speicherstruktur e referentielle Integrit t oder Fremdschl sselbeziehungen e rekursive Anfragen Modellierung von B umen oder Netzen e Orthogonalit t in SQL Date84 LiHa90 e Beschreibung von Integrit tsbedingungen Zur Orthogonalit t geh ren Erweiterungen wie e Schachtelung in der SELECT Klausel e Schachtelung in der FROM Klausel e Aggregationsfunktionen u an beliebiger Stelle in allen Anfragen 4 4 4 Andere Erweiterungen In diesem Abschnitt werden Erweiterungen von DBS vorgestellt die sich in die vorhergehen den Kapitel nicht direkt einordnen lassen und die nicht nur die Erweiterung der Datensprache betreffen Insbesondere bei interaktiv
130. en den Eindruck da GIS f r das hier beschriebene Projekt nicht ge eignet sind Bei einem so kleinen Me feld sind Kartenaspekte nicht so wichtig und f r die Ver arbeitung von Me werten werden keine Hilfen angeboten 4 3 2 Multimedia Datenbanksysteme Multimedia bzw Multimedia System sind Schlagworte die in der Informatik in den letzten Jahren immer h ufiger zu h ren sind Multimedia Systeme sind Systeme denen verschiedenen Programm Systeme Datentr ger und Endger te zugeordnet sind die sie Kombinieren und in tegrieren Typische Multimedia Daten sind Bilder z B Photographien Satellitenaufnahmen aber auch Graphiken Audio Sequenzen Musik gesprochener Text Videofilme aber auch freier Schrift Text Nat rlich gibt es auch konventionelle Daten allein schon um die Multi media Daten zu beschreiben Typische Anwendungen von Multimedia Systemen sind nach Wege91 a Archivierung b Unterrichtung z B Hypertext Systeme Werbung Animati on Unterhaltung Trickfilme c Entwurf und Publikation Edition und d berwachung z B Wetter berwachung Nat rlich lie der Wunsch nicht lange auf sich warten die Multimedia Daten in einem DBS ab zuspeichern so da dessen Vorteile genutzt werden k nnten So entstanden die Schlagw rter Multimedia Datenbanken bzw Multimedia Datenbanksysteme MMDBS Das bedeutet aber zun chst nicht da es MMDBS schon fertig zu kaufen gibt Bei der Suche nach einem geeig
131. er den Andere Beispiele f r Me werte sind Bodenproben zur Bestimmung der Zusammensetzung des Untergrunds die in einem Raster in verschiedenen festgelegten Tiefen gezogen werden oder Wetterdaten wie Au entemperatur die in diskreten Zeitintervallen aufgezeichnet werden Allen diesen Me parametern und ihren Basisgr en sind die folgenden Eigenschaften gemein 16 Me werte Umweltdaten und Umweltprojekte Sowohl Me daten als auch ihren Basiswerten liegen immer numerische Wertebereiche wie Gleitpunktzahlen Prozentangaben oder Zeitangaben Sekunden und Bruchteile davon zu Grunde Ihr eigentlicher Wertebereich ist eingeschr nkt auf ein Intervall daraus etwa Me beginn Me ende Zwar kann als Basis in manchen F llen auch eine Bezeichnung angegeben werden wie Parzelle P11 aber hier sollten dann in derselben Datenbank auch die Koordi naten der Parzelle etwa als Gleitpunktzahlen vermerkt sein Alle diese Wertebereiche weisen die Eigenschaften dichte Belegung und Stetigkeit auf Es gibt also keine undefinierten Stel len Dies gilt zumindest f r den praktischen Fall wenn Gleitpunktzahlen mit einer begrenz ten Anzahl Dezimalstellen hinter dem Komma verwendet werden Die Wertebereiche do mains f r Me parameter und Basisgr en dazu lassen sich also hnlich wie die rationalen Zahlen Q definieren Di c Q baw Dic 5 lxeZyeN i l n Umweltbezogene Me werte sind i a Stichproben eines kontinuierlichen technischen Vor
132. er die folgenden Anforderungen m glichst gut erf llt e Als Ergebnis sollte eine einfache gut weiter zu verarbeitende Datenstruktur geliefert wer den e Der Programmcode mu te bersichtlich aufgebaut und einheitlich strukturiert sein damit die Sprache und damit der Parser sp ter einfach erweitert werden k nnen e Der Programmieraufwand sollte so gering wie m glich sein e Das System sollte so portabel wie m glich werden F r die Sprache SQL war bereits eine bersichtliche korrekte kontextfreie Grammatik allge mein verf gbar Cain89 F r die CSQL Erweiterungen lie sich leicht eine bersichtliche korrekte Erweiterung dieser Grammatik aufstellen siehe Riet90 Anhang B Es bot sich also an die Analyse mit Hilfe von Parsergeneratoren durchzuf hren um den Programmieraufwand gering zu halten Ein weiterer positiver Effekt dabei ist da ein Parsergenerator die Konflikt freiheit also Korrektheit der eingegebenen Grammatik berpr ft Die Vor und Nachteile von Parsergeneratoren sind in Riet90 ausf hrlich diskutiert Um auch die Portabilit t des Gesamt systems sicherzustellen mu ten f r die Erstellung des Scanners und Parsers allgemein verf g bare Parsergeneratoren wie die Werkzeuge LEX lexikalische Analyse und YACC Yet 1 Dies wurde beim Entwurf von CSQL beachtet 102 Verarbeitung von CSQL Another Compiler Compiler SUN88 SUN89 verwendet werden Mit LEX und YACC wird ein LR 1 Bottom Up Parser erzeugt
133. er nderung des Quell codes implementieren Hier w re die Realisierung des zweiten Ansatzes sogar einfacher weil keine neuen Klauseln hinzukommen und so die Erweiterung des Parsers entf llt Mit Hilfe der Relationentypen lassen sich die zus tzlichen Systemrelationen vermeiden Das gilt f r beide Varianten Auch hier lie e sich dann ein direkter Vergleich der Leistung und des Implementie rungsaufwandes durchf hren In den letzten Jahren wurde noch eine weiteres Werkzweug entwickelt das geeignet sein k nn te die Akzeptanz von entsprechend angepa ten DBS auch bei skeptischen Anwendern zu er h hen Innerhalb von COM Component Object Model COM97 KiVS97 wurde die DB Schnittstelle OLE DB Object Linking and Embedding for Databases Blak97 entwickelt OLE DB erlaubt den Zugriff mit SQL sowohl auf Daten innerhalb von DBS als auch auf ande re Daten in tabellarischen Strukturen etwa in lesbaren Dateien Spreadsheets ISAM Dateien E Mails und nicht relationalen Datenbanken Wenn nun Anwender gelegentlich auf alte Daten zu greifen m ssen von denen gen gend Sicherungskopien vorhanden sind und die nicht zu um fangreich sind die sich nicht bzw nicht mehr im DBS befinden kann OLE DB eine gro e Hilfe sein denn alle DB Operationen sind auf diesen Daten m glich aber das aufwendige La den und wieder L schen der Daten entf llt Es m te aber noch gekl rt werden inwieweit sich Interpolation und andere Erweiterungen etwa f r r
134. er h her als bei einer einfachen Selektion Deshalb mu versucht werden die Anzahl der Interpolationsaufrufe soweit wie m glich zu reduzieren siehe Kap 9 Ein wesentlicher Teil der interpolationsbezogenen Anfrageoptimierung ist die Entschachtelung von geschachtelten Anfragen Zum Teil ist diese Entschachtelung sogar unbedingt notwendig n mlich dann wenn die Interpolation in einer inneren SELECT Klausel stattfindet Wird hier nicht entschachtelt mu die Kontrolle zwischen Interpolation und DBS wechseln das ist auf grund der Pr prozessor Implementierung s u aber nicht m glich Die Anfrage die der SQL Anfrageauswertung schlie lich bergeben wird unterscheidet sich nicht nur durch die tempor re n Relation en von der CSQL Anfrage Sie kann auch verein facht worden sein weil z B zus tzliche Attribute hinausprojiziert werden mu ten und auch Re striktionen auf diesen Attributen dann wegfallen Auch kann eine Entschachtelung vorgenom men worden sein siehe Kap 8 3 Am Schlu mu evtl noch das Ergebnis aufbereitet werden Der gesamte Ablauf ist in Bild 8 1 dargestellt Da vom verwendeten kommerziellen DBS INGRES kein Quellcode verf gbar war wurde das gesamte CSQL System als Pr prozessor realisiert Dadurch wird aber auch eine eventuelle Por tierung auf andere relationale DBS vereinfacht F r den Pr prozessor Ansatz wurde zun chst die Benutzerschnittstelle Ein und Ausgabe mit dem INGRES Forms System INGR91 na
135. er zu belasten Insbesondere sind auch alle verschiedenen Varianten von Entschachtelungen m glich Ein Nachteil jedoch ist da einige tempor re Rela tionen die durch die ext_table Funktion entstehen viel gr er werden Hier mu gen gend Plat tenspeicherkapazit t vorgehalten werden Das Lesen dieser gro en Zwischenrelation erfolgt je doch nur einmal und wird so insgesamt nicht l nger dauern als wenn die Originalrelation f r jeden STEP Wert neu gelesen werden mu Ein entscheidender Vorteil ist da hier die Opti mierung durch das DBS erfolgen kann und nicht vom Anwendungsprogrammierer abh ngig ist Alternative Syntax und Optimierung 131 So sind auch bei einem unerfahrenen Anwendungsprogrammierer akzeptable Antwortzeiten zu erwarten Die Syntax des zweiten Ansatzes ist zwar deutlich mehr an SQL angepa t und damit insgesamt orthogonaler als die CSQL Syntax aber auch nicht so einfach anzuwenden So mu sich der Endbenutzer etwa ber die Abbruchbedingungen und deren Formulierung selbst im Klaren sein Die Vorteile des zweiten Ansatzes werden also auch mit einigen Nachteilen erkauft Der zweite Ansatz eignet sich damit f r eine andere Zielgruppe als CSQL CSQL eignet sich f r mit SQL und DBS allgemein relativ unge bte Benutzer wenn erfahrene Anwendungsprogrammierer die Interpolationsfunktionen schreiben bzw die Anwendungsprogrammierer entsprechend unter st tzt werden Dann ist auch eine gewisse Optimierung und damit ein g
136. eraktiven Schnittstelle zum DBS und ei ner einzigen Anfragesprache aus Zu SQL gibt es immer auch eine in h here Programmiersprachen eingebettete Version Em bedded SQL INGR89b und in vielen F llen auch eine 4GL und andere Hilfsmittel wie Re portgeneratoren Maskensysteme u Diese k nnen dann auch analog um Interpolation erwei tert werden Da die Erweiterung einer bestehenden Anfragesprache weniger aufwendig ist kann ein Proto typ schneller zur Verf gung gestellt werden als bei der Entwicklung einer ganz neuen Benut zerschnittstelle F r SQL ist als freie Software eine fertige Grammatik als Eingabe f r die Parser Compiler Generatoren LEX YACC erh ltlich die einfach um weitere Typen von Anweisungen erweitert werden kann Die Anfragesprache die aus SQL und der Erweiterung um Interpolation auf Me datenrelatio nen mit kontinuierlichen Attributen entsteht wird im folgenden kontinuierliches SOL oder CSOL Continuous SQL genannt CSQL wird in Kapitel 6 behandelt 5 3 Die Schnittstelle zum DBS Es stehen prinzipiell zwei Alternativen zur Verf gung die Funktionalit t eines DBS bzw seiner interaktiven Benutzerschnittstelle zu erweitern Entweder werden die Erweiterungen direkt in das DBS eingebunden oder es wird ein Pr prozessor erstellt der die Erweiterungen erkennt und bearbeitet Die direkte Einbettung der Interpolationsfunktionen in das DBS h tte folgende Vorteile e Jede Anfrage wird nur einmal bearbeitet Jeder
137. erden Bei manchen DBS k nnen Erg nzungen einzelner Relationenschemata direkt vorgenommen werden bei manchen m sssen dazu die alten Relationen umgeladen gel scht und neu erzeugt werden Es ist jedoch in keinem DBS m glich die Geschichte dieser nderungen direkt zu speichern und bei Bedarf Me werte Umweltdaten und Umweltprojekte 29 auch auf ein lteres Schema zuzugreifen Uber die sogenannten Sichten Views ist es zwar m glich eine Relation in verschiedenen Formaten dem Endbenutzer bereitzustellen und dabei auch einfache Umrechungen vorzunehmen aber nur unter unterschiedlichen Relationenamen Seit wann eine neue Relation oder Sicht g ltig ist ist ebenfalls nur m hsam oder auch gar nicht herauszufinden Hier fehlt ein Werkzeug mit dem die Geschichte der einzelnen Relationen schemata nachvollzogen werden kann 3 6 3 Standard DBS Funktionen DBS bieten einen kontrollierten Mehrbenutzerbetrieb d h es k nnen mehrere Benutzer gleich zeitig Daten in verschiedenen Teilen Relationen Speicherseiten der DB ndern oder auch die selben Daten gleichzeitig lesen Dies ist f r die Arbeit in einem interdisziplin ren Umwelt Pro jekt wichtig und ausreichend DBS bieten dem Benutzer die M glichkeit Daten bestimmten Benutzern praktisch als Eigen tum zuzuordnen und erlauben diesen Benutzern dann Zugriffsrechte wie Lesen ndern Einf gen und L schen auf diesen Daten an andere Benutzer weiterzugeben Auch diese Funktion en
138. erkaufen mu Ein Spezialist zur Erweiterung Anpassung und Wartung des eingesetzten DBS wird gebraucht Vergleichbar ist dies mit der Tatsache da die Worksta tion auf dem eigenen Schreibtisch auch ohne das In House Netz nicht mehr oder nur sehr ein geschr nkt funktionsf hig ist man dadurch aber hohe und vielf ltige Funktionalit t und viel Plattenplatz gewinnt EDBS stehen zur Projektlaufzeit mit vollem Funktionsumfang nur als Forschungsprototypen zur Verf gung was bedeutete da sie auf heterogener Hardware i a nicht verf gbar waren bzw selbst angepa t werden mu ten Auch Aspekte wie verteilte DB und Archivierung standen bei ihnen nicht im Vordergrund Kommerziell erh ltliche DBS dagegen sind in diesen Aspekten f hrend daf r fehlten hier noch viele Erweiterungsm glichkeiten F r das Projekt innerhalb dessen diese Arbeit entstanden ist bedeutete das da ein kommer zielles System gew hlt werden mu te und die gew nschten Erweiterungen als Pr prozessor im plementiert werden mu ten Kapitel 6 8 Ein Vorschlag wie die Erweiterungen auf einem EDBS implementiert werden k nnten erfolgt in Kapitel 9 5 Interpolation von Mebwerten In diesem Kapitel wird allgemein die Integration von Interpolationsverfahren in ein DBS und in die Anfragesprache motiviert und vorgestellt Die verschiedenen Optionen die dabei vorhanden waren werden erl utert und die Entscheidungen begr ndet Dabei wird vorausgesetzt da die Interpo
139. erl lich Dies entspricht in etwa den Vorteilen die ein Sort Merge Verbund gegen ber einem Nested Loop Verbund hat Es k nnen hier die bekannten in Kap 8 5 beschriebenen Verfahren zur Entschachtelung ange wendet werden Kim82 BaW087 9 3 3 Optimierung in CSQL Im derzeitigen Prototyp CSQL System wird die in Kapitel 6 2 gegebene Syntax direkt ausge wertet s a Kapitel 8 Zur Zeit f hrt das System folgernde Optimierungen durch e Einschr nkungen die in WHERE Klauseln gegeben werden werden verwertet e Es werden Index Strukturen ber das DBS verwendet e Geschachtelte Anfragen die Interpolation in der inneren Unteranfrage enthalten werden ent schachtelt e Ob Zwischenergebnisse w hrend der Interpolation von Reihen aufbewahrt werden ist abh n gig von der Interpolationsroutine Aber diese L sungen haben einige Nachteile e Einige m gliche Optimierungen k nnen nicht angewendet werden Z B mu die Originalrela tion mehrmals gelesen werden weil f r jeden gegebenen STEP Wert einzeln interpoliert wird e Direkter Datenbankzugriff innerhalb der Interpolationsroutinen ist m hsam und verwirrend f r viele Anwender die ihre eigenen Interpolationsverfahren implementieren m chten Man kann von ihnen nicht erwarten da sie bei der Implementierung stets die Verarbeitungsge schwindigkeit bedenken und da sie anschlie end Benchmarks auf dem DBS laufen lassen um die am besten geeignete Daten bzw Indexstruktur f r ihr In
140. ern angeboten z B von INGRES mit der Object Management Extension Oracle Informix DB2 Sybase Ins besondere von POSTGRES kam die kommerzielle und konzeptionelle Weiterentwicklung Illustra Hlu94 heraus wobei der DB Server komplett neu codiert wurde Ston97 Illustra wurde dann 46 Technische Verarbeitung von Umweltdaten von Informix tibernommen Hier wurden die neuen Konzepte in den vorhandenen DB Server eingearbeitet Info96 Viele Konzepte von Starburst sind in das kommerzielle System DB2 ein gegangen Davi98 Die Erweiterungen werden dort Extender genannt z B gibt es einen Spati al Extender f r die r umliche Datenverarbeitung Interessant dabei ist da POSTGRES und Starburst die schon in der sehr groben Tabelle 4 2 am hnlichsten sind am direktesten in kommerzielle Produkte umgesetzt wurden also auch von den Benutzern am besten akzeptiert wurden mit der Ausnahme da seit Illustra auch SQL verwen det wird Die Idee aus EXODUS und GENESIS dem Benutzer der die Erweiterungen program mieren mu Hilfen ein sog Toolkit mitzuliefern wurde jetzt von Informix wieder aufgenom men Au erdem sind einige Konzepte aus GENESIS auch in die DB Schnittstelle von Microsoft f r Daten aus Datenbanken und anderen Datensammlungen OLE DB Object Linking and Em bedding for Databases innerhalb von COM Component Object Model COM97 eingeflossen s Blak97 Die folgende Klassifizierung der Funktionen und die Anforderungsliste b
141. ern k nnen Alle an deren benutzerdefinierten Funktionen k nnen dies nur wenn sie in Verbindung mit INSERT UPDATE oder DELETE Anweisungen angewendet werden Die zweite M glichkeit benutzerdefinierte Funktionen zu klassifizieren ist die Unterteilung nach Typ und Anzahl der Ein und Ausgabeparameter Hier bilden die Datenbankprozeduren die abgeleiteten Attribute und die Trigger Regeln Ausnahmen Datenbankprozeduren k nnen eine beliebige Zahl von Eingabeparametern beliebigen Typs und auch eine beliebige Anzahl von Ausgabeparametern beliebigen Typs haben Abgeleitete Attribute und Trigger Regeln k n nen eine beliebige Zahl Eingabeparameter beliebigen Typs haben Abgeleitete Attribute liefern immer einen skalaren Wert den Attributwert zur ck Trigger Regeln nur einen Statuscode In der folgenden Tabelle 4 4 werden der bersichtlichkeit halber in der oberen H lfte die in SQL vorhandenen Operationen und Funktionen aufgef hrt in der unteren H lfte dann die be nutzerdefinierten Prozeduren und Funktionen Technische Verarbeitung von Umweltdaten Funktion Operation Ein parm Eingabeparameter Ausgabeparameter Selektion WHERE Relation Relation Menge von bool Projektion SELECT Relation x Skalar Relation Kart Produkt FROM Relation x Relation Relation Vereinigung UNION Relation x Relation Relation Built in Funktion Skalar x Skalar Skalar Aggregationsfun
142. ert definiert werden Weiterhin mu dem System bekanntgegeben werden welche Interpolationsverfahren es gibt und auf welches kontinuierliche Attribut welcher Relation sie angewendet werden k nnen Da bei soll es m glich sein mehrere Interpolationsverfahren f r dasselbe kontinuierliche Attribut 74 Die SQL Erweiterung CSQL zu definieren denn es k nnen verschiedene gleichwertige Methoden existieren die von den Be nutzern unterschiedlich bevorzugt werden Oder es k nnen f r Interpolationen ber verschiede ne variierende Basisattribute unterschiedliche Interpolationsverfahren existieren Die Erweiterungen der DML m ssen so gestaltet werden da die volle M chtigkeit von SQL in allen Anfragen ohne Interpolation erhalten bleibt In Anfragen mit Interpolation sollte die volle M chtigkeit von SQL erhalten bleiben soweit dies sinnvoll erscheint Das hei t auch in Anfra gen mit Interpolation k nnen Projektionen Restriktionen Verbunde Vereinigung Gruppierung und Sortierung durchgef hrt werden Innerhalb einer Anfrage kann Interpolation f r ein oder mehrere kontinuierliche Attribute durchgef hrt werden Verbunde zwischen zwei Basisattribu ten oder einem Basisattribut interpoliert und einem normalen Attribut sind m glich Au er dem soll Interpolation auch innerhalb von geschachtelten Anfragen m glich sein Bez glich der Interpolation sollte der CSQL Anfrageteil folgendes leisten e Die Werte eines kontinuierlichen At
143. erten ausgewertet werden aus drei Gr nden 1 Die k rzeren schmaleren Tupel k nnen schneller verarbeitet werden 2 Die tempor re Relation wird kleiner Wenn die Restriktionen hoch selektiv sind kann die tempor re Relation sehr viel Kleiner werden 3 Nach der Aggregation sind die Werte der sonstigen Attribute nicht mehr g ltig und werden hinausprojiziert Sobald die Restriktionen auf diesen Attributen ausgewertet sind werden sie nicht mehr ben tigt und die Projektionen k nnen sofort durchgef hrt werden Wenn eine tempor re Relation ben tigt wird reduziert das die L nge der Tupel und erh ht so die Verar beitungsgeschwindigkeit 1 und 2 stimmen auch f r feste Basisattribute Sie stimmen jedoch nicht f r variable Basi sattribute Hier betreffen die Restriktionen die STEP Werte nicht die urspr nglichen Attribut werte W hrend der n chsten beiden Schritte Speicherung und erneutem Lesen der tempor ren Relati on kann die Verarbeitungsgeschwindigkeit nicht so betr chtlich verbessert werden Ob die Tu pel in der richtigen Reihenfolge gespeichert sind ob ein passender Index existiert oder ob die Tupel sortiert wurden nachdem sie in beliebiger Reihenfolge gelesen wurden die Gr enord nung ist immer O n log n wobei n die Anzahl der Tupel der tempor ren Relation ist Die Zeit die ben tigt wird um ein Tupel zu lesen oder zu speichern ist O log n und es gibt n Tupel Dies entspricht der durchschnittlichen
144. es Projekts Horkheimer Insel bestanden und wel che davon haupts chlich genutzt wurden Anschlie end werden neuere Entwicklungen von Da tenmodellen DM und DBS kurz beschrieben und auf ihre Eignung zur Strukturierung Ver waltung und Verarbeitung von Umweltdaten hin untersucht Bei den DBS werden insbesondere Objekt Orientierte DBS und Erweiterbare DBS n her betrachtet Einige neue DBS Entwicklun gen die zur Projektlaufzeit noch nicht verf gbar waren werden kurz vorgestellt Zum Schlu werden Anforderungen an ein auf Umweltdaten zugeschnittenes System aufgestellt 4 1 Existierende Systeme In allen natur und ingenieurwissenschaftlichen Projekten liegt die Verwaltung der anfallenden Daten zun chst bei dem der sie erhebt Die Verwaltung war deshalb bisher meist abh ngig vom Kenntnisstand und von der verf gbaren Zeit des Anwenders von verf gbaren Hilfsmitteln und vom Umfang der Daten Entweder wurden manuelle Aufzeichnungen auf Papier eingesetzt oder es wurden einfache sequentielle Dateien auf PCs oder auf Gro rechnern in Rechenzentren verwendet Der Umfang umweltrelevanter Daten w chst jedoch st ndig einerseits mit der Zeit spanne in der die Messungen durchgef hrt werden und andererseits durch immer bessere und genauere Me ger te Zus tzlich wird eine immer st rkere Kooperation zwischen verschiedenen Fachgebieten notwendig um komplexe Umweltprobleme erfassen zu k nnen Durch den gro en Umfang der Daten und durch die Ko
145. es sich bei dem neuen Operator um einen Vergleichsoperator handelt sondern auch da der jeweils Komplement re Operator auch bereitgestellt also definiert und implementiert wird zu gt zu lt gt zu lt und jeweils umgekehrt In der Operator Definition mu au erdem gesagt werden welches der komplement re Operator ist alle Operatoren erhalten eindeutige Nummern INGRES l t neben benutzerdefinierten Funktionen nur benutzerdefinierte Vergleichsoperatoren arithmetische Ope ratoren und automatische Typanpassungen coercion zu INGR9Ic Die notwendigen komple ment ren Vergleichsoperatoren sind hier die einzige Voraussetzung f r den Optimierer und der Benutzer wird hier im Handbuch deutlich darauf hingewiesen Je mehr benutzerdefinierte Ope ratoren ein System zul t und je aufwendiger die Anfrageoptimierung des Systems ist desto umfangreicher und komplizierter werden die Aufgaben des Datenbank Programmierers bei der Definition und Implementierung neuer Operatoren In Tabelle 4 5 werden noch einmal die verschiedenen M glichkeiten der Benutzer neue Funk tionen und Prozeduren zu definieren zusammengestellt soweit dies aus der zitierten Literatur hervorgeht 56 Technische Verarbeitung von Umweltdaten EXODUS POSTGRES Starburst GENESIS DASDBS Scalar Simple Functions CaDV88 p 421 StRH90 p 127 HFLP88 p 3 BaLW88 p 258 SPSW90 p 37 Operatoren fiir ben def Typen Ca
146. eschachtelten Relationen das sog NF Modell Non First Normal Form zugrunde liegt EXCESS die Sprache von EXODUS enth lt auch Konstrukte die es m glich machen ge schachtelte Relationen zu bearbeiten CaDV88 Au erdem wird in GrDe87 p 161 behauptet da in EXODUS auch andere als das relationale Datenmodell unterst tzt werden k nnen Es gibt aber bisher keine Implementierungen in dieser Richtung Die Tabelle 4 2 fa t diese Systeme ihre Datenmodelle Datensprachen und Konzepte zusammen EXODUS POSTGRES Starburst GENESIS DASDBS 2 Datenmodell relational u a relational relational funktional NF Datensprache relational und relational relational funktional ver relational Erweiterungen QUEL artig SQL artig mischte Konzepte QUEL artig Name d EXCESS POSTQUEL Hydrogen e g Sprache GEO QUEL Systemkon Toolkit relational relational Toolkit Kern zepte erweiterbar erweiterbar Architektur Tabelle 4 2 berblick ber die diskutierten EDBS Nat rlich sind die hier beschriebenen Projekte heute abgeschlossen und die Systeme so wie be schrieben nicht mehr verf gbar Aber die in diesen Projekten erarbeiteten Konzepte und gewon nenen Erkenntnisse sind in viele heute erh ltlichen objektorientierten Erweiterungen von rela tionalen DBS die sog objekt relationalen DBS kurz ORDBS eingeflossen Diese ORDBS auch Universal Server genannt werden heute von allen gro en DBS Herstell
147. esetzt Ein erfolg reich interpoliert wird zur ckgeliefert Fallstudie 139 In der derzeitigen Form ist das Verfahren nicht geeignet leicht verschobene Mefreihen bei l n geren Reihen fehlender Werte zu berechnen Das liegt daran da bei der Ermittlung des durch schnittlichen Regentags auch bereits berechnete Werte mit betrachtet werden Dies lie e sich bei Bedarf leicht ab ndern Au erdem darf man nicht Original Me werte und interpolierte Wer te zu anderen Zeitpunkten gemeinsam betrachten Hierbei w rde eine zu gro e Regenmenge vorget uscht Diese Einschr nkungen gelten nur f r Me werte bei denen aufsummiert wird also bei den in diesem Projekt aufgezeichneten Me parametern nur beim Niederschlag Der Be nutzer ist hier z Zt noch selbst f r ein korrektes Einsetzen der Interpolationsverfahren verant wortlich 10 2 3 Die Interpolation von Lufttemperatur Die Interpolation von Lufttemperatur wird hier stellvertretend f r die Interpolation von Wetter parametern beschrieben die als Kurve ber die Zeit aufgetragen ein ann hernd sinusf rmiges Verhalten zeigen und zwar bers Jahr und an jedem einzelnen Tag Diese Wetterparameter sind neben der Lufttemperatur alle Bodentemperaturen und alle Strahlungsparameter mit der Ein schr nkung da Strahlungswerte nicht negativ werden k nnen Auch hier gilt da das Verfah ren f r nordeurop isches Klima implementiert wurde und andere Klimazonen wie etwa tropi sc
148. esprochen wenn nur auf einer Seite einer Interpolationsstelle Me werte vorhanden sind die zur Interpolation herangezogen werden k nnen weil es entwe der keine weiteren Me werte mehr gibt oder weil diese zu weit entfernt sind Um zumindest unbegrenzte und unendliche Extrapolation zu verhindern m ssen die derzeitigen Interpolati onsfunktionen alle selbst berpr fen ob sie mit den in der DB vorhandenen Werten ber haupt sinnvoll interpolieren k nnen und dies dem CSQL System ber die Ausgabe mitteilen Trotzdem ist es h ufig kompliziert zu bestimmen ob noch weitere Werte interpoliert werden k nnen wie das Beispiel in Bild 9 1 zeigt m sgl Extrapolation lt gt Me werte HH H4 44 Zeit k k x ra dee a BT FR N ES TR RN a BR stellen Bild 9 1 M gliche und nicht m gliche Extrapolation an verschiedenen Stellen auf einer Zeitachse In Bild 9 1 zeigen die Pfeile wie weit von irgendeinem Me zeitpunkt aus die Interpolations funktion noch Werte liefert Zum Zeitpunkt ti liefert sie bereits zur ck da keine weitere In terpolation m glich ist Zum Zeitpunkt tj gt ti w re das aber doch wieder der Fall Erst zum Zeitpunkt tk ist endg ltig keine Extrapolation mehr m glich In diesem eindimensionalen Fall kann noch mit min max Werten gearbeitet werden Eine In terpolation Extrapolation ist genau dann nicht mehr m glich wenn die gew nschte Interpola Alternative Syntax und Optimierung 119 tionszeit
149. ew_ angesprochen werden In der SELECT Klausel des Subselects werden die Attribute der tempor ren Relation benannt Der bersichtlichkeit hal ber sollten sie den Attributnamen der Originalrelation entsprechen soweit die Attribute bernommen werden 2 Das Berechnen von interpolierten Werten aus umliegenden Werten hnelt den Aggregations funktionen Es mu also dem Benutzer erm glicht werden eigene m chtigere Aggregations funktionen zu definieren und zu programmieren Diese Aggregationsfunktionen sollten zus tz lich e konstante Eingabeparameter akzeptieren und e ganze Tupel oder Objekte bergeben bekommem Die folgende Funktion z B summiert Werte des Attributs m auf die nicht weiter als x Ma einheiten von einem gegebenen Wert meas_value entfernt sind SUM_DIST m meas_value x aufgerufen SUM_DIST gdw_stand r gdw_stand 10 Die zweite Beispiel Funktion berechnet das gewichtete Mittel der x dichtesten Me stellen WEIGHT _X m x_alt y_alt x_neu y_neu x aufgerufen f r Beispiel 1 WEIGHT_X gdw_stand x_koord y_koord new_x_koord new_y_koord 3 Vorn in der inneren Klammer stehen die betroffenen Attribute der Relation dahinter die Pa rameter der Punkt x_neu y_neu zu dem die dichtesten Me stellen gefunden werden sol len und die Anzahl x der zu ber cksichtigen Mef stellen 3 Um die ENTRY und STEP Angaben von CSQL darzustellen wird eine bestimmte Art von re lationenwertiger Funktion tabl
150. f r die Aufbereitung von Me da ten f r die Weiterverarbeitung bieten kommerzielle DBS praktisch keine Unterst tzung Hier bestehen aber gute M glichkeiten kommerzielle DBS um solche Komponenten zu erg nzen weil sie auf ein vorhandenes System aufgesetzt werden k nnen In dieser Arbeit soll nun ge zeigt werden wie Interpolationsfunktionen die bei der Aufbereitung von Me werten eine ent scheidende Rolle spielen in ein kommerzielles DBS integriert werden k nnen In diesem Zu sammenhang werden neben den Me werten haupts chlich r umliche und zeitliche Daten ben tigt deshalb werden solche Daten in dieser Arbeit an vielen Stellen besonders ber cksichtigt Zuvor werden bestehende Forschungsprototypen und in der Entwicklung befindliche DBS un tersucht in wieweit sie bei der Aufbereitung von Me daten zur Weiterverarbeitung durch Inter Me werte Umweltdaten und Umweltprojekte 33 polation eingesetzt werden k nnten wenn sie bereits auf dem Markt erh ltlich w ren Daraus werden Anregungen f r die eigenen Erweiterungen genommen Au erdem soll bei der Gestal tung der eigenen Erweiterungen ber cksichtigt werden da sie sp ter an ein erweiterbares DBS angepa t werden k nnten 34 Me werte Umweltdaten und Umweltprojekte 4 Technische M glichkeiten zur Verarbeitung von Umweltdaten In diesem Kapitel wird aufgezeigt welche M glichkeiten zur Verwaltung und Verarbeitung von Umweltdaten zu Beginn und zur Laufzeit d
151. fen 1 bis 6 Bei parallel laufenden reinen Anfragen auf derselben Relation l t sich bei SQL ebenfalls eine leichte Verschlechterung des Antwortzeitverhaltens feststellen siehe Lauf 14 Im CSQL System kann es bei parallelen Anfragen auf derselben Relation zu Verklemmungen kommen weil hier bedingt durch das Einrichten von tempor ren Zwischenrelationen z Zt die Sperren noch etwas restriktiver gesetzt werden In den INGRES Handb chern wird h ufig darauf hingewiesen da die Befehle optimizedb Aktualisierung der Statistiken f r die Anfrageoptimierung und sysmod Optimierung der Systemtabellen Laufzeitverbesserungen bewirken k nnen Statistiken waren f r die verwen dete Me datenbank schon lange eingerichtet Die Anwendung der oben genannten Befehle hat auch nach einigen Ver nderungen in der Datenbank zu Me zwecken keine deutlichen Verbesserungen gebracht Sie sind also nur nach wirklich gro en Ver nderungen erforderlich Andererseits laufen diese Befehle sehr schnell so da man sie ruhig einmal mehr laufen las sen kann F r Details siehe Lauf 30 und 31 im Vergleich zu Lauf 1 bis 6 Tabelle A 3 im Anhang Einen deutlichen Einflu auf die Antwortzeit hat jedoch die richtige Datenstruktur Zu Testzwecken wurden einige der Anfragen anfrl anfrlc anfr2d anfr3 anfr3a anfr3b auf Relationen laufen gelassen die zuvor in eine f r Bereichsanfragen wenig geeignete Struktur die Hash Struktur bez glich Seitenf llgrad e
152. g nach Systemfehlern und derglei chen m glich sind An diesen drei Beispielen kann man sehen da es erhebliche Probleme bei der Bereitstellung von BLOBs f r den Benutzer gibt Da mu zun chst eine Benutzerschnittstelle geschaffen wer den Bilder z B k nnen nicht einfach wie Zahlen oder eine Zeichenkette vom Endbenutzer am Bildschirm per INSERT eingef gt werden oder in eine Bildschirmmaske eingetippt werden Bei der Ausgabe gibt es hnliche Probleme Auch alle anderen Standard Funktionen eines DBS wie Transaktionsverwaltung Mehrbenutzerbetrieb und Wiederherstellungsm glichkeiten m ssen f r BLOBs neu durchdacht und evtl auch implementiert werden Man sieht am Beispiel der BLOBs da es aus diesen Gr nden es kaum m glich ist dem Benutzer die M glichkeit zur Er weiterung seines DBS durch beliebige neue Datentypen offen zu halten 4 4 2 Verschiedene Funktions und Prozedurerweiterungen in DBS Unter benutzerdefinierten Operationen oder Funktionen werden in den verschiedenen DBS ganz unterschiedliche Angebote des Systems an den Benutzer verstanden In diesem Kapitel werden die verschiedenen Funktionen zusammengestellt und systematisch klassifiziert Dabei sollen auch Funktionen genauer Funktionsschemata bestimmt werden die noch in keinem System angeboten werden aber dennoch n tzlich w ren Technische Verarbeitung von Umweltdaten 51 Die bisher in DBS und EDBS angebotenen Funktionen k nnen nach zwei Gesichtspunkten klassifi
153. g von Forschungsprojekten d h Projekten mit Zielsetzungen die sich im Laufe der Zeit ndern e die Unterst tzung von verteilter Me werterhebung und verarbeitung Neug89a Die Verwirklichung dieser Ziele erforderte eine Datenmodellierung die auf die speziellen Ei genschaften der Me werte und anderer Umweltdaten eingeht Eine Archivierung von Daten die zur Zeit nicht ben tigt werden war geplant Um auf Projekterweiterungen und nderungen schnell und flexibel reagieren zu k nnen wurde erwogen Versionen von Datenstrukturen ein zuf hren Es wurde ein Konzept f r die verteilte Datenhaltung erarbeitet das es erlaubt da jeder Pro jektpartner seine Daten selbst verwaltet aber auf Anforderung allen anderen lesenden Zugriff erlaubt Bei der Bereitstellung der Daten f r die Weiterverarbeitung mu te zun chst herausgefunden werden wie die Daten weiterverarbeitet werden sollten damit geeignete Erweiterungen des DBS daf r definiert und implementiert werden konnten Die Teilprojekte 9 2 8 Hard und Software Austattung des Projekts Die Rechner Ausstattung jedes Teilprojekts bestand aus einem Rechner der Workstation Klasse unter einem UNIX artigen Betriebssystem und dem relationalen DBS INGRES darauf Die Workstations in den Teilprojekten stammten von drei verschiedenen Herstellern Zus tzlich wa ren noch einige PCs vorhanden die zum Auslesen der Me ger te und als zus tzliche Terminals an den Workstations dienten Bis
154. gen lassen sich nicht spezifizieren Betrachtet man die Relation in einer Wetterdatenbank CREATE TABLE wetter_60 zeitpunkt date BASE ATTRIBUTE strahlung float CONTINOUS ATTRIBUTE guete_str vchar 3 mit der Basis zeitpunkt dem kontinuierlichen Attribut strahlung und dem sonstigen Attribut guete_str die Werte zur Intensit t der Sonneneinstrahlung und die Qualit t dieser Werte guete_str zu bestimmten Zeitpunkten an einer Wetterstation enth lt Der Strahlungswert ist 84 Die SQL Erweiterung CSQL umso h her je st rker die Sonne scheint nachts ist er gleich null Negative Strahlungswerte gibt es nicht bzw es sind fehlerhafte Messungen Durch einen Defekt des Me ger ts wurden nachts z T negative Werte aufgezeichnet Stellt nun der Benutzer die folgende Anfrage SELECT zeitpunkt strahlung FROM wetter 60 BY METHOD strahlung_intp strahlung ENTRY zeitpunkt 22 04 90 06 00 00 STEP 3 hours 0 minutes 0 seconds WHERE zeitpunkt lt 06 05 90 18 00 00 AND strahlung gt 0 so benutzt er die Restriktion strahlung gt 0 um damit fehlerhafte Aufzeichnungen auszublen den Es kann nun zu folgenden Ergebnissen kommen Wird strahlung gt 0 vor der Interpolation ausgewertet werden die fehlerhaften Werte ausgeblen det und passende Werte 0 werden von der Interpolationsfunktion siehe auch Fabr91 ge liefert Der Benutzer erh lt das gew nschte Ergebnis Wird die Bedingung erst nach der Interp
155. gerufen und entscheiden dann ob sie einen Wert zur ckliefern und wenn ja wie dieser Wert gefunden wird 5 2 Die Schnittstelle zum Benutzer In vielen Fallen wird der Benutzer eine Interpolation mit bestimmten Voraussetzungen wie Ein schr nkungen Schrittweiten nur einmal oder nur wenige Male aufrufen wie etwa bei spontanen interaktiven Anfragen bei der Aufbereitung der Daten f r Modellrechnungen oder Statistiken f r Projekt Pr sentationen Die wichtigste Schnittstelle f r den Endbenutzer der die Interpola tion nutzen will ist also die interaktive Bei den genannten Anl ssen werden in den meisten F llen nur ein ganz bestimmter Ausschnitt Zeitraum rtliche Begrenzung der Daten interpo liert Es ist also w nschenswert da Einschr nkungen genauer Selektionen wie sie in Anfra gen relationaler Sprachen definiert werden k nnen im Zusammenhang mit Interpolationen an gegeben werden k nnen Prinzipiell gibt es zwei M glichkeiten dem Endbenutzer einen interaktiven Zugriff mit Interpo lation auf Me daten zu erm glichen Entweder mu eine neue Schnittstelle daf r entworfen und implementiert werden oder die Interpolation mu in eine vorhandene Datenbankanfragesprache eingebettet werden Eine eigene Interpolationsschnittstelle k nnte in einer einfachen Version schlichter gestaltet werden und w re damit auch einfacher zu implementieren Sie h tte aber ei nige schwerwiegende Nachteile Der Benutzer m te eine weite
156. gesuchte Wert wird in die Ergebnisrelation eingetragen und ein erfolgreich interpoliert wird zur ckgeliefert 140 Fallstudie 4 Berechnung einer kleineren Reihe fehlender Werte bzw einzelner Werte aus dieser Reihe Als n chstes wird berpr ft ob am vorhergehenden und am n chsten Tag Werte am gesuchten Zeitpunkt vorhanden sind Damit auch Werte gefunden werden die nicht exakt 24 Stunden vor oder nach dem gesuchten Wert liegen wird in einer Umgebung des gesuchten Zeitpunkts gesucht Sinnvoll ist hier ein 6 das dem halben Me abstand entspricht bzw dem halben Me abstand minus einer Sekunde Wenn diese beiden Werte vorhanden sind wird aus diesen Werten linear gewichtet interpoliert Der gesuchte Wert wird in die Ergebnisrelation eingetra gen und ein erfolgreich interpoliert wird zur ckgeliefert 5 Berechnung einer gr eren Reihe fehlender Werte bzw einzelner Werte aus dieser Reihe Fehlen die Werte ber mehr als 24 Stunden hinweg mu aufwendiger interpoliert werden Zu n chst werden dazu s mtliche Tagesminmal und Tagesmaximalwerte berechnet Berechnet werden dabei nur die Werte an den Tagen an denen mindestens P 100 der Me werte vor handen sind 0 lt P lt 1 Fehlende Werte werden aus dem vorhergehenden und nachfolgendem Minimal bzw Maximalwert gemittelt Ist nur ein vorhergehender oder nachfolgender Wert vorhanden wird der fehlende Wert diesem gleichgesetzt Es m ssen auch hier nicht die Werte de
157. gr er ist als der maximale Me wert plus der m glichen Extrapolation Zum Zeit punkt tk steht dann sicher fest da Interpolation f r gr ere Werte nicht mehr m glich sein kann Aber im mehrdimensionalen Fall wird dieses Verfahren sehr aufwendig und die Ab bruchbedingungen sind kompliziert zu bestimmen insbesondere dann wenn das System auch mehrdimensional die STEP Werte erzeugt Hinzu kommt da die Interpolationsfunktion nicht wei ob der Benutzer eine einfache sinnvolle Bereichseinschr nkung f r die variablen Basisattribute gegeben hat Die aufwendige Abbruchbedingung wird immer berpr ft 9 2 Der zweite Ansatz F r den neuen Ansatz werden zun chst drei Erweiterungen von SQL eingef hrt die dann zu ei ner CSQL quivalenten Form kombiniert werden k nnen Nat rlich k nnen alle drei Erweite rungen auch einzeln genutzt werden In diesem Fall verlangen sie aber auch mehr Verst ndnis der Anfragesprache vom Benutzer Die folgenden Erweiterungen sollen auch an einem Beispiel gezeigt werden und zwar an einer Erweiterung des CSQL Beispiels 1 aus Kapitel 10 das im folgenden auch hier als Beispiel 1 bezeichnet wird Die gegebene Relation lautet gwmessung x_koord y_koord zeitpunkt gdw_stand gwm_id Es wird die Selektion von Grundwasserst nden an einer Reihe von bestimmten nicht gemesse nen Punkten gew nscht Die CSQL Anfrage lautet SELECT x_koord y_koord gdw_stand FROM gwmessung BY METHOD gdw_staende E
158. greich interpoliert wird zur ckgeliefert 4 Berechnung einer kleineren Reihe fehlender Werte bzw einzelner Werte aus dieser Reihe Als n chstes wird berpr ft ob am vorhergehenden und am n chsten Tag Werte am gesuchten Zeitpunkt vorhanden sind Damit auch Werte gefunden werden die nicht exakt 24 Stunden vor oder nach dem gesuchten Wert liegen wird in einer Umgebung des gesuchten Zeitpunkts gesucht Sinnvoll ist hier ein 6 das dem halben Me abstand entspricht bzw dem halben Me abstand minus einer Sekunde Wenn diese beiden Werte vorhanden sind wird aus diesen Werten linear gewichtet interpoliert Der gesuchte Wert wird in die Ergebnisrelation eingetra gen und ein erfolgreich interpoliert wird zur ckgeliefert 5 Berechnung einer gr eren Reihe fehlender Werte bzw einzelner Werte aus dieser Reihe Fehlen die Werte ber mehr als 24 Stunden hinweg mu aufwendiger interpoliert werden Be trachtet wird ein Intervall von Tagen vor und nach dem gesuchten Me zeitpunkt Die Inter vallbreite ist einstellbar und mu auch nicht vor und nach dem Me zeitpunkt gleich sein Es werden nur Tage betrachtet an denen die Me werte oder auch interpolierten Werte vollst ndig vorhanden sind Aus diesen Werten wird ein durchschnittlicher Regentag berechnet d h es wird aufgeschl sselt wieviel Prozent des Regens in welchen Zeitr umen fallen Der f r den gesuchten Zeitraum ermittelte Wert wird als Interpolationsergebnis eing
159. h lt die eindeutige Identifikation der Probe probe_id den Namen des Versuchsleiters leiter die eindeutige Identifikation der Grundwasserme stelle aus der sie stammt gwm_id und die folgenden Me parameter den Mittelwert der Durchl ssigkeit kf10 kf_10 den spezifischen elektrischen Widerstand am entw sserten Kern spez_r_ent den spezi fischen elektrischen Widerstand am wasserges ttigten Kern spez_r_wass die Leitf higkeit des Wassers leitf_wass die entw sserbare Porosit t in entw_poros die Restfeuchte die Ge samtporosit t nach der Formel ntot ne n ntot_1 und die Gesamtporosit t nach einer weite ren Formel not LY PT 1000 2 7 PL A ntot_2 Die Forscher im Wasserbau Teilprojekt mu ten h ufig mehrere sehr hnliche nach nur leicht unterschiedlichen Methoden zu bestim mende Parameter in ihre Messungen und Berechnungen aufnehmen um sich nach allen Seiten gegen den Vorwurf unvollst ndiger Arbeit abzusichern Fallstudie 135 Jede Probe sofern sie nicht aus Felsgestein besteht wurde abschlie end mehrfach durch Siebe mit verschiedenen Gittergr en gesiebt Die Ergebnisse sind in der Relation siebanalyse festge halten F r jede Siebgr e gibt es f r jede Probe ein Tupel Jedes Tupel enth lt hier einen eige nen Identifikator sieb_id die Zuordnung zur Bohrprobe probe_id den Abschnitt der Probe in m unter Gel nde tiefe_oben tiefe_unten das Gewicht der Gesamtprobe gesamt_gewicht das Gew
160. h davon aus da das unterliegende DBS einige Eigenschaften der EDBS besitzt siehe Kap 4 die auf dem im Projekt verwendeten DBS INGRES noch nicht alle gegeben waren Anschlie end werden die m glichen Ansatzpunkte f r Optimierungen in der Anfrageauswer tung f r Anfragen mit eingebetteter Interpolation beschrieben Es wird herausgestellt welche Optimierungen f r CSQL Anfragen m glich sind und welche erst im zweiten Ansatz angewen det werden k nnen Im letzten Unterkapitel Kap 9 4 werden beide Ans tze gegeneinander ab gewogen und es wird gezeigt welcher Ansatz f r welche Anwendungssituation eher geeignet ist 9 1 Gr nde f r einen zweiten neuen Ansatz Die in Kapitel 6 gegebene CSQL Syntax ist f r den Endbenutzer zwar leicht zu verstehen hat aber einige Nachteile insbesondere f r den ge bteren SQL Benutzer Bei CSQL Anfragen ist keine direkte Umformung in ein Relationenkalk l m glich Gerade dieser formale Hintergrund ist aber einer der wesentlichen Vorteile von SQL Das Ergebnis einer SQL Anfrage ist damit immer genau definiert Das Ergebnis einer CSQL Anfrage ist nat rlich auch immer genau definiert Es ist nur keine so einfache direkte kurze Umformung in das Relationenkalk l m glich e Wenn Einschr nkungen f r Basisattribute in der WHERE Klausel gegeben werden kann der Benutzer nicht spezifizieren ob sie vor oder nach der Interpolation angewendet werden sol len Eine ausf hrliche Beschreibung dieses Problem
161. h gut gestalteten und funktionellen Eingabeschnittstelle macht zwar immer noch einige M he ist aber in einer Zeit zu bewerkstelligen die zu dem erreichten Nutzen in einem guten Verh ltnis steht Zu Be ginn des Projekts war das noch nicht so Die Implementierung einer guten Eingabeschnittstelle erforderte einen deutlich h heren Aufwand z B mit Embedded SQL C und konnte dann nach der Fertigstellung auch nur mit gr erem Aufwand an neue W nsche der Anwender angepa t werden Bei der bertragung von Daten von Disketten oder aus Datenloggern auf den Rechner m ssen die Me werte h ufig erg nzt werden etwa um Versuchsnummern oder Jahreszahlen beim Da tum Auch hier m ssen w hrend des Einlesens automatische berpr fungen stattfinden um In konsistenzen oder Abweichungen von der Regel aufzudecken die z B durch einen Defekt des Me ger ts oder mangelnde Stromversorgung verursacht sein k nnen Passende Eingaberoutinen lassen sich relativ einfach mit Embedded bzw Dynamic SQL programmieren In einfachen F llen reichen Massenlader Befehle zusammen mit Datenbankprozeduren zur Konsistenzpr fung Die direkte bertragung von Daten aus dem Me ger t in die Datenbank soll hier nur kurz er w hnt werden In dem in Kapitel 2 beschriebenen Projekt kam sie nicht vor weil keine geeig nete Leitung zum Testfeld hin bestand Prinzipiell bestehen hier die gleichen Anforderungen wie bei der bertragung von Diskette oder Datenlogger Nur die sofo
162. h to Databases for VLSI CAD in Proc of the 11 Conf on Very Large Data Bases VLDB Stockholm Sweden 1985 pp 13 24 ANSI86 American National Standards Institute Database Language SQL Document X3 135 1986 auch verfiigbar als International Standards Organization Document ISO 9075 1987 E ANSI89 American National Standards Institute Database Language SQL with integrity en hancement Document X3 135 1989 auch verfiigbar als International Standards Or ganization Document ISO 9075 1989 E ANSI89a American National Standards Institute Database Language Language Embed dings Document X3 168 1989 Baye85 Rudolf Bayer Database Technology for Expert Systems in Internationaler GI Kongress 85 Wissensbasierte Systeme Informatik Fachberichte 112 Springer Ver lag Berlin Februar 1985 pp 1 16 BaZi95 Annegret Baumewerd Ahlmann Leonore Zink Umweltdatenbanken in Umweltin formatik Informatikmethoden fiir Umweltschutz und Umweltforschung 2 Auflage B Page L M Hilty Hrsg Handbuch der Informatik Bd 13 3 R Oldenbourg Ver lag Miinchen 1995 pp 101 124 162 Literatur BBGS88 D S Batory J R Barnett J F Garza K P Smith K Tsukuda B C Twichell T E Wise GENESIS An Extensible Database Management System in IEEE Trans actions on Software Engineering Vol 14 No 11 November 1988 pp 1711 1730 BDHS96 Peter Buneman Susan Davidson Gerd Hillebrand Dan Suciu A Query Language and Optimiza
163. he Gebiete mit sehr gleichm iger Temperatur evtl Modifikationen erfordern w rden Das hier beschriebene Verfahren wurde aus dem in FrTh84 beschriebenen entwickelt und ist in Jahk91 ausf hrlich dargestellt In den ersten vier Punkten gleicht dieser Algorithmus dem aus Kap 10 2 2 Der Vollst ndigkeit halber sind hier aber alle Punkte noch einmal aufgef hrt 1 Auspacken des Eingabestrings und berpr fung ob die entsprechende Relation in der DB vorhanden ist 2 Zun chst wird berpr ft ob der gesuchte Wert in der Me relation oder dem Me view vor handen ist In diesem Fall wird nicht interpoliert der gesuchte Wert in die Ergebnisrelation eingetragen und ein erfolgreich interpoliert zur ckgeliefert Es wird auch gepr ft ob der gesuchte Wert bereits in der Ergebnisrelation steht Das ist beim derzeitigen CSQL System nicht m glich In diesem Fall w rde nichts getan und ein Erfolg zur ckgeliefert 3 Berechnung einzelner fehlender Werte oder von Werten zu anderen Me zeitpunkten Es wird berpr ft ob Me werte in der Umgebung des gesuchten Wertes vorhanden sind Die Umgebung wird hier durch ein Vielfaches des Me abstands definiert Sinnvoll erscheint hier bei st ndlichen Messungen etwa ein Vielfaches von zwei bei zehnmin tigen Messungen ein Vielfaches von bis zu sechs Der n chst gr ere und der n chst kleinere Wert werden selek tiert und aus diesen Werten wird linear gewichtet interpoliert Der
164. hen Bereicheinschr nkungen nur jeweils eine Interpolation CSQL bzw eine Aggregation reines SQL enthalten Die Ergebnisse im einzelnen lauten bio_cnt cpu_ms dio_cnt et_sec pfault_cnt Programm 0 SQL 0 CSQL Damit ben tigt die CSQL Anfrage ca viermal so viel Zeit wie die SQL Anfrage Wie in Kap 10 5 2 herausgefunden ben tigen auch SQL Anfragen im CSQL System die doppelte Zeit Die weitere zeitliche Verz gerung ist dadurch bedingt da f r die Interpolation die Anfrage in mehrere Anfragen aufgeteilt wird siehe Kap 10 2 Die Beispielanfrage 2 wurde jeweils zweimal gemessen einmal ohne Lauf 1 und einmal mit der in Kap 10 3 beschriebenen Einschr nkung der Tiefe die vor allem die Menge der Ausga betupel einschr nkt Zus tzlich wurde im CSQL System noch eine Variante der Anfrage mit nur einer Interpolation ohne STEP Angabe auch ohne Tiefeneinschr nkung gemessen 154 Fallstudie bio_cnt dio_cnt et_sec pfault_cnt Lauf Programm 17 438 11 0 l SQL 6 39 1 2 tiefe lt 20 SQL 688 18 l CSQL 658 16 2 tiefe lt 20 CSQL 234 6 3 ohne STEP CSQL Es f llt auf da die SQL Anfrage durch die Tiefeneinschr nkung deutlich gewinnt Daraus kann man schlie en da der Optimierer erkennt da diese Einschr nkung vorgezogen ausge wertet werden kann und so den Umfang der notwendigen durch die Berechnungen sehr teure Verbundoperation deutlich einschr nkt Im CSQL System f llt
165. hner auf dem die Datenbank liegt F r diese Arbeit wurden jedoch nur Messungen auf einem Rechner durch gef hrt Zur Betrachtung der Me ergebnisse wird dann am besten eine Sicht definiert die die Differenzen aus den Vorher Nachher Werten bildet und evtl uninteressante Informationen ausblendet Diese Me anfragen k nnen sowohl von SQL und ISQL als auch von CSQL in der interaktiven und in der zeilenverarbeitenden Form bearbeitet werden Die Anlaufzeit der Systeme wird dabei nie mitgemessen Es empfiehlt sich die Anfragen aus vorbereiteten Dateien einlesen zu lassen zeilenorientierte Varianten da sonst die Zeit zum Eintippen oder Einkopieren in _et_sec mit gemessen wird Die Leistung die diese Me anfragen selbst ben tigen ist mit ca 120 CPU msec und drei bis sechs Plattenzugriffen vernachl ssigbar gering Die insgesamt verstrichene Zeit _et_sec ist in der Einheit sec berhaupt nicht me bar Fallstudie 151 Eine andere M glichkeit f r Leistungsmessungen h tte darin bestanden entsprechende Statusin formation des Betriebssystems aus dem CSQL Programm heraus abzufragen und gesondert aus zugeben Das h tte jedoch eine wenn auch geringe nderung der CSQL Programme gefor dert Dann w re auch ein direkter Vergleich mit SQL Anfragen die ber die Original SQL Schnittstelle gestellt werden nicht m glich gewesen Deshalb wurden die Messungen allein mit den INGRES Statusvariablen durchgef hrt 10 5 2 Antwortzeitverhalte
166. ht enthalten wie z B new_x_koord lt 150 0 AND new_y_koord lt 350 0 Feste Bedingungen die die alten variablen Basisattribute nicht enthalten brauchen nur ein mal pro generiertem Wertepaar ausgewertet zu werden w hrend die variablen Bedingungen f r jedes einzelne Tupel ausgewertet werden m ssen Bei allen Bedingungen mu berpr ft werden ob sie berhaupt geeignet sind die Generierung von STEP Werten abzubrechen Obergrenzen f r negative Schrittweiten w ren z B sinnlos Diese berpr fung ist innerhalb dieser ext_table Funktion einfacher als w hrend der Steuerung der Interpolation Es K nnte auch sinnvoll sein mehrere derartige Funktionen f r verschiedene Arten von Abbruchbedin gungen bereit zu halten Prinzipiell treten bei den variablen Abbruchbedingungen die gleichen Probleme auf wie sie in Kap 8 7 beschrieben wurden siehe Bild 9 2 Wenn jedoch die Formel zur Berechnung in der Abbruchbedingung schon gegeben wurde k nnen hier die Kombinationen von Ex tremwerten aller Dimensionen eingesetzt werden Wenn dann mit der in SQL Anfragen blichen Gruppierung nach den neuen Variablen und den festen Basisattributen gruppiert wird l t sich die jeweils richtige Eingabe Untermenge f r die Aggregationsfunktion bestimmen 122 Alternative Syntax und Optimierung gt Reihenfolge in der die STEP Werte die die Abstandsbedingung erf llen erzeugt werden z B mit dem Algo rithmus von Kap 8 7 Bild 9 2 Zw
167. htelten Anfragen die nicht entschachtelt werden k nnen wie sie von Hellerstein und seiner Arbeitgruppe mehrfach beschrieben wird HeSt93 HeNa96 Hell98 Die dort vorgeschlagenen Verfahren k nnen aber nicht direkt ber nommen werden denn Interpolation Kann nicht einfach als teures Pr dikat betrachtet werden Interpolation sollte bei der Anfrageauswertung so fr h wie m glich durchgef hrt werden weil der Anfrageoptimierer f r die Optimierung der Restanfrage Informationen ber die Ergebnis relation aus der Interpolation ben tigt Au erdem m ssen die in Kap 6 2 4 Tabelle 6 1 gegebe nen Einschr nkungen f r die Auswertungsreihenfolge unbedingt beachtet werden Es mu des 128 Alternative Syntax und Optimierung halb eine Art zweistufiger Optimierung durchgef hrt werden Zun chst wird die Interpolation optimiert und dann unter Einbeziehung der Interpolationsergebnisse die Restanfrage Wenn ein als Pr prozessor konzipiertes System verwendet wird kann auch gar nicht anders gearbeitet werden Zun chst einmal wird die Anzahl der Interpolationen schon durch das m glichst fr hzeitige Auswerten geeigneter Restriktionen Pr dikate deutlich verringert und zwar genau in der Gr enordnung wie auch die Anzahl der Lesel ufe der Originalrelation verringert wird Um die Anzahl der Interpolationen insgesamt zu reduzieren ist das Entschachteln von Anfra gen die Interpolation in den inneren Unteranfragen enthalten un
168. hten hier im konkreten Beispiel CREATE VIEW Onkel AS SELECT Vater x Bruder y FROM Vater Bruder WHERE Vater z Bruder z Wenn die Relationen Vater und Bruder u a die o g Fakten enthalten wird die Ergebnisrela tion das Tupel Sarina J rgen umfassen Probleme die durch die Symmetrie der Bruder Re lation und durch eine etwaige Rekursion in der Anfrage bei ganzen Ketten von Briidern entste hen seien hier nicht betrachtet Integrit tsbedingen lassen sich formal auf die gleiche Art dar stellen z B da Personen die in die Vater Relation aufgenommen werden d rfen m nnli chen Geschlechts sein m ssen Geschlecht z mannlich lt Vater x z In der Praxis relationaler DBS ist die Definition von Integrit tsbedingungen aufwendiger weil zus tzlich gesagt werden mu wann die Integrit tsbedingung berpr ft werden soll und was bei einer Verletzung der Integrit tsbedingung geschehen soll 42 Technische Verarbeitung von Umweltdaten Bei der Betrachtung der neuen Fakten die durch Anwendung von Regeln entstehen fallt auf da es sich hier um Fakten handelt die etwa in einem Entity Relationship DBS als Beziehun gen bezeichnet w rden nicht als Objekte Oder anders gesagt es werden keine neuen Konstan ten oder Werte durch die Anwendung von Regeln geschaffen Und aus einer endlichen Menge von Fakten und einer endlichen Menge von Regeln lassen sich wenn man z B von dem Pro blem der
169. ich gar nicht ben tigt Die Ergebnisse von Aggregationen auf in terpolierten kontinuierlichen Attributen sind denen der nicht interpolierten i a sehr hnlich Das Maximum der interpolierten Werte eines Intervalls wird dicht beim Maximum der ge messenen Werte liegen Das Maximum der interpolierten Werte kann gr er sein als das ge messene Maximum wenn zur Interpolation z B eine Sinusfunktion untergelegt wird Z B wenn am hei esten Tag des Sommers die Messung zu der Uhrzeit fehlt zu der gew hnlich das Tagesmaximum gemessen wird Da Interpolation jedoch auch angewendet werden kann um Me reihen zu gl tten sollten solche Anfragen dennoch bearbeitet werden Insbesondere die Summierung von interpolierten Werten kann sinnvoll sein Fragen und Probleme bei der Einbettung Es ist wichtig zu kl ren was geschehen soll wenn ein Benutzer die Interpolation f r einen in der Datenbank vorhandenen Wert spezifiziert Dieses Problem wird hier in die Interpolations funktionen verlagert Es darf Funktionen geben die diese Werte nur aus der Datenbank lesen Die SQL Erweiterung CSQL 89 und solche die sie auch berechnen Die Interpolationsfunktionen miissen entsprechend doku mentiert werden so da die Benutzer die Ergebnisse richtig interpretieren k nnen Wenn auch diese Werte berechnet werden kann man die Interpolation gezielt einsetzen um Unregelm ig keiten in den Messungen aufzusp ren Ein anderes Problem kann entstehen we
170. icht der Bruchst cke bru_gewicht das Volumen der Probe und die Korndichte Im Geohydrologie Projekt sind noch viele weitere Daten angefallen etwa bei durchgef hrten Pump und Tracerversuchen Da diese Daten in den Beispielen nicht gebraucht werden werden sie hier der Einfachheit halber weggelassen Das vollst ndige Schema der Teildatenbank des Wasserbau Teilprojekts sowie eine kurze Erkl rung aller Me parameter sind in Kaja89 Kueb89 zu finden Im Pflanzenbau Teilprojekt wurde einerseits das Wetter aufgezeichnet weil es beim Wachstum der Pflanzen eine entscheidende Rolle spielt sowie einige Parameter zum Pflanzenwachstum F r die Beispiele hier sowie f r Leistungsmessungen sind nur die Wetterdaten interessant des halb werden nur sie hier beschrieben Die Relation wetter_info enth lt Zusatzinformationen zu den eigentlichen Wetterdaten Die Parameter der Relationen wetter_10 und wetter_60 werden hier beschrieben Zu jedem Parameter wird gesagt was gemessen wurde messwert auf welchem Kanal der Me station gemessen wurde kanalnr die Einheit in der gemessen wurde z B Grad C oder Liter m der Typ des Me sensors wird angegeben sensortyp die Relation wetter_10 oder wetter _60 und der Attributname werden genannt sowie Beginn und Ende der Messungen Nicht alle Parameter wurden ganzj hrig und w hrend der gesamten Projektlaufzeit erhoben Die Relation wetter_10 enth lt die Parameter die i a im Abstand von 10 min erhoben
171. ie ganzen Tupel der untergeordneten Relation zu verweisen Dabei m ssen bergeordnete Relatio nen nicht unbedingt Me werte enthalten F r zwei Relationen R und R gt mit den Tupeln r all a12 aln E R r2 a21 42m b1 bk m2 R2 mu f r eine hierarchische Beziehung gelten a2 lt a j c Dj f r alle aij aus denen sich der Schl ssel bzw Fremdschl ssel zusammensetzt Dabei befindet sich ajj in der bergeordneten Relation Die Relation R k nnte zum Beispiel einen Versuch Grundwassestandsmessungen an verschiedenen Mefistellen beschreiben w hrend R2 eine einzelne Me reihe Messungen an ei nem Pegel zu diesem Versuch enth lt 18 Me werte Umweltdaten und Umweltprojekte Unter einer Querbeziehung soll hier verstanden werden da beide Me reihen im Sinne der o g Hierarchie auf einer Ebene liegen und damit gleichwertig sind Messungen die dieselben Basis attribute haben z B Weltkoordinaten k nnen ber diese Attribute miteinander in Beziehung gebracht werden Bei einer Querbeziehung zwischen zwei Me reihen als Relationen Ri und R2 mit den Tupeln r b11 b12 bin m1 R r2 b21 b22 bak m2 R2 b D mu gelten Re gt R relR r Xr li i Das hei t wenn zwei Me relationen R und R2 Basisattribute haben die aus demselben Werte bereich stammen z B Weltkoordinaten dann lassen sich R und R gt ber diese Basis in Bezie hung setzen und d
172. ie Interpolationsanweisungen Die Liste der Einschr nkungen kann geschachtelte SELECT Anweisungen enthalten siehe Bild 8 3 Die in der Anfrage vorkommenden Namen und Konstanten bilden die Bl tter des Baumes Als konkretes Beispiel wird hier die folgende Anfrage in einen Anfragebaum umgewandelt siehe Bild 8 4 nach Rieth90 S 29 SELECT x_koord y_koord gdw_stand FROM gwmessung BY METHOD gdw_staende ENTRY x_koord 50 0 y_koord 225 0 WHERE zeitpunkt 29 03 88 In der Anfrageauswertung werden als erstes geschachtelte Anfragen entschachtelt Dieser Vor gang wird in Abschnitt 8 5 und Jahk91 genau beschrieben So k nnen Interpolationen auf ver schiedenen Ebenen der Anfrage vermieden werden Die Ablaufkontrolle braucht nicht zwi schen Interpolation und SQL System zu wechseln Dies ist eine f r einen Pr prozessor notwen dige Voraussetzung Deshalb kann das CSQL System auch Anfragen die Interpolationsanwei sungen in einer inneren SELECT Anweisung enthalten und nicht entschachtelt werden k nnen bisher nicht bearbeiten Jahk91 Anschlie end werden die Bedingungen in der WHERE Klausel nach der Entschachtelung sollte nur noch eine brig sein in die konjunktive Normalform gebracht siehe Kaja90 Dieser Verarbeitung von CSQL 105 Anfragebaum Le UNION Element UNION Element gt gt SELECT Klausel SELECT Element PROJ Element PROJ Element tia ORDER BY EXPRESSION Name der eee ooo Klausel FROM
173. ie Weiterverarbeitung von Me werten 2 2 aaa a 12 3 2 1 Visualisierung von Me reihen u 2 2 22 0 wre a 12 3 2 2 Modellbildung und Simulation 2 2 2 2 o une 13 3 3 Eigenschaften von Umweltdaten und Me werten 0 4 13 3 3 1 Der Kontext von Me werten 2 2x2 232 ws 20a 2 Et br 14 3 3 2 Wertebereiche f r Me werte 2 4 2 5 44 vou ye ew oe dele 2 ole Selec ys 15 3 3 3 Beziehungen zwischen MeBwerten 00000 eee 17 3 3 4 Komprimierung und Archivierung 000502 eee 18 3 4 Aufbereitung der Daten Interpolation 2 2 2 2 Cm nn 19 3 4 1 Aufbereitung f r spontane interaktive Anfragen 2 22 2222 20 3 4 2 Der Vergleich von zwei Me reihen 2 22 Cm nn 21 3 4 3 Aufbereitung f r Modellrechnung und Simulation 23 3 4 4 Die Erg nzung fehlender Werte 2 2 Coon 23 3 5 Schnittstellen zum Anwender 26 zu a u Dre a 24 39 1 Dateneingabe e fe Me re Glee tee ane ae 24 3 5 2 Bereitstellung von Daten 4 4 42 2 4 Bh geod ed ne a ie Se ah ESE SR 25 3 5 3 Kooperation mit vorhandener Hard und Software 26 3 5 4 Automatische Datensicherung ooo nn 26 3 6 Resultierende Anforderungen an das Datenhaltungssystem 27 3 6 1 Datentypen 4 s amp s acta tg ar Bea De EOS Sa aa a a a Eee e EN 27 3 6 2 Definition von Relationenschemata 0 00004 28 3 6 3 Standard DBS Funktionen 2 2 2 2 2
174. ie einzelnen Tupel r und r2 ber die Werte dieser Basis verkn pfen Im Bei spiel Horkheimer Insel k nnen Wasserst nde und Bodenproben ber die Koordinaten ver kn pft werden Manchmal h ngen Me parameter auch auf eine komplexere Weise voneinander ab z B ist ein Parameter eine Funktion eines anderen Parameters h ufig mit Basiswerten als weitere Funkti onsparameter m fi m bzw fj mj X b11 xX x bij gt m2 Ein Beispiel hierf r ist der Grundwasserstand auf der Horkheimer Insel an verschiedenen Punk ten Er ist abh ngig vom Wasserstand der Oberfl chengew sser Neckar und Kanal dem aktu ellen Niederschlag und der Zusammensetzung des Bodens Das Herausfinden weiterer komplexer Beziehungen ist h ufig Gegenstand der Forschung Es wird untersucht welche Parameter sich in Abh ngigkeit von anderen Me parametern ndern also aus diesen anderen Parametern abgeleitet werden k nnen So k nnen die Auswirkungen k nstlicher Ver nderungen der Umwelt vorausgesagt werden oder Gegenma nahmen gegen un erw nschte Folgen bereits erfolgter Ver nderungen ergriffen werden Bei der Beschreibung von MeBreihen und Umweltdaten bietet sich die Darstellung im Relatio nenmodell und die sp tere Speicherung in einem relationalen DBS an Auch die von Anfang an bekannten Beziehungen zwischen den Me werten lassen sich so darstellen Es m ssen aller dings zus tzliche Informationen vorhanden sein was Me wert und was Basis
175. iese Funktionen als gew hnliche C Moduln zu implementieren also als Funktion die Einga beparameter erh lt und einen Wert zur ckliefert 2 diese Funktionen mit einer Definitionsanweisung dem DBS bekanntzugeben Diese beiden Punkte k nnen sicher von einem Programmierer der nicht notwendigerweise DB Spezialist ist oder einem programmiererfahrenen Anwender geleistet werden Komplizierter wird es wenn die sog Operationen implementiert werden und Hinweise f r den Optimierer gegeben werden m ssen Dies ist sicher von einem Anwendungsprogrammierer nicht ohne weiteres zu leisten aber bei einigen Anwendungen bez glich der Performance unbe dingt erforderlich F r die Implementierung eines neuen Datentyps reicht es nicht eine Struktur oder ein Feld zu definieren wie in einer h heren Programmiersprache In POSTGRES ist es notwendig die L nge der internen und externen Darstellung anzugeben evtl variabel und zwei C Funktionen zu im plementieren die die Exemplare vom neuen Datentyp von der externen zur internen Repr sen tation konvertieren und umgekehrt Soll der Datentyp auf verschiedenen Maschinen verwendet werden m ssen bei Bedarf noch Funktionen zur Konvertierung der verschiedenen Maschinen darstellungen angegeben werden POST90 Sollen in der Erweiterung des kommerziellen DBS INGRES der INGRES Object Management Extension neue Datentypen implementiert werden ist der Aufwand noch gr er Hier werden u a Funktionen ben tigt
176. iese Systeme alle Erweiterungen von objektorientierten DBS Hier stellt sich je doch sofort die Frage ob es nicht g nstiger ist genau zugeschnitten auf die Bed rfnisse von der Umwelt Anwendung zu erweitern damit die Leistungsf higkeit nicht zu sehr leidet siehe auch Kapitel 4 3 4 MMDBS bieten aus Sicht der Umwelt Anwendung auch viel Ballast vie le Funktionen die voraussichtlich nie wirklich gebraucht werden etwa das Abspielen von Vide ofilmen in Realzeit oder die Synchronisation von Audio und Video Durch das Bereitstellen dieser Funktionen wird das Gesamtsystem dann unn tig gro und komplex Es werden auch einige Funktionen die f r MMDBS gefordert werden und in Umwelt DBS wichtig w ren wie die inhaltsorientierte Suche noch von keinem der existierenden Systeme an geboten Das liegt u a daran da sich diese Funktion innerhalb eines objektorientierten Sy stems nicht einfach implementieren l t Wege91 schl gt hier andere Techniken vor wie Schlagworte oder Wissensrepr sentation Wege91 stellt auch prinzipiell die Frage ob die Erweiterung und Erg nzung eines objektori entierten DBS der richtige Ansatz ist Auch die Erweiterung eines relationalen DBS wird erwo gen Es werden daf r hnliche Gr nde genannt wie sie auch in dieser Arbeit zu einer SQL Er weiterung f hrten siehe Kapitel 5 2 Abschlie end l t sich feststellen da MMDBS zur Projektlaufzeit noch nicht weit genug entwickelt waren um in einem
177. iesj die Argumente Der Benutzer kann f r Einschr nkungen auf den Basisattributen genau bestimmen ob sie vor oder nach der Interpolation durchgef hrt werden sollen Einschr nkungen auf zus tzlichen At tributen die sp ter hinausprojiziert werden kann er nur zu einem Zeitpunkt geben an dem sie noch ausgewertet werden k nnen Erweiterte Aggregationsfunktionen tabellenwertige Funktionen und Schachtelungen in der FROM Klausel lassen sich in vielen anderen Anwendungen verwerten Allerdings mu f r jede Erweiterung dann wieder durchdacht werden wie diese Bausteine zu kombinieren sind und welche Besonderheiten beachtet werden m ssen Die ext_table Funktion jedoch ist wieder so speziell da sie nur f r Interpolationszwecke zu verwenden ist Sobald die ext_table Funktion einmal fertiggestellt ist m ssen f r die verschiedenen Interpola tionen nur noch die Aggregationsfunktionen geschrieben werden Das ist auch f r einen An wender relativ einfach m glich weil nicht auf die Datenbank zugegriffen werden mu und eine Abbruchbedingung f r die Erzeugung der STEP Werte mu vom Endbenutzer mitgegeben wer den Damit wird das Problem unendliche Extrapolation zu vermeiden auf den Endbenutzer ge schoben An dieser Stelle ist es aber auch einfacher zu l sen Oft wird dem Endbenutzer eine feste Abbruchbedingung gen gen Im zweiten Ansatz k nnen alle beschriebenen m glichen Optimierungen eingesetzt werden ohne den Anwendungsprogrammier
178. igt werden siehe Bild 3 1 Temperatur gesuchter Wert Zeit NX Me zeitpunkte Bild 3 1 Beispiel f r eindimensionale Interpolation zeitlich Dies bedeutet da der interaktiv arbeitende Benutzer immer genau wissen mu an welchen Orts oder Zeitpunkten Me werte aufgezeichnet wurden Wei er dies nicht mu er sich mit umst ndlichen Intervallabfragen behelfen Er kann nicht einfach den n chsten oder vorherge henden Wert nach 10 2 Uhr abfragen denn das Relationenmodell und damit SQL kennen kei ne Tupelordnung und also auch keinen n chsten Wert Intervallabfragen k nnen in manchen F llen bei ungeeignet gew hlten Intervallbreiten sehr verzerrte Ergebnisse liefern Wei der Be nutzer zur TemperaturmeBreihe gespeichert als temperatur zeitpunkt me wert nur da halb st ndlich aufgezeichnet wird k nnte er wenn er den Wert um 10 Uhr sucht die umliegende halbe Stunde in SQL so abfragen Me werte Umweltdaten und Umweltprojekte 21 SELECT me wert FROM temperatur WHERE zeitpunkt BETWEEN 01 05 91 09 45 00 AND 01 05 91 10 14 59 In diesem Fall wird der um 10 22 Uhr aufgezeichnete Wert geliefert Je nachdem wie schnell sich die Temperatur zwischen 10 Uhr und 10 12 Uhr ge ndert hat weicht der gelieferte Wert von der Realit t ab Soll jetzt die Temperaturschwankung mit einbezogen werden k nnten die Werte aus der ganzen Stunde um 10 22 Uhr betrachtet werden Wenn der Benutzer das Ergebnis
179. ihre Eignung f r Umwelt DBS hin untersucht werden k nnen 4 3 1 Geographische Informationssysteme Ein geographisches Informationssystem auch Geo Informationssystem kurz GIS genannt ist nach BiFr91 Bill95 ein rechnergest tztes System das aus Hardware Software Daten und den Anwendungen besteht Mit ihm k nnen raumbezogene Daten digital erfa t und redigiert ge speichert und reorganisiert modelliert und analysiert sowie alphanumerisch und graphisch pr sentiert werden Aus dieser Definition geht schon hervor da GIS f r die Bearbeitung r umlicher Daten konzi piert wurden Sowohl Me werte als auch Modelle und Simulationsverfahren k nnen nicht di rekt in ein GIS integriert werden Verschiedene Beispiele f r kleinere GIS Anwendungen sind in PiJa90 im einem Kapitel ber GIS zu finden u a ein Abwasserinformationssystem ein Sy stem zur Deponiestandortanalyse und ein System zur Erfassung der organischen Anreicherung des Meeresbodens Diese Beispiele zeigen da GIS immer dann sinnvoll eingesetzt werden k nnen wenn topographische oder kartographische Daten h ufig verarbeitet werden m ssen Auch in Bill95 werden GIS als eine wenn auch wichtige Komponente von Umweltinfor mationssystemen dargestellt die die Bearbeitung der r umlichen Daten bernimmt F r die in dieser Arbeit und im PWAB Projekt gestellte Aufgabe die Bearbeitung von unterschiedlichen Me werten erscheinen GIS deshalb eher ungeeignet Technische Ver
180. ilfe dieser Konstruktoren kann der Benutzer selbst aus den vom System angebotenen Standarddatentypen und den von ihm schon konstruierten zusammengesetzten Datentypen neue Datentypen konstruieren Mit den Konstruktoren mu der Benutzer immer auf die Standarddatentypen zur ckgreifen In manchen F llen ist es aber w nschenswert noch andere Grunddatentypen zu haben die auch ganz andere Eigenschaften aufweisen als die bisher angebotenen Typen Deshalb werden von einigen DBS auch als Erweiterungen bezeichnet neue Grunddatentypen angeboten Von DASDBS werden z B im Grundsystem einige ber die bekannten hinausgehende Datentypen Technische Verarbeitung von Umweltdaten 49 speziell zur Beschreibung geometrischer und geographischer Objekte angeboten Zu diesen Da tentypen werden auch die passenden Operationen darauf bereitgestellt Zu den neuen Grunddatentypen die von einigen DBS unterst tzt werden geh ren die sog Bi nary Large Objekts BLOBs das sind gro e unstrukturierte Objekte etwa gerasterte Photogra phien Satellitenaufnahmen oder digitalisierte Ger usche Diese Objekte haben ganz spezielle Eigenschaften die bei der Verarbeitung unbedingt ber cksichtigt werden m ssen z B passen sie gew hnlich nicht auf eine Speicherseite Bei der Anfrageoptimierung m ssen sie deshalb anders behandelt werden und es werden ganz andere Operationen Speicherstrukturen und Zu griffsmechanismen ben tigt Auch als Teil oder Unterobjekte innerh
181. imensional Speicherstrukturen Anwendung der rganzen der WHERE Mebrelation um Qualificationen d innerer Block und der Abbruch bedingung Erzeugen der STEP Werte benutzerdefiniert Asgr Funktion ie einzelner Wert Eingabeparam Anwendung von WHERE Einschr nkungen innerer u erer Block Nested loop oder Sort merge Strategie ie STEP Werte Ta Indexe Lesen der Speicherstrukturen Me relation NS Me6brelation Bild 9 3 Anfragebaum mit Ansatzpunkten fiir die Optimierung 9 3 1 Innere Optimierung Die Auswertung der Interpolation beginnt damit da die Me wertrelation gelesen wird und die STEP Werte erzeugt werden Diese beiden Teile werden dann hnlich einem kartesischen Pro dukt zu einer erweiterten Relation kombiniert Wenn die Abbruchbedingung keine Verweise auf die alten Basisattribute enth lt oder die WHERE Klausel im CSQL keine entsprechenden Ein schr nkungen wird jedes Tupel der Me wertrelation mit jedem m glichen STEP Wert Tupel kombiniert Eine M glichkeit dies zu tun ist es alle m glichen STEP Werte nacheinander zu generieren und dann die entsprechenden Tupel der Me wertrelation damit zu erg nzen Oder es wird eine STEP Werte Kombination erzeugt und damit werden alle in Frage kommenden Tupel erg nzt Wenn die Me wertrelation nicht in den Hauptspeicher pa t das ist gew hnlich immer so mu sie hier im ung nstigsten Fall so oft gelesen werden wie STEP Wert Tu
182. ingres_system programm SELECT int4 dbms_info _bio_cnt int4 doms_info _cpu_ms int4 doms_info _dio_cnt int4 doms_info _et_sec int4 doms_info _pfault_cnt lt Anfrage Bezeichnung gt lt Anfrage Nr gt phoenix phoenix lt Programmname gt FROM one_row_rel lt zu messende Anfrage Transaktion gt UPDATEmess_prot SET n_bio_cnt int4 dbmsinfo _bio_cnt n_cpu_ ms int4 dbmsinfo _cpu_ms n_dio_cnt int4 domsinfo _dio_cnt n_et_sec int4 dbmsinfo _et_sec n_pfault_cnt int4 dbmsinfo _pfault_cnt WHERE anfrage lt Anfrage Bezeichnung gt AND lauf lt Anfrage Nr gt AND programm lt Programmname gt Die Relation mess_prot Me protokoll ist vom Benutzer selbst anzulegen und kann neben den eigentlichen Me werten und den Angaben die notwendig sind um eine Anfrage beim UPDATE und sp ter wieder eindeutig zu identifizieren noch beliebige weitere Angaben enthalten Hier sind jeweils die f nf vorher und nachher gemessenen Werte enthalten z B v_cpu_ms und n_cpu_ms die Angaben zur eindeutigen Identifizierung einer Anfrage also die Bezeichnung der Anfrage die Nummer des Laufs wenn eine Anfrage mehrmals gemessen wird und das Pro grammsystem mit dem gemessen wird SQL oder CSQL Au erdem k nnen noch der Rechner angegeben werden auf dem das Benutzersystem SQL CSQL l uft und der Rec
183. ispiel Interpolation eines einzelnen Wertes Hier wurde die Selektion von Grundwasserst nden an beliebigen Punkten gew hlt Diese An frage wird h ufig ben tigt z B wenn man absch tzen will ob Pflanzen auch w hrend Trok kenperioden gen gend Wasser erhalten Die CSQL Anfrage lautet dann SELECT x_koord y_koord gdw_stand FROM gwmessung BY METHOD gdw_staende ENTRY x_koord 50 0 y_koord 225 0 WHERE DATE_TRUNC DAYS zeitpunkt 29 03 88 In der derzeitigen Version kann das CSQL System die Funktion DATE_TRUNC noch nicht ver arbeiten Hier mu die DATE_TRUNC Funktion entweder vorher durch einen SQL View imple mentiert werden oder die Uhrzeit mu mit angegeben werden Da die Grundwasserst nde fast immer mit 12 00 00 Uhr gespeichert sind bot sich die zweite L sung f r die Messungen an Mit den folgenden Beispieldaten x_koord zeitpunkt gdw_stand 35 0 26 03 88 158 689 50 0 26 03 88 158 694 62 5 26 03 88 158 687 75 0 26 03 88 158 674 42 5 26 03 88 158 687 25 0 26 03 88 158 680 35 0 29 03 88 157 119 50 0 29 03 88 157 144 62 5 29 03 88 157 137 75 0 29 03 88 157 124 42 5 29 03 88 157 127 25 0 29 03 88 157 110 liefert diese Anfrage das folgende Ergebnis x_koord gdw_stand 50 0 157 136 Fallstudie 143 Mit den realen Daten 6603 Tupel bei 67 verschiedenen Me pegeln liefert diese Anfrage das Ergebnis 157 139 Um mit normal
184. ist 3 3 4 Komprimierung und Archivierung Gemessene Werte ndern sich nicht und veralten auch nicht In vielen F llen gewinnen Me werte im gr eren zeitlichen Zusammenhang etwa ber eine Versuchslaufzeit von zehn Jah Me werte Umweltdaten und Umweltprojekte 19 ren an Bedeutung Deshalb werden auch in Datenbank oder Datenhaltungssysteme fiir Me da ten stets nur Werte eingef gt nderungen und L schvorg nge kommen praktisch nicht vor Das Gesamtvolumen der Daten w chst dabei st ndig Die Komprimierung und die Archivierung von zur Zeit nicht mehr ben tigten Daten sind daher wichtige Aufgaben Dabei mu auch der Kontext der Daten mit archiviert werden damit man sie sp ter noch richtig interpretieren kann Zu Anfang einer Me reihe ist oft noch nicht bekannt in wie gro en Abst nden Me werte erho ben werden m ssen um nderungen gut erkennen zu k nnen Deshalb werden zu Anfang einer Me reihe die Werte oft sehr dicht erhoben Wei man sp ter in welchen Abst nden die Werte erhoben werden m ssen um nderungen hinreichend fr h zu erkennen m ssen die anf nglich erhobenen Werte komprimiert werden i a durch Aggregationsoperationen wie z B Tagessum men oder durchschnittswerte Trotzdem werden die Originalwerte i a aufbewahrt d h archi viert Man k nnte sie noch einmal f r andere Zwecke betrachten wollen oder bei Zweifeln an der Korrektheit der Komprimierung diese nachvollziehen wollen H ufig m
185. it ganz unterschiedlichen Basisattributen direkt zusammenfassen ber eine Hierarchie l t sich aber hier etwas erreichen was dem Gew nschten schon recht nahe kommt Das Definieren der Relationenschemata wird aber wieder nicht ganz einfach inbesondere wenn auch noch Hierarchien f r die oben erw hnten Versuchsbeschreibungen bestehen Zusammengesetzte At tribute k nnen definiert werden Attribute k nnen im Prinzip als Me oder Basiswerte ausge zeichnet weden jedoch mu der Benutzer DB Programmierer dies noch mit entsprechender Semantik f llen indem die passenden Funktionen geschrieben und diesen Datentypen zugeord net werden Zusammenfassend l t sich sagen da die wichtigsten Forderungen an ein zur Bearbeitung von Me werten und Umweltdaten geeignetes DBS die folgenden sind Es mu m glich sein be stimmte Daten Attribute mit einer besonderen Semantik auszuzeichnen und abh ngig davon auf diesen Daten neue Operationen zu definieren Zu Beginn des Projekts Horkheimer Insel waren solche DBS nicht kommerziell verf gbar Neue DBS wie das neue Informix erm glichen dies und nehmen dem Benutzer auch schon einen kleinen Teil der Arbeit ab Der Aufwand f r den DB Designer und den DB Programmierer bleibt aber nicht unerheblich 3 6 2 Definition von Relationenschemata Alle kommerziellen DBS erlauben es da das Datenschema bzw die einzelnen Relationensche mata nach der Inbetriebnahme der Datenbank ver ndert und erg nzt w
186. kt ben tigt werden In einigen F llen reichen diese Eigenschaften aber noch nicht aus Dann m ssen Erweiterungen an dem DBS vorgenommen werden In diesem Ab schnitt werden die Anforderungen des Projekts an ein geeignetes Datenhaltungssystem mit den Eigenschaften von DBS wie sie heute kommerziell erh ltlich sind verglichen und die Bereiche herausgestellt an denen das DBS erg nzt mu Bei allen Werkzeugen und Hilfsmitteln um die Umwelt DBS erg nzt werden sollten die be sonderen Eigenschaften von Me werten und Umweltprojekten ber cksichtigt bzw ausgenutzt werden Ber cksichtigung dieser Eigenschaften erfolgt etwa durch die Bereitstellung komfortab ler und umfangreicher M glichkeiten zur Datensicherung Ausgenutzt werden kann z B die Tatsache da wenig nderungen vorkommen bei der Auswahl geeigneter Datenstrukturen 3 6 1 Datentypen Klassische relationale DBS verf gen nur ber Grunddatentypen wie Zeichenketten Integer und Gleitpunktzahlen sowie Datums und Zeitangaben Diese Werte k nnen nur auf eine einzige Art strukturiert werden n mlich als Relationen zweidimensionale Tabellen mit Attributen Spal ten und Tupeln Zeilen Zur Laufzeit des Projekts Horkheimer Insel gab es kein DBS das Beziehungen zwischen den Relationen unterst tzte Beziehungen mu ten vom Benutzer mit Hilfe passender Werte ber das Fremdschl sselkonzept eingef hrt und gepflegt werden Heute kann bei den meisten DBS zumindest die Pflege der
187. ktion Menge Skalar Mengenpr dikat Relation x Skalar Relation x Tupel bool bool Gruppierung Relation x Skalar Menge von Relationen Sortierung Relation x Skalar Relation Liste ben def skalare Funktion Skalar x Skalar Tupel x Skalar Skalar Tupel ben def Mengenpr dikat Relation x Skalar Tupel x Skalar bool ben def Aggr Funkt Menge Menge x Skalar Relation x Skalar Relation x Tupel Skalar Skalar Skalar Tupel Skalar Tupel ben def Table Function mind 1 Relation x Skalar x Tupel Relation Abgeleitetes Attribut beliebig beliebig Skalar Trigger Regel beliebig beliebig Return Code Datenbankprozedur beliebig beliebig beliebig Return Code Tabelle 4 4 Klassifikation von Operationen Funktionen nach Ein Ausgabeparametern Unter einem Skalar kann hier auch immer ein strukturiertes aber endlich langes Objekt benut zerdefiniert verstanden werden Unter den skalaren Funktionen ist u a auch das Ansprechen von Komponenten strukturierter Objekte zu finden In einigen EDBS z B POSTGRES wird zus tzlich zwischen Funktionen und Operatoren unter schieden Hier steht aber nicht der syntaktische Unterschied f x y vs x op y im Vorder grund sondern die Implementierung bzw Integration in das DBS Als Funktionen bezeichnet man hier die normalen benutzerdefinier
188. lation aus gewertet werden m ssen sind nicht alle denkbaren Restriktionen erlaubt Es sind keine Re striktionen erlaubt in denen sonstige Attribute direkt mit kontinuierlichen Attributen vergli chen werden sollen Es sind auch keine Verbundbedingungen erlaubt die sonstige Attribute mit Attributen aus Verbundrelationen vergleichen weil Verbunde erst nach der Interpolation durchgef hrt werden Es gibt auch einige Kombinationen von Standard SQL Klauseln und CSQL Erweiterungen die zwar ein korrektes Ergebnis liefern die aber auch ohne Interpolation das gleiche Ergebnis lie fern w rden bzw deren Ergebnis von der benutzergegebenen Belegung der variablen Basisat tribute abh ngt Die Funktionalit t des CSQL Systems bleibt also gew hrleistet auch wenn sol che Anfragen nicht bearbeitet werden k nnen Das sind folgende Kombinationen e EXISTS Pr dikate und auch NOT EXISTS Pr dikate wenn in der inneren Anfrage interpoliert wird und der Bezug zur u eren Anfrage ber das kontinuierliche Attribut gebildet wird wie SELECT FROM a WHERE EXISTS SELECT FROM b BY METHOD b1 b_cont ENTRY basis 10 STEP 5 WHERE basis lt 50 AND b_cont gt a attribut Diese Anfrage liefert alle Tupel der Relation a f r die es in der Relation b Tupel gibt in de nen der Wert des kontinuierlichen Attributs b_cont gr er ist als der Wert des Attributs a der Relation a Bei Interpolation aus den umliegenden Werten entsteht i a kein Wer
189. lationsverfahren bekannt und richtig sind und da sie vom Anwender oder einem mit der Problematik vertrauten Programmierer implementiert sind bzw werden k nnen Die konkre te Syntax zur Integration wird dann im Kap 6 beschrieben Die Unterst tzung durch das Daten banksystem kann immer nur darin bestehen Interpolationsanforderungen des Benutzers anzu nehmen die Selektion der f r die Interpolation jeweils ben tigten Daten vorzunehmen und die Interpolationsmoduln selbst in das DBS zu integrieren In diesem Kapitel wird damit der Rahmen beschrieben der sich aus den konkreten W nschen der Anwender und Benutzer im PWAB Projekt ergab und der schon ziemlich zu Beginn des Projekts festgelegt war Wie in Kap 3 5 beschrieben kann Interpolation integriert in ein DBS genauer in die Anfrage sprache und in die Anfrageauswertung f r den Benutzer sehr n tzlich sein Dies ist insbesonde re der Fall bei spontanen interaktiven Anfragen wenn Me punkte und intervalle nicht bekannt sind beim Vergleich verschiedener Me reihen oder parameter bei der Bereitstellung von Da ten f r Modellrechnungen und bei der Erg nzung fehlender Werte Von solchen Anwendungen soll bei den folgenden Entscheidungen ausgegangen werden 5 1 Die Art der Einbettung der Interpolationsfunktionen Vom Standpunkt des Benutzers aus betrachtet bestehen bei der Einbettung von Interpolation in das DBS zwei Alternativen Entweder wird immer dann interpoliert wenn ein We
190. leiben auch heute g l tig F r ein hnliches Projekt k nnen heute verf gbare Systeme auf der Grundlage dieses Sche mas analysiert werden und auf ihre Eignung f r ein Projekt hin berpr ft werden Viele der f r OODBS im Object Oriented Database System Manifesto ABDD90 aufgestell ten Mindestanforderungen werden auch von den EDBS erf llt bzw diese Systeme lassen sich so erweitern da sie diesen Anforderungen gen gen Das soll im folgenden Punkt f r Punkt der Anforderungsliste aus Kap 4 3 4 f r die oben genannten Beispiel EDBS gezeigt werden 1 Die erste Forderung alle Eigenschaften der bisherigen relationalen DBS auch zu besitzen ist nat rlich immer erf llt da EDBS Erweiterungen konventioneller DBS sind Auch bei den Systemen die nur als sog Toolkit geliefert werden die der Benutzer also erg nzen mu sind diese Eigenschaften auf jeden Fall vorhanden weil sie in den bereits vorgefertigten Mo duln enthalten sind So hat der Datenbankimplementierer zumindest immer die M glichkeit sie in das DBS hinein zu konfigurieren 2 Die Definition neuer Datentypen ist in allen betrachteten EDBS m glich Und in allen diesen EDBS ist es auch m glich reichhaltiger strukturierte Typen zu definieren als sie von konven tionellen DBS angeboten werden EXODUS CaDV88 kennt die Konstruktoren Tupel Men ge Feld und Referenz wobei Felder variabel lange Sequenzen oder Listen sind Alle Kon struktoren sind orthogonal k nnen
191. lementierung verzichtet 6 3 2 Datenmanipulationsteil von SQL Prinzipiell ist Interpolation berall dort erlaubt wo SQL ein sog Subselect also eine ge schachtelte SELECT Anweisung erlaubt Das bedeutet da Interpolation in den WHERE Bedin gungen von UPDATE und DELETE Anweisungen vorkommen darf Au erdem k nnen interpo lierte Werte in neue bzw eigene Relationen eingef gt werden also permanent gespeichert wer den mit den Anweisungen CREATE TABLE lt tablename gt AS SELECT INSERT INTO lt tablename gt SELECT Interpolierte Werte oder ENTRY STEP Werte k nnen nat rlich nicht ge ndert oder gel scht werden da sie nicht in der DB materialisiert sind Deshalb d rfen sie nur in andere Relationen eingef gt werden Im derzeitigen Prototyp von CSQL ist Interpolation in Verbindung mit n derungen der DB noch nicht m glich weil entsprechende berpr fungen noch nicht implemen tiert sind 90 Die SQL Erweiterung CSQL 6 4 Zus tzliche Systemrelationen Damit die Interpolation mit dem beschriebenen Funktionsumfang in ein DBS eingebettet wer den kann mu das DBS selbst bzw das CSQL Modul einige Informationen ber die Interpola tion enthalten Diese Angaben werden ber zus tzliche Systemrelationen implementiert denn diese Informationen m ssen permanent gespeichert und zugreifbar sein Die zus tzlichen Sy stemrelationen werden bei der Installation des CSQL Systems angelegt und vom CSQL System bei der Defi
192. lfe eines dieser Systeme aufgebaut wurden auf jeden Fall gew hrleistet der Argumentation von LiHa90 p 219 folgend Als Beispiel f r die heute kommerziell verf gbaren ORDBS soll hier kurz beschrieben werden wie der INFORMIX Universal Server mit den sog DataBlade Modulen erweitert werden kann Hier wurde ber cksichtigt da f r den Benutzer die Erweiterungen mit der Definition der neu en Datentypen und der Operationen darauf noch lange nicht beendet sind und ein entsprechen des Werkzeug das DataBlade Developers Kit sowie entsprechende Schulungen Info96 wer den angeboten Wenn der Benutzer nicht nur abgeleitete Datentypen spezifiziert sondern auch ganz neue sog opaque types mu er auch Funktionen definieren und schreiben mit denen der Server auf diesen Datentypen arbeiten kann z B Vergleichsoperatoren F r diese Aufgabe stehen verschiedenen Programmiersprachen C C Java sowie die Sprache der stored proce dures zur Verf gung Informix erlaubt auch das Erstellen neuer Zugriffsmethoden wie z B R trees f r r umliche Daten Das Bereitstellen passender Zugriffsmethoden f r neue Datentypen wird dringend empfohlen um ein gutes Antwortzeitverhalten zu behalten Jedes DataBlade Mo dul darf sich eigene Systemrelationen anlegen z B f r verschiedene Formate und Konvertie rungsverfahren etwa auf Bilddaten Sollen mehrere DataBlade Module zusammen arbeiten m ssen Schnittstellen spezifiziert werden Mit dem
193. lo Jahke Erweiterung des Optimierers im CSQL System einem System zur Bearbeitung eingebetteter Prozeduren Interpolationsroutinen in SQL Anfragen Studienarbeit Nr 992 IPVR Universitat Stuttgart Mai 1991 JaK084 M Jarke J Koch Query Optimization in Database Systems in Computing Sur veys Vol 16 No 2 June 1984 pp 111 152 Kaja89 Manfred Kaja Entwurf und Implementierung einer Anwenderdatenbank Geohy drologie auf dem relationalen DBS Ingres Teil 2 Studienarbeit Nr 791 IPVR Universitat Stuttgart November 1989 166 Literatur Kaja90 Manfred Kaja Auswahl und Implementierung von Optimierungsverfahren fir eingebettete Prozeduren Interpolationsroutinen in SQL Anfragen Diplomarbeit Nr 679 IPVR Universitat Stuttgart Juli 1990 KeCh90 John D Keenan Pao Hsing Chang A Statistical Method to Determine Pollutant Sources in Proc 5 Symposium Informatik fiir den Umweltschutz Wien Oster reich September 1990 Informatik Fachberichte 256 Springer Verlag Berlin 1990 pp 557 565 Kim82 Won Kim On Optimizing an SQL like Nested Query in ACM ToDS Vol 7 No 3 September 1828 pp 443 469 KiVS97 Eugene Kim Andreas Vogel Roger Sessions COM vs CORBA http www clbooks com interviews COMvsCORBA html KLNR90 Horst Kremers Mark P Line Leonore Neugebauer Rolf Riethmiiller Wilhelm Windhorst Arbeitskreis Umweltdatenbanken Ziele und erste Ergebnisse in Proc 5 Symposium Inf
194. n m ssen auch hier Werte zu den ben tigten Me punkten nachtr glich berechnet wer den Das kann nicht direkt in einer SQL Anfrage geschehen weil es in SQL nicht m glich ist Z hlvariablen f r die Schrittweiten zu definieren Sollen z B aus der im Beispiel oben beschriebenen Grundwasserstandsrelation Grundwasser st nde in einem r umlich quidistanten Raster zu den vorhandenen Me zeitpunkten geliefert werden kann dies nicht mit einer einzigen SQL Anfrage geschehen Hier bleibt dem Benutzer nur die M glichkeit zuerst eine Relation anzulegen die die Rasterpunkte enth lt raster x_ko ord y_koord Die SQL Anfrage lautet dann hnlich wie die Anfrage in Abschnitt 3 4 2 SELECT AVG g me wert r x_koord r y_koord g zeitpunkt FROM raster r gw_stande g WHERE g x_koord BETWEEN r x_koord 5 AND r x_koord 5 AND g y_koord BETWEEN r y_koord 5 AND r y_koord 5 GROUP BY r x_koord r y_koord g zeitpunkt ORDER BY g zeitpunkt r x_koord r y_koord Es treten hier auch die gleichen Probleme wie die in Abschnitt 3 4 2 beschriebenen auf 3 4 4 Die Erg nzung fehlender Werte Wenn Me ger te unerwartet ausfallen sind die Werte f r die ausgefallenen Zeitr ume unwie derbringlich verloren Sollen mit solchen Me reihen dennoch Modellrechnungen laufen m ssen die fehlenden Werte abgeleitet werden entweder r umlich aus benachbarten Me stationen oder zeitlich aus den vorher und nachher gemessenen Werten Welche Methode hier bevor
195. n mu es eine Programmbibliothek mit Funktionen f r geometrische Operationen bei DB Zugriffen geben Nur so kann erreicht werden da die Programmierung der Interpolationsfunktionen schnell geht und da die CSQL Anfragen ein akzeptables Antwortzeitverhalten aufweisen 8 Verarbeitung von CSQL Im diesem Kapitel wird zuerst beschrieben nach welchem Prinzip CSQL auf INGRES aufgesetzt ist und es wird ein berblick ber das Gesamtsystem und die Komponenten aus denen es be steht gegeben Dann werden die verschiedenen Komponenten einzeln erl utert 8 1 CSQL im DBS INGRES Das CSQL System mu folgendes leisten Es mu CSQL Anfragen als solche erkennen sie auf syntaktische und semantische Korrektheit berpr fen und bearbeiten Die Bearbeitung erfolgt mit Hilfe der Interpolationsfunktionen und INGRES SQL Das CSQL System mu die Namen der Interpolationsfunktionen die der Benutzer verwendet kennen und auch ber deren Code verf gen Es mu neue Funktionen kennenlernen und integrieren K nnen ihre Voraussetzungen erlernen und sie aufrufen k nnen Von au en f r den Endbenutzer soll CSQL genauso aussehen wie INGRES SQL nur mit er weitertem Funktionsumfang Dazu wurden zun chst die INGRES ISQL Benutzerschnittstelle und die INGRES SQL Schnittstelle nachgebildet Bosc90 Auf die Nachbildung der IN GRES ESQL C Schnittstelle wurde wegen des hohen Aufwands s u zun chst verzichtet Hin weise f r eine Nachbildung der INGRES
196. n CSQL bei entsprechenden Problemstellungen in den meisten F llen f r den Benutzer lohnt In der Bei spielanfrage 1 kostet schon ein weiterer Probelauf den Benutzer weit mehr Zeit als die ca sie ben Sekunden die CSQL l nger braucht In der Beispielanfrage 2 spricht allein schon die Qua lit t der Ergebnisse siehe Vergleich in Tab 10 1 f r den Einsatz von CSQL Wenn man be denkt da auch ein ge bter Benutzer hier in der SQL Version mindestens elf Probel ufe braucht um geeignete Einschr nkungen zu finden ist eine zwei bis 16 mal so lange Antwort zeit im sec Bereich durchaus noch ein Vorteil In der Beispielanfrage 3 sieht man da hier die bessere Qualit t der Ergebnisse mit einer deut lich l ngeren Antwortzeit bezahlt werden mu Bei den vorliegenden berwiegend vollst ndi gen Daten ist auch die Zeit die der Benutzer zum Formulieren und Testen der komplizierteren SQL Transaktion ben tigt k rzer als die CSQL Antwortzeit Bei sehr unvollst ndigen Daten kann das anders aussehen Allerdings kann die Antwortzeit von dreieinhalb Stunden die Geduld des Benutzers schon auf eine harte Probe stellen Eine so lange Antwortzeit ist nur vertretbar wenn wirklich qualitativ sehr gute Werte f r die Weiterverarbeitung ben tigt werden oder wenn die SQL Anfrage aufgrund fehlender Werte oder zu unregelm iger Messungen keine brauch baren Ergebnisse liefert Insgesamt l t sich feststellen da CSQL gerade f r den in SQL unerfah
197. n ben tigt w rde weil nachdem die Me pegel einmal gebohrt wurden an diesen Stellen keine Bodenproben mehr genommen werden k nnen siehe auch Kap 3 4 2 Auch aus problemorientierter Sicht ist diese Interpolation besonders interessant weil die Grundwasserst nde drei Basiswerte haben die Koordinaten x y und die Zeit Es be stehen die M glichkeiten ber die Zeit an einem Ort zu interpolieren ber den Ort Koordina ten zu einem Zeitpunkt zu interpolieren und beides zu kombinieren Im letzten Fall ist dann noch die Reihenfolge zu beachten F r den Anfang wurde die Interpolation ber den Ort ge w hlt weil die Grundwasserst nde ohnehin meistens gemessen wurden wenn jemand auf dem Me feld andere Messungen durchf hrte oder Bodenproben nahm Au erdem sieht man an die sem Beispiel sehr gut da geometrische Built in Funktionen im DBS sehr hilfreich w ren Die Interpolation von Grundwasserst nden erfolgt nach folgendem Algorithmus Die Funktion gw_level erh lt als Eingabe einen String der folgendes enth lt den Namen der Me wertrelation oder des Views den Namen der Ergebnisrelation in die der interpolierte Wert eingetragen werden soll den Namen des festen Basisattributs Datum Uhrzeit seinen Wert die Namen der variablen Basisattribute X und Y Koordinate und ihre Werte sowie den Namen des Me werts kontinuierlichen Attributs Fallstudie 137 1 Auspacken des Eingabestrings und Uberpriifung ob die entspreche
198. n berechnungsuniversellen Programmiersprache erlauben kann auch damit erreicht werden da die Anfragesprache berechnungsuniversell wird F r DASDBS k nnte auch eine Schale um den Kern mit berechnungsuniverseller Anfragesprache implementiert werden 9 Die Erweiterbarkeit dieser Systeme ist selbstverst ndlich gew hrleistet Allerdings kann dies beim Toolkit und Kernansatz nicht durch den Endbenutzer geschehen Die EDBS erf llen also im wesentlichen die Anforderungen die an OODBS gestellt werden ebenso gut wie heutige OODBS die vor Ver ffentlichung des OODBS Manifesto implemen 48 Technische Verarbeitung von Umweltdaten tiert wurden Die Systeme POSTGRES und EXODUS werden h ufig auch unter den OODBS auf gef hrt Dort wo die Forderungen in heutigen Systemen noch nicht ganz erf llt werden ge schieht dies im wesentlichen aus Gr nden der Performance Je allgemeiner neue Datentypen und Funktionen vom Benutzer definiert werden k nnen desto aufwendiger wird die Optimie rung von Anfragen sp ter OODBS und EDBS unterscheiden sich eigentlich nur durch die Mo tivation aus der heraus sie entwickelt wurden Bei den OODBS stand die Definition komplexer Objekte im Vordergrund Daraus ergab sich dann aber auch die Notwendigkeit neue Funktio nen zu definieren um mit diesen Objekten richtig arbeiten zu k nnen Bei den EDBS war die M glichkeit zur die Definition neuer Funktionen und Operationen durch den Benutzer die wich tigste Neueru
199. n der dichtesten Punkte zu einem anderen oder das Finden aller Objekte in einem umschreibenden Rechteck Die Funktionen unterscheiden sich nur in den Namen der Relationen und ihrer Attribute auf denen sie arbeiten Deshalb k nnten diese Operationen parametrisiert implementiert werden und dem Anwender als Pro grammbibliothek zur Verf gung gestellt werden Das w rde dem Programmierer sowohl die Arbeit mit SQL als auch mit dem z T etwas umst ndlich zu handhabenden ESQL Pr prozes sor ersparen Au erdem k nnte die Dokumentation dieser Programmbibliothek noch Hinweise enthalten der Art Diese Operation wird geeignet durch einen ISAM Index auf dem Attribut al der Relation R1 unterst tzt Mit Dynamischem SQL INGR9I1b lassen sich solche parametri sierten Operationen als Prozeduren relativ einfach implementieren Eine andere Methode zur wirkungsvollen Unterst tzung einfacherer Operationen w re eine Bibliothek vordefinierter SQL Anfragen oder SQL Prozeduren Wichtige Operationen die eine Programm oder Prozedurbibliothek unbedingt enthalten sollte sind die folgenden Auswahl e Finden des dichtesten Punkts zu einem Punkt x 1D 2D 3D e Finden der n dichtesten Punkte zu einem Punkt x 1D 2D 3D e Finden aller Punkte innerhalb eines bestimmten Radius um einen Punkt x 2D 3D e Finden aller Punkte innerhalb eines gegebenen Rechtecks Quaders e Finden aller Werte innerhalb eines geschlossenen Polygonzugs Zus tzlich sollten a
200. n im CSQL System Um das Antwortzeitverhalten des CSQL Systems zu untersuchen wurden zun chst einmal ver schiedene nicht unbedingt immer sehr sinnvolle SQL und CSQL Anfragen gemessen um herauszufinden welche Faktoren die Me ergebnisse wie stark beeinflussen Wo m glich wur den die Anfragen auch mit SQL gemessen um vergleichen zu K nnen wie stark CSQL die An fragebearbeitung verz gert Die Anfragen und die Me ergebnisse im einzelnen sind im Anhang aufgef hrt hier werden die Ergebnisse nur tendenziell beschrieben Im einzelnen wurden fol gende Beobachtungen gemacht e In fr heren INGRES Versionen gab es bei Messungen der Autorin und eines Diplomanden Diet89 z T sehr starke Schwankungen wenn dieselbe Anfrage unter denselben Randbedin gungen mehrfach ausgef hrt wurde Es gibt noch immer Schwankungen in den Me ergebnis sen au er bei _bio_cnt die sind aber relativ gering Keinesfalls mehr braucht dieselbe An frage bei einem Lauf ein Vielfaches der Zeit wie bei einem anderen Lauf Auch die sonstige Last des Rechners wirkt sich selbst bei _et_sec Kaum auf das Me ergebnis aus e In Diet89 wurde auch festgestellt da dieselbe Anfrage im zweiten und jedem weiteren Lauf hintereinander deutlich schneller bearbeitet wurde als beim ersten Lauf Als Ursache da f r wurde herausgefunden da INGRES auf noch vorhandene Daten im UNIX Dateipuffer und im INGRES local cache zur ckgegriffen hat und so die Zugriffsz
201. n zu den Datenbanken an Fiir SQL bietet INGRES dem Benutzer e eine zeilenorientierte Schnittstelle INGRES SQL die sowohl interaktiv als auch aus Datei en heraus in Hintergrund Programmen oder Batch Jobs genutzt werden kann e eine maskenorientierte Schnittstelle INGRES ISQL die nur interaktiv am Bildschirm ge nutzt werden kann e eine Schnittstelle zu h heren Programmiersprachen die es erlaubt SQL Anweisungen di rekt Embedded SQL oder parametrisiert bzw als Zeichenkette Dynamic SQL aus Pro grammen heraus zu geben Zus tzlich gibt es in INGRES noch alle diese Schnittstellen auch f r die Anfragesprache QUEL Au erdem gibt es Masken als Schnittstellen zum DBS und zwar sowohl vordefinierte als auch selbstdefinierte Masken Solche oder hnliche Schnittstellen bieten heute fast alle relationalen DBS an Im CSQL System mu ten nun die CSQL Schnittstellen den SQL Schnittstellen nachempfunden und reimplementiert werden Zun chst wurden nur die SQL Riet90 und ISQL Schnittstelle Bosc90 implementiert da Embedded Dynamic SQL bereits selbst ber einen SQL Pr pro zessor realisiert wird und also ein Pr Pr prozessor h tte geschrieben werden m ssen Gr e re Probleme tr ten auch bei der Implementierung eines Dynamic CSQL auf Hier m te der In halt von Programmvariablen Zeichenketten analysiert bearbeitet und evtl ver ndert werden Das ist kompliziert weil diese Variablen erst zur Laufzeit belegt werden Praktis
202. native Syntax und Optimierung 123 sind und wie er ext_table Funktionen und Aggregationsfunktionen miteinander kombinieren darf Er mu in der Lage sein sinnvolle Abbruchbedingungen zu formulieren Der Programmierer der Interpolationsfunktionen hat es leichter er programmiert nur noch die neuen Aggregationsfunktionen Ein Datenbank kundiger Programmierer sollte die Funktionen zur Relationenerweiterung erstellen 9 3 Auswertung und Optimierungsm glichkeiten bei Interpolationsanfragen In diesem Abschnitt soll nur die Auswertung und Optimierung des Interpolationsanteils der An fragen betrachtet werden Sobald die Interpolation geschehen ist kann die Restanfrage wie an dere Datenbank Anfragen auch ausgewertet werden Die Auswertung der Restanfrage wird nur in soweit betrachtet wie die Kombination von Schritten in der Interpolation und der weiteren Auswertung Vorteile bringen k nnte F r das als Pr prozessor arbeitende CSQL System mu die Optimierung und Auswertung der Interpolation auf jeden Fall vor der Optimierung und Auswertung der restlichen Anfrage stattfinden und kann auch nicht damit vermischt werden Der Interpolationsanteil der Anfragen soll hier zun chst in kleinere Schritte zerlegt werden die dann einzeln f r die Optimierung und Auswertung betrachtet werden eine bekannte Technik in der Anfrageoptimierung Grob betrachtet zerf llt die Interpolationsauswertung in folgende Schritte die bis zu einem gewissen Grad vertau
203. nde Relation in der DB vorhanden ist 2 Erzeugen einer tempor ren Sicht auf die Relation die nur die Tupel zum angegebenen Datum sieht also Auswertung des festen Basisattributs und Z hlen der an diesem Datum gemesse nen Pegelst nde 3 Falls mehr als 3 n Pegelst nde vorhanden sind werden die 3 n r umlich dichtesten gemes senen Pegel bestimmt Falls sich dabei herausstellt da genau an der gefragten Stelle ein Me pegel liegt und dort auch gemessen wurde wird dieser Wert geliefert 4 Gewichtete Interpolation des Grundwasserstands der dichteste Pegelstand wiegt am st rksten 5 Einf gen des Ergebnisses in die bergebene Ergebnisrelation L schen der Sicht und Zur ck liefern von erfolgreich interpoliert Sollten zu dem gegebenen Datum keine Pegelst nde vorhanden sein wird ein nicht erfolgreich interpoliert zur ckgeliefert aber auch einen Hinweis darauf da weitere Interpolationen m g lich sind Tritt ein DB Fehler auf wenn z B das Schreiben in die Ergebnisrelation ist nicht m glich weil kein Plattenplatz mehr vorhanden ist wird zur ckgeliefert da die Interpolation nicht erfolgreich war und keine weiteren Interpolationen m glich sind 10 2 2 Die Interpolation von Niederschlag Die Interpolation von Niederschlag wird hier stellvertretend f r alle sehr unregelm igen Me parameter beschrieben wie etwa auch Windgeschwindigkeit Windrichtung oder Luftfeuchtig keit Es wird davon ausg
204. ne Bereichseinschr nkungen als Abbruchbedingungen f r die Gene rierung von STEP Werten gegeben wurden Das Ergebnis der Interpolation schreibt die Routine selbst mit den entsprechenden Basisattributen in die Ergebnisrelation Das CSQL System erkennt wenn alle STEP Werte innerhalb der g ltigen Bedingungen bearbei tet wurden oder wegen zu gro er L cken bei den Me werten in der DB keine weitere Interpo lation mehr m glich ist Eine SQL Anfrage wird gebildet und zur weiteren Auswertung dem DBS bergeben Der gesamte Ablauf im CSQL System vom Anfragebaum zur Ergebnismenge ist in Bild 8 5 dargestellt 8 5 Entschachtelung und Optimierung von Interpolationsanfragen Die Optimierung der CSQL Anfrage auf dem Anfragebaum gliedert sich in folgende Schritte Kaja90 1 Zuerst werden geschachtelte Anfragen also Anfragen mit geschachtelten WHERE oder HA VING Klauseln entschachtelt Wenn Interpolation in diesen Unteranfragen Subselects statt findet mu entschachtelt werden sonst kann die Interpolation nicht bearbeitet werden 2 Dann werden die Pr dikate in den WHERE und HAVING Klauseln in eine konjunktive Nor malform KNF gebracht 3 Selektionen werden vorab ausgewertet soweit dies m glich ist ohne die Interpolation zu ver f lschen um die Anzahl der Interpolationsschritte gering zu halten 108 Verarbeitung von CSQL Anfragebaum Anfrage entschachtelung Optimierungs modul Anfrage optimie
205. nen bilden dann verschiedene Untertypen vom berord neten Typ Relation Es k nnten dann Relationen z B als Me wertrelation als Stoffdatenrelati 38 Technische Verarbeitung von Umweltdaten on oder als Geo Relation ausgezeichnet werden Das Sicherstellen solcher zus tzlicher Eigen schaften kann als Voraussetzung fiir neue benutzerdefinierte Operationen dienen Es k nnten dann Operationen zur Weiterverarbeitung der Attributwerte definiert werden wie geometrische Operationen Plausibilit tspr fungen oder Interpolation Heute besteht in vielen neuen DBS wie z B Illustra Ilu94 und dem Nachfolger Informix Info96 zumindest die M glichkeit Relationentypen zu deklarieren Diese Relationentypen ha ben dann aber ein festes Schema etwa bodenprobe Verschiedene Relationentypen k nnen zwar ber Hierarchien zusammengefa t werden jedoch mu jeder neue Typ von Me wertrelati on einzeln deklariert werden Es ist nicht m glich eine allgemeine Deklaration zu machen in der Art Eine Mefirelation ist eine Relation mit mindestens zwei numerischen Attributen und beliebigen weiteren Attributen 4 3 Weiterentwicklungen von Datenbanksystemen In diesem Abschnitt werden verschiedene Ans tze f r DBS beschrieben und verglichen Die Ans tze die vom Prinzip her geeignet erscheinen werden n her vorgestellt Ihre ver nderte bzw erweiterte Funktionalit t gegen ber einfachen relationalen DBS wird erl utert damit sie sp ter auf
206. neten System f r eine Umweltdatenbank bzw f r Anwendun gen auf einer Umweltdatenbank k nnte man also pr fen ob ein MMDBS auch f r eine Um weltdatenbank geeignet ist 40 Technische Verarbeitung von Umweltdaten Umweltdatenbanken enthalten hnliche Datentypen Bilder oft auch freier Text und nat rlich konventionelle Daten Bei den Anwendungen ist die bereinstimmung noch besser Archivie rung Unterrichtung Pr sentation und berwachung z hlen zu den Hauptaufgaben von Um welt DBS neben Simulation die von MMDBS nicht direkt unterst tzt wird Bevor nun die M glichkeiten und Hindernisse die der Aufbau einer Umwelt Anwendung auf der Grundlage eines MMDBS bietet im einzelnen diskutiert werden k nnen m ssen zun chst folgende Fragen gekl rt werden 1 Gibt es schon ausgereifte MMDBS die erworben und benutzt werden k nnen 2 Bietet ein MMDBS alle Funktionen die die Umwelt Anwendung unbedingt ben tigt bzw lassen sich einzelne fehlende Funktionen durch einfache Erweiterungen erg nzen Schon die Antwort auf die erste Frage fiel zur Projektlaufzeit unbefriedigend aus In der damals aktuellen Literatur Wege91 RLMN93 wurden zwar einige bereits existierende MMDBS vor gestellt Das waren aber alles Forschungsprototypen mit den damit verbundenen Nachteilen Sie liefen nur auf bestimmter Hardware bzw mit bestimmter anderer Software zusammen und wur den nur f r eine gewisse Zeit oder gar nicht gewartet Zudem waren d
207. nfrla anfr2a anfr3 anfr3a hat die Relationengr e keine er kennbaren Auswirkungen auf die Antwortzeit Denn die Speicherstrukturen wurden so ge w hlt da mit wenigen Seitenzugriffen auf die Tupel mit den gesuchten Werten zugegriffen werden konnte Bei den komplizierteren CSQL Anfragen anfr2c anfr3b kann man jedoch Fallstudie 153 eine direkte Abh ngigkeit zwischen der Relationengr e und der Antwortzeit erkennen Hier mu also trotz geeigneter Speicherstrukturen mehr gesucht und bearbeitet werden F r De tails siehe Vergleich normaler mit Mini Relationen L ufe Im 2m 3m in Tabelle A 5 im Anhang Nat rlich sollte auch herausgefunden werden wie sehr das CSQL System die Bearbeitung rei ner SQL Anfragen verz gert Deshalb wurden die SQL Anfragen anfrl anfrla auch mit dem CSQL System gemessen Das CSQL System ben tigt hier jeweils etwa doppelt so lange wie SQL siehe Tabelle A 6 im Anhang Die Gr nde hierf r sind in Kap 8 9 und 9 beschrieben Bei der Messung der Beispielanfragen wurde aufgrund der oben beschriebenen Ergebnisse vor allem auf geeignete Datenstrukturen geachtet Alle anderen Randbedingungen haben keinen gr eren Einflu und wurden w hrend der Messungen auch nicht ver ndert 10 5 3 Messung der Beispielanfragen Die Beispielanfrage 1 lief sowohl im SQL als auch im CSQL System in der jeweiligen Form schnell Ein anderes Ergebnis war auch nicht zu erwarten da die Anfragen neben einigen einfa c
208. ng Dies ist aber in vielen F llen nicht m chtig genug Erst durch die Definition neuer komplexer Datentypen lassen sich auch geeignete Bild und Urbildmengen f r diese Funktionen definieren In dieser Arbeit soll im folgenden nur noch von EDBS gesprochen wer den weil in den folgenden Betrachtungen die Erweiterbarkeit vorhandener Systeme im Vorder grund steht In dem System das in den in sp teren Kapiteln vorgestellt wird liegt der Schwer punkt auf der Definition neuer Funktionen 4 4 Formen der Erweiterbarkeit Es wird nun zun chst darauf eingegangen welche Erweiterungen in den verschiedenen EDBS selbst bereits enthalten sind und welche Erweiterungsm glichkeiten dem Benutzer angeboten werden Danach wird untersucht mit welchem Aufwand die Einbettung verschiedener neuarti ger Funktionen und Operationen erfolgen mu und wie gut die neuen Funktionen dann genutzt werden k nnen Dies ist ein wichtiges Kriterium daf r ob sich der Aufwand f r den Einsatz eines EDBS f r eine kleinere Anwendung berhaupt lohnt 4 4 1 Neue Datentypen Wenn im Zusammenhang mit EDBS von neuen Datentypen gesprochen wird sind meist reicher strukturierte Objekte gemeint die sich aus Grunddatentypen i a integer real double character strings und evtl bool zusammensetzen Dazu m ssen vom DBS die in Punkt 2 des OODBMS Manifesto beschriebenen Konstruktoren angeboten werden Beispiele f r solche Konstruktoren sind Menge Liste Feld oder Struktur Mit H
209. ng herstellen 4 6 Aufwand zur Erweiterung des DBS und der Anfragesprache Neben der Feststellung ob die f r eine bestimmte Umweltanwendung ben tigten Erweiterungen berhaupt mit den angebotenen Mitteln erreicht werden k nnen spielen vor dem tats chlichen Einsatz noch andere Betrachtungen eine wichtige Rolle e Wie hoch ist der Aufwand im Einzelfall Wie aufwendig ist die Definition Implementierung und Einbettung einer benutzerdefinierten Funktion einer bestimmten Art Kann dies von ei nem DB geschulten Anwender geleistet werden oder ist ein Spezialist zur DB Implementie rung erforderlich e Werden die Erweiterungen das Antwortzeitverhalten und die Performance des EDBS ent scheidend beeinflussen Wieviel Aufwand ist u U erforderlich um dies zu vermeiden 62 Technische Verarbeitung von Umweltdaten e Wieviel zus tzlicher Aufwand wird durch die Erweiterungen bei der bei DBS ohnehin not wendigen regelm igen Wartung erforderlich e Wie stark spezialisieren die Erweiterungen das DBS Wird es weiterhin m glich sein mit an deren DBS des gleichen Herstellers problemlos zu Kommunizieren Zur Beurteilung des Aufwands um neue Funktionen in ein EDBS einzubetten mu man unter scheiden zwischen dem Toolkit Ansatz von EXODUS GENESIS oder DASDBS und dem Ansatz eines relationalen DBS mit Erweiterungsm glichkeiten wie POSTGRES und Starburst Um z B das System POSTGRES um neue Funktionen zu erweitern ist es notwendig 1 d
210. ngen eher schlecht sein und damit die Akzeptanz der eingebetteten In terpolation beim Endbenutzer insgesamt nur begrenzt Bei eindimensionalen Basen f r Messungen wie etwa Zeit Temperatur oder Druck allein ist dies noch kein Problem Hier reichen die in konventionellen DBS angebotenen Speicherstruktu ren und Zugriffspfade aus Sie m ssen aber unbedingt eingerichtet und bei Bedarf auch gepflegt werden Anders sieht es aus f r mehrdimensionale Me basen insbesondere r umliche Daten aber auch andere mehrdimensionale Me basen z B die Temperatur und seine Dicke bestim men die Festigkeit eines Stahlblechs Hier gibt es in vielen konventionellen DBS noch immer keine geeignete Unterst tzung Prinzipiell ist hier ein mehrdimensionaler Index immer noch viel besser als gar keine Unterst tzung Hilfreich kann auch ein Clustering ber mehrere Relationen sein z B das Abspeichern von Punkten auf einer Fl che und den daraus gebildeten Polygonz gen auf einer Speicherseite Dies wird von einigen konventionellen DBS ORAC86 schon seit l ngerer Zeit angeboten F r die Unterst tzung r umlicher mehrdimensionaler Operationen gibt es in der Forschung schon vielversprechende Ans tze wie etwa r umliche Indexe siehe Oren86 oder neuere baumartige Datenstrukturen f r schnellen Zugriff auf geographische Daten wie sie u a in Guen90 in SeKr90 mit dem Buddy Tree in FrBa90 mit dem Fieldtree und in Same90 mit dem Quadtree vorgestellt werden
211. ngungen wie Luftdruck oder Umge bungstemperatur besteht Die Versuchsbeschreibung besteht meistens aus der Beschreibung der Versuchsanlage mit den einzelnen Ger ten Au erdem geh ren Angaben dazu die den Versuch als Ganzes betreffen wie die Gesamtlaufzeit des Versuchs und der Versuchsleiter Zus tzlich m ssen alle Parameter die erhoben werden und schon bekannte Abh ngigkeiten zwischen ihnen gespeichert werden Dieselben Me parameter k nnen unter idealisierten Bedingungen im Labor im Kontrollierten Feldversuch und in der freien Natur erhoben werden Im Idealfall werden die Parameter in allen drei Umgebungen gleichzeitig oder nacheinander gemessen Dabei entstehen Werte von sehr unterschiedlicher Qualit t Die Me genauigkeit schwankt abh ngig von den verwendeten Me ger ten und dem Einflu von St rparametern Auch das mu alles im Kontext vermerkt wer den 3 3 2 Wertebereiche f r Me werte Um die Besonderheiten von Wertebereichen von Me werten zu verdeutlichen werden hier zu n chst einige Beispiele genannt Ein Beispiel ist der Grundwasserstand der in einer Anzahl von Me pegeln auf dem Naturme feld in w chentlichen Abst nden ermittelt wird Zwischen den Me pegeln ist der Grundwasserstand hnlich dem in den Me pegeln aber nicht genau gleich Er kann durch Interpolation mit den umliegenden Me werten abgesch tzt werden Au erdem oder zus tzlich kann auch der Grundwasserstand zwischen den Me zeitpunkten berechnet w
212. nition von Me wertrelationen und Interpolationsverfahren automatisch gef llt ge nau wie normale Systemrelationen bei der Definition von Relationen gef llt werden Der ein fache CSQL Anwender kann sie nicht ndern Zun chst mu dem System bekanntgegeben werden welche Interpolationsverfahren es gibt und auf welches kontinuierliche Attribut welcher Relation sie angewendet werden d rfen Dabei mu es m glich sein mehrere Interpolationsverfahren f r dasselbe kontinuierliche Attribut zu definieren denn es k nnen verschiedene gleichwertige Methoden existieren die von den Benut zern unterschiedlich bevorzugt werden F r Interpolation ber verschiedene variierende Basisat tribute m ssen verschiedene Interpolationsverfahren definiert werden Dieses Verfahren erlaubt auch unter anderen Namen verschiedene Versionen derselben Methode bereitzustellen Es soll nicht m glich sein ein Interpolationsverfahren mit demselben Namen f r unterschiedli che Relationen zu definieren Damit soll erschwert werden da eine Interpolation auf eine Mes sung angewendet wird auf die das Verfahren nicht pa t Au erdem greifen die Interpolations funktionen direkt auf die Datenbank zu Dabei lesen sie au er der Me wertrelation auch u U noch Daten aus anderen Relationen um das Ergebnis zu verbessern Wie oben erw hnt kann es bei der Interpolation von Grundwasserst nden ber die Fl che z B n tzlich sein au er den Grundwasserst nden umliegen
213. nn eine Interpolation weitere Informationen aus ande ren Me wert Relationen in der Datenbank zu Hilfe nimmt Z B k nnte die Interpolations funktion zur Berechnung des Grundwasserstands an beliebigen Punkten die Beschaffenheit des Untergrunds Sand Lehm Ton Fels heranziehen Hier kann es zu leeren Ergebnissen kom men die der Benutzer zun chst nicht versteht wenn z B die Beschaffenheit des Untergrunds an einigen Interpolationsstellen fehlt Eine gute Dokumentation und detaillierte Meldungen k n nen jedoch Abhilfe schaffen hnliche Probleme k nnen im normalen SQL bei der Arbeit mit Sichten auftreten Probleme bereitet es auch unsinnige bzw sehr umst ndliche Anfragen zur ckzuweisen oder entsprechend zu vereinfachen Z B sind die Aggregationen MIN und MAX auf jeden Fall und die Aggregationen SUM und AVG wenn nur in eine Dimension interpoliert wird auf dem va riierenden Basisattribut nicht sinnvoll bzw ohne Interpolation gleichwertig und wesentlich ein facher zu berechnen Hier mu der Benutzer wenn er solche Anfragen stellt eine entsprechend lange Bearbeitungszeit in Kauf nehmen wie er das im normalen SQL evtl auch mu wenn er sehr umst ndliche Anfragen formuliert Interpolation in der HAVING Klausel als geschachteltes SELECT k nnte in manchen F llen sinn voll sein Da aber das DBS INGRES in der zur Projektlaufzeit verf gbaren Version derartige Anfragen nicht korrekt bearbeitete wurde hier auf eine Imp
214. nn und darf Die Einbeziehung der Interpolation besteht aus eigenen Klauseln die sinngem zur SELECT Klausel geh ren Deshalb k nnen auch nach jeder SELECT und WHERE Klausel Interpola tions Klauseln d h BY METHOD Klauseln evtl mit STEP Klauseln folgen a Auswertung von Interpolationsanfragen Die Auswertung der Anfragen soll hier nur soweit beschrieben werden wie es notwendig ist um festzustellen ob und wie weit die Interpolation mit Standard SQL zusammenarbeitet Wei tere Ausf hrungen hierzu sind in Kapitel 8 und auch in Kaja90 zu finden Eine zusammenfas sende bersicht gibt die Tabelle 6 1 am Ende dieses Abschnitts Restriktionen WHERE Klausel F r jede Einschr nkung ist zu kl ren ob die Interpolation vor oder nach deren Auswertung an gewendet werden soll Vier F lle m ssen hier unterschieden werden e Einschr nkungen auf festen Basisattributen F r das Ergebnis bedeutet es keinen Unterschied ob diese Einschr nkungen vor oder nach der Interpolation ausgewertet werden weil f r eine Interpolation stets nur Tupel mit gleichen Werten in festen Basisattributen herangezogen werden Unter Ber cksichtigung des Antwort zeitverhaltens sollte die Auswertung aber so fr h wie m glich erfolgen um die Anzahl der Interpolationsvorg nge zu verringern e Einschr nkungen auf kontinuierlichen Attributen Sie m ssen auf den berechneten Werten durchgef hrt werden damit ein Benutzer auch ein Ergebnis erh lt das
215. nnten An forderungen geniigt Erzeugen der Relation die die Messwertrelationen aufnimmt CREATE TABLE messrelst messrel vchar 24 NOT NULL NOT DEFAULT messatt vchar 24 NOT NULL NOT DEFAULT WITH JOURNALING CREATE UNIQUE INDEX messr_idx ON messrelst messrel messatt Erzeugen der Relation die die Basisattribute zu den kontinuierlichen I Attributen aufnimmt 7 CREATE TABLE basis messrel vchar 24 NOT NULL NOT DEFAULT basatt vchar 24 NOT NULL NOT DEFAULT basrel vchar 24 verweis vchar 1 NOT NULL WITH JOURNALING CREATE UNIQUE INDEX bas_idx ON basis messrel basatt Erzeugen der Relation die die Namen der Interpolationsverfahren enthaelt S CREATE TABLE interpol verf vchar 20 NOT NULL NOT DEFAULT messrel vchar 24 NOT NULL NOT DEFAULT WITH JOURNALING CREATE UNIQUE INDEX intp_idx ON interpol verf Erzeugen der Relation die die variablen Basisattribute zu den Interpolationsverfahren enthaelt oh CREATE TABLE interpolatt verf vchar NOT NULL NOT DEFAULT 20 messatt vchar 24 NOT NULL NOT DEFAULT varbasatt vchar 24 NOT NULL NOT DEFAULT basrel vchar 24 verweis vchar 1 WITH JOURNALING CREATE UNIQUE INDEX intat_idx ON interpolatt verf messatt varbasatt J NOT NULL Das Attribut verweis enth lt jeweils ob die Basisattribute direkt in der Me wertrelation gespei chert sind oder als Verweis Fremdschl ssel auf eine andere Relation In sp teren Versionen
216. nowledge and Data Engineering Vol 2 No 1 March 1990 pp 125 142 StRo86 Michael Stonebraker Lawrence A Rowe The Design of POSTGRES in Proc of ACM SIGMOD 86 Int Conf on Management of Data Washington D C 1986 pp 340 355 SUN88 SUN Microsystems User Manuals LEX SUN Release 4 1 December 1 1988 SUN89 SUN Microsystems User Manuals YACC SUN Release 4 1 February 1 1989 Teut89 G Teutsch et al The Experimental Field Site Horkheimer Insel Research Pro gram Instrumentation and First Results 1989 eingereicht zur Ver ffentlichung Teut90 G Teutsch Das PWAB Testfeld Wasser und Boden Stofftransport im Unter grund Erkundungs und Uberwachungsmethoden in Projekt Wasser Abfall Boden PWAB Bericht ber das 2 Statuskolloquium am 13 Februar 1990 in Karls ruhe Kernforschungszentrum KfK PWAB 5 Juni 1990 pp 17 28 Ullm91 Jeffry D Ullman A Comparison Between Deductive and Object Oriented Data base Systems in Deductive and Object Oriented Databases Proc of 2nd Int Conf DOOD 91 Munich Germany December 1991 C Delobel M Kifer Y Masunaga eds Springer Verlag Berlin LNCS 566 pp 263 277 Literatur 171 Wege91 K Meyer Wegener Multimedia Datenbanken Leitf den der angewandten Infor matik B G Teubner Stuttgart 1991 Wolf90 Andreas Wolf The DASDBS GEO Kernel Concepts Experiences and the Sec ond Step in Proc Symp on the Design and Implementation of Large Sp
217. ntervalls innerhalb einer normalen Datenbankanfrage abzufragen Die Werte werden dann aus den umliegenden Me werten mit einem geeigneten Verfahren berechnet In dieser Arbeit wird beschrieben wie eine Anfragesprache erweitert werden mu damit solche Anfragen m glich sind und wie dazu das Datenbanksystem erg nzt werden mu Verschiedene m gliche Ans tze werden aufgezeigt Ein Ansatz wurde als Prototyp implementiert um die Be nutzerfreundlichkeit dieses Konzepts zu zeigen Die Leistungsmessungen an einigen Beispielan fragen belegen ein akzeptables Antwortzeitverhalten Danksagung Mein besonderer Dank gilt Herrn Prof Dr Reuter fiir die Ubernahme des Hauptberichts und fiir die wissenschaftliche Begleitung w hrend der gesamten Zeit in der diese Arbeit entstanden ist Herrn Prof Dr Mitschang f r die bernahme des Mitberichts Herrn Prof Dr Ehrich von der TU Braunschweig daf r da er mein Interesse an der wis senschaftlichen Arbeit und am Gebiet der Datenbanken geweckt hat meinen Kolleginnen und Kollegen f r die freundliche und kreative Arbeitsatmosph re am IPVR und insbesondere Franz Haberhauer f r die Unterst tzung bei vielen kleinen und gr Beren technischen Problemen den Mitarbeitern der brigen PWAB Teilprojekte f r die Einf hrung in ihre Problemstellun gen und besonders Thomas Entenmann f r die Bereitstellung der Wetterdaten allen Studentinnen und Studenten die innerhalb von studentischen Arbei
218. ntyp BLOB gibt ein st rkeres Typisieren w re notwendig Ein berlagern von Bildern mu anders erfolgen als ein berlagern von Ger usch oder Tonsequenzen In POSTGRES StO193 wurden vier Ans tze gemacht BLOBs zu integrieren und zu implemen tieren Die Schnittstelle zum Benutzer ist jedoch in allen vier F llen gleich Es m ssen Ein und Ausgabeprozeduren geschrieben werden die die gro en Objekte aus Dateien in die Datenbank einlesen und umgekehrt aus der Datenbank in Dateien schreiben Die erste und einfachste M glichkeit zur Implementierung besteht darin Benutzerdateien als gro e ADT zuzulassen Das hat verschiedene gro e Nachteile Die Sicherheit ist ungen gend Transaktionsverwaltung und die in POSTGRES blichen Versionen sind dann auf BLOBs nicht m glich Der zweite Ansatz bestand darin nur POSTGRES eigene Dateien als ADT zuzulassen um die Sicherheit zu verbessern Die Probleme mit den Transaktionen und Versionen werden dadurch aber nicht gel st Im dritten Ansatz werden die gro en Objekte in Datenbl cke fester 50 Technische Verarbeitung von Umweltdaten L nge aufgeteilt Diese Datenbl cke k nnen wie andere Datenbankobjekte behandelt werden So gibt es keine Probleme mehr mit der Transaktionsverwaltung und der Versionenbildung Im vierten Ansatz wurden Datenbl cke variabler L nge verwendet was bei der Komprimierung der gro en Objekte Vorteile haben kann Aus diesen Ans tzen wurde dann die DataBlade Techno
219. nung wegf llt daf r aber die Anzahl der in die Durchschnittsberechnung einzubeziehenden Pegel ge liefert wird Die Tabelle 10 1 zeigt wie die CSQL und SQL Ergebnisse voneinander abwei chen und wieviele Pegel die SQL Anfrage jeweils in die Mittelung einbezieht Die Ergebnisse der CSQL Anfrage und der SQL Anfrage mit Gruppierung und Durchschnitts bildung weichen z T sehr voneinander ab einmal weniger als 10 cm Bohrproben 4xx einmal mehr als ein Meter Bohrproben 11xx Nat rlich mu der CSQL Wert nicht unbedingt immer der bessere sein jedoch spricht f r seine Qualit t da nur eine begrenzte Anzahl der dichtesten Me pegel gemittelt wird und dabei auch noch gewichtet wird Im konkreten Beispiel wurden von CSQL drei Me werte gewichtet gemittelt w hrend f r die Bohrproben 11xx 13 Me werte ungewichtet gemittelt wurden wie sich aus den Voranfragen ergab Bei den Grundwasserst n den die sich am Datum des gegebenen Beispiels insgesamt nur um ca drei Meter unterschie den ist eine Abweichung von einem Meter schon erheblich probe_id CSQL Wert SQL Wert Pegel bei SQL 1xx 154 413 154 379 2xX 154 424 154 379 3xx 154 597 154 379 4xx 154 407 154 500 5xx 154 387 154 427 6xx 154 445 154 376 7XX 154 430 154 342 8xx 154 311 154 338 9xx 154 321 154 509 10xx 154 960 154 541 11xx 155 748 154 632 12xx 155 731 156 263 Tabelle 10 1 Vergleich von CSQL und SQL Ergebnissen Wenn Indi
220. nur eine entsprechende Fehlermeldung Verarbeitung von CSQL 111 8 7 Nachbehandlung Das Ergebnis das das DBS zuriickliefert ist inhaltlich korrekt und vollst ndig Nur die u ere Form mu noch nachgebessert werden Anstatt der tempor ren Relation mu wieder der Name der Me wertrelation eingesetzt werden Anschlie end wird das Ergebnis in einer dem INGRES System nachempfundenen Art dem Benutzer auf dem Bildschirm pr sentiert Dabei kommt es zu dem in Abschnitt 8 2 beschriebenen ver nderten Verhalten da die Pr sentation der ersten Ergebnisseite evtl etwas l nger braucht das Weiterbl ttern daf r jedoch schneller geht Wenn Fehler aufgetreten sind werden diese vom CSQL System ebenfalls hnlich wie bei IN GRES dem Benutzer mitgeteilt und zwar unabh ngig davon ob diese Fehler von INGRES bei der Auswertung der SQL Anfrage oder schon vorher im CSQL System aufgetreten sind Wird CSQL vom Benutzer beendet werden alle tempor ren Relationen und Sichten wieder aus dem DBS gel scht 8 8 Stand der Prototyp Implementierung Das CSQL System ist bis auf die im folgenden aufgef hrten Einschr nkungen funktionsf hig und steht auf UNIX Systemen mit dem DBS INGRES zur Verf gung Folgende Einschr nkun gen bestehen bisher noch e Interpolation ist nur auf reinen Anfragen m glich In Verbindung mit Bedingungen in nde rungsoperationen ist es bisher noch nicht zugelassen Dazu m ten zwei Dinge ge ndert wer den e F r
221. olation ausgewertet werden auch alle aufgrund der fehlerhaften Messung interpolierten Werte die kleiner 0 sind entfernt Es l t sich keine qui distante Folge von Werten erzeugen obwohl dies von der Anzahl der vorhandenen g ltigen Werte und der Qualit t der Interpolationsfunktion her m glich w re Um das gew nschte Er gebnis zu erhalten mu in diesem Fall also vor der Interpolation ausgewertet werden Stellt nun ein anderer Benutzer folgende Anfrage SELECT zeitpunkt strahlung FROM wetter 60 BY METHOD strahlung_intp strahlung ENTRY zeitpunkt 22 04 90 06 00 00 STEP 3 hours 0 minutes 0 seconds WHERE zeitpunkt lt 06 05 90 18 00 00 AND strahlung gt 1 weil er ein Ergebnis ohne ganz niedrige Strahlungswerte wiinscht die er fiir seine weiteren Be rechnungen nicht ben tigt so gibt es folgende M glichkeiten Wird die Bedingung strahlung gt 1 vor der Interpolation ausgewertet werden evtl zu viele Tupel ausgeblendet das Ergebnis wird ungenau Eine Auswertung nach der Interpolation liefert hier das gew nschte Ergebnis Je nachdem was der Benutzer w nscht eine Ausblendung fehlerhafter Me werte oder eine willk rliche Einschr nkung seiner Ergebnismenge ist hier eine andere Auswertungsstrategie angezeigt Da man i a von einer willk rlichen Einschr nkung der Ergebnismenge ausgehen mu ist eine Auswertung der Einschr nkungen auf variierenden Basisattributen nach der Inter polation vorz
222. omputer Science No 337 Springer Verlag Berlin 1988 Guen90 Oliver Giinther Data Management in Environmental Information Systems in Proc 5 Symposium Informatik fiir den Umweltschutz Wien Osterreich September 1990 Informatik Fachberichte 256 Springer Verlag Berlin 1990 pp 57 66 Gutt77 John Guttag Abstract Data Types and the Development of Data Structures in CACM Vol 20 No 6 June 1977 pp 396 404 Haer78 Theo Harder Implementierung von Datenbanksystemen Carl Hanser Verlag Miin chen 1978 Hard87 Martin Hardwich Why ROSE is Fast Five Optimizations in the Design of an Ex perimental Database Systems for CAD CAM Applications in Proc of ACM SIG MOD 87 San Francisco May 27 29 1987 pp 292 298 HCLM90 Laura M Haas Walter Chang Guy M Lohman John McPherson Paul F Wilms Georges Lapis Bruce Lindsay Hamid Pirahesh Michael J Carey Eugene Shekita Starburst Mid Flight As the Dust Clears in IEEE Transactions on Knowledge and Data Engineering Vol 2 No 1 March 1990 pp 143 160 Hell98 Joseph M Hellerstein Optimization Techniques for Queries with Expensive Me thods in ACM Transactions on Database Systems Vol 23 No 2 June 1998 pp 113 157 Literatur 165 HeNa96 Joseph M Hellerstein Jeffrey F Naughton Query Execution Techniques for Caching Expensive Methods in Proc of the 1996 ACM SIGMOD Int Conf on Management of Data Montreal Quebec Canada June 4 6 1996 pp 423
223. onale Klausel f r eventuelle Schrittweiten Diese drei Klauseln sollen hier erkl rt werden Die BY METHOD Klausel Die BY METHOD Klausel gibt die Methode also das Interpolationsverfahren an und das Attri but das interpoliert werden soll Die Angabe des zu interpolierenden Attributs ist zwar nur bei Verbund einer Me wertrelation mit sich selbst zwingend erforderlich wird aber aus Gr nden der Einfachheit und Ubersichtlichkeit immer gefordert Die BY METHOD Klausel folgt im An schlu auf die FROM Klausel wenn die an der Anfrage beteiligten Relationen evtl Verbund bekannt sind Es d rfen nur Attribute aus diesen Relationen interpoliert werden Die BY METHOD Klausel hat folgendes Aussehen BY METHOD lt method gt lt cont attr gt lt method gt ist hier der Name der Interpolationsfunktion und lt cont attr gt der Name des kontinu ierlichen Attributs In einer Anfrage kann f r jedes kontinuierliche Attribut in der Ergebnisrela tion h chstens eine BY METHOD Klausel angegeben werden Die ENTRY Klausel Die ENTRY Klausel gibt die Basis an zu der ein Wert interpoliert werden soll Oder sie gibt den Anfangswert den Eintrittswert f r eine Reihe quidistanter zu interpolierender Werte an Die ENTRY Klausel hat mindestens einen und h chstens so viele Eintr ge wie das Verfahren variierende Basisattribute hat Fehlende variierende Basisattribute werden wie feste Basisattri bute behandelt d h sie werden zu den derzeit in
224. operation verschiedener Institute sto en die her k mmlichen Arten der Datenverwaltung immer h ufiger auf Schwierigkeiten Als Beispiele seien hier die Inkompatibilit t zwischen verschiedenen Rechnern Betriebssystemen und An wenderprogrammen genannt und die dadurch notwendigen Konvertierungsprogramme sowie Fehler die sich beim Kopieren und Konvertieren einschleichen k nnen Es gibt immer Probleme wenn verschiedene Personen auf demselben Datenbestand arbeiten m ssen Jeder Mitarbeiter konvertiert dazu i a die Daten zun chst in das f r seine Auswer tungsprogramme oder Statistiken geeignete Eingabeformat So entstehen unkontrolliert mehrere 36 Technische Verarbeitung von Umweltdaten Versionen der Daten Bei der Verarbeitung oder Erg nzung der Daten wird h ufig nicht gekl rt ob wirklich die aktuellste Version verwendet wird Relationale DBS wurden bisher nur vereinzelt genutzt was dann die Probleme nicht beseitigt sondern noch verst rkt weil eine weitere Version der Daten hinzukommt Einzelne Benutzer sind i a auch weder zeitlich noch aufgrund ihrer Kenntnisse in der Lage ein DBS an ihre eige nen Bed rfnisse anzupassen Zu diesen Anpassungen geh ren Laderoutinen die es erm gli chen die Daten so wie sie vom Me ger t aufgezeichnet wurden automatisch umzuformatieren und in die DB zu laden sowie Entladeroutinen oder andere Schnittstellen zur DB die die Daten im geeigneten Format f r die weiteren Auswertungsprogramme
225. ormatik f r den Umweltschutz Wien sterreich Septem ber 1990 Informatik Fachberichte 256 Springer Verlag Berlin 1990 pp 1 16 Knut73 Donald E Knuth The Art of Computer Programming Vol 1 Fundamental Algo rithms one Edition Addison Wesley Reading Massachusetts 1973 Kobu88 H Kobus Das PWAB Testfeld Wasser und Boden in Bericht ber das 1 Status kolloquium February 23 Karlsruhe Projekt Wasser Abfall Boden KfK PWAB 1 1988 pp 96 116 KTGP89 H Kobus G Teutsch C Gillbricht T Ptak Schadstofftransport im Untergrund Erkundungs und Uberwachungsmethoden Zwischenbericht PW 87 044 Uni versit t Stuttgart Institut f r Wasserbau Wissenschaftlicher Bericht Nr 89 18 HG 108 M rz 1989 Kueb89 Dietmar K bler Entwurf und Implementierung einer Anwenderdatenbank Ge ohydrologie auf dem relationalen DBS Ingres Teil 1 Studienarbeit Nr 790 IPVR Universit t Stuttgart November 1989 LeLi89 Tobin J Lehman Bruce G Lindsay The Starburst Long Field Manager in Proc of the 15 Int Conf on Very Large Data Bases VLDB Amsterdam The Nether lands August 22 25 1989 pp 375 383 Lieb90 Sabine Liebelt Implementierung eines Datenbankauskunftsystems Studienarbeit Nr 830 IPVR Universitat Stuttgart Februar 1990 LiHa90 Bruce Lindsay Laura Haas Extensibility in the Starburst Experimental Database System in Proc Database Systems of the 90s Int Symposium Miiggelsee Berlin Nov 5 7
226. pel erzeugt worden sind Das w re im Beispiel eins 13 mal wenn die gegebene feste Abbruchbedingung Alternative Syntax und Optimierung 125 y_koord lt 350 0 genutzt werden kann aber 75 mal wenn die gegebene variable Abbruchbedin gung genutzt wird und der Me pegel mit der h chsten y Koordinate 10 470 ist Wenn die Abbruchbedingung Verweise auf die alten Basisattribute enth lt k nnen Indexe auf diesen At tributen dazu beitragen die Anzahl der zu lesenden Tupel betr chtlich zu verringern Es gibt nun M glichkeiten diesen Aufwand betr chtlich zu reduzieren In den meisten F llen wird es g nstiger sein die Originalrelation nur einmal zu lesen und f r jedes Tupel die entspre chenden STEP Werte zu erzeugen Denn das Erzeugen der Werte ist viel schneller als das Le sen der ganzen Relation Hier ist es geschickt die Tupel in der geordneten Reihenfolge der fe sten Basisattribute zu lesen wenn ein entsprechender Index vorhanden ist Diese Reihenfolge wird n mlich im n chsten Schritt der Anfrageauswertung ben tigt dem Gruppieren der erg nz ten Tupel nach allen Basisattributen Wenn die Basis mehrdimensional ist w re ein mehrdimensionaler Zugriffspfad am g nstigsten Index Strukturen wie ISAM oder B Tree wie sie in konventionellen DBS vorhanden sind s GrRe93 sind nicht ausreichend Strukturen wie sie auch f r r umliche Daten vorgeschlagen werden erscheinen geeigneter Beispiele hierf r sind der Buddy Tree SeKr9
227. pp 113 133 SCFL86 P Schwarz W Chang J C Freytag G Lohman J McPherson C Mohan H Pirahesh Extensibility in the Starburst Database System in Proc of 1986 Int Workshop on Object Oriented Database Systems Asilomar Pacific Glore Cal pp 85 92 ScWa86 H J Schek W Waterfeld A Database Kernel System for Geoscientific Applica tions in Proc of the 2nd Int Symp on Spatial Data Handling Seattle Washington July 1986 pp 273 288 SeKr90 Bernhard Seeger Hans Peter Kriegel The Buddy Tree An Efficient and Robust Access Method for Spatial Data Base Systems in Proc of 16 Int Conf on Very Large Data Bases VLDB August 13 16 1990 Brisbane Australia pp 590 601 Sell87 Timos K Sellis Efficiently Supporting Procedures in Relational Database Sys tems in SIGMOD Record Vol 16 No 3 Dec 1987 pp 220 226 SeSW96 Peter G Selfridge Divesh Srivastava Lynn O Wilson IDEA Interactive Data Exploration and Analysis in Proc of the 1996 ACM SIGMOD Int Conf on Ma nagement of Data Montreal Quebec Canada June 4 6 1996 pp 24 34 SeVK98 Roger Sessions Andreas Vogel Eugene Kim COM vs CORBA computerliteracy http www clbooks com interviews COMvsCORBA html 1998 Shaw90 Phil Shaw Database Language Standards Past Present and Future in Proc Database Systems of the 90s Int Symp Miiggelsee Berlin Nov 5 7 1990 Sprin ger Verlag LNCS 466 SnAh85 Richard Snodgrass Ilsoo Ahn A
228. r f llt Archivierung im oben beschriebenen Sinn wird mit der Integration neuer Speichermedien wie optische Platten und mit der zunehmenden Verwendung von DBS in Aufgabengebieten wie B rokommunikation in die DB Technologie immer mehr Eingang finden Verteilte DBS mit transparenter bzw funktionaler Verteilung im Sinne der Client Server Architektur sind jetzt Stand der Technik Defizite bestehen jedoch bei der Bereitstellung der Daten f r weiterf hrende Auswertungen und Anwendungen Beispiele hierf r sind der Ersatz fehlender Werte die Berechnung quidistanter Wertefolgen oder der flexible Vergleich mehrerer Me reihen Daf r m ssen immer noch spezi elle auf den Einzelfall zugeschnittene Anwendungen und Konvertierungsprogramme geschrie ben werden Nur eine spezielle Weiterentwicklung der DBS die sogenannten Erweiterbaren DBS zeigen hier Ans tze zu akzeptablen L sungen Diese DBS waren aber zur Laufzeit des Projekts nur als Forschungsprototypen verf gbar und wiesen die damit verbundenen blichen Nachteile auf Sie waren in ihrer sonstigen Funktionalit t nicht ausreichend nicht auf der ge w nschten Hardware verf gbar und es erfolgte keine Wartung Au erdem sind die Erweite rungsm glichkeiten kommerzieller erweiterbarer DBS sehr allgemein gehalten und das Anpas sen an eine bestimmte Anwendung bzw Gruppe von Anwendungen erfordert auch einigen Auf wand und Kenntnisse der Funktionalit t erweiterbarer DBS Deshalb sollte sich das Info
229. r allem wenn die Erweiterungen einmal in die DBS Anfrageauswertung eingebettet sind stehen sie in allen DBS Schnittstellen zur Verf gung Auch entf llt die unterschiedliche Bearbeitung derselben Klauseln an verschiedenen Stellen der Anfrage im CSQL Aufsatz und im eigentli chen DBS Die Probleme mit geschachtelten Anfragen best nden nicht mehr denn e das Wechseln der Kontrolle zwischen Interpolation und Anfrageauswertung w rde kein Problem mehr darstellen e das DBS w rde die meisten geschachtelten Anfragen ohnehin zur Optimierung entschach teln e wo dies nicht geschieht w re eine weitere Entschachtelung kein Problem weil die in Zwi schenschritten notwendigen Duplikat Eliminierungen eingebaut werden k nnten Verarbeitung von CSQL 115 Die Interpolation k nnte besser optimiert werden weil sie mit anderen Auswertungsschritten vermischt und gekoppelt werden k nnte siehe auch Kap 9 Dennoch wurde mit den beschriebenen Methoden ein System erstellt das f r kleinere bis mitt lere Anwendungen akzeptable Antwortzeiten bietet siehe Kap 10 und als Prototyp f r erste Benutzer verwendet werden kann 116 Verarbeitung von CSQL 9 Alternative Syntax und Optimierung In diesem Kapitel werden zun chst einige Schw chen und Nachteile der CSQL Anfragesprache und des CSQL Systems aufgez hlt Diese dienen dann als Motivation f r einen zweiten Ent wurf einer Syntax und die Einbettung in ein DBS Dieser zweite Entwurf geht jedoc
230. r Daten wurde bereits in Kap 3 motiviert Eine aufwendigere Transaktionsverwaltung kann z B bei der Bearbeitung von BLOBs n tzlich sein ist aber i a bei Umwelt DB und Me werten nicht unbedingt erforderlich Wissensrepr sentation nach den Konzepten der K nstlichen Intelligenz kann ebenfalls n tzlich sein So eine Komponente wurde nur in den Konzepten von DASDBS ScWe87 erw hnt aller dings keine entsprechende Deduktionskomponente Wenn in anderen Systemen wie Starburst und POSTGRES von Regeln und Regelauswertung skomponente gesprochen wird sind immer DBS Interna wie etwa der Optimierer gemeint f r die der Benutzer bei der Definition von Er weiterungen weitere Regeln angeben kann Je h her die Modularit t des Systems ist und dies auch f r den Benutzer sichtbar ist desto eher ist es vom demjenigen der die Erweiterungen programmiert zu durchschauen und zu erg nzen I a ist aber trotzdem ein Spezialist der Datenbankimplementierer DBI erforderlich Wenn je doch wie bei POSTGRES genaue Anweisungen zur Erstellung und Einbindung der Erweiterun gen gegeben werden braucht Programmierer werder das Gesamtsystem zu verstehen noch Spe zialist zu sein wenn nur kleinere Erweiterungen angebracht werden sollen Bei DASDBS war schon die Zielsetzung anders Hier wurde davon ausgegangen das ganze anwendungsorientierte front ends implementiert werden Eine Zusammenstellung der in diesem Abschnitt besprochenen Punkte ist der Tabelle
231. r Datenbank gespeichert sind sondern die aus den vorhandenen Daten abgeleitet werden m ssen Ein erster Ansatz alle Werte die gebraucht werden k nnten auch explizit zu speichern mu abgesehen vom inakzeptablen Speicherplatzbedarf schon deshalb scheitern weil kontinuierliche Vorg nge siehe Kap 3 3 2 abgelegt werden sollen bei denen sich immer noch ein Zwischenwert finden l t Andererseits sind Algorithmen bekannt wie sich diese be liebigen Zwischenwerte aus den umliegenden berechnen lassen Dieses Verfahren ist hnlich dem Vorgehen bei Expertensystemen XPS genauer deren Deduktionskomponente die mit Hilfe von Regeln nicht zu verwechseln mit den Integrit tsregeln in den vorhergehenden Ab schnitten neue Fakten aus den vorhandenen ableiten Solche Deduktionskomponenten sind in Technische Verarbeitung von Umweltdaten 61 keinem der betrachteten EDBS vorhanden oder geplant lediglich in DASDBS war die Darstel lung von Wissen mit Hilfe von Ableitungsregeln zumindest vorgesehen Andererseits ist die Verbindung von DBS und XPS also DBS mit Wissensdarstellung und integrierter Deduktions komponente bisher selten und wenn es sie gibt ist das DBS nicht im beschriebenen Sinn er weiterbar siehe Kap 4 3 3 Wenn im System ein ADT Mechanismus vorhandenen ist EXODUS POSTGRES oder der CREATE RELATION Befehl entsprechend erweitert wurde DBS Illustra Illu94 lassen sich verschiedene Arten von Relationen Relationentypen
232. r den folgenden Schritt auch zutrifft oder nicht siehe Kap 9 1 Da das Hochz hlen der STEP Werte noch entlang einer Geraden im Raum also praktisch eindi mensional abl uft siehe Kap 8 7 m ten bei einem zweidimensionalen Raster noch mehrere sonst identische Anfragen mit unterschiedlichen ENTRY Punkten gestellt werden Um ohne CSQL mit einer normalen SQL Anfrage an ein halbwegs brauchbares Ergebnis zu kommen k nnte es der Benutzer mit folgender Anfrage versuchen wieder mit und ohne die Einschr nkung b tiefe lt 20 SELECT b probe_id AVG gw gdw_stand b tiefe b beschr FROM bodenproben b gwmessung gw WHERE DATE_TRUNC DAYS gw zeitpunkt DATE_TRUNC DAYS b zeitpunkt 18 12 90 AND 18 12 90 AND ABS b x_koord gw x_koord lt 60 AND ABS b y_koord gw y_koord lt 80 AND b tiefe lt 20 GROUP BY b probe_id b tiefe b beschr Fallstudie 145 Auch hier mu der Benutzer wieder einige Male hier 11 mal probieren bis er einen geeigne ten Wert f r den Abstand zwischen Bodenproben Entnahmestellen und GrundwassermeS stellen findet Im ung nstigsten Fall bekommt er f r einige Bodenproben keine Werte ohne da f r andere Proben zu viele Pegel herangezogen werden Im konkreten Beispiel oben schwankt die Zahl der zur Durchschnittsbildung herangezogenen Pegel zwischen einem und 39 Auf jeden Fall m ssen vorab Testanfragen laufen in denen die Gruppierung und Durchschnittsberech
233. r der DB zu bertragen F r die manuelle Eingabe k nnen Bild schirmmasken definiert werden Sowohl Ladeprogramme als auch Programme zur Unterst t zung der manuellen Eingabe k nnen Integrit tspr fungen auf den Daten vornehmen Beide Me thoden haben den Nachteil da sie sehr unflexibel sind gegen ber dem Format in dem die Da ten vorliegen Das Format ndert sich jedoch in der Realit t h ufig weil versucht wird Me ge r te immer wieder optimal einzusetzen Programmierbare Massenlader k nnen hier bis zu ei Me werte Umweltdaten und Umweltprojekte 31 nem gewissen Grad Abhilfe schaffen indem sie z B Daten aus multiplen Dateien in multiple Relationen laden Ganz l t sich das Problem damit aber nicht in den Griff bekommen W nschenswert sind hier Bildschirmmasken und Ladebefehle bzw Programme die leicht n derbar sind D h sie sollten auf hoher Ebene programmierbar sein z B in einer Sprache der 4 Generation und gut dokumentierbar sein Damit die Me werte weiterverarbeitet werden k nnen m ssen sie vom DBS wieder bereitge stellt werden Dies kann grunds tzlich auf zwei Arten geschehen 1 ber eine interaktive Schnittstelle werden Anfragen gestellt die die gew nschten Daten genau beschreiben Die Er gebnisse dieser Anfragen werden aus der DB in Dateien geladen die dann von Auswertungs programmen wie gewohnt verarbeitet werden 2 Anweisungen der Anfragesprache z B Embedded SQL werden direkt in das A
234. r91 Joachim Fabricius Interpolationsverfahren fiir eine Wetterdatenbank auf dem re lationalen DBMS INGRES Diplomarbeit Nr 738 IPVR Universitat Stuttgart Fe bruar 1991 164 Literatur FrBa90 Andrew U Frank Renato Barrera The Fieldtree A Data Structure for Geograph ic Information Systems in Proc Symp on the Design and Implementation of Large Spatial Databases Santa Barbara Cal July 17 18 1989 LNCS Bd 409 Springer Verlag Berlin 1990 pp 29 44 FrTh84 J France J H M Thornley Mathematical Models in Agriculture A Quantitative Approach to Problems in Agriculture and Related Sciences Butterworth amp Co Publichers Ltd 1984 Chapter 6 pp 95 113 Gadi88 Shashi K Gadia A Homogeneous Relational Model and Query Language for Temporal Databases in ACM ToDS Vol 13 No 4 Dec 1988 pp 418 448 GaW087 Richard A Ganski Harry K T Wong Optimization of Nested SQL Queries Re visited in Proc of the 1987 Annual Conf on Management of Data ACM SIG MOD San Francisco May 27 29 pp 23 33 GrDe87 G tz Graefe David J DeWitt The EXODUS Optimizer Generator in Proc of the 1987 Annual Conf on Management of Data ACM SIGMOD San Francisco May 27 29 pp 160 172 GrRe93 Jim Gray Andreas Reuter Transaction Processing Concepts and Techniques Morgan Kaufmann Publishers San Mateo California 1993 Guen88 Oliver Giinther Efficient Structures for Geometric Data Management Lecture Notes in C
235. rden angestrebt Erforscht wurden vor al lem Wechselwirkungen zwischen verschiedenen Pflanzen Anbaumethoden und den aufgebrach ten Stoffen D nger Herbizide Pestizide F r vergleichende Untersuchungen wurde das Test feld in konventionell und in alternativ umweltschonend bewirtschaftete Parzellen aufgeteilt 6 Die Teilprojekte Auf lange Sicht wird so eine kologisch und konomisch vertr gliche Art der Landwirtschaft gesucht Bei der gro en Anzahl von Projektpartnern die auf einem relativ kleinen Versuchsfeld zusam menarbeiten ist eine gute Koordination besonders wichtig Z B mu genau aufgezeichnet wer den wer wo Bodenproben genommen und den Untergrund mit Granulat aufgef llt hat damit sp tere Proben nicht verf lscht werden Auch solche Daten m ssen gesammelt und schnell und sicher an alle Projektpartner verteilt werden 2 2 Das Teilprojekt Geohydrologie Die Hauptziele dieses Projekts sind die Schadstoffverfolgung im Untergrund und die Entwick lung eines Grundwasserstr mungsmodells f r das Gebiet in dem das Testfeld liegt Als wesent licher neuer Aspekt dieses Modells wird dabei der in diesem Gebiet vorherrschende Boden ein bezogen der aus einem Gemisch aus K rnern unterschiedlicher Gr e besteht Dazu wurde zun chst eine Bestandsaufnahme des Gel ndes vorgenommen In einem quidi stanten Raster wurde die Gel ndeh he vermessen An denselben Punkten wurden geoelektrische Messungen durchgef hrt Z
236. rden m ssen s a Kap 10 2 3 Interpolation von Niederschlagswerten Et was hnliches wird auch in HeNa96 f r die Berechnung teurer Pr dikate in DB Anfragen vorgeschlagen Die Speicherung der Ergebnisrelation einer ebenfalls tempor ren Relation sollte im Hinblick darauf geschehen da diese Relation w hrend der weiteren Anfrageauswertung noch gelesen wird evtl sogar mehrmals In vielen F llen kann es n tzlich sein die Speicherstruktur und die Zugriffspfade der Originalrelation zu verwenden weil diese Relation die Originalrelation in der Restanfrage ersetzt also auf sie genauso zugegriffen wird wie auf die Originalrelation Folgender Punkt dabei ist noch wichtig Wenn der Anfrageoptimierer wei da eine Anfrage Interpolation enth lt wei er auch da diese Teiloperationen in der gegebenen Reihenfolge ab laufen m ssen und kann dahingehend optimieren Zumindest f r diesen Teil der Anfrage kann damit auch das Erzeugen von alternativen Auswertungspl nen entfallen 9 3 2 u ere Optimierung Das Prinzip ist hier die Anzahl der Interpolationen zu verringern wann immer dies mit ver n nftigem Aufwand m glich ist Denn Interpolation bedeutet da anstatt des Lesens eines Tu pels mehrere Tupel bis zur gesamten Relation gelesen werden und eine Funktion ausgewertet wird Hier hnelt die Optimierung f r Interpolationsanfragen der Optimierung von Anfragen mit aufwendig zu berechnenden Pr dikaten oder geschac
237. rdeutlicht Anschlie end werden die daf r im DBMS notwendigen Voraussetzungen beschrieben CSQL erwartet einen mit SQL zumindest oberfl chlich vertrauten Anwender Er sollte in der Lage sein Relationen zu erzeugen und einfache Anfragen mit Einschr nkungen und Verbundo perationen zu stellen 6 1 Allgemeine Anforderungen an die Spracherweiterung CSQL Die Spracherweiterungen m ssen sowohl den Definitionsteil der Sprache DDL als auch den Anfrageteil DML betreffen In beiden Teilen sollen die besonderen Eigenschaften der Me werte ber cksichtigt werden Da die besonderen Eigenschaften der Me daten w hrend ihrer ge samten Lebenszeit in der Datenbank bestehen erscheint es sinnvoll sie auf konzeptioneller oder logischer Ebene w hrend des Datenbankentwurfs festzuschreiben Deshalb mu das Daten modell zwei Arten von Relationen unterscheiden k nnen konventionelle Relationen und Mef wertrelationen Denn auch eine Me wertdatenbank mu neben den Me werten zus tzlich kon ventionelle Daten enthalten Im konventionellen Teil der PWAB Datenbank Kap 2 k nnen z B Ernteertr ge kg Mais pro m liegen mit denen Berechnungen zur Wirtschaftlichkeit der verschiedenen Anbaumethoden durchgef hrt werden Im Definitionsteil der Anfragesprache m ssen deshalb Me wertrelationen und konventionelle Reltionen unterschieden werden k nnen Das soll dadurch geschehen da Me wertrelationen mit ihren kontinuierlichen und Basisattri buten gesond
238. re Anfragesprache lernen und diese w re auch weniger m chtig als die bekannten Anfragesprachen bez glich Einschr nkun gen und Verkn pfungsm glichkeiten mit anderen Daten Je m chtiger und hnlicher den rela tionalen Anfragesprachen so eine Schnittstelle gestaltet wird desto h her wird auch der Imple mentierungsaufwand Das Einbetten der Interpolation in eine vorhandene relationale Anfragesprache hat zwar auch einige Nachteile die Vorteile berwiegen aber deutlich Nachteilig ist hier da das Zusammen wirken mit der vorhandenen Sprache genau definiert werden mu und da evtl einige Ein schr nkungen gemacht werden m ssen Es soll dem Benutzer jedoch m glichst wenig Aufwand bei der Einarbeitung in die Interpolationsschnittstelle entstehen Jeder der einmal z B mit SQL gearbeitet hat wird auch auf die vielf ltigen M glichkeiten Ergebnismengen zu definieren nicht mehr verzichten wollen Es bietet sich deshalb an eine bereits existierende m glichst weit verbreitete Anfragesprache zu erweitern Als Grundlage f r die Interpolationsschnittstelle wurde Interaktives SQL gew hlt SQL ANSI86 siehe u a INGR89 und zwar aus den fol genden Gr nden e SQL ist eine standardisierte Anfragesprache ANSI86 ANSI89 ISO90 und auf den meisten relationalen DBS verf gbar Damit wird die Abh ngigkeit von einem bestimmten DBS ver ringert Interpolation von Me werten 69 e Der Benutzer kommt weiterhin mit einer einzigen int
239. renem Benutzer der im Formulieren von komplizierten Anfragen wenig bung hat oder f r einen Benutzer der mit den vorliegenden Me daten nicht vertraut ist also nichts oder wenig ber deren Me abst nde Vollst ndigkeit und dergleichen wei eine gro e Hilfe ist Die CSQL Antwortzeit mag im Ein zelfall lang erscheinen ein mehrfaches Probieren und Umformulieren von SQL Anfragen dau ert aber noch l nger Somit bietet CSQL gerade f r die Benutzer aus Anwenderprojekten die auch mit Daten arbeiten m ssen die sie nicht selbst erhoben haben eine geeignete Hilfe 156 Fallstudie 11 Zusammenfassung und Ausblick Diese Arbeit begann mit dem interdisziplin ren Forschungsprojekt Naturme feld Horkheimer Insel Doch gegen Ende des Projekts war bereits abzusehen da einige der Punkte auf die sich das DB Teilprojekt zun chst konzentriert hatte schon bald durch kommerzielle L sungen abgedeckt sein w rden Z B ist heute der Einsatz kommerzieller verteilter DBS f r hnliche Aufgaben Stand der Technik und nicht mehr der Forschung vorbehalten Auch einige der da mals technischen und organisatorischen Probleme wie die physische Vernetzung aller Projekt standorte w rden heute im Zeitalter des schnell expandierenden Internet so nicht mehr auftre ten F r andere Schwerpunkte des Projekts n mlich die Aufbereitung und Verarbeitung der Me werte war die Entwicklung von kommerziellen Produkten nicht so g nstig Nach Gespr
240. renzte Anzahl Me wer te mj erfa t und eine begrenzte Anzahl Tupel rj in der Datenbank gespeichert werden F r viele Me gr en sind jedoch Algorithmen oder Verfahren bekannt die nicht explizt erfa te Zwischenwerte mit hinreichender Genauigkeit aus den umliegenden Me punkten berechnen k nnen Dies ist eine hnliche Eigenschaft wie die Kontinuit t f r das Repr sentationsschema r umlicher Objekte das von Guen88 gefordert wird Deshalb werden die Me gr en im folgenden auch als kontinuierlich bezeichnet 3 3 3 Beziehungen zwischen Me werten Wie erw hnt sind zum vollst ndigen Erfassen eines nat rlichen Vorgangs eine Reihe von Ver suchen mit vielen Me reihen notwendig Bei den Beziehungen zwischen all diesen Me reihen und Me werten gibt es zwei Arten einfache Beziehungen ber den Kontext und komplexe Be ziehungen die oft noch nicht bekannt oder erforscht sind Die einfachen Beziehungen sind ent weder hierarchisch etwa Projekt Versuch Messung Oder es sind Querbeziehungen ber Orts und oder Zeitangaben oder ber andere Attribute aus dem Kontext Hierarchische Beziehungen gibt es nicht nur bei Me werten sondern in sehr vielen DB Anwen dungen In relationalen Datenbanken werden sie mit dem sog Fremd oder Sekund rschl ssel konzept modelliert Dabei enth lt die bergeordnete Relation auch die Schl sselattribute der un tergeordneten Relation nicht unbedingt als Schl ssel f r die eigenen Tupel um damit auf d
241. rkheimer Insel das sich aus f nf Anwenderprojekten und einem Informatik Teilpro jekt zusammensetzte Innerhalb dieses Projekts wurden von allen Anwendern unterschiedlichste Me werte erhoben Die wesentlichen Aufgaben des Informatik Teilprojekts bestanden darin die erhobenen Daten zu strukturieren zu sichern aufzubereiten und f r die Weiterverarbeitung auch anderen Projektpartnern als denen die sie erhoben hatten bereitzustellen Zur Speicherung der Daten wurde ein relationales Datenbanksystem gew hlt weil die Struktu rierung die Sicherung und inzwischen auch die Verteilung der Daten durch ein verteiltes Da tenbanksystem zufriedenstellend abgedeckt werden Nur f r die Aufbereitung speziell von Um weltdaten und Me werten werden noch immer keine geeigneten Werkzeuge oder Erg nzungen zu den Datenbanksystemen angeboten Die wichtigsten Anwendungen auf Umweltme werten sind die Visualisierung der Messungen der flexible Vergleich mehrerer Me reihen sowie Modellbildung und Simulation auf der Grund lage dieser Me werte Nun sind Me reihen aus der nat rlichen Umwelt oft unvollst ndig weil die Ergebnisse einzelner Messungen fehlen oder die zeitlichen bzw r umlichen Abst nde der Me werte k nnen nicht in der vom weiterverarbeitenden Programm gew nschten Form gelie fert werden Hier setzt diese Arbeit an Durch in das Datenbanksystem integrierte Interpolati onsverfahren wird es m glich Werte an beliebigen Punkten des Meb i
242. rkheimer Insel wurde an allen Projekten ein bis zwei Jahre l nger gearbeitet als zun chst vorgesehen Zun chst arbeitete ich innerhalb des Informatikprojekts sowohl an Konzepten f r die verteilte Datenhaltung an den verschiedenen Projektstandorten als auch an der in dieser Arbeit beschrie benen Thematik Dann zeichnete sich aber ab da verteilte homogene und heterogene Daten banksysteme schon bald kommerziell verf gbar sein w rden und mit der globalen wurde auch die lokale Vernetzung zwischen den Projektstandorten immer besser so da sich das Informa tik Teilprojekt ganz auf die Problematik der Umweltdaten und Me werte sowie der daf r not wendigen Erweiterungen der Datenbanksysteme konzentrieren Konnte F r einen Teil der Umweltdaten die sogenannten r umlichen Daten wie sie jeder Landkarte zugrunde liegen bieten kommerzielle Datenbanksysteme heute geeignete Datentypen mit pas senden Datenstrukturen und Operationen darauf an F r die Me werte selbst jedoch mit ihren besonderen Eigenschaften gibt es noch keine fertigen Produkte zu kaufen Die in dieser Arbeit vorgestellten Konzepte und L sungen sind damit noch immer aktuell Mit den heute verf gba ren Datenbanksystemen die Erweiterungen durch die Benutzer zulassen lie en sie sich jedoch etwas schneller und einfacher implementieren als hier beschrieben Zusammenfassung Diese Arbeit begann im Rahmen des interdisziplin ren Umweltforschungsprojekts Naturme feld Ho
243. rmatik Teilprojekt auf die o g Defizite konzentrieren ein kommerzielles Standard DBS verwenden und den Anwendern eine f r viele Anwendungen ausreichende L sung anbieten Einleitung 3 Im Kapitel 2 werden zuerst die Teilprojekte kurz beschrieben auch das DB Projekt und zwar aus der Sicht der Umweltforschung Die Austattung des Gesamtprojekts soweit f r das DB Teilprojekt relevant wird aufgez hlt Im dritten Kapitel werden dann aus der Sicht des Infor matikers oder Datenbankspezialisten die besonderen Eigenschaften von Umweltdaten und Um weltforschungsprojekten herausgestellt Daraus werden grobe Anforderungen an ein f r Um weltdaten geeignetes DBS aufgestellt In Kapitel 4 erfolgt eine Bestandsaufnahme ber bestehende M glichkeiten zur Umweltdaten und Me wertverarbeitung Dabei werden sowohl konventionelle relationale DBS als auch ob jektorientierte und erweiterbare DBS betrachtet Verschiedene Systeme und ihre Funktionen werden miteinander verglichen und ihre Eignung f r Umweltdatenbanken und Me wertverar beitung wird gepr ft Im n chsten Kapitel wird dann eine Erweiterung der Funktionalit t von DBS die Interpolation von Me werten eingebettet in Datenbankanfragen begr ndet und eingef hrt Es werden Syntax und Semantik der Erweiterungen der Anfragesprache festgelegt sowie andere erforderliche Er weiterungen des DBS wie zus tzliche Systeminformation definiert Das Zusammenwirken mit der DB Sprache SQL ANSI86
244. rt abgefragt wird der nicht in der Datenbank vorhanden ist der aber interpoliert werden k nnte Oder es wird nur dann interpoliert wenn dies explizit vom Benutzer gefordert ist Die erste Alternative erforderte zwar keinerlei zus tzlichen Aufwand vom Benutzer h tte aber zur Folge e da der Benutzer nicht wei wann er einen interpolierten Wert erh lt und wann einen Ori ginal Me wert e da er nicht zwischen verschiedenen Interpolationsverfahren w hlen kann 66 Interpolation von Me werten e und da er keine Abst nde f r quidistante Folgen angeben kann Um diese Nachteile zu vermeiden wird hier ein Ansatz gew hlt bei dem der Benutzer immer explizit sagen mu da er interpolierte Werte w nscht welche Abst nde mehrere Werte von einander haben sollen und nach welchem Verfahren interpoliert werden soll Damit sollte sich der Benutzer auch der M ngel die interpolierten Werten immer anhaften bewu t sein Obwohl Me werte sich in der Regtel nie mehr ndern mu der Benutzer z B damit rechnen da diesel be Anfrage mit Interpolation zu zwei verschiedenen Zeitpunkten unterschiedliche aber trotz dem jeweils korrekte Ergebnisse liefert weil etwa in der Zwischenzeit neue Me werte einge f gt wurden die das Interpolationsergebnis verbessern Die Interpolation mu also so in das DBS eingebettet werden da sie eine weitere Option f r den Benutzer darstellt d h Interpolati on wird nur durchgef hrt wenn der Benu
245. rt war F r alle Me wertrelationen wurde die ISAM Datenstruktur index sequential access method auf dem Attribut zeitpunkt gew hlt weil laut Handbuch sich diese Datenstruktur am besten f r Fallstudie 149 Relationen eignet bei denen oft Bereichsanfragen auf dem Index Attribut gestellt werden und auf denen nicht zu h ufig nderungen stattfinden N heres hierzu siehe Abschnitt 10 5 Bei der Definition der Datenstruktur konnte angegeben werden wie weit die Blattknoten beim Aufbau der Struktur gef llt sein sollten F r die Messungen wurde immer angegebgen da die Blatt knoten m glichst gut 100 gef llt sein sollten Es wurde darauf geachtet da aktuelle Stati stiken vorhanden waren und da die Me wertrelationen f r die Messungen neu reorganisiert waren 10 5 Leistungsmessungen In diesem Abschnitt werden zun chst die M glichkeiten erl utert die INGRES bietet um Lei stungsmessungen vorzunehmen Dann werden einige Me ergebnisse vorgestellt die anhand ei ner Reihe von SQL und CSQL Testanfragen gewonnen wurden Abschlie end werden dann die Beispiele aus Abschnitt 10 2 gemessen 10 5 1 Leistungsmessung im INGRES System Die einzige M glichkeit direkt im INGRES System Leistungsmessungen vornehmen zu k nnen besteht darin Variablen der INGRES Funktion dbmsinfo abzufragen Diese Funktion liefert verschiedene Statusinformationen von denen die folgenden f r Leistungsvergleiche verwendet werden k nnen INGR89
246. rtige Sicherung der Daten ist noch wichtiger weil die Sicherungskopie die sonst auf der Diskette oder im Datenlogger zumindest tempor r noch besteht wegf llt 3 5 2 Bereitstellung von Daten Die Daten m ssen sofort nach der Eingabe f r interaktive Anfragen und zur Weiterverarbeitung zur Verf gung stehen Auch Mitarbeiter aus anderen Teilprojekten sollen m glichst bald lesen den Zugriff darauf erhalten Es darf davon ausgegangen werden da sich die Projektmitarbeiter f r diesen Zweck in eine genormte SQL oder maskenorientierte Benutzeroberfl che einarbei ten Im dieser Arbeit zugrundeliegenden Projekt durften bei der Bereitstellung von Me daten f r an dere Teilprojekte einige Tage vergehen In so einem Fall reicht es aus wenn die Daten entladen und mit den passenden Ladebefehlen ber ein Netzwerk an andere Teilprojekte verschickt wer 26 Me werte Umweltdaten und Umweltprojekte den Wenn jedes Teilprojekt seine eigene DB halt kann es jedoch bei Unachtsamkeiten der Be nutzer zu inkonsistenten Daten kommen in dem Sinn da die Daten zu derselben Messung sich in den verschiedenen Projektdatenbanken unterscheiden Diese Probleme k nnen beim Einsatz von netzwerkfahigen oder verteilten DBS vermieden werden In einem verteilten DBS stehen die Daten auch sofort nach ihrer Eingabe allen Teilprojekten zur Verfiigung 3 5 3 Kooperation mit vorhandener Hard und Software Solange die neue Datenbank Software ltere Sof
247. rung tempordre Relationen umgeformter Anfragebaum eigentliche Anfrageauswertung Interpolation Erzeugung der neuen SQL Anfrage INGRES DBMS Ergebnismenge Bild 8 5 Ablaufsteuerung im CSQL System Die Entschachtelung wurde innerhalb einer Diplomarbeit Fabr91 untersucht und implemen tiert Dazu wurde auf die in Kim82 GaW087 beschriebene Klassifizierung von Schachte lungstypen und die dort ebenfalls skizzierten Algorithmen zur Entschachtelung zur ckgegriffen Verarbeitung von CSQL 109 Grob gesehen gibt es vier Typen von Schachtelungen bei SQL Anfragen die Benennung folgt hier Kim82 1 Typ A Schachtelung Der innere Anfrageblock kann ohne Beriicksichtigung der tibrigen Anfrage zu einem einzel nen festen Wert ausgewertet werden 2 Typ AG Schachtelung Der innere Anfrageblock kann ohne Beriicksichtigung der tibrigen Anfrage zu einer Menge von Werten ausgewertet werden F r die Entschachtelung gibt es hier zwei M glichkeiten Entweder wird jedes Element der Ergebnismenge einzeln in einer Reihe von mit ODER ver bundenen Qualifikationen in die Anfrage eingef gt Oder es wird eine Sicht definiert die der Bedingung der inneren Anfrage geniigt und diese Sicht wird tiber eine Verbundoperation in die Anfrage aufgenommen 3 Typ N oder Typ J Schachtelung Eine geschachtelte Abfrage mit dem Mengenoperator IN und einem Bezug zur u eren Anfra ge in der inneren Qualifikation WH
248. s Objekt stehen kann kann auch ein komplexes stehen und umgekehrt Dazu m ssen geeignete Operatoren bereitgestellt werden wie z B tiefe Kopie Kopie eines ganzen Objekts einschlie lich aller Teil und Unterobjekte 3 Alle Objekte m ssen eindeutig identifizierbar sein und zwar unabh ngig von ihrem derzeiti gen Wert Zwischen Gleichheit derselbe Wert und Identit t dasselbe Objekt mu ein Un terschied bestehen Diese Unterscheidung wird notwendig wenn Objekte Verweise auf ande re Objekten enthalten d rfen und so gemeinsame Unterobjekte haben k nnen 4 Das Prinzip der Kapselung mu angeboten werden d h die Implementierung von einem neu en Datentyp und der Operationen darauf mu unsichtbar f r den Endbenutzer durchgef hrt werden k nnen Es d rfen aber nebenbei auch andere f r den Benutzer nicht transparente Mechanismen zur Implementierung von Datentypen und Operationen angeboten werden 5 Ein Konzept f r Typen oder Klassen mu angeboten werden F r eine Klasse oder einen Typ von Objekten m ssen bestimmte Eigenschaften garantiert werden k nnen 6 Es mu m glich sein Hierarchien der Typen oder Klassen zu bilden mit Hilfe von Speziali sierungen und Generalisierungen Vererbung von Eigenschaften wie z B Wertebereichsbe schr nkungen in beiden Richtungen mu m glich sein Eine Schnittstelle hnlich den Abstrakten Datentypen ADT eignet sich f r die Konstruktion von Klassen oder Typen evtl in Hier
249. s befindet sich in Kap 6 3 1 Die An wendung der Einschr nkungen erfolgt nach festen Regeln Manchmal w re aber eine andere Anwendung w nschenswert 118 Alternative Syntax und Optimierung Durch den CSQL Ansatz sind auch einige Nachteile des Gesamtsystems bedingt die bei einer anderen Syntax die eine andere Vorgehensweise bei der Auswertung erm glicht nicht unbe dingt auftreten m ssen Diese Nachteile des Systems sind vor allem folgende e Das CSQL System l t sich nicht einfach f r andere Klassen eingebetteter Prozeduren oder Funktionen erweitern Dazu ist es zu sehr auf die Bearbeitung von Interpolation ausgelegt e Obwohl in Kap 7 eine M glichkeit aufgezeigt wurde wie man dem Programmierer der Inter polationsroutinen den DB Zugriff vereinfachen kann bzw ihn vom direkten DB Zugriff via SQL befreien kann bleibt diese L sung teilweise unbefriedigend Eigentlich sollte der DB Zugriff der Anfrageformulierung berlassen bleiben und die Interpolationsfunktionen sollten nur Eingabewerte bzw Objekte wie ganze Tupel oder Relationen erhalten und Ausgaben produzieren Diese Form erleichtert auch die Optimierung der gesamten Anfrage e Wenn in der WHERE Klausel keine Bereichseinschr nkungen f r die variablen Basisattribute gegeben wurden ist es f r das CSQL System sehr schwierig z T sogar unm glich zu be stimmen wann es mit der Generierung von STEP Werten aufh ren soll Im folgenden wird immer dann von Extrapolation g
250. s bestimmt werden gibt es f r jede Kombination aus Temperatur und Druck einen Wert ebenfalls unabh ngig davon ob dieser Wert auch im Versuch ermittelt wird Wenn es undefinierte Werte gibt hei t das i a da ein ungeeigneter Wertebereich bzw ein ungeeignetes Intervall aus dem Wertebereich ge w hlt wurde Me gr en behalten keinen konstanten Wert ber ein l ngeres zeitliches oder r umliches Intervall Es gibt aber auch keine sprunghaften nderungen Also gibt es nur ge ringf gige nderungen der Me gr e zwischen nahe beieinander liegenden Werten bez g lich der Basisgr en Dieser Vorgang l t sich als eine stetige Funktion f die die Basis das sind Ort und oder Zeit und evtl weiterer Kontext in den Me wertbereich abbildet beschrei ben Me werte Umweltdaten und Umweltprojekte 17 f b1 X b2 X X bn gt m bi Basisgr en m Me wert bj e Di m e Dm Die zugeh rigen Basiswerte identifizieren jeden Wert bez glich dieser Funktion eindeutig Das entspricht genau Relationen mit Schl sseln in der relationalen Algebra und in den rela tionalen Datenbanken Einzelne Kombinationen von bj mit den dazugeh rigen m werden explizit erfa t bzw gemes sen und in den Relationen R b1 b2 bn m als Tupel rj b1j b2j bnj mj R der Da tenbank gespeichert Die bi die m und damit das ganze Tupel eindeutig identifizieren sind der Schl ssel der Relation R Es k nnen nat rlich immer nur eine beg
251. s gesamten Jahres oder sogar mehrerer Jahre betrachtet werden Betrachtet wird hier ein In tervall von ca 100 Tagen vor und nach dem gesuchten Me zeitpunkt Die Intervallbreite ist einstellbar und mu auch nicht vor und nach dem Me zeitpunkt gleich sein Eine zu geringe Anzahl von Tagen etwa zehn f hrt jedoch zu sehr ungenauen Ergebnissen Aus diesen quidistanten Werten k nnen mit Hilfe der sog Diskreten Fourierinterpolation auch Trigonometrischen Interpolation durch Linearkombinationen von Sinus und Kosinus funktionen die Funktionen f_min und f_max berechnet werden FrTh84 Jahk91 Diese Funk tionen w ren jeweils exakt wenn die Anzahl der Sinus und Kosinusglieder also der Fourier koeffizientenpaare halb so gro w re wie die Anzahl der Minimal bzw Maximalwerte F r hinreichend genaue Ergebnisse sorgen aber auch schon zwei bis zehn Koeffizientenpaare So werden der Minimal und Maximalwert des gesuchten Tages berechnet 6 In einem weiteren Schritt wird jetzt der Wert am gesuchten Zeitpunkt des Tages berechnet Zwar ist der Temperaturverlauf auch innerhalb eines Tages n herungsweise sinusf rmig eine lineare Interpolation ist aber hinreichend genau und wird aus Leistungsgr nden vorgezogen Ein erfolgreich interpoliert wird zur ckgeliefert 7 Falls vom aufrufenden Programm signalisiert wurde da keine weiteren Interpolationen fol gen werden berechnete Minimal und Maximalwerte sowie Fourierkoeffizienten gel scht
252. scht werden k nnen 1 Lesen der Me wertrelation aus der Datenbank 2 Generierung der STEP Werte 3 Kombination der Tupel aus der Me wertrelation mit den STEP Werten bzw Erweiterung der Me werttupel um die STEP Werte 4 Zwischenspeicherung der neuen erweiterten Relation 5 Lesen von Teilen der erweiterten Relation 6 Auswertung der Aggregationsfunktion 7 Speicherung der Zwischenrelation mit den Interpolationsergebnissen 8 Auswertung der restlichen Anfrage wie gewohnt Das Bild 9 3 zeigt diesen Vorgang allgemein und das Bild 9 4 f r das Beispiel 1 Mit der Optimierung kann man nun auf zwei verschiedene Arten ansetzen Zun chst Kann ver sucht werden jede der oben aufgez hlten Teiloperationen zu optimieren Weil diese Optimie rung innerhalb der in CSQL definierten Interpolationsroutinen stattfindet wird sie im folgenden als innere Optimierung bezeichnet Au erdem kann die Verarbeitung der ganzen Anfrage auf die Tatsache ausgerichtet werden da die Anfrage Interpolation enth lt Dies wird von nun an u ere Optimierung genannt 124 Alternative Syntax und Optimierung Kest interpolierte anfrage Relation IN speichern der ___ Speicherstruktur interpol Rel Indexe wie in der n Originalrelation Auswertung der Gruppierung Indexe Lesen der mehr erweit Rel dimensional Speicherstrukturen erweiterte Relation Indexe 7 mehr gt Speichern d erw Rel d
253. sind genau definiert damit werden nderungen und das Anpassen an andere DBS einfacher Der Aufwand wird geringer weil einige Teile der Pr prozessor L sung etwa die aufgesetzte Benutzerschnittstelle entfallen Insgesamt entsteht also mit weniger Aufwand ein besseres Produkt Ausblick 159 Lage der Quellcode eines DBS vor lie en sich nat rlich alle m glichen Erweiterungen erg n zen Jedoch je mehr erg nzt wird desto gr er wird auch der Aufwand Bei der Integration von CSQL in das DBS k nnte man insbesondere bei der Anfrageoptimierung einige Verbesserungen erzielen Zun chst einmal sollte man berpr fen ob die Annahme da fr hes Interpolieren im mer g nstig ist richtig ist hnlich den Betrachtungen die in HeSt93 Hell98 gemacht wer den Au erdem kann dann auch in der inneren Anfrage einer geschachtelten Anfrage interpo liert werden so da auch Anfragen mit Interpolation in der inneren Unteranfrage die nicht ent schachtelt werden k nnen siehe Kap 8 5 bearbeitet werden k nnen Hier k nnen dann Opti mierungsverfahren die mit dem Aufbewahren von Zwischenergebnissen arbeiten HeNa96 eingesetzt werden Wenn der zweite Ansatz dann auf demselben DBS implementiert wird kann das Antwortzeitverhalten beider Varianten direkt verglichen werden So l t sich dann entschei den welcher Ansatz bez glich der Leistung der erfolgversprechendere ist Mit einem erweiterbaren DBS lie e sich auch der zweite Ansatz ohne V
254. so praxisnahen Projekt eingesetzt zu werden Sie sind jedoch eine interessante Entwicklung und k nnten jetzt da einige MMDBS produktreif sind f r hnli che Projekte als Basis System eine Alternative darstellen Es m te dann gepr ft werden ob Technische Verarbeitung von Umweltdaten 4 die gro e Funktionalit t wirklich ben tigt wird oder ob sie das Arbeiten mit dem System eher kompliziert 4 3 3 Deduktive Datenbanksysteme Nach Reut85 umfa t eine Deduktive Datenbank DDB 1 Axiome f r Fakten und Ableitungsregeln 2 eine Menge von Integrit tsbedingungen und 3 eine Meta Regel negation as failure Was nicht in der Datenbank gefunden wird gibt es nicht Ein ganz einfaches Beispiel ist eine Ableitungsregel der Form if condition A then conclusion C nach Baye85 Ein konkretes Beispiel gibt Baye85 mit if Vater von x ist z and Bruder von z ist y then Onkel von x ist y Diese Regel besagt da y der Onkel von x sein mu wenn z der Vater von x ist und y der Bruder von z ist Formaler als Horn Klausel kann diese Regel wie folgt geschrieben werden Onkel x y lt Vater x z Bruder z y Fakten sind dann Regeln ohne rechte Seite etwa Vater Sarina Roland lt Bruder Roland J rgen In einer relationalen DB werden Fakten in Relationen dargestellt hier etwa die Relationen Va ter und Bruder mit je zwei Attributen Regeln entsprechen dann der Definition von Anfragen oder Sic
255. stammen aus einem dem Benutzer be kannten quidistanten Raster F r die Funktion DATE_TRUNC gilt das in Beispiel 1 gesagte Die Einschr nkung b tiefe lt 20 dient nur dazu die Menge der Ausgabetupel einzuschr nken Schlie lich ist der Grundwasser stand fiir alle Einzelproben aus einer Probenahme gleich Gemessen wurde die Anfrage mit und ohne diese Einschr nkung 144 Fallstudie SELECT b probe_id gw gdw_stand b tiefe b beschr FROM bodenproben b gwmessung gw BY METHOD gw level ENTRY x_koord 100 0 y_koord 200 0 STEP 18 0 27 0 WHERE DATE_TRUNC DAYS gw zeitpunkt DATE_TRUNC DAYS b zeitpunkt 18 12 90 AND 18 12 90 AND gw x_koord lt 100 0 AND gw y_koord lt 100 0 AND b tiefe lt 20 AND b x_koord gw x_koord AND b y_koord gw y_koord Die Einschr nkungen gw x_koord lt 100 0 AND gw y_koord lt 100 0 genauer mindestens eine von beiden miissen hier als Abbruchbedingungen eingefiigt werden Die eigentlichen Abbruchbedingungen b x_koord gw x_koord AND b y_koord gw y_koord sind durch die Variabilit t von b x_koord und b y_koord f r die Interpolationssteuerung zu kom pliziert auszuwerten Das Interpolationsverfahren gw_level hort zwar auf zu interpolieren wenn die gesuchten Koordinaten einen bestimmten Abstand zu den vorhandenen Me stellen ber schritten haben Jedoch ist es f r die Interpolationssteuerung unm glich zu unterscheiden ob dies f
256. stoff meBwert x_koord y_koord zeitpunkt gw_st nde pegel_id me wert x_koord y_koord zeitpunkt Der Benutzer m chte nun zu jeder Bodenprobe den passenden Grundwasserstand an der Stelle der Bodenprobe ermitteln Mit SQL k nnte man hier nur mit der folgenden Anfrage zu einem evtl brauchbaren Ergebnis kommen 22 Me werte Umweltdaten und Umweltprojekte gesuchte Z Grundwasserst nde Bodenproben Me pegel Bild 3 2 Beispiel f r zwei mehrdimensionale Interpolation r umlich SELECT AVG g me wert b meBwert b x_koord b y_koord b zeitpunkt FROM bodenproben b gw_stande g WHERE g x_koord BETWEEN b x_koord 5 ANDb x koord 5 AND g y_koord BETWEEN b y_koord 5 AND b y_koord 5 AND g zeitpunkt BETWEEN b zeitpunkt 24 AND b zeitpunkt 24 AND b stoff Nitrat GROUP BY b me wert b x_koord b y_koord b zeitpunkt ORDER BY b x_koord b y_koord b zeitpunkt Der Benutzer l t hier den Durchschnitt aller der Grundwasserstandsmessungen bilden die in einem 10 10 Ma einheiten gro en Quadrat um die Bodenprobe liegen und in den 24 Stunden vor oder nach dem Ziehen der Bodenprobe gemessen wurden Um diese Anfrage stellen zu k nnen mu der Benutzer aber wieder die r umlichen und zeitlichen Me intervalle kennen Wenn die Intervalle sehr unterschiedlich sind wie z B die Abst nde der Grundwasser Me pe gel im in Kap 2 beschriebenen Projekt gibt es Probleme etwa zu viele leere Intervalle Weite re Probleme en
257. sverfahrens f r Grundwasserst nde sieht dann so aus DECLARE METHOD gdw_staende ON TABLE gwmessung CONTINUOUS ATTRIBUTE gdw_stand VARYING BASE ATTRIBUTES x_koord y_koord 6 2 4 Erweiterungen der Anfragesprache Um Interpolation in eine DB Anfrage einzubetten miissen folgende Angaben innerhalb der An frage zus tzlich spezifiziert werden Das Interpolationsverfahren und das kontinuierliche Attri but auf das es angewendet werden soll der Punkt der interpoliert werden soll und bei Bedarf die Schrittweite f r Folgen quidistanter Interpolationswerte Die Syntax wurde so gew hlt da sie an die nat rlichsprachliche Formulierung entsprechender Anfragen angelehnt ist hnlich wie dies bei SQL ja auch gemacht wurde Klauseln und Namen stehen an der Stelle in einer Anfrage an der sie auch in einem frei formulierten nat rlich Die SQL Erweiterung CSQL 79 sprachlichen Satz auftreten w rden Somit hat CSQL die gleichen Vorteile wie SQL da Be nutzer der nat rlichen Sprache folgend damit umgehen k nnen und CSQL relativ leicht erlern bar ist CSQL hat aber auch die gleichen Nachteile wie SQL n mlich da Namen u nicht in der logisch richtigen f r die Verarbeitung g nstigen Reihenfolge angegeben werden Um alle notwendigen Angaben f r eine Interpolation machen zu k nnen werden drei Klauseln ben tigt eine Klausel f r den Namen der Interpolationsfunktion eine Klausel f r den zu inter polierenden Punkt und eine opti
258. t Die Interpolationsroutinen greifen ber Embedded SQL C bzw Dynamic SQL C auf die Daten bank bzw die in der Datenbank enthaltenen Werte zu siehe Kap 5 also ber eine der Stan dardschnittstellen zur Datenbank Da dies aber bei den meisten Interpolationsroutinen in hnli cher Weise geschieht bietet sich hier eine M glichkeit den Anwender geeignet zu unterst tzen Da geometrische Operationen u in SQL direkt nicht vorhanden sind und sie ohnehin z B mit Hilfe von C Funktionen implementiert werden m ssen k nnte man dem Anwendungsprogram mierer durch Bereitstellen passender parametrisierter Funktionen das Verwenden von SQL so gar ganz ersparen Auch bei einem weiteren Problem kann dieses Vorgehen hilfreich sein CSQL mit eingebetteter Interpolation l st z B noch nicht das Problem wie man die dichtesten und weitere umgeben de Punkte zu einem geographischen Objekt findet Aber es versteckt dieses Problem vor dem Endbenutzer und bietet ihm eine einfach zu handhabende klare Syntax Das Problem wird auf die Implementierung der Interpolationsfunktionen verlagert wo es zentral effizienter gel st wer den kann Hier k nnten dem Anwendungsprogrammierer vorgefertigte Verfahren angeboten werden 94 Die Schnittstelle zwischen Interpolationsmodul und DBS 7 1 Standard Zugriffe auf die DB Es ist absehbar da man bei Interpolation und verwandten Operationen immer wieder die glei chen Suchfunktionen einsetzt wie z B das Finde
259. t spricht genau der in einem interdisziplin ren Projekt ben tigten Um jederzeit die Richtigkeit und Konsistenz des Datenbestands zu gew hrleisten werden n derungen auf Datenbanken nur innerhalb von Transaktionen durchgef hrt das sind unteilbare Gruppen von DB Operationen die entweder ganz oder gar nicht ausgef hrt werden Um die Dauerhaftigkeit der durch Transaktionen hervorgerufenen nderungen im Datenbestand zu ge w hrleisten werden alle Operationen protokolliert Diese Protokolle k nnen verwendet werden um die DB nach einer Besch digung wiederherzustellen oder auch um sie nach Anwendungs fehlern auf einen fr heren konsistenten Zustand zur ckzusetzen Da jedes DBS dem Benutzer die M glichkeit bietet Transaktionsklammern selbst zu setzen lassen sich sowohl sehr kurze Transaktionen f r manuelle Eingabevorg nge definieren als auch sehr lange f r Auswertungs programme In den Bereichen Mehrbenutzerbetrieb Autorisierungen Transaktionsverarbeitung und Proto kollierung bieten die heute erh ltlichen kommerziellen relationalen DBS ausreichende M glich keiten Es m ssen also keine Erweiterungen f r Umweltdaten vorgenommen werden 3 6 4 Archivierung und Komprimierung Heutige DBS sind nur auf die Korrektheit und hohe Verf gbarkeit eines online Datenbestands ausgerichtet Archivierungen also Auslagerungen auf nicht direkt verf gbare Speichermedien wie B nder von lteren nur noch selten ben tigten Daten sind ni
260. t sqrt Sie haben immer die Form fs skalar x skalar skalar Funktionen bzw Operatoren auf benutzerdefinierten Datentypen Dabei k nnen sowohl vor handene Operatoren um die neuen Datentypen erweitert werden als auch neue typspezifische Funktionen definiert werden Diese Operatoren und Funktionen haben als Argument e immer nur einzelne Instanzen eines Attributs eines bestimmten Datentyps und liefern auch nur ska lare Ergebnisse fba skalar x skalar skalar Mengenpr dikate Starburst Standard DBS bieten nur die Quantoren ALL und EXISTS bzw ANY Es sind aber noch andere Mengenpr dikate denkbar etwa MAJORITY Mehrheit oder mindestens ein Drittel bzw mindestens 10 Mengenpr dikate haben immer die Form MP relation skalar bool Neue Aggregationsfunktionen Starburst wie z B der kleinste positive Wert einer Menge von Werten Die in Standard DBS angebotenen Aggregationsfunktionen haben die Form As menge skalar Es sind aber noch andere weitere Eingabeparameter f r Aggregationsfunktionen denkbar Abdi menge x skalar skalar Abd2 relation x skalar skalar tupel Abd3 relation x tupel skalar tupel Funktionen auf ganzen Relationen Table Functions Starburst Diese Funktionen erhalten mindestens eine Relation als Eingabeparameter und bei Bedarf noch weitere skalare oder tu pelf rmige Eingabeparameter Sie liefern eine neue Relation z B eine zuf llige Auswahl
261. t der gr er 88 Die SQL Erweiterung CSQL ist als die in der DB gespeicherten Werte s u Diese Anfrage wiirde ohne Interpolation also zumindest ann hernd das gleiche Ergebnis liefern weil die interpolierten Werte aus den um liegenden Werten abgeleitet werden Besteht der Bezug zur u eren Anfrage ber die variierenden Basisattribute ist Interpolation v llig berfl ssig und das Ergenis wesentlich einfacher zu erlangen denn die variierenden Basisattribute sind ja durch die STEP Klausel festgelegt Das Ergebnis der Anfrage SELECT FROM a WHERE EXISTS SELECT FROM b BY METHOD b1 b_cont ENTRY basis 10 STEP 5 WHERE basis lt 50 AND basis a attribut lie e sich auch durch folgende Anfrage erzielen SELECT FROM a WHERE a attribut IN 10 15 20 25 30 35 40 45 Besteht der Bezug zur u eren Anfrage ber ein festes Basisattribut ist die Anfrage gleich wertig zu einer Anfrage ohne Interpolation Es m ssen auch umst ndlich formulierte Anfra gen korrekt bearbeitet werden solange sie syntaktisch richtig sind Aggregationen im Zusammenhang mit Interpolation sind h ufig wenig sinnvoll wenn sie nicht in Verbindung mit Gruppierungen ben tigt werden weil ihre Ergebnisse auch ohne In terpolation erreichbar sind wie bei Aggregationen auf festen Basisattributen und beim Z hlen in Verbindung mit Interpolation Bei Aggregation auf variierenden Basisattributen wird der Inhalt der Datenbank eigentl
262. t werden soll ist die Spei cherung der Tupel in der Reihenfolge in der sie sp ter benutzt werden sollen ein vielverspre chender Ansatz Hier mu sorgf ltig abgewogen werden ob das Speichern der Tupel in der ge w nschten Reihenfolge oder das Lesen und Sortieren der unsortierten Relation hinterher teurer ist Ein tempor rer Index ber alle Basisattribute w re eine andere L sung f r dieses Problem Letzlich bleibt die Wahl zwischen den beiden folgenden sinnvoll erscheinenden M glichkeiten 126 Alternative Syntax und Optimierung SELECT lt interpolierte Relation ae Index auf zeitpunkt Speichern der qs speichern als Btree auf interpol _ x_koord y_koord zeitpunkt nm von ee S weight_3 GROUP BY new x_koord ne new y_koord zeitpunkt new y_koord Ausnutzen der gt Lesen der WHERE lt Speicherstruktur erweitert Rel new y_koord lt 350 0 erweiterte Relation Anwenden einer Speicherstruktur 4 ISAM auf Speichern der new x_coord gt erweitert Rel new y_coord A Nested loop Strategie Erg nzen der mit Erzeu d WHERE gung der miele we Nea Me relation um lt STEP Werte in der zeitpunkt 29 03 88 die STER Werte inneren Schleife Ph Lesen von Erzeugen Index gt gwmessung 50 0 225 0 auf zeitpunkt N Relation gwmessung Bild 9 4 Anfragebaum mit Optimierung f r das Beispiel 1 50 0 235 0 e Speicherung der Tupel
263. tc mit den INGRES defaults transformiert Im g nstigsten Fall anfrl erf hrt der Benutzer hier eine durchschnittlich 5Oprozentige Verl n gerung seiner Antwortzeit im schlechtesten Fall anfr3 mu er 15 SQL bis 20 CSQL mal so lange auf seine Antwort warten F r Details siehe Lauf 20 und 21 im Vergleich zu Lauf 1 bis 6 Tabelle A 4 im Anhang Interessanterweise l t sich hier eine deutliche Abnahme der page faults im zweiten Lauf ge gen ber dem ersten feststellen Dies hat jedoch nur einen geringen Einflu auf die ben tigte CPU Zeit und einen kaum erkennbaren Einflu auf die gesamte Antwortzeit Als letztes wurde noch der Einflu der Gr e der Relationen auf das Antwortzeitverhalten untersucht Alle brigen Versuche liefen auf den Relationen wetter_60 anfrl anfr2 mit 30 262 Tupeln und wetter_10 anfr3 mit 181 727 Tupeln Aus der Relation wetter_60 wurden drei Abschnitte ausgew hlt 120 Tupel das entspricht f nf Tagen f r Lauf 1 1487 Tupel das entspricht zwei Monaten f r Lauf 2 4367 Tupel das entspricht sechs Monaten f r Lauf 3 Die gefragten Tupel lagen jeweils in der Mitte dieser Abschnitte Aus der Relation wetter_10 wurden zwei Abschnitte ausgew hlt 22 025 Tupel das entspricht f nf Monaten f r Lauf 1 52 385 Tupel das entspricht einem Jahr f r Lauf 2 Kleinere Bereiche konnten hier nicht ge w hlt werden weil die Anfragen einen Zeitraum von f nf Monaten umspannen Bei den meisten getesteten Anfragen a
264. te Dim heraufz hlen while mdglich do 1 Dimension bearbeiten Eingabe Parameterstring generieren m glich interpol Eingabe Parameterstring weitere_folgen if m glich then w_wert 1 w_wert 1 step 1 m glich nein i i 1 while w_wert i entry i and i lt n do i i 1 if i lt n then w_wert i entry i Dimension zur cksetzen w_wert i 1 w_wert i 1 step i 1 n chste Dimension heraufz hlen m glich ja F r den zweidimensionalen Fall w rden die spezifizierten Punkte dann bei einer Bedingung mit Abstand von vorhandenen Werten in der in Bild 8 6 beschriebenen Art und Weise abgearbeitet 114 Verarbeitung von CSQL Bild 8 6 Zweidimensionale Erzeugung von STEP Werten 8 9 M gliche Verbesserungen bei direkter Einbettung Da das CSQL System auf einem kommerziellen DBS aufsetzt f r das keine Quellen zur Verf gung stehen war der Pr prozessor Ansatz der einzig m gliche Es entstehen jedoch einige Nachteile dadurch Zun chst mu die gesamte Anfrage zweimal geparst werden einmal vom CSQL System und einmal von DBS Nach Bearbeitung der Interpolation mu zus tzlich noch aus dem Anfrage baum wieder eine SQL Anfrage aufgebaut werden Bei einer direkten Einbettung k nnten das Aufbauen der SQL Anfrage und das zweite Parsen entfallen und damit die Anfragebearbeitung beschleunigt werden Au erdem entf llt das Nachbilden der DBS Benutzerschnittstellen Vo
265. te des Laufs Im der Anfrage 2a sind vermutlich fehlerhaft was sich am abweichenden Wert von bio_cnt erkennen l t Vielleicht wurde hier zuviel gemessen also mehr als die eine Anfrage oder es wurde unbemerkt parallel auf dieser Relation gearbeitet bio_cnt cpu_ms dio_cnt et_sec pfault_cnt Anfrage Programm 140 2 anfrla SQL 110 anfrla SQL 130 anfrla SQL 100 anfrla SQL 300 anfrla CSQL 280 anfrla CSQL 310 anfrla CSQL 340 anfrla CSQL BP wr nloroo l 175030 anfr2a CSQL 281710 anfr2a CSQL 175120 2 anfr2a CSQL 173210 anfr2a CSQL 417900 anfr2c CSQL 23660 anfr2c CSQL 42590 anfr2c CSQL 82700 anfr2c CSQL 5100 anfr3 SQL 4760 anfr3 SQL 4750 anfr3 SQL 5100 anfr3a CSQL 4760 anfr3a CSQL 4750 anfr3a CSQL 148650 anfr3b CSQL 17600 anfr3b CSQL 31190 anfr3b CSQL Tabelle A 5 Vergleich von Anfragen auf Relationen unterschiedlicher Gr e Anhang Testanfragen und Mefergebnisse 183 Zum Abschlu sind jetzt noch einmal alle Me ergebnisse von SQL Anfragen zusammengestellt anfr1 anfr1a die sowohl mit SQL als auch mit CSQL gemessen wurden Interessanterweise trifft das Verh ltnis auch auf anfr3 und anfr3a zu obwohl anfr3a einige weni ge Aufrufe der Interpolationsfunktion enth lt Es wird dann allerdings nicht interpoliert son dern es handelt sich um sog Treffer also zuf llig in der DB vorhandenen Werte Deshalb wur den die Me ergebnisse dieser Anfragen mit in die T
266. te installiert und dann 2 Einleitung verschiedene Daten erhoben Diese Daten wurden sp ter ausgewertet d h es wurden z B ver schiedene Me reihen verglichen oder Simulationsmodelle damit durchgerechnet Dabei mu te in allen Teilprojekten auch oft auf Daten zugegriffen werden die von anderen Teilprojekten er hoben wurden Die Haltung aller im Projekt anfallenden Daten in einer gemeinsamen Datenbank DB oder in miteinander kooperierenden Datenbanken bot sich also an Das zu verwendende DBS sollte laut Spezifikation der Anwender mindestens folgende Funktionen erf llen e Kontrollierter Zugriff auf die Daten durch verschiedene Projektpartner ist gew hrleistet je der Teilnehmer verwaltet aber seine eigenen Daten selbst Es besteht also eine verteilte Datenhaltung e Die Konsistenzerhaltung des Datenbestands sowie die Sicherung gegen Hardware und Software Fehler ist gew hrleistet Die Speicherung erfolgt in tabellenartigen Strukturen Me reihen Eine Aggregation der gespeicherten Daten Auswertung Statistik ist einfach m glich e Die Archivierung insbesondere die Auslagerung gr erer Datenbest nde erfolgt auf off line Media wie B nder Die Daten werden f r verschiedene Anwendungen in unterschiedlichen Formaten z B feh lende Werte werden berechnet bereitgestellt Mehrere Me reihen k nnen flexibel verglichen werden Die ersten vier Punkte werden von allen heute kommerziell erh ltlichen relationalen DBS e
267. ten Funktionen die dem System bekanntgegeben wer Technische Verarbeitung von Umweltdaten 55 den ber deren Vorgehensweise die Anfragebearbeitung aber nichts wei und deren Ausf h rung deshalb nicht optimiert werden kann Operatoren werden anders als Funktionen voll einge bunden und ihre Arbeitsweise wird bei der Optimierung ber cksichtigt Daher werden bei ihrer Definition vom Datenbank Programmierer mehr Kenntnisse von DBS Interna und Program mieraufwand verlangt Es m ssen Hilfsfunktionen f r den Optimierer geschrieben werden Auf benutzerdefinierten Datentypen l t POSTGRES nur benutzerdefinierte Funktionen zu keine Operatoren Der Einflu benutzerdefinierter Operatoren auf die Anfrageoptimierung soll noch einmal an einem einfachen Beispiel erl utert werden Auch Benutzern des INGRES Systems ist es m glich eigene Datentypen sowie neue Funktionen und Operatoren auf vorhandenen sowie eigenen Da tentypen zu definieren und zu implementieren wenn ihre Installation die INGRES Object Mana gement Extension INGRES Erweiterung zur Objekt Verwaltung umfa t INGR9Ic Hier ist u a die Definition neuer Vergleichsoperatoren gt gt lt lt m glich Bei der Anfrage optimierung insbesondere bei der Entschachtelung geschachtelter Anfragen ist es gelegentlich notwendig einen Vergleichsoperator durch sein Komplement zu ersetzen s a Kap 8 5 Des halb verlangt INGRES nicht nur da dem System mitgeteilt wird da
268. ten oder als wissen schaftliche Hilfskr fte an diesem Teilprojekt mitgearbeitet haben und ohne deren engagiertem Einsatz der erste Prototyp nicht in der vorliegenden Form h tte fertiggestellt werden k nnen der Frauenf rderung der Universit t Stuttgart die mir mit einem Stipendium des Hochschul sonderprogramms I 1995 die Fortf hrung und damit die Vollendung dieser Arbeit nach der Geburt meiner ersten Tochter erm glichte meinem Mann Roland der mich unterst tzt hat wo er nur konnte und meinen T chtern Sa rina und Evelyn die zugunsten dieser Arbeit immer wieder einmal auf mich verzichten mu ten und nicht zuletzt ganz herzlich meinen Eltern die immer f r mich da waren wenn ich sie brauchte INHALT 1 Eiml it ng sae eo 8 3 Bi ws Ges ca cn ws ce ae See eh ee eier 1 2 Die Teilprojckte yon ar ei ER ee OE a Sh OE a Ae ee de 5 2 1 Das Gesamt Projekt 2 ra a oh aa a Ra SE Re 5 2 2 Das Teilprojekt Geohydrologie o oo a 6 2 3 Das Teilprojekt Bodenkunde naoa a 6 2 4 Das Teilprojekt Bodenchemie a 7 2 5 Das Teilprojekt Pflanzenbau ooa a 7 2 6 Das Teilprojekt Wasserchemie 2 20 ur 24 22 2 2 a 8 2 7 Das Teilprojekt Datenbankunterst tzung oaoa a 8 2 8 Hard und Software Austattung des Projekts oouo a 9 3 Me werte Umweltdaten und Umweltprojekte 20200020e00e 11 3 1 Eigenschaften von Umwelt Forschungsprojekten ooa a 11 3 2 D
269. terpolationsverfahren heraus zufinden CSQL Interpolationen k nnen also bei gleicher Anzahl und Breite der Tupel ein recht unter schiedliches Antwortzeitverhalten aufweisen abh ngig von der Art und Qualit t der Interpolati onsroutinen und von den Datenstrukturen und Zugriffspfaden im DBS Alternative Syntax und Optimierung 129 9 3 4 Optimierung im zweiten Ansatz Das Lesen der Me wertrelation und ihre Erg nzung mit den STEP Werten kann effizient opti miert werden Wenn jedes Tupel mit allen m glichen STEP Werten erg nzt werden mu dann ist die Zeit die ben tigt wird um die Originalrelation zu lesen nahezu unabh ngig von der An zahl der Werte die interpoliert werden sollen Die Zeit zum Lesen der Originalrelation kann je doch noch erheblich reduziert werden wenn WHERE Restriktionen gegeben sind die hoch se lektiv sind und die von Indexen oder Speicherstrukturen unterst tzt werden Die Zeit die ben tigt wird die Originalrelation zu lesen ist dann nicht l nger abh ngig von der Anzahl der zu generierenden STEP Werte sondern nur noch von der Gr e der Relation Wenn die Restriktionen in der WHERE Klausel keine Unteranfragen enthalten sollten sie immer so fr h wie m glich ausgewertet werden weil sie h ufig die Anzahl der weiter zu verarbeiten den Tupel erheblich reduzieren und ausgewertet werden m ssen sie sowieso Restriktionen auf zus tzlichen Attributen m ssen auf jeden Fall vor der Erg nzung mit STEP W
270. tion Techniques for Unstructured Data in Proc of the 1996 ACM SIGMOD Int Conf on Management of Data Montreal Quebec Canada June 4 6 1996 pp 505 516 BEHL90 C Bartilla Th Entenmann K Helfersrieder Th Lang B E Allison G Kahnt R R van der Ploeg Das PWAB Testfeld Wasser und Boden Transportvorg nge und Sickerwasserqualit t in der unges ttigten Zone unter konventionell und umweltschonend bewirtschafteten Ackerfl chen in Projekt Wasser Abfall Boden PWAB Bericht ber das 2 Statuskolloquium am 13 Februar 1990 in Karlsruhe Kernforschungszentrum KfK PWAB 5 Juni 1990 pp 29 48 BiFr91 R Bill D Fritsch Grundlagen der Geo Informationssysteme Band 1 Hardware Software und Daten Wichmann Verlag Karlsruhe 1991 BiFr95 R Bill D Fritsch Grundlagen der Geo Informationssysteme Band 2 Analysen Anwendungen und neue Entwicklungen Wichmann Verlag Karlsruhe 1995 Bill90 Ralf Bill Zur Eignung moderner Geo Informationssysteme f r Belange der Um weltinformatik in Konzeption und Einsatz von Umweltinformationssystemen O G nther H Kuhn R Mayer F ll F J Radermacher Hrsg Proc Informatik Fach berichte 301 Springer Verlag Berlin 1990 pp 331 339 Bill95 Ralf Bill Raumbezogene Datenverarbeitung in Umweltinformationssystemen in Umweltinformatik Informatikmethoden f r Umweltschutz und Umweltforschung 2 Auflage B Page L M Hilty Hrsg Handbuch der Informatik Bd 13 3 R Olden bo
271. tpunkt gt 01 04 90 00 00 00 AND w60 zeitpunkt lt 01 05 90 00 00 00 AND w60 zeitpunkt w10 zeitpunkt ORDER BY w60 zeitpunkt Diese Anfrage liefert dann nach akzeptabler Wartezeit siehe Abschnitt 10 5 3 die gew nschten Ergebnisse Mit einer einzigen Anfrage sind f r dieses Beispiel in Standard SQL keine brauch baren Ergebnisse zu erhalten Akzeptable Ergebnisse m ssen hier ber den Umweg von View Definitionen erreicht werden Der Benutzer mu dazu wissen da die Werte in 10 bzw 60 mi n tigen Abst nden gemessen wurden Er kann versuchen Werte zu finden die in einer 6 Um gebung von 5 bzw 30 Minuten um den gesuchten Zeitpunkt liegen Bei Zeitpunkten deren 6 Umgebung ber Mitternacht hinausginge w re das noch etwas komplizierter als hier gezeigt Die View Definitionen und die Anfrage k nnte dann so aussehen Fallstudie 147 CREATE VIEW w10 AS SELECT FROM wetter _10 WHERE DATE_PART DATE_PART DATE_PART DATE_PART DATE_PART DATE_PART DATE_PART DATE_PART NN rn CREATE VIEW w60 AS SELECT FROM wetter_60 WHERE DATE_PART DATE_PART DATE_PART DATE_PART DATE_PART DATE_PART DATE_PART HOURS zeitpunkt MINUTES zeitpunkt HOURS zeitpunkt MINUTES zeitpunkt HOURS zeitpunkt MINUTES zeitpunkt HOURS zeitpunkt MINUTES zeitpunkt HOURS zeitpunkt MINUTES zeitpunkt HOURS zeitpunkt MINUTES zeitpunkt
272. tributs k nnen f r jede m gliche Kombination der Ba sisattributwerte innerhalb des g ltigen Wertebereichs abgefragt werden e quidistante Folgen von Me werten in einer oder mehreren Dimensionen h chstens gleich der Anzahl der Basisattribute k nnen abgefragt werden e Eine von mehreren Interpolationsmethoden kann spezifiziert werden Bisher ist es nicht vorgesehen eine Schachtelung von Interpolationen zuzulassen Soll z B bei einer Me gr e ber den Ort und ber die Zeit interpoliert werden und es existiert nur je eine Funktion zu Interpolation ber Ort oder Zeit ist es nicht m glich diese beiden Verfahren in ei ner Anfrage geschachtelt nacheinander aufzurufen Es mu eine neue Funktion implementiert werden die die beiden vorhandenen integriert Der Grund hierf r ist da jede Interpolations funktion f r die Interpolation auf einer Relation mit einem ganz bestimmten Schema definiert ist Das Ergebnis das sie liefert existiert nur als tempor re Relation in der DB bis das Ergeb nis ganz abgefragt ist Au erdem hat die Ergebnisrelation wie bei vielen normalen SQL An fragen auch ein etwas anderes Schema als die Original Me wertrelation Die zweite Interpola tion m te dann auf diesem Zwischenergebnis der tempor ren Relation mit anderem Schema durchgef hrt werden Daf r ist diese Funktion aber nicht definiert Diese eingeschr nkte L sung die Schachtelungen verbietet kann auch vom Antwortzeitverhal ten
273. tstehen hier weil r umlich und zeitlich nahe Werte gemischt werden Wurde z B der dichteste Pegel P5 f r die Bodenprobe mit der gr ten x Koordinate in Bild 3 2 als einziger am Tag der Bodenprobe nicht abgelesen sondern jeweils zwei Tage vorher und nachher wer den diese Werte nicht ber cksichtigt obwohl sie vielleicht bessere Ergebnisse liefern w rden als entferntere Pegel P2 und P4 in Bild 3 2 die am Tag der Bodenprobe abgelesen wurden Sinnvoller ist es zuerst ber den Raum und dann ber die Zeit oder umgekehrt zu mitteln R umlich werden quadratische Umgebungen gebildet So werden nicht immer die wirklich Me werte Umweltdaten und Umweltprojekte 23 dichtesten Werte herangezogen So kann ein Pegel der genau in der Ecke des umgebenden Quadrats liegt ber cksichtigt werden w hrend einer mit geringerem Abstand der aber genau in x oder y Richtung liegt schon au erhalb des Quadrats bleibt Auch hier ist die AVG Funk tion das arithmetische Mittel nicht immer die am besten geeignete Funktion zur Bestimmung der Zwischenwerte weil sie dichter liegende Pegel nicht st rker gewichtet 3 4 3 Aufbereitung f r Modellrechnung und Simulation F r Modellrechnungen und Simulationsprogramme werden h ufig quidistante Me reihen mit vorgegebenen festen Schrittweiten ben tigt Wenn diese Schrittweiten bei der Installation des Me ger ts noch nicht bekannt sind oder das Me ger t die gew nschten Me abst nde nicht lie fern kan
274. twa im Versuch x nur Tupel der Art an Me wert Me ort Me zeitpunkt Me ger t Sensortyp Me wert Me zeitpunkt Sensortyp 83 5 13 01 94 17 10 00 XYZ 71 8 13 01 94 18 10 00 XYZ Es fehlt jedoch die M glichkeit Hierarchien auszudr cken wie sie ben tigt werden wenn Ver suchsbeschreibungen zusammengefa t werden sollen oder wenn Versuche mit mehreren Me reihen modelliert werden m ssen Sollen diese Werte mit Me parameter z B Lufttemperatur Feuchtigkeit in derselben Relation gespeichert werden Speichert man Me werte des Versuchs y mit entsprechender Kennzeichnung auch in derselben Relation Mu der Sensortyp jedes Mal Technische Verarbeitung von Umweltdaten 37 mitgespeichert werden Als Beispiel siehe Tab 4 1 Diese oder hnliche Probleme sind auch bei konventionellen Daten bekannt und in der Literatur z B Date86 unter dem Stichwort Normalisierung zu finden In Umweltdatenbanken treten sie aber wegen der hierarchischen Ver suchsstruktur zwangsl ufig auf und sind bei gro en Datenmengen besonders gravierend F r diese Probleme k nnten DBS die auf dem NF Modell Non First Normal Form basieren ScSc83 ScWe87 SPSW90 also relationenwertige Attributtypen zulassen eine gewisse Ab hilfe schaffen Leiter Parameter Sensor MeBwert Zeitpunkt Afrau Temperatur XYZ 3 1 13 01 94 17 10 00 5 9 13 01 94 18 10 00 Feuchte 83 5 13 01 94 17 10 00 71 8 13 01 94 1
275. tware und ihre Funktionen nicht vollst ndig ersetzt mu sie mit den noch ben tigten Teilen lterer Software gut kooperieren Nat rlich mu sie auch berwiegend mit vorhandener Hardware arbeiten die zum Teil nicht auf dem neuesten Stand der Technik ist Z B mu die Unterst tzung lterer Ausgabeger te gew hrleistet sein DBS bieten aber immer auch eine zeilenorientierte Sprach Schnittstelle z B SQL und die Ausgabe von Daten und Ergebnismengen in ASCII Dateien Damit k nnen alle Werkzeuge und Ausgabeger te arbeiten F r die Auswertung der erhobenen Me werte werden auch weiterhin teilweise Software Pake te eingesetzt werden in die DB Zugriffe nicht direkt integriert werden k nnen Es mu m glich sein auf einfache Weise die gespeicherten Me werte f r diese Software bereitzustellen Die finanziellen Mittel f r Hardware sind in Umweltprojekten oft begrenzt Deshalb ist es wichtig ein DBS zu verwenden das auf vorhandener unterschiedlicher Hardware verf gbar ist und dessen Installationen auf unterschiedlicher Hardware miteinander kommunizieren k nnen Das bedeutet Konkret da auf allen Knoten bzw bei allen Teilprojekten dasselbe DBS laufen sollte um zus tzliche Komplikationen zu vermeiden 3 5 4 Automatische Datensicherung Wie bereits in Kapitel 3 1 4 beschrieben m ssen Me werte besonders sorgf ltig gesichert wer den Sowie die Eingabe abgeschlossen ist erfolgt deshalb die automatische Sicherung der Da ten Bei
276. tzer dies explizit angibt Der Benutzer mu au erdem gewisse Parameter angeben z B den Namen des Interpolationsverfahrens Wenn ein DBS die Einbettung von Interpolationsfunktionen anbietet sollten diese hnlich wie die blichen Built In Funktionen Aggregations Konvertierungsfunktionen aufgerufen wer den und arbeiten Im Unterschied zu Built In Funktionen sind Interpolationsfunktionen aber im mer nur in einzelnen Datenbanken verf gbar und an einzelne Relationen mit bestimmten Rela tionenschemata gebunden s u Interpolationsfunktionen m ssen also auf der Ebene der Rela tionen dem DBS deklariert werden Damit hneln sie abgeleiteten Attributen siehe Kap 4 4 2 Im Gegensatz zu abgeleiteten Attributen werden aber nicht nur einzelne Werte sondern ganze Tupel neu berechnet Interpolation ist nur bei Me werten oder numerischen Werten mit hnlicher Semantik sinnvoll deshalb werden zus tzliche Systeminformationen ben tigt die besagen welche Relationen sol che Werte enthalten und so diese Me relationen gegen ber normalen auszeichnen Wie be reits in Kap 3 1 erw hnt geh rt zu jedem Me wert damit er sinnvoll interpretiert werden kann die Me basis und der Kontext Das bedeutet f r Me relationen da neben dem eigentli chen Me wert noch mindestens ein Attribut das die Basis oder einen Verweis auf die Basis enth lt existieren mu Der Kontext kann durch die Bezeichnung der Relation und der Attribu te oder durch
277. uch noch folgende Operationen angeboten werden die zwar nicht direkt auf die DB zugreifen m ssen h ufig aber sofort im Anschlu auf DB Zugriffe ausgef hrt werden und in Anfragen eingebettet werden sollten e Abstand zwischen zwei Punkten 1D 2D 3D e L nge eines Polygonzugs e Kleinstes umschreibendes Rechteck Quader um einen Polygonzug ein Objekt e Gemeinsamer Teil Schnitt zweier Polygonz ge Fl chen Wenn man erreichen will da der Anwendungsprogrammierer ganz auf die Verwendung von SQL verzichten kann m ssen evtl noch einige einfache Lese Operationen angeboten werden hnlich der fr her verwendeten CALL Schnittstellen zu DBS Dies ist zwar auf den ersten Blick ein R ckschritt kann aber dem Anwender einigen Aufwand ersparen Er mu z B nicht wegen einer einzigen Lese Operation ein SELECT FROM WHERE Statement in seinem Pro gramm verwenden und so den ganzen mit der Verwendung von Embedded SQL C verbundenen Aufwand treiben Die Schnittstelle zwischen Interpolationsmodul und DBS 95 7 2 Auswirkungen auf die Leistung des DBS In einem weiteren Schritt k nnten die in Abschnitt 7 1 beschriebenen standardisierten Proze dur Zugriffe auf die DB dann ausgewertet werden um Hinweise zu finden wie man das Ant wortzeitverhalten bei Anfragen die geometrische Operationen enthalten verbessern kann Denn ohne geeignete Speicherstrukturen und Zugriffspfade wird die Performance solcher Anfragen bei sehr gro en Datenme
278. uchte ntot_1 ntot_2 gwm_id wetter_info messwert kanalnr einheit sensortyp relation attribut messbeginn messende wetter_10 zeitpunkt regen aregen windweg awindweg tsl_k atsl_k tslf_k atslf_k tsl_a atsl_a tslf_a atslf_a windritng awindritng feuchte afeuchte wetter_60 zeitpunkt global aglobal netto anetto par apar lufttempr alufttempr btemp5 abtemp5 btemp20 abtemp20 btemp35 abtemp35 btemp50 abtemp50 btemp80 abtemp80 btemp110 abtemp110 btemp140 abtemp 140 btemp5a abtemp5a btemp20a abtemp20a btemp35a abtemp35a btemp50a abtemp50a btemp80a abtemp80a btemp110a ab temp110a btemp140a abtemp140a bodenproben zeitpunkt probe_id x_koord y_koord tiefe beschr Bild 10 1 Das Schema der Beispiel Datenbank 134 Fallstudie Die Relationen grdwamess bis permvers siehe Bild 10 1 stammen aus dem Geohydrologie Projekt die Wetter Relationen aus dem Pflanzenbau Projekt Das sind nicht alle Daten die in diesen Projekten angefallen sind fiir die Beispiele sind sie jedoch ausreichend Diese Relationen wurden ausgew hlt weil die genannten Teilprojekte von Beginn des Ge samtprojekts an liefen und weil die Daten vor allem die Schemata fr hzeitig vorlagen Die Da ten aus dem Geohydrologie Projekt sind insbesondere wegen ihrer Dreidimensionalit t interes sant die Wetterdaten wegen ihres Umfangs einige 10 000 bis einige 100 000 Tupel Im Geohydrologie Teilprojekt wurden Me
279. uf Name Leonore Zink geb Neugebauer Geburtstag ort 06 10 1959 in Hameln Weser Nds Familienstand verheiratet 2 Kinder Tochter Sarina geb 26 08 1993 Tochter Evelyn geb 30 01 1996 Schulabschlu 1978 Abitur an der Viktoria Luise Schule in Hameln Studium 1978 1984 Informatik mit Anwendungsfach Verkehrslenkung und sicherung an der TU Braunschweig Abschlu mit Diplom am 12 12 1984 Wissenschaftlicher Werdegang 1982 1984 Wissenschaftliche Hilfskraft am Institut f r Datenverarbeitung Institut f r Betriebs systeme und Rechnerverbund der TU Braunschweig 1985 1988 Wissenschaftliche Mitarbeiterin am Institut f r Compilerbau und Informationssyste me Abteilung Datenbanken der TU Braunschweig 1988 09 1991 Wissenschaftliche Mitarbeiterin am Institut f r Parallele und Verteilte H chstlei stungsrechner IPVR der Universit t Stuttgart 10 91 09 93 Zun chst freie dann wieder fest angestellte wissenschaftliche Mitarbeiterin eben falls am IPVR im Datenbankteilprojekt des interdisziplin ren ingenieurwissen schaftlichen Projekts Proze simulation Umformtechnik PSU 1995 Wiedereinstiegsstipendium f r Frauen des Hochschulsonderprogramms II der Universit t Stuttgart
280. un chst installieren Datenbankprozeduren weisen bei der Programmierung von geometrischen Operationen jedoch noch weit gr ere Nachteile auf Der Programmierer mu sich auf bestimmte Kontrollstruktu ren beschr nken und kann nicht beliebig Code in einer h heren Programmiersprache einf gen Zudem konnten in den zur Projektlaufzeit zur Verf gung stehenden Versionen von Datenbank prozeduren Relationen und Attributnamen noch nicht parametrisiert werden Die Erstellung einer Programmbibliothek mit Hilfe von Dynamischem SQL ist zwar wesentlich aufwendiger weil der Speicherplatz f r die Ergebnisse in jeder Funktion vom Programmierer selbst ber die sogenannte SOL Dynamic Area SQLDA allokiert und verwaltet werden mu daf r stehen ihm aber alle M glichkeiten der h heren Programmiersprache und der Parametri sierung offen Wenn jede Operation sich eigenen Speicherplatz reserviert k nnen alle Funktio nen unabh ngig voneinander aufgerufen und kombiniert werden Das beliebige Vermischen von SQL Anfragen und mit Dynamic SQL implementierten geome trischen Operationen ist einfach f r den Anwendungsprogrammierer m glich wenn das ffnen der Datenbank in einer eigenen Operation vorab geschieht Das Vermischen von SQL Anfra gen und Datenbank Prozeduren ist sowieso immer m glich Wenn Interpolationsfunktionen f r das CSQL System von Anwendungsprogrammierern ohne Hilfe von DB Programmierern in gr erem Umfang implementiert werden solle
281. und Sonneneinstrahlung Diese Programme k nnen aber h ufig nicht direkt mit den Me werten arbeiten sondern ben tigen sie in speziell aufbereiteten Formaten Alle Me werte und andere Umweltdaten sollen so gespeichert bzw aufbereitet werden da die Weiterverarbeitung m glichst effizient unterst tzt wird 3 3 Eigenschaften von Umweltdaten und Me werten An dieser Stelle soll zun chst kurz definiert werden welche Daten als Umweltdaten bezeichnet werden Der Begriff Umweltdaten wird hier als Gegensatz zu kommerziellen oder konventio nellen Daten verstanden Umweltdaten sind alle Daten die in irgendeiner Weise die nat rliche Umwelt beschreiben wie z B Wetterdaten Kommerzielle Daten dagegen sind Daten wie Kon tost nde Lagerbest nde oder Gehalt von Personen s a BaZi95 Die Grenzen zwischen kon ventionellen und Umweltdaten sind z T flie end und h ngen auch von den Anwendungen ab Landkartendaten die als Grundlage zu Stadtpl nen und Stra enkarten nur zur Orientierung die nen sind konventionelle Daten werden sie aber zur Berechnung und Veranschaulichung der Fl chenversiegelung herangezogen sind es Umweltdaten Me werte geh ren genau dann zu den Umweltdaten wenn sie aus einem nat lichen Vorgang stammen s u 14 Me werte Umweltdaten und Umweltprojekte Praxisorientierte natur und ingenieurwissenschaftliche Untersuchungen gelten in der Regel den Abh ngigkeiten bestimmter Umgebungs Parameter nat rlicher Vorg
282. unehmen Die SQL Erweiterung CSQL 85 In dem hier geschilderten Fall k nnte der Giiteparameter dem ersten Anwender helfen Fehler hafte Me werte wie sie z B immer in den ersten Minuten nach dem Einschalten des Ger ts auftreten werden schon vom Me ger t mit einer entsprechenden Kennzeichnung guete_str versehen g ltige mit guete_str Fehlerhafte Messungen k nnte man mit guete_str vor der Interpolation abfangen wenn Bedingungen auf variierenden Basisattributen nach der Inter polation ausgewertet werden SELECT zeitpunkt strahlung FROM wetter 60 BY METHOD strahlung_intp strahlung ENTRY zeitpunkt 22 04 90 06 00 00 STEP 3 hours 0 minutes 0 seconds WHERE zeitpunkt lt 06 05 90 06 00 00 AND guete_str AND strahlung gt 0 Diese Anfrage sollte im Normalfall auch ohne die Qualifikation strahlung gt 0 ein korrektes Ergebnis liefern denn korrekte Strahlungswerte sind immer gr er als Null tags ber oder gleich Null nachts F r den zweiten Anwender der nur Strahlungswerte gr er als eins w nscht k nnte mit guete_str eine weitere Verbesserung des Ergebnisses erreicht werden denn es werden alle fehlerhaften Werte auch wenn sie gr er als eins sind bei der Interpolati on nicht mit betrachtet Der Kern des hier geschilderten Problems liegt darin da man bei variablen Basisattributen und kontinuierlichen Attributen die Werte vor und na
283. ung eines kommerziellen DBS ohne Quellcode nicht implementiert werden da eine Pr prozessorl sung nicht m glich war So konnten Leistungsmessungen auch nur f r das CSQL System durchgef hrt werden Die Er gebnisse hier siehe Kap 10 und Anhang waren f r einen Forschungsprototypen durchaus zu friedenstellend au er f r komplizierte Anfragen mit mehreren Interpolationen Solange jedoch mit einem Pr prozessorsystem gearbeitet werden mu lassen sich einige wichtige Optimierun gen in der Anfragebearbeitung nicht durchf hren Interessant w re jetzt herauszufinden auf welche Art man die erw hnten Nachteile am einfach sten abstellen kann Ob man CSQL oder den zweiten Ansatz w hlt h ngt sicher im wesentli chen davon ab ob man f r den Endbenutzer eine einfache Schnittstelle w nscht CSQL oder ob man den Programmierer der Interpolationsfunktionen entlasten will zweiter Ansatz Wich tig ist dabei als erstes da f r einen neuen Prototypen gewisse Software Voraussetzungen ge schaffen werden Entweder sollte der Quellcode eines relationalen DBS eher kommerziell je doch Stand der Technik vorliegen oder es sollte ein objekt relationales erweiterbares DBS StBM99 verwendet werden wie etwa Informix Universal Server Info96 die kommerzielle Weiterentwicklung von POSTGRES Die Verwendung eines f r Erweiterungen vom Anwender vorgesehenen DBS wie der Informix Universal Server h tte au erdem weitere Vorteile Die Schnittstellen
284. ur aus einen Datenbank Kern der die Grundlage f r das eigentliche Technische Verarbeitung von Umweltdaten 45 DBS bildet um den Kern herum mu die Schale mit anwendungsspezifischen Benutzer schnittstellen erst noch programmiert werden Wieder andere Systeme wie Starburst HCLM90 oder POSTGRES StRH90 k nnen auch ohne Erweiterungen durch den Benutzer eingesetzt wer den Dann arbeiten sie wie konventionelle relationale DBS Zu den Erweiterungen die ein Be nutzer in einem EDBS erg nzen kann geh ren neue Datentypen neue Operationen oder direkt in des DBS integrierte Prozeduren neue Speicherstrukturen und Zugriffspfade oder die Ver wendung neuartiger Speichermedien wie nur einmal beschreibbare optische Platten F r die Betrachtungen in dieser Arbeit wurden f nf Systeme ausgew hlt bei denen die Imple mentierung zur Laufzeit des Projekts Horkheimer Insel schon fortgeschritten war Au erdem waren ber diese Systeme genug Literatur und Beschreibungen verf gbar um ihre Funktionali t t verstehen beschreiben und auf den m glichen Einsatz im Projekt hin untersuchen zu k n nen Es handelt sich um die Systeme EXODUS CDFG86 CaDV88 POSTGRES StRH90 StRo86 Starburst HCLM90 LiHa90 SCFL86 GENESIS BBGS88 und DASDBS ScWe87 SPSW90 Das System GENESIS beruht auf einem funktionalen Datenmodell EXODUS POST GRES und Starburst basieren auf dem relationalen Datenmodell w hrend DASDBS ein Datenmo dell mit g
285. urg Verlag M nchen 1995 pp 125 148 BKLM90 K H van Bernem H L Krasemann A Lisken A M ller S Patzig R Riethm l ler Das Wattenmeerinformationssystems WATIS in Neug90a Blak97 Jos A Blakeley Data Access for the Masses Through OLE DB http www mi crosoft com data oledb dataaccessmassesthrougholedb html 1997 Bosc90 Monika Bosch Einbindung von Erweiterungen in die relationale Anfragesprache SQL zur Selektion von Me werten ber Interpolationsverfahren Teil 1 Stu dienarbeit Nr 872 IPVR Universit t Stuttgart Juli 1990 Buis89 Laurent Buisson Reasoning on Space with Object Centered Knowledge Repre sentations in Proc Symp on the Design and Implementation of Large Spatial Data bases Santa Barbara Cal July 17 18 1989 LNCS Bd 409 Springer Verlag Berlin 1990 pp 325 344 Literatur 163 CaDe85 Michael J Carey David J DeWitt Extensible Database Systems in Proc of the Islamorada Workshop on Large Scale Knowledge Bases and Reasoning Systems Feb 1985 Islamorada Florida pp 335 352 CaDV88 Michael J Carey David J DeWitt Scott L Vandenberg A Data Model and Que ry Language for EXODUS in Proc of SIGMOD Int Conf on Management of Data Chicago Illinois June 1 3 1988 Cain89 Leroy Cain SQL Grammar for LEX YACC from Internet comp databases Co lumbia Union College Mathematical Sciences Dept 7600 Flower Ave WH 406 Takoma Park Md 20912 CDFG86 Michael J
286. us tzlich lie man Me brunnen bohren in denen seitdem regelm Big der Grundwassserstand gemessen wird Die beim Brunnenbau entstandenen Bohrkerne wur den ins Labor gebracht und dort genau untersucht Zum einen haben die Projektmitarbeiter durch Siebanalysen die Zusammensetzung des Bodens aus K rnern unterschiedlicher Gr e in verschiedenen Schichten bestimmt Zum anderen f hrten sie sogenannte Permeameter Versuche durch um die hydraulischen Eigenschaften des Aquifers grundwasserf hrende Schichten des Bodens zu bestimmen Es wurden dabei Parameter wie die Porosit t Durchl ssigkeit ein schlie lich der Durchl ssigkeitsbeiwerte und die Turtuosit t Umflu eigenschaften erhoben Auf dem Feld wurden Pumpversuche durchgef hrt Dabei wurde aus einem Brunnen Wasser abgepumpt und gleichzeitig in den umliegenden Brunnen in sehr kurzen Zeitabst nden die Ab senkung des Grundwasserspiegels gemessen Zur selben Zeit wurden sogenannte Tracer Versu che durchgef hrt An einer Stelle wird ein Farb Stoff in das Grundwasser gegeben und es wird untersucht wo und nach welcher Zeit dieser Stoff wieder gefunden wird Genaue Angaben zum Me programm und Beschreibungen der Me ger te sind in KTCP89 zu finden 2 3 Das Teilprojekt Bodenkunde In diesem Teilprojekt wird nach einer umweltschonenden aber konomisch vertretbaren Land wirtschaft gesucht Dazu wurde das Testfeld in eine konventionell bewirtschaftete und eine um weltschonend
287. uswertungs programm eingebettet Dies setzt voraus da die Quelle des Auswertungsprogramms verf gbar ist und da f r die Programmiersprache in der es geschrieben ist ein Precompiler existiert der die Anweisungen der DB Anfragesprache in Prozeduraufrufe bersetzt Wenn das Auswer tungsprogramm noch andere Prozedurpakete z B f r bestimmte Ausgabeformen oder ger te benutzt die auch einen Precompiler ben tigen kann es zu Konflikten zwischen den Precompi lern kommen Beide M glichkeiten sind in vielen F llen unbefriedigend weil sie zu unflexibel sind Die erste Methode ist au erdem dann ungeeignet wenn die Daten vor der Auswertung noch aufbereitet werden m ssen Alles was ber eine einfache Umrechnung der Me werte etwa Multiplikation mit einer Konstanten hinausgeht ist in interaktiven Anfragen nicht m glich Die zweite Metho de kann bei gekaufter Software f r die keine Quellprogramme vorliegen ohnehin nicht ange wendet werden F r eine kompliziertere Aufbereitung etwa das Erg nzen fehlender Werte m ssen dann Programme in einer h heren Programmiersprache oder in einer sog Sprache der vierten Generation 4GL die meist zum DBS mitgeliefert wird geschrieben werden die diese Aufbereitung vornehmen 3 6 7 Zusammenstellung der Anforderungen Zur Unterst tzung eines interdisziplin ren r umlich auf verschiedene Standorte verteilten Pro jekts das berwiegend Me werte und andere Umweltdaten verarbeitet wird ein S
288. viel Zeit wie die erste a Die CSQL Version braucht dann noch einmal 10 bis 250 mal so lange wie die SQL Version b Die Gr nde daf r sind da in CSQL sechs voneinander unabh ngige Interpolationen ablaufen und die Zahl der Plattenzugriffe dadurch erheblich steigt Daf r hat der Benutzer auch die Sicherheit da er in jedem Intervall auch genau einen Wert bekommt Fallstudie 155 Man sieht hier da in der CSQL Anfrage die Laufzeit liniear abh ngig ist von der Anzahl der bearbeiteten Tupel bzw der durchgefiihrten Interpolationen In Lauf 3 werden 15 mal so viele Tupel angefa t und Interpolationen durchgef hrt und die Laufzeit ist auch fast 15 mal so lang Bei den SQL Anfragen l t sich eine so klare Formel nicht sofort angeben Die Laufzeit steigt zwar mit der Anzahl der angefa ten Tupel und durchgef hrten Vergleichsoperationen aber nicht so stark wie diese Zieht man jedoch in der Anfrage a einen Sockelbetrag von ca 600 CPU msec ab steigt die Laufzeit wieder linear mit der Anzahl der angefa ten Tupel In der An frage b l t sich auch so eine Abh ngigkeit nicht nachvollziehen Hier wird vermutlich die meiste Zeit ben tigt um alle Tupel zu lesen und zu sehen ob sie im gefragten Intervall liegen oder nicht Die Weiterverarbeitung der gefundenen Tupel schl gt nur noch mit relativ geringem Aufwand zu Buche 10 6 Bewertung der Ergebnisse Die Auswertung und Messung der Beispielanfragen hat gezeigt da sich der Einsatz vo
289. war zum Ende des Projekts 104 576 Kbytes gro Wenn man die Rela tion wetter_10 betrachtet die damals ber 100 000 Tupel enthielt war das eher klein und konnte sogar bei nderungsoperationen die in CSQL jedoch nicht vorgenommen wurden zu Proble men f hren Alle anderen Parameter wie die maximale Anzahl der Transaktionen und Sperrta bellen im System 82 die maximale Anzahl Sperren pro Transaktion 80 die maximale An zahl Sperren im System 4656 waren f r das CSQL System immer ausreichend Erw hnt sei noch da die sog fast commit und write behind Optionen gesetzt waren Das erlaubt dem DBS die commit Records mehrerer kleiner Transaktionen zusammenzufassen und gemeinsam hinauszuschreiben ohne da dadurch die Sicherheit geringer wird Damit kann das Antwortzeit verhalten deutlich verbessert werden Alle Relationen der Datenbank auf der die Messungen durchgef hrt wurden der messdb lagen physisch auf einer Platte Es w re sinnvoll gewesen zu testen ob eine Aufteilung sehr gro er Relationen in Partitionen auf mehreren Platten einen Leistungsvorteil gebracht h tte Das war jedoch nicht m glich da nicht auf mehreren gleichwertigen Platten Platz zur Verf gung stand Alle Relationen wurden mit der sog journaling Option angelegt d h erfolgte nderungen wurden ber das Ende einer Transaktion hinaus protokolliert so da die geforderte Wiederher stellbarkeit der Daten auch nach Systemzusammenbr chen und Plattenfehlern gesiche
290. weiterhin wie bei reinem SQL seine Anfragen in Anleh 158 Ausblick nung an die nat rliche Sprache formulieren m chte Wegen der Randbedingung 1 mu te die Implementierung als Pr prozessor erfolgen Das hatte aber auch den Vorteil da die anderen Forderungen der Anwender insbesondere bez glich Datenkonsistenz und sicherheit durch den vollen Funktionsumfang eines relationalen DBS automatisch erf llt waren Die Implementierung des CSQL Systems erfolgte dann im wesentlichen im Rahmen von stu dentischen Arbeiten Bosc90 Jahk91 Riet90 wobei auch die ersten Interpolationsfunktionen selbst mit implementiert wurden Fabr91 Mit diesem ersten Prototypen sollte gezeigt werden da dieser Ansatz prinzipiell f r Anwender n tzlich und hilfreich ist da ein akzeptables Ant wortzeitverhalten m glich ist und es sollten Schw chen und Verbesserungsm glichkeiten auf gezeigt werden Nachdem durch die Fertigstellung eines funktionsf higen ersten Prototypen gezeigt worden war da dieser Ansatz prinzipiell funktioniert fiel auch gleich der erste Nachteil auf Die Implemen tierung der Interpolationsfunktionen ist f r einen mit den Interna eines DBS nicht vertrauten Anwender zu kompliziert Das f hrte einerseits zu den in Kap 7 gemachten Vorschl gen f r standardisierte vordefinierte Schnittstellen zum DBS und andererseits zu dem im Kap 9 vorge stellten zweiten Ansatz Dieser konnte unter den gegebenen Voraussetzungen die Verwend
291. weiterverarbeiten will m chte er jedoch weiterhin nur einen Ergebniswert Das k nnte in SQL so formuliert werden SELECT AVG meBwert FROM temperatur WHERE zeitpunkt BETWEEN 01 05 91 09 30 00 AND 01 05 91 10 29 59 Weil hier nur die Standard AVG Funktion arithmetisches Mittel zur Verfiigung steht wird je doch der um 9 22 Uhr gemessene Wert zu stark gewichtet Dieses Problem verst rkt sich bei unregelm ig gemessenen Gr en bei gro en Mefintervallen bei mehrdimensionalen Me ba sen und wenn die Anfrageintervalle zu gro oder zu klein im Verh ltnis zu den Mefintervallen gew hlt werden 3 4 2 Der Vergleich von zwei Me reihen Zwei Mefreihen die im Versuchskontext gesehen in demselben Zeitraum an demselben Ort stattfinden k nnen i a nicht mit Hilfe der f r diesen Zweck geeigneten relationalen Operatoren dem nat rlichen oder Equi Verbund verglichen werden weil ihre genauen Me orte und zeit punkte fast nie bereinstimmen bzw gar nicht bereinstimmen k nnen M chte der Betreiber eines Me feldes z B die Grundwasserst nde zu einer bestimmten Serie von Bodenproben ermit teln so kann er dies nur ber benachbarte fest installierte Me pegel tun Die Ortskoordinaten werden also nie genau bereinstimmen siehe Bild 3 2 Die Me werte von Bodenproben und Grundwasserst nden k nnten f r das oben gezeigte Bei spiel in Relationen mit den folgenden Schemata gespeichert werden bodenproben probe _id
292. wurden die Relation wetter_60 die Parameter die im Abstand von 60 min erhoben wurden Zu jedem Parameter gibt es jeweils einen Indikator gespeichert in einem Attribut beginnend mit a z B aglobal zu global der die Qualit t des Me werts anzeigt Werte die w hrend der Anlaufzeit ei nes Me ger ts aufgezeichnet wurden k nnen beispielsweise noch fehlerhaft sein bzw besagt da dieser Me wert zur Zeit gar nicht erhoben wurde In der Relation wetter_10 beschreibt der Parameter regen den Niederschlag pro m innerhalb von 10 min windweg die Windgeschwindigkeit tsi_k die TSL Strahlung auf einer konventionell be wirtschafteten Parzelle tslf_k die TSLF Strahlung auf derselben Parzelle tsl_a die TSL Strah lung auf einer alternativ bewirtschafteten Parzelle tsfl_a die TSLF Strahlung auf derselben Par zelle windritng die Windrichtung und feuchte die Luftfeuchtigkeit In der Relation wetter_60 be schreibt global die Globalstrahlung netto die Nettostrahlung der Sonne und par die photosyn thetisch aktive Strahlung lufttempr nennt die Lufttemperatur und btempx jeweils die Bodentem peratur auf einer bestimmten konventionell bewirtschafteten Parzelle in der Tiefe x x 5 20 35 50 80 110 140cm btempxa beschreibt die Bodentemperaturen auf einer anderen alternativ bewirtschafteten Parzelle 136 Fallstudie Die Relation bodenproben stammt aus dem Hydrochemie Teilprojekt Jede Probe erh lt einen eindeutigen Identifikator probe
293. ystem beenden Fehlermel dungen werden auf die gleiche Art wie in ISQL angezeigt Nachteilig ist bisher noch da die Verarbeitung von CSQL 101 verwendeten Masken bei der Installation des CSQL Systems in jede einzelne DB geladen wer den miissen Die zeilenorientierte CSQL Schnittstelle entstand innerhalb der Arbeit von Riet90 praktisch nebenbei um die Arbeiten Riet90 Kaja90 vor der Fertigstellung der interaktiven CSQL Schnittstelle ausf hrlich testen zu k nnen Im Ausgabeteil der CSQL Schnittstellen gibt es zu den INGRES Schnittstellen einen Unter schied den u U auch der Endbenutzer bemerkt Im INGRES DBS wird die Anfrage nur soweit ausgewertet da die erste Bildschirmseite mit Ergebnistupeln beschrieben werden kann Erst wenn der Benutzer im Ergebnis weiterblattern will wird weiter ausgewertet Das hat den Vor teil da der Benutzer die ersten Ergebnistupel schneller sieht aber auch den Nachteil da nach dem Bl ttern evtl wieder gewartet werden mu Die CSQL Schnittstellen mu ten jedoch so im plementiert werden da das Ergebnis erst nach vollst ndiger Auswertung der Anfrage gezeigt werden kann auch bei reinen SQL Anfragen Andernfalls m te die Kontrolle wieder zwischen CSQL und INGRES wechseln 8 3 Analyse der CSQL Anweisungen Bei der Analyse lexikalisch syntaktisch semantisch der CSQL Anweisungen bzw der SQL Anweisungen mit und ohne CSQL Erweiterungen sollte ein Parser implementiert werden d
294. ystem ben tigt das e alle wesentlichen Eigenschaften eines heute kommerziell verf gbaren relationalen DBS auf weist e auf sehr unterschiedlicher Hardware verf gbar ist und sich zu einem heterogenen Gesamtsy stem koppeln l t e M glichkeiten zur Archivierung und Komprimierung von Daten anbietet e vielf ltige Strukturierungsm glichkeiten f r Daten anbietet und es erm glicht bestimmte Klassen von Daten auszuzeichnen 32 MeBwerte Umweltdaten und Umweltprojekte e auf besondere Eigenschaften von r umlichen und zeitlichen Daten eingeht sowohl in der M glichkeit sie zu modellieren als auch mit geeigneten Speicherstrukturen und Zugriffspfa den zur effizienten Bereitstellung gro er Mengen dieser Daten e komfortable leicht programmierbare Eingabeschnittstellen anbietet e neuartige Operationen anbietet um die Aufbereitung der Daten f r Auswertungen und die Kopplung mit vorhandener Software vereinfacht und flexibler gestaltet Die Erg nzung von DBS um bessere Strukturierungsm glichkeiten und Archivierungs bzw Speicherungsm glichkeiten wird auch in vielen anderen Zusammenh ngen untersucht Bei Speicherung und Archivierung gro er Datenmengen werden derzeit im Multimediabereich gro e Fortschritte gemacht Z B wird in ORSS96 ein fehlertolerantes System vorgestellt das die Speicherung und das Lesen gro er Objekte bzw Datenmengen mit bestimmten bertragungs raten garantiert So ein System k nnte man z B
295. ziert werden 1 wo sie im DBS eingesetzt werden und wie weit ihr G ltigkeitsbereich geht 2 welcher Art ihre Ein und Ausgabeparameter sind Skalar Menge Tupel Relation und wie viele Eingabeparameter sie haben Zun chst werden die verschiedenen benutzerdefinierbaren Funktionen beschrieben Dabei wer den auch soweit zutreffend die Art der Ein und Ausgabeparameter mit angegeben Berechnung abgeleiteter Attribute Anstatt konkreter Werte werden bei einigen Attributen skalare Funktionen mit Eingabeparametern gespeichert Die verwendeten Operationen m s sen bereits im DBS built in oder benutzer definiert vorhanden sein Der oder die Eingabe parameter dieser Funktionen k nnen skalar oder auch relationenwertig sein POSTGRES Da tentyp POSTQUEL Ebenso kann die Ausgabe skalar ein Tupel oder eine Menge bzw Relati on sein So lassen sich z B auch nicht normalisierte Relationen darstellen Die Eingabepara meter m ssen immer in irgendeiner Beziehung zum berechneten Attribut stehen dasselbe Tu pel Fremdschl ssel Beziehungen In konventionellen DBS ist so etwas nur in View Defini tionen m glich und hat dann immer die Nicht nderbarkeit des gesamten Views zur Folge Trigger und Regeln Das sind Mechanismen die bei Einf gungen oder nderungen im Da tenbestand ohne weiteres Zutun des Benutzers ausgef hrt werden und z B ein Einf gen von Tupeln an mehreren Stellen bewirken oder bestimmte nderungs oder L schw nsche zu
296. zugt wird h ngt stark von der Art der Messung ab von der Dauer des Ausfalls und von den Gegebenhei ten z B ob es berhaupt benachbarte Stationen gibt Wenn mehrere Werte hintereinander ausgefallenen sind l t sich der Ersatz auf keinen Fall mehr durch Standard SQL Anfragen berechnen In den meisten F llen ist die AVG Funktion nicht ausreichend etwa die Lufttemperatur ber die Zeit hnelt einer Sinuskurve und fehlende Werte sollten durch Unterlegen einer Sinusfunktion durch die vorhandenen Werte bestimmt werden Solche Funktionen werden aber von konventionellen DBS nicht angeboten und sind 24 Me werte Umweltdaten und Umweltprojekte fehlender Grundwasser Wert stand N Zeit T Me zeitpunkte Bild 3 3 Beispiel f r die Interpolation eines fehlenden Wertes auch in Standard SQL f r die n here Zukunft nicht vorgesehen Auch das Fehlen von Z hlva riablen f hrt bei mehreren hintereinander ausgefallenen Werten wieder zu Problemen 3 5 Schnittstellen zum Anwender Neben den Anforderungen die genau die typischen Funktionen und Eigenschaften eines DBS betreffen stellen Anwender noch weitere Anforderungen insbesondere bez glich der Schnitt stellen an die neue DB Software Diese Anforderungen w rden sie auch an jede andere Soft ware stellen mit der sie ihre Me daten verwalten und aufbereiten Sie m ssen von jeder DB Software erf llt werden wenn diese vom Anwender akzeptiert und sinnvoll genutzt werden soll Die
297. zur Konvertierung von der in ternen zur externen Darstellung und umgekehrt zum Vergleich zweier beliebiger Werte dieses Datentyps auf gr er kleiner gleich zum Erzeugen eines Default Werts zur Berechnung der ak tuellen L nge eines Werts zur Unterst tzung von Speicherstrukturen Hash Funktionen und zur Erstellung von Statistiken INGR89c Hier ist sicher ein geschulter Datenbank Program mierer erforderlich Um in Starburst neue Speicher und Zugriffsmethoden in das DBS einzubinden ist ein tieferes Verst ndnis vom Prinzip des Zugriffssystems eines DBS erforderlich Es mu nicht nur die Speichermethode selbst implementiert werden sondern auch die Operationen Direktzugriff Technische Verarbeitung von Umweltdaten 63 ber Schl ssel oder TID Tupel Identifikator INSERT UPDATE DELETE und Relationen Scan Einfache Funktionen lassen sich aber hier genauso einfach implementieren wie bei POSTGRES Die Systeme EXODUS und GENESIS bieten nur ein sog Toolkit an das hei t eine Auswahl von Komponenten die nach den Anforderungen des Anwenders zusammengesetzt und erg nzt wer den k nnen was sp ter sehr aufwendig ist und u U zu ganz unterschiedlichen DBS f hrt die nicht mehr ohne weiteres miteinander kommunizieren und Daten austauschen k nnen POST GRES und Starburst hingegen k nnen f r eher konventionelle Anwendungen sofort ohne Erwei terungen benutzt werden Hier ist die Kompatibilit t zwischen verschiedenen DB die mit Hi
Download Pdf Manuals
Related Search
Related Contents
MC6830x Emulation/Analysis Graphical User Interface 演出用照明器具 宴会場用スポットライト Piezorray User Manual 4月 - 製品安全協会 Dicota D31023 screen protector System manual Medis 2MP2-1NT-MGD 221 Termofusor de banco whirlpool window air conditioner limited warranty DELL UltraSharp U3415W Copyright © All rights reserved.
Failed to retrieve file