Anfragesprachen für raumbezogene Daten

Werbung
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)

Unterstützung bei der Formulierung von Anfragen

Räumliche Erweiterung von SQL

Möglichkeiten und Grenzen von ArcInfo
zurück
weiter
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)
zurück
weiter
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
zurück
weiter
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
zurück
weiter
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)))
zurück
weiter
SQL

Was ist SQL ?

Was gibt es für Hilfsmittel bei der Formulierung von
Anfragen ?

Grenzen von SQL
zurück
weiter
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“
zurück
weiter
SQL
– Verknüpfung von Entitäten - Methode
„JOIN“ etc.
– Aggregatfunktionen SUM, MIN, MAX, AVG, Count, GROUP
Beispiel
zurück
weiter
Hilfsmittel für SQL

Query by Example
(QEB)
zurück
weiter
Grafische Hilfsmittel für SQL

MS Access Designer ~ MS SQL Server
zurück
weiter
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
zurück
weiter
Speicherung von Objektdaten
1
Speicherung in vielen
Tabellen einer RDBMS
2
Getrennte Speicherung von
Geometrie und Sachdaten
Attribute
3
Speicherung der Objekte in
Binärfeldern einer RDBMS
011010010111000111001
4
Objektorientierte Datenbank
zurück
weiter
Shapefile
Geometrie + Attribute
Teilobjekte in verschiedenen Tabellen

Beispiel Flächen
–
–
–
–
–

B
C
Tabelle Flächen
D
Tabelle FlächenKanten
A
Tabelle Kanten (Linien)
Tabelle Knoten
Speichern der Koordinaten der einzelnen Knoten
in den Spalten x,y,z
Vorteile:
– Mit vorhandenen Standarddatenbanken (RDBMS)
realisierbar
zurück
weiter
Teilobjekte in verschiedenen Tabellen

Nachteile:
– 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 Anfangsund 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
zurück
weiter
Geometrie und Attribute getrennt

Vorteile:
– Realisierung mit RDBMS möglich
– Speicherung von Objekten in Shapefiles

Nachteile:
– 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
zurück
weiter
Objekte in Binärfeldern
B

Beispiel Flächen
C
D
– Tabelle Flächen
– Speichern der Koordinaten
A
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

Vorteile:
– Nur eine Tabelle für die Speicherung eines Objekts
– Modellierung entspricht Speicherung
– Realisierung mit RDBMS möglich
zurück
weiter
Objekte in Binärfeldern

Nachteile:
– 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
zurück
weiter
Objektorientierte 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

Vorteile:
– Speicherung entspricht Modellierung
– schnellere, benutzerfreundliche Anfragen ohne
Zusatzprogrammierung über erweiterte
Anfragesprache
zurück
weiter
Objektorientierte Datenbank

Nachteile:
– 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
zurück
weiter
Objekte in GIS - Systemen
1
Speicherung in vielen
Tabellen einer RDBMS
2
Getrennte Speicherung von
Geometrie und Sachdaten
ArcView, ArcInfo
3
Speicherung der Objekte in
Binärfeldern einer RDBMS
ArcInfo, GeoDB
4
Objektorientierte Datenbank
Support GIS
zurück
weiter
Alte GIS - Systeme
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
zurück
weiter
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
zurück
weiter
Spatial SQL


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
zurück
weiter
Spatial SQL

Methoden
– INTERSECT - Schnitt von Objekten
– REMOVE - Löschanfrage
– OVERLAY - Ergebnisse der Anfrage über
Kartenelemente legen
– HIGHLIGHT - Hervorheben der Ergebnisse in der
Graphik
zurück
weiter
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 firestation
WHERE
building = PICK and
firestation.Type = „Fire Station“;
zurück
weiter
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
zurück
weiter
Anfragen in ArcInfo
Select by Attribute
Select by Location
Location
Attribute
Statistics
zurück
weiter
Select by Graphics
Graphics
Buffering in ArcInfo

Auswahl von „Features“, die einen bestimmten Abstand
von einem ausgewählten Objekt haben
zurück
weiter
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
zurück
weiter
Selection Statistics ArcInfo
<<
zurück
weiter
Selection By Attribute ArcInfo
<<
zurück
weiter
Selection By Location
<<
zurück
weiter
Herunterladen