Objekt – Relationales – Modell Tomasz Makowski IN

Slides:



Advertisements
Ähnliche Präsentationen
Imperative Programmierung
Advertisements

Datenbankdesign mit ACCESS.
Eine dynamische Menge, die diese Operationen unterstützt,
Datenbanken Einführung.
Folien 2-5, 7-8 © Prof. Dr. Manfred Rössle (FH Aalen)
spezielle Nutzersichten formale Ebene (deskriptive Regeln)
System J – Compiler – Praktikum: Datenbanksystementwicklung Knut Stolze
MySQL.
Bauinformatik II Softwareanwendungen 1
Kapitel 4 Datenstrukturen
der Universität Oldenburg
Systemüberblick Beispiele: Microsoft Access Oracle Ingres Informix
Sequentielle Liste - Array
Kapitel 3: Das Relationenmodell
FH-Hof Effizienz - Grundlagen Richard Göbel. FH-Hof Inhalt Einführung Aufwand für Anfragen ohne Indexierung Indexstrukturen für Anfragen an eine Tabelle.
Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg1/7 Datenbanken werden als Anhäufung von Werten eines Wertebereiches aufgefasst und Datenbankabfragen.
Algorithmentheorie 04 –Hashing
XINDICE The Apache XML Project Name: Jacqueline Langhorst
Erweiterte Datenmodelle Referentin: Lena Becker HS: Datenbanken vs. Markup Datum:
SQL als Abfragesprache
Daten bank St. Wiedemann.
Datenbankentwurf mit Hilfe des ER-Modells entwickeln
SQL/XML. © Prof. T. Kudraß, HTWK Leipzig 2 2 Motivation Speicherung von XML in allen großen kommerziellen DBMS vorhanden proprietäre Lösungen für die.
Das Relationenmodell 1.
Text-Retrieval mit Oracle Vortrag von Andreas Mück & David Diestel.
Bearbeitung und Verknüpfung von Tabellen Räumliche Anfragen
6. Technische Grundlagen der Interoperabilität 6.1 Das Modell der SimpleFeatures (OGC) von Martin Kütt Seminar Geoinformation, WS 01/02 (7. Sem.) Betreuer:
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
Access 2000 Datenbanken.
Datenintegrität Referentielle Integrität create table
Einführung Dateisystem <-> Datenbanksystem
DVG Felder1 Felder. DVG Felder 2 Was sind Felder? Felder sind Reihungen aus endlich vielen Elementen gleichen Typs. Z.B.: Vektoren : (x.
Buch S73ff (Informatik I, Oldenbourg-Verlag)
Einführung und Überblick
1 Nutzen Sie diese Powerpoint-Präsentation beim Selbstlernen oder in Veranstaltungen zur Einführung in das jeweilige Thema. Einführung Lernmodul Nutzungsbedingungen:
objekt-relationale Datenbanken
SQL PHP und MySQL Referat von Katharina Stracke und Carina Berning
Java programmieren mit JavaKara
Datenbank.
Access 2000 Willkommen im Access-Kurs Oliver Mochmann.
Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein Datenmanipulation Lehrbuch, Kapitel 4.
GIS und relationale Datenbanken: Arc/Info SDE und Oracle 8i Spatial
Einführung in die Programmierung Wintersemester 2009/10 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Datenbanken Dantenbanksystem Data Base System Datenbasis (Daten)
Allgemeines zu Datenbanken
HORIZONT 1 XINFO ® Das IT - Informationssystem PL/1 Scanner HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 / 540.
(D.h. „Hallo MausFans!“ auf Japanisch).
DI (FH) DI Roland J. Graf MSc (GIS) U N I V E R S I T Ä T S L E H R G A N G Geographical Information Science & Systems UNIGIS.
Einführung in Datenbankmodellierung und SQL
Freiwillige Feuerwehr der Stadt Perg
1 Nutzen Sie diese Powerpoint-Präsentation beim Selbstlernen oder in Veranstaltungen zur Einführung in das jeweilige Thema. Einführung Lernmodul Nutzungsbedingungen:
verstehen planen bearbeiten
PL/SQL - Kurze Einführung April 2003Übung Data Warehousing: PL/SQL 2 PL/SQL.. ist eine Oracle-eigene, prozedurale Programmiersprache Sämtliche.
SQLite und XML in PHP 5.
Programmieren in C Grundlagen C 2
Structured Query Language
8 Erzeugen und Verwalten von Tabellen Ziele Kennenlernen der wichtigsten Datenbankobjekte Anlegen von Tabellen Datentypen zur Definition von Spalten.
Benutzerdefinierte Datentypen (1)
Integritätsbedingungen (Constraints)
Einführung Dateisystem <-> Datenbanksystem
Verknüpfung von Tabellen
Anfragesprachen für Raumbezogene Daten Institut Für Kartographie und Geoinformation Bonn Projektgruppe Vertiefer Kartographie Sascha Rudolph.
Modellierung der Wirklichkeit
Datenbanken abfragen mit SQL
BHAK/BHAS 1 Salzburg KIDM 2ASBS Schuljahr 2004/05
SQL Basics Schulung –
Sprachumfang von SQL Vier Kategorien DDL (Data Definition Language)
Da·ten·bank /Dátenbank/ Substantiv, feminin [die]
Präsentation von Darleen und Michèle
(Structured Query Language)
 Präsentation transkript:

Objekt – Relationales – Modell Tomasz Makowski IN 2101505 Oracle Spatial Objekt – Relationales – Modell Tomasz Makowski IN 2101505

Inhalt Einführung Datenstruktur Metadaten Beispiele Laden und Indizierung Anfragen Spatial Join Quellen

Was ist ein Relationeles Datenmodell? Die wichtigste von 13 Regeln von E.F.Codd (1985), die es für ein Datenbank- System zumindest zum Großteil zu erfüllen gilt, um wirklich als „Relational“ gelten zu dürfen. Alle Informationen werden ausschließlich auf einer logischen Ebene und nur auf genau eine Art und Weise durch Werte in Relationen (Tabellen) dargestellt. • Jedes einzelne Element in einer relationalen Datenbank ist immer durch eine logische Kombination aus dem Tabellennamen, einem Primärschlüsselwert und dem Spaltennamen erreichbar. Ein Datenbanksystem muss „NULL“-Werte unterstützen, also „keine Daten“. Alle Integritätsbedingungen müssen mit Hilfe der relationalen Datenbankbeschreibungssprache definierbar sein und müssen im Systemkatalog abgelegt werden.

Das Datenbanksystem muss die Metadaten auf dem selben Niveau verwalten wie die eigentlichen Daten. Nutzer der Datenbank können also die Metadaten mit den selben Methoden wie die eigentlichen Daten abfragen. Die definierten Relationen dürfen nicht nur für Abfragen, sondern müssen auch für das Editieren (Einfügen, Ändern, Löschen) der Daten gelten. Datenintegritätsregeln müssen im Datenbanksystem (mit den Metadaten) und nicht in der die Datenbank nutzenden Applikation gespeichert werden. Es muss dafür gesorgt werden, dass es keine implementierten Möglichkeiten gibt, die Regeln für das Relationale System zu unterwandern.

Objekt – Relationales - Modell Die objekt-relationale Implementierung von Spatial besteht aus einer Menge von Datentypen, Indizierungsmethoden und Operatoren auf diesen Typen.

Datenstruktur Ein geometrisches Objekt wird als Objekt in einer Zeile und Spalte des Typs SDO_GEOMETRY gespeichert. Der Typ SDO_GEOMETRY besteht aus:

Beispiel

Metadaten Die Metadaten, wie z.B. die Festlegung der Dimension, untere und obere Grenzen und Toleranz in jeder Dimension, müssen als Einträge in der Tabelle SDO_GEOM_METADATA gespeichert werden. Jeder Nutzer, der in einer Tabelle den Typ SDO_GEOMETRY hat, benötigt eine solche Tabelle. Für jede Tabelle, in der eine Spalte dieses Typs vorhanden ist, muß ein Eintrag in die Tabelle gemacht werden. Dafür ist der Nutzer selbst verantwortlich.

Erstellung einer Tabelle Create Table SDO_GEOM_METADATA ( TABLE_NAME VARCHAR2(30), COLUMN_NAME VARCHAR2(30), DIMINFO MDSYS.SDO_DIM_ARRAY); Table_Name enthält den Namen der Tabelle, die die Spalte des Typs SDO_GEOMETRY enthält. Der Name der Spalte dieses Typs wird in der Spalte Column_Name abgelegt. DIM_Info ist ein Feld variabler Länge, daß in geordneter Reihenfolge für jede Dimension einen Eintrag enthält. In diesem Feld sind Elemente des Typs SDO_DIM_ELEMENT enthalten.

Typ SDO_DIM_ELEMENT

Laden und Indizierung

Laden Es gibt 2 Möglichkeiten, räumliche Daten in die Datenbank abzuspeichern. 1.bulk loading: wird benutzt, wenn eine große Menge an Daten in die Datenbankübertragen werden soll. Die Methode nutzt den SQL*Loader, um die Daten zu laden 2. transactional loading wird benutzt, um relativ kleine Datenmengen in die Datenbank zu übertragen. Diese Methode benutzt den INSERT-Befehl von SQL. Beispiel: Speicherung eines Polygons mit Loch

Geometrie mit Loch

CREATE TABLE parks ( Name VARCHAR2(32), Shape MDSYS.SDO_GEOMETRY ); INSERT INTO parks VALUES('OBJ_1', MDSYS.SDO_GEOMETRY( 3, NULL, NULL, MDSYS.SDO_ELEM_INFO_ARRAY(1, 3, 1, 19, 3, 3), MDSYS.SDO_ORDINATE_ARRAY(6, 15, 10, 10, 20, 10, 25, 15, 25, 35, 19, 40, 11, 40, 6, 25, 6, 15, 12, 15, 15, 24 ) ) ); INSERT INTO SDO_GEOM_METADATA VALUES( 'Parks', 'Shape', MDSYS.SDO_DIM_ARRAY( MDSYS.SDO_DIM_ELEMENT('X', 0, 100, 0.005), MDSYS.SDO_DIM_ELEMENT('Y', 0, 100, 0.005) ) );

Indizierung Um den Zugriff auf spatial data in der Datenbank zu beschleunigen, werden Indizes benötigt. Ein spatial Index verwendet Arten der räumlichen Beziehung um Dateneinträge zu verwalten, wobei jeder Schlüsselwert als Punkt in einem k-dimensionalen Raum gesehen wird. k ist die Anzahl der Felder im Suchschlüssel des Index.

Anfragen Spatial nutzt ein zweistufiges Anfragemodell mit Primär- und Sekundärfilter. Werden beide Filter hintereinander angewendet, ergibt dies das exakte Ergebnis. Eine typische Anfrage ist die Suche nach allen Objekten, die innerhalb des gestrichelten Bereiches liegen.

Anfragen Primärfilter: Um nur den Primärfilter zu benutzten, muß die Funktion SDO_FILTER() verwendet werden. Diese Funktion nutzt nur die Indexdaten, um eine Menge an Kandidaten zu finden, die in der Fläche liegen könnten. Die Anfrage liefert alle Objekte, die ein gemeinsames Indexteil mit denen des Fensters haben. Sekundärfilter: Um beide Filter anzuwenden, wird die Funktion SDO_RELATE() benutzt. Diese wendet Primär- und Sekundärfilter hintereinander an. Die Anfrage liefert alle Objekte, die innerhalb des Fensters liegen oder es überlappen. Um zu bestimmen, welche Objekte einer Tabelle innerhalb einer bestimmten Distanz von einem Referenzobjekt liegen, wird die Funktion SDO_WITHIN_DISTANCE() benutzt.

Grafische Darstellung

Spatial Join Ein Spatial Join ist äquivalent zu regulären Joins, nur das jetzt spatiale Operatoren vorhanden sind. In Spatial findet ein Join statt, wenn alle Objekte eines Layers mit allen anderen Objekten eines anderen Layers verglichen werden sollen. Dies ist der Gegensatz zu einem Abfragefenster, in dem nur ein einfaches Objekt (das Fenster) mit allen Objekten eines Layers verglichen wird. Spatial Joins können z.B. genutzt werden, um Fragen wie "Welche Straßen gehen durch Nationalparks?" zu beantworten.

Funktionen, die zur Berechnung von geometrischen Sachverhalten zur Verfügung stehen.

Quellen http://www.oracle.de http://www.oracle.com http://www.orafaq.com http://www.oreillynet.com

Danke für die Aufmerksamkeit!