anfragesprachen für raumbezogene daten institut für kartographie und geoinformation bonn...
TRANSCRIPT
AnfragesprachenAnfragesprachenfür für
Raumbezogene DatenRaumbezogene Daten
Institut Für Kartographie und Geoinformation Bonn
Projektgruppe Vertiefer Kartographie
Sascha RudolphSascha Rudolph
weiterzurück
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
Gliederung des VortragsGliederung des Vortrags
weiterzurück
Relationale DatenbankenRelationale 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)
weiterzurück
Relationale DatenbankenRelationale 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 stehenBeispiel : Kanten - Knoten
weiterzurück
Relationale DatenbankenRelationale 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
weiterzurück
Grenzen der RDBMS ?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)))
weiterzurück
S Q L S Q L
Was ist SQL ?
Was gibt es für Hilfsmittel bei der Formulierung von Anfragen ?
Grenzen von SQL
weiterzurück
Was ist SQL ?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 - MethodeSELECT .. FROM .. WHERE
– Indizieren von Feldern - Methode„CREATE INDEX“
weiterzurück
S Q LS Q L
– Verknüpfung von Entitäten - Methode „JOIN“ etc.
– Aggregatfunktionen SUM, MIN, MAX, AVG, Count, GROUP
Beispiel
weiterzurück
Hilfsmittel für SQLHilfsmittel für SQL
Query by Example (QEB)
weiterzurück
Grafische Hilfsmittel für SQLGrafische Hilfsmittel für SQL
MS Access Designer ~ MS SQL Server
weiterzurück
Grenzen von SQL ?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
weiterzurück
Speicherung von ObjektdatenSpeicherung von Objektdaten
Geometrie + Attribute
011010010111000111001
Speicherung in vielen Tabellen einer RDBMS1
Getrennte Speicherung von Geometrie und Sachdaten2
Speicherung der Objekte inBinärfeldern einer RDBMS3
Objektorientierte Datenbank4
ShapefileAttribute
weiterzurück
Teilobjekte in verschiedenen TabellenTeilobjekte in verschiedenen Tabellen
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
A
BC
D
– Mit vorhandenen Standarddatenbanken (RDBMS) realisierbar
Vorteile:
weiterzurück
Teilobjekte in verschiedenen TabellenTeilobjekte in verschiedenen Tabellen
– 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:
weiterzurück
Geometrie und Attribute getrenntGeometrie und Attribute getrennt
– Realisierung mit RDBMS möglich– Speicherung von Objekten in Shapefiles
– 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
Nachteile:
Vorteile:
weiterzurück
Objekte in BinärfeldernObjekte in Binärfeldern
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
A
BC
D
– Nur eine Tabelle für die Speicherung eines Objekts– Modellierung entspricht Speicherung– Realisierung mit RDBMS möglich
Vorteile:
weiterzurück
Objekte in BinärfeldernObjekte in Binärfeldern
– 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 erforderlichGefahr der Inkonsistens !
– Laden und speichern der Objekte aus dem Binärfeld über Zusatzprogramme
Nachteile:
weiterzurück
Objektorientierte DatenbankObjektorientierte Datenbank
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
– Speicherung entspricht Modellierung– schnellere, benutzerfreundliche Anfragen ohne
Zusatzprogrammierung über erweiterte Anfragesprache
Vorteile:
weiterzurück
Objektorientierte DatenbankObjektorientierte Datenbank
– kaum objektorientierte Datenbanken vorhandenz.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:
weiterzurück
Objekte in GIS - Systemen Objekte in GIS - Systemen
Speicherung in vielen Tabellen einer RDBMS1
Getrennte Speicherung von Geometrie und Sachdaten2
Speicherung der Objekte inBinärfeldern einer RDBMS3
Objektorientierte Datenbank4
ArcView, ArcInfo
Alte GIS - Systeme
ArcInfo, GeoDB
Support GIS
weiterzurück
Erweiterung von SQL Erweiterung von SQL
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
weiterzurück
Erweiterung von SQL Erweiterung von SQL
– 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
weiterzurück
Spatial SQL Spatial SQL
Kombination aus Erweiterung von SQL & GPLGPL (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
weiterzurück
Spatial SQL Spatial SQL
Methoden– INTERSECT - Schnitt von Objekten– REMOVE - Löschanfrage– OVERLAY - Ergebnisse der Anfrage über
Kartenelemente legen– HIGHLIGHT - Hervorheben der Ergebnisse in der
Graphik
weiterzurück
Spatial SQL Spatial SQL
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 firestationWHERE building = PICK and
firestation.Type = „Fire Station“;
weiterzurück
Möglichkeiten von ArcInfo Möglichkeiten von ArcInfo
„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
weiterzurück
Anfragen in ArcInfo Anfragen in ArcInfo
Select by Attribute Select by Location Select by Graphics
Statistics
Attribute Location Graphics
weiterzurück
Buffering in ArcInfo Buffering in ArcInfo
Auswahl von „Features“, die einen bestimmten Abstand von einem ausgewählten Objekt haben
weiterzurück
Anwendungen der Funktionen Anwendungen der Funktionen
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
weiterzurück
Selection Statistics ArcInfo Selection Statistics ArcInfo
<<
weiterzurück
Selection By Attribute ArcInfo Selection By Attribute ArcInfo
<<
weiterzurück
Selection By Location Selection By Location
<<