quick documentation Inhalt Datenmodellierung

Ähnliche Dokumente
Oracle 10g Einführung

Eine kundenspezifische Punkt-zu-Polygonlösung

Robotron Datenbank-Software GmbH

Geodaten und Karten in APEX

Üben von DDL und DML. Ergebnis:

Datenbanken SQL. Insert, Update, Delete, Drop. Krebs

Fakultät für Informatik & Wirtschaftsinformatik DB & IS II - WS Metadaten. Andreas Schmidt Metadaten 1/17

Abfragen (Queries, Subqueries)

Bibliografische Informationen digitalisiert durch

ISU 1. Ue_08/02_Datenbanken/SQL. 08 Datenbanken. Übung. SQL Einführung. Eckbert Jankowski.

Oracle Flashback. in der Praxis Dr. Frank Haney 1

Marcus Throll, Oliver Bartosch. Einstieg in SQL. Verstehen, einsetzen, nachschlagen. Galileo Press

Oracle SQL. Seminarunterlage. Version vom

Fakultät für Informatik & Wirtschaftsinformatik DB & IS II - SS Metadaten

Schnellübersichten. SQL Grundlagen und Datenbankdesign

Datenbanken. Zusammenfassung. Datenbanksysteme

Übersicht der wichtigsten MySQL-Befehle

Inhaltsverzeichnis. Vorwort Kapitel 1 Einleitung... 15

Übung PL/SQL Trigger Lösungen

Inhaltsverzeichnis. Vorwort 13. Kapitel 1 Einleitung 15

Es geht also um die sogenannte SQL- Data Definition Language.

Anfrageoptimierung Ausführungspläne, Hints, Statistikinformationen, IDEs

Warum wird mein Index nicht benutzt?

Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum:

Grundlagen von SQL. Informatik 2, FS18. Dr. Hermann Lehner (Material von Dr. Markus Dahinden) Departement Informatik, ETH Zürich

Gregor Kuhlmann Friedrich Müllmerstadt. MySQL. Der Schlüssel zu Datenbanken-Design und -Programmierung. c 3 E. i- O Rowohlt Taschenbuch Verlag

Whitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und combit GmbH Untere Laube Konstanz

5/14/18. Grundlagen von SQL. Grundlagen von SQL. Google, Facebook und Co. setzen auf SQL. Whatsapp

[ SQL] Wissen, das sich auszahlt

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort... 13

MySQL-Befehle. In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben.

Codegenerator für APEX Collections und Tabular Forms

Donnerstag, 10. November h00, Musensaal Database. LogMiner im Einsatz. Marco Patzwahl MuniQSoft GmbH, Unterhaching b.

Erzeugung und Veränderung von Tabellen

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort 13

Metadaten oder Metainformationen sind Daten, die Informationen über Merkmale anderer Daten enthalten, aber nicht diese Daten selbst (Wikipedia)

Überblick: Oracle Spatial 3D

3.3. Implementierung in SQL DDL-Grundlagen Constraint-Verzögerung Implementierungs-Strategien

Anwendungsentwicklung Datenbanken SQL. Stefan Goebel

12. Datenschutz: Zugriffsrechte in SQL Datenschutz: Zugriffsrechte in SQL

SQL für Trolle. mag.e. Dienstag, Qt-Seminar

Erzeugen von Constraints

5.8 Bibliotheken für PostgreSQL

Relationales Datenbanksystem Oracle

Praktische SQL-Befehle

Oracle und SQL. Kursinhalte. Kompakt-Intensiv-Training. Oracle und SQL

Es geht also im die SQL Data Manipulation Language.

select DISTINCT Name, ort From Verkauf; selektiert Name und Ort von Tabelle Verkauf - DISTINCT steht dass keine Zeile mehrfach vorkommt

Datenschutz: Zugriffsrechte in SQL

7 DCL (Data Control Language)

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

Funktionen. Überblick über Stored Functions. Syntax zum Schreiben einer Funktion. Schreiben einer Funktion

Prakt. Datenbankprogrammierung. Sommersemester Was sind Constraints? I,11: Verwendung von Constraints. Festlegung von Constraints

Microsoft Access 2010 SQL nutzen

CARL HANSER VERLAG. Christopher Allen. Oracle PL/SQL für Einsteiger Der Einsatz von SQL und PL/SQL in der Oracle-Datenbank

UML/OCL für die Integritätssicherung in Datenbankanwendungen

Einteilung von Datenbanken

Oracle Database Vault Beispiele zur Benutzung

SQL mit ORACLE. Wolf-Michael Kahler

Datenbank und Tabelle mit SQL erstellen

Oracle native json Support. Erste Schritte

PHP- Umgang mit Datenbanken (1)

Neue Wege zur Oracle-Migration

DOAG-Jahreskonferenze Nürnberg,

IBM DB2 für Unix/Linux/Windows SQL Grundlagen

Wiederholung VU Datenmodellierung

Aufbau Datenbanksysteme

DB-Datenbanksysteme. DB SQL-DML 1 Mario Neugebauer

Die Anweisung create table

Professioneller Einstieg in Oracle Database 11g SQL

9. Sicherheitsaspekte

Oracle 9i Einführung. Performance Tuning. Kurs. Teil 10 Stored Outlines. Universität Hannover. Eigenschaften. Migration. Erstellen mit OEM.

SQL Einstieg und Anwendung

In diesem Abschnitt wollen wir uns mit der Architektur von Datenbank Managements Systemen beschäftigen.

Einleitung 19. Teil I Einführung in Datenbanksysteme 25. Kapitel 1 Wozu Datenbanksysteme da sind 27

1.1 Datenbanken Tabellen SQL und die Befehlseingabe Beispieldatenbank 36

Tabellen und Indizes Reorganisieren, aber wann?

Kurzanleitung ERwin V Kurzanleitung Erwin

Einführung in SQL Datenbanken bearbeiten

IV. Datenbankmanagement

Wiederholung VU Datenmodellierung

PostgreSQL in großen Installationen

Daniel Warner SQL. Das Praxisbuch. Mit 119 Abbildungen. Franzis

SQL. Ziele. Grundlagen von SQL. Beziehung zur relationalen Algebra SELECT, FROM, WHERE. Joins ORDER BY. Aggregatfunktionen. dbis.

Beispiel zur referentiellen Integrität

<Insert Picture Here> Security-Basics. Privilegien, Rollen, SQL und PL/SQL - inkl. 12c-Update. Carsten Czarski, ORACLE Deutschland B.V. Co.

SQL - Datenbankdesign - Aufbau

XAMPP-Systeme. Teil 3: My SQL. PGP II/05 MySQL

Datenmanagement I SoSe 2006 Aufgabenblatt 4

Aktualisierungsinstruktionen von R5.x auf R6.0

Induktionsschluss: Sei Q RA eine Anfrage der Relationenalgebra mit n > 0 Operatoren.

PHP und MySQL. Integration von MySQL in PHP. Zellescher Weg 12 Willers-Bau A109 Tel Michael Kluge (michael.kluge@tu-dresden.

Oracle Developer Monthly Datenbank-Update für Anwendungsentwickler

Einführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten

Triggern. Change Data Capture

Datenbanksysteme 2013

Transkript:

quick documentation TO: FROM: SUBJECT: ARND.SPIERING@AS-INFORMATIK.NET QS ORACLE SPATIAL DATENBANKEN DATE: 14.08.2011 Inhalt Dieses Dokument beschreibt Ansätze zur Datenmodellierung, Qualitätssicherung und zur allgemeinen Vorgehensweise zum Aufbau und Betrieb von Oracle Spatial Datenbanken. Ohne saubere Strukturen, Metadaten und gültigen Daten ist ein optimaler Betrieb einer Oracle Spatial Datenbank nicht möglich. Datenmodellierung Zur Datenmodellierung können eigentlich beliebige Werkzeuge eingesetzt werden. Ich nutze den Oracle Data Modeler, der in der Version 3.0 des kostenlosen Oracle SQL Developer enthalten ist. Im Data Modeler ist es möglich, eine Tabelle als Spatial Table zu deklarieren und direkt die entsprechenden Metadaten und Indizes zu erzeugen. Arnd Spiering QS Oracle Spatial Datenbanken Seite 1 von 6

Zum Oracle Data Modeler noch eine kurze Erläuterung der einzelnen Modelle: 1. Logische Modell Dabei handelt es sich um die logische Sicht (z.b. die des Fachbereiches) auf die Daten, ohne Berücksichtigung der späteren Strukturen 2. Relationale Modell Dabei handelt es sich um die Sicht eines Entwicklers, der das Datenmodell erstellt 3. Physikalische Modell Dabei handelt es sich um die Sicht einer DBA s, der sie Datenbankstruktur definiert. An dieser Stelle will ich noch einmal erwähnen, das für Views auch die entsprechenden Metadaten in der USER_SDO_GEOM_METADATA View eingetragen werden müssen! Nach der Umsetzung des Datenmodells in Oracle, folgt der erste Schritt der Qualitätssicherung. Arnd Spiering QS Oracle Spatial Datenbanken Seite 2 von 6

QS des Datenmodells Nachdem das Datenmodell umgesetzt wurde, sollte überprüft werden, ob für alle SDO_GEOMETRY Spalten entsprechende Metadaten vorliegen, gerade für die Views: SELECT OWNER,TABLE_NAME, COLUMN_NAME FROM DBA_TAB_COLUMNS C WHERE DATA_TYPE LIKE '%SDO_GEOMETRY%' AND OWNER <> 'MDSYS' AND NOT EXISTS (SELECT 1 FROM ALL_SDO_GEOM_METADATA X WHERE X.OWNER=C.OWNER AND X.TABLE_NAME=C.TABLE_NAME AND X.COLUMN_NAME=C.COLUMN_NAME ); Das Script ist als System User auszuführen. Eine Zeile im Ergebnis deutet jeweils auf fehlende Metadaten hin. Zum Ende schadet es nicht, den Papierkorb von Oracle einfach zu leeren: purge recyclebin; purge dba_recyclebin; Arnd Spiering QS Oracle Spatial Datenbanken Seite 3 von 6

Einspielen der Daten Daten kommen auf unterschiedlichste Art und Weise in die Datenbank. Mir ist dabei immer wichtig, dass ich die Daten in einem Insert und Update Trigger auf Gültigkeit prüfe. Dazu wird im jeweiligen Trigger einfach die Funktion VALIDATE_GEOMETRY_WITH_CONTEXT aus der SDO_GEOM Package genutzt. Dabei kann es dann unterschiedlichste Ansätze geben. Ich bin immer dafür, ungültige Daten gar nicht in die DB zu lassen. Oft ist das aber nicht möglich. Dann nutze ich die Funktion, um mir den Fehler in einem Statusfeld am jeweiligen Datensatz zu speichern. Darauf gibt es eine View, die über dieses Feld filtert und so einem Benutzer nur die jeweiligen falschen Daten Filtert. Wird eine Geometrie verbessert, sorgt der Update Trigger dafür, dass der Datensatz als gültig markiert wird und in der View nicht mehr vorhanden ist. Arnd Spiering QS Oracle Spatial Datenbanken Seite 4 von 6

QS der Daten Existiert allerdings schon eine Datenbank, gibt es hier eine Möglichkeit, alle Daten sehr einfach zu validieren. SET HEADING OFF SET PAGESIZE 2000 SET LINESIZE 2000 SPOOL c:\temp\check_invalid_geometry_gen.sql SELECT 'SELECT COUNT(*) as err_' A.table_name ' FROM ' A.owner '.' A.table_name ' WHERE SDO_GEOM.VALIDATE_GEOMETRY_WITH_CONTEXT(' A.column_name ', 0.005) <> ' '''' 'TRUE' '''' ';' X FROM DBA_TAB_COLUMNS A, DBA_OBJECTS B WHERE A.data_type = 'SDO_GEOMETRY' AND A.OWNER<>'MDSYS' AND B.OBJECT_TYPE='TABLE' AND A.OWNER=B.OWNER AND A.TABLE_NAME=B.OBJECT_NAME; SPOOL OFF SET HEADING OFF @c:\temp\check_invalid_geometry_gen.sql; Im späteren Ergebnis werden alle fehlerhaften Geometrien aufgelistet. Arnd Spiering QS Oracle Spatial Datenbanken Seite 5 von 6

Aktualisierung der SRID Generell sollte auch immer auf eine vorhanden SRID geprüft werden. Daten ohne SRID können nie mit anderen Datenbeständen in Verbindung gebracht werden. Folgender Ablauf ist zu beachten, wenn eine SRID Aktualisierung erfolgen soll: -- 1. räumlichen Index löschen drop index "USER"."INDEX_NAME"; -- 2. Metadaten aktualisieren update USER_SDO_GEOM_METADATA set srid = 262148 where table_name = 'TABELLE' and COLUMN_NAME='GEOM'; commit; -- 3. Update der Geometry SRID update TABELLE a set a.geom.sdo_srid = 262148; commit; -- 4. Index wieder neu anlegen CREATE INDEX "USER"."INDEX_NAME" ON "USER"."TABELLE" ( "GEOM" ) INDEXTYPE IS "MDSYS"."SPATIAL_INDEX" PARAMETERS ( ' SDO_INDX_DIMS=2 LAYER_GTYPE="POLYGON" TABLESPACE=USER_IDX' ); Arnd Spiering QS Oracle Spatial Datenbanken Seite 6 von 6