1 / 33

Anfragesprachen für Raumbezogene Daten

Projektgruppe Vertiefer Kartographie. Anfragesprachen für Raumbezogene Daten. Sascha Rudolph. Institut Für Kartographie und Geoinformation Bonn . Gliederung des Vortrags. Relationale Datenbank - Management - Systeme (RDBMS) Structured Query Language (SQL)

thy
Download Presentation

Anfragesprachen für Raumbezogene Daten

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Projektgruppe Vertiefer Kartographie Anfragesprachenfür Raumbezogene Daten Sascha Rudolph Institut Für Kartographie und Geoinformation Bonn

  2. Gliederung des Vortrags • Relationale Datenbank - Management - Systeme (RDBMS) • Structured Query Language (SQL) • Unterstützung bei der Formulierung von Anfragen • Räumliche Erweiterung von SQL • Möglichkeiten und Grenzen von ArcInfo

  3. Relationale Datenbanken • Relation ist mathematischer Begriff für Tabelle • Relationale Datenbank-Management-Systeme (RDBMS) • Tabellen als Repräsentation von Eigenschaftsgruppen (Entitäten) • Felder sind atomar • In jedem Attribut befindet sich eine Information • Festlegung von Gültigkeitsregeln für Felder einer Tabelle (zusätzlich zum Datentyp)

  4. Relationale Datenbanken • Eindeutige Attribute werden als „Candidate Key“ bezeichnet • Datensätze werden mit einem eindeutigen Primärschlüssel (Primary Key) versehen (z.B. ID) • Kann auch aus mehreren Feldern bestehen, die zusammen eindeutig sind • Verknüpfungen der Attribute verschiedener Entitäten über Primär- Fremdschlüssel • Liefert eine Verknüpfung von Entitäten, die in einer logischen Beziehung zu einander stehen Beispiel : Kanten - Knoten

  5. Relationale Datenbanken • Referentielle Integrität • Erstellen von Beziehungen zwischen Datensätzen auch bzw. besonders verschiedener Tabellen, deren Einhaltung die RDBMS überprüft • Indizierung von Feldern zur Steigerung der Geschwindigkeit bei der Datensatzsuche (Aufbau einer Baumstruktur) • Erstellung von virtuellen Tabellen „Views“ mit Hilfe der Anfragesprache SQL • Relationale Datenbanken: Oracle 8i, MS SQL Server, DBase, MS Access

  6. Grenzen der RDBMS ? • Relationale Datenbanken enthalten atomare (unteilbare) Felder • Felder haben bestimmten Datentyp und feste Länge • Indizierung von Feldern und keinen Inhalten von Feldern • Operationen beschränken sich auf das Attribut als ganzes • Keine Operationen mit Objekten möglich • Beispiel GIS : (Körper, (Flächen, (Kanten, Knoten)))

  7. S Q L • Was ist SQL ? • Was gibt es für Hilfsmittel bei der Formulierung von Anfragen ? • Grenzen von SQL

  8. Was ist SQL ? • Ursprünglich von IBM entwickelte Datenbankanfragesprache • Standardsprache der RDBMS - Ziel Datenbankunabhängigkeit • Erstellen von Tabellen - Methode „ CREATE TABLE “ • Modifizieren von Tabellen - Methoden „ DELETE FROM “ ; „ INSERT INTO “ • Selektieren von Datensätzen, die bestimmten Kriterien entsprechen - Methode SELECT .. FROM .. WHERE • Indizieren von Feldern - Methode „CREATE INDEX“

  9. S Q L • Verknüpfung von Entitäten - Methode „JOIN“ etc. • Aggregatfunktionen SUM, MIN, MAX, AVG, Count, GROUP Beispiel

  10. Hilfsmittel für SQL • Query by Example (QEB)

  11. Grafische Hilfsmittel für SQL • MS Access Designer ~ MS SQL Server

  12. Grenzen von SQL ? • Keine Rekursiven Anfragen • Keine Anfragen an Unterobjekte • Anfragen werden bei einer Vielzahl von Tabellen mit vielen „Joins“ sehr unübersichtlich Beispiel • Keine SQL Designer, die verschachtelte Anweisungen erzeugen können - Anfragen können sich aber auf Anfragen beziehen • Existenz vieler Dialekte • Datenbankunabhängigkeit bei komplexeren Anfragen nicht mehr gesichert • Programme mit SQL-Code müssen an die verwendete Datenbank angepaßt werden • z.B. MS Access Anfrage SELECT * FROM.. funktioniert mit MS SQL Server nicht

  13. Speicherung in vielen Tabellen einer RDBMS 1 Getrennte Speicherung von Geometrie und Sachdaten Attribute Shapefile 2 Speicherung der Objekte in Binärfeldern einer RDBMS 3 Objektorientierte Datenbank 4 Speicherung von Objektdaten 011010010111000111001 Geometrie + Attribute

  14. Beispiel Flächen Tabelle Flächen Tabelle FlächenKanten Tabelle Kanten (Linien) Tabelle Knoten Speichern der Koordinaten der einzelnen Knoten in den Spalten x,y,z B C D A • Vorteile: Teilobjekte in verschiedenen Tabellen • Mit vorhandenen Standarddatenbanken (RDBMS) realisierbar

  15. Nutzer interessieren keine Kanten oder Knoten, sondern Flächen - umständliche Handhabung z.T. Redundante Speicherung (FlächenKanten) Sehr langsam, da zur Darstellung der Flächen zunächst „FlächenKanten“ und schließlich Anfangs- und Endpunkte gesucht werden Probleme bei der Speicherung von „Arcs“ zusätzliche Spalten in der Kantentabelle oder Approximation durch sehr viele Kanten Keine räumlichen Operationen über Anfragen umständliche und langsame Zusatzprogrammierung • Nachteile: Teilobjekte in verschiedenen Tabellen

  16. Realisierung mit RDBMS möglich Speicherung von Objekten in Shapefiles • Vorteile: • Nachteile: Geometrie und Attribute getrennt • Zusatzprogrammierung für Laden, Ändern und Speichern der Objekte aus den Shapefiles • Programmierung der Verknüpfung von Attributen und Geometrie nötig • Gefahr der Inkonsistenz ! • Keine räumlichen Operationen über Anfragen möglich

  17. Beispiel Flächen Tabelle Flächen Speichern der Koordinaten der einzelnen Punkte der Fläche und zusätzlicher Attribute wie z.B. „Bounding Box“ hintereinander in einem Binärfeld Weitere Attribute der Flächen werden in zusätzlichen Spalten abgelegt B • Vorteile: C D A Objekte in Binärfeldern • Nur eine Tabelle für die Speicherung eines Objekts • Modellierung entspricht Speicherung • Realisierung mit RDBMS möglich

  18. Anfragen über SQL - keine direkten räumlichen Anfragen Sollen Unterobjekte wie Kanten & Knoten zügig bearbeitet werden, ist deren Speicherung (redundant) in zusätzlichen Tabellen erforderlich Gefahr der Inkonsistens ! Laden und speichern der Objekte aus dem Binärfeld über Zusatzprogramme • Nachteile: Objekte in Binärfeldern

  19. Eigenschaften Bereitstellung von z.T. frei definierbaren Objekten zur Speicherung in einem Feld einer DB Möglichkeit der Vererbung von Eigenschaften Erweiterung und Optimierung von SQL mit Räumlichen Anfragen • Vorteile: Objektorientierte Datenbank • Speicherung entspricht Modellierung • schnellere, benutzerfreundliche Anfragen ohne Zusatzprogrammierung über erweiterte Anfragesprache

  20. kaum objektorientierte Datenbanken vorhanden z.B. in Support GIS vorhandene Datenbanken sind meistens nicht 100% objektorientiert bzw. räumlich optimiert kein Standard wie SQL bei den relationalen Datenbanken vorhanden • Nachteile: Objektorientierte Datenbank

  21. Alte GIS - Systeme Speicherung in vielen Tabellen einer RDBMS 1 ArcView, ArcInfo Getrennte Speicherung von Geometrie und Sachdaten 2 ArcInfo, GeoDB Speicherung der Objekte in Binärfeldern einer RDBMS 3 Support GIS Objektorientierte Datenbank 4 Objekte in GIS - Systemen

  22. Ziel ist die zusätzliche Bereitstellung von sinnvollen Funktionen zur Anfrage von Räumlichen Informationen Kein Standard vorhanden Anforderungen an eine räumliche Anfragesprache nach Egenhofer: Datentyp „Objekt“ muß vorhanden sein Grafische Visualisierung von Anfrageergebnissen ( Tabellen sind ungeeignet ) Kombination mehrerer Anfragen muß möglich sein Möglichkeit des Auswählens von Objekten durch anklicken auf dem Bildschirm Erweiterung von SQL

  23. Eine Legende zur Erläuterung der Objektklassen muß vorhanden sein Anfragesprache muß dem Nutzer Möglichkeit zur Beschränkung der Daten geben, auf die sich die Anfrage bezieht Erweiterung von SQL

  24. Kombination aus Erweiterung von SQL & GPL GPL (Graphical Presentation Language) Erweiterungen Festlegung eines Räumlichen Datentyps 4 Typen von Unterobjekten 0, 1, 2, 3 - dimensional Beziehungen zwischen räumlichen Objekten unterscheiden sich von Standardrelationen topologisch oder metrisch Spatial SQL

  25. Methoden INTERSECT - Schnitt von Objekten REMOVE - Löschanfrage OVERLAY - Ergebnisse der Anfrage über Kartenelemente legen HIGHLIGHT - Hervorheben der Ergebnisse in der Graphik Spatial SQL

  26. Beispiel : Wie weit ist die nächste Feuerwehrstation von dem ausgewählten Gebäude entfernt ? SET MODE alpha; SELECT distance (buildings.geometry, firestations.geometry), firestations.adress FROM building, building firestation WHERE building = PICK and firestation.Type = „Fire Station“; Spatial SQL

  27. „Objektorientiert“, es können vom Nutzer Objekte definiert werden (Feature) Bietet grafische Visualisierung der Anfrageergebnisse Additive Anfragen sind möglich Direkte Auswahl durch Anklicken von Objekten ist möglich Beschränkung der Operationen auf Teile der Objekte möglich (z.B. nur Kanten Anfragen) Beschränkung der Anfragen auf ein Teilgebiet nicht möglich Möglichkeiten von ArcInfo

  28. Anfragen in ArcInfo Select by Attribute Select by Location Select by Graphics Location Graphics Attribute Statistics

  29. Buffering in ArcInfo • Auswahl von „Features“, die einen bestimmten Abstand von einem ausgewählten Objekt haben

  30. Bereitstellung der Kanten und Attribute über Anfragen für die Wegsuche Keine Zuordnung von Sehenswürdigkeiten zu Straßen notwendig Bilden von Buffern um die Straßen zur Unterstützung bei der Wegfindung Machbarkeitsstudie Anwendungen der Funktionen

  31. Selection Statistics ArcInfo <<

  32. Selection By Attribute ArcInfo <<

  33. Selection By Location <<

More Related