Oberseminar Moderne Datenbanken WS03/04

Slides:



Advertisements
Ähnliche Präsentationen
C Sharp (C#) Martin Saternus Senior Student Partner
Advertisements

Objekt-relationale und erweiterbare Datenbanksysteme
der Universität Oldenburg
ER-Datenmodell und Abfragen in SQL
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
Objekt-relationale und erweiterbare Datenbanksysteme Erweiterbarkeit SQL:1999 Objekt-relationale Modellierung.
Objektorientierte Datenbanken
Objekt – Relationales – Modell Tomasz Makowski IN
System J – Compiler – Praktikum: Datenbanksystementwicklung Knut Stolze
Kapitel 4 Datenstrukturen
Objektorientierte Programmierung Definition von Klassen
Systemüberblick Beispiele: Microsoft Access Oracle Ingres Informix
SQL::Geschichte/Normen (Übersicht)
Objekt-relationale und erweiterbare Datenbanksysteme
FH-Hof Einbindung von JavaScript Anweisungen
Java: Objektorientierte Programmierung
Java: Dynamische Datentypen
Java: Referenzen und Zeichenketten
Java: Grundlagen der Objektorientierung
SQL als Abfragesprache
SQL als Abfragesprache
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 4 Vererbung Sommersemester 2003 Lars Bernard.
IS: Datenbanken, © Till Hänisch 2000 CREATE TABLE Syntax: CREATE TABLE name ( coldef [, coldef] [, tableconstraints] ) coldef := name type [länge], [[NOT]NULL],
Objektrelationale Datenbanken (am Beispiel Oracle)
Non-Standard-Datenbanken Neue Datentypen
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.
Objektrelationale Datenbanken (am Beispiel Oracle)
Text-Retrieval mit Oracle Vortrag von Andreas Mück & David Diestel.
Otto-von-Guericke-Universität MagdeburgGamal Kassem Übung 7 Reports mit Datenbankzugriff.
Übung Datenbanksysteme WS 2003/ Übung Datenbanksysteme Hierarchische DBMS
Programmieren mit JAVA
Oracle interMedia Image
Information Systems & Semantic Web University of Koblenz Landau, Germany Vorlesung Multimedia-Datenbanken Objekt-relationale Datenbanksysteme (Folien nach.
DVG Klassen und Objekte
RelationentheorieObjektorientierte Datenbanken AIFB SS Das ODMG-Objektmodell vs. relationales Modell (1/9) ODMG-Objektmodell Literal_type Atomic_literal.
Kollektionstypen (1) Es sind polymorphe Typkonstruktoren, jeweils als Sorten- und als Klassenkonstruktor (t,v beliebige Typen): –set, Set :Ungeordnete.
2.2 Definition eines Datenbankschemas (SQL-DDL)
objekt-relationale Datenbanken
Datenbankentwicklung IV-LK
Visualisierung objektrelationaler Datenbanken
Was umfaßt die CORBA Core Spezifikation? Welche zusätzlichen Komponenten muß ein ORB Produkt beinhalten? Core: CORBA Objekt Modell CORBA Architektur OMG.
Information Systems & Semantic Web University of Koblenz Landau, Germany Vorlesung Multimedia-Datenbanken Objekt-relationale Datenbanksysteme (Folien nach.
Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein Datenmanipulation Lehrbuch, Kapitel 4.
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #4 SQL (Teil 1)
Vorlesung #4 SQL (Teil 1).
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #6 SQL (Teil 1)
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #7 SQL (Teil 4)
WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #4 SQL (Teil 1)
Dynamische Datentypen
Datenbanksysteme für hörer anderer Fachrichtungen
PL/SQL - Kurze Einführung April 2003Übung Data Warehousing: PL/SQL 2 PL/SQL.. ist eine Oracle-eigene, prozedurale Programmiersprache Sämtliche.
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)
XQuery 1.0 – Arbeitsweise Mögl. Eingaben Das wird berücksichtigt: Typen von XPath und XML Schema Namensräume, Module Ergebnis: XML-Instanz.
Objekte und Literale ODMG-Objektmodell kennt zwei Arten von Datenelementen: Literale: Identität ist ausschließlich durch Wert gegeben. Nur maximal eine.
RelationentheorieObjektorientierte Datenbanken  AIFB SS C++-ODL (1/6) Erweiterung des deklarativen Teils einer C++-Klasse Datentypen d_String,
Vordefinierte Datentypen (1)
11 Zugriffskontrolle (Access Control) Ziele Privilegien Rollen GRANT und REVOKE Befehl Privilegien Rollen GRANT und REVOKE Befehl.
Java-Kurs Übung Besprechung der Hausaufgabe
XML-Werte in SQL/XML Von Viktor Folmer. Inhalt Datentyp XML Knotenfunktionen Unter- und Unter(unter)typen Validierung Prädikate Auswahl weiterer Funktionen.
WS 2014/15 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #9 SQL Zusammenfassung.
Datenbanken abfragen mit SQL
1 Objektorientierte Datenbanken zBeim vorigen Mal: zODMG-OQL und FastObjects-OQL zIntegritätsbedingungen und Schema-Evolution zHeute: Objektrelationale.
© 2003, Rudolf Jansen Einsatz der XML-Features der Oracle 9i DB zur Systemintegration Rudolf Jansen Freiberuflicher Entwickler und Autor
XML-Erweiterungen in ORDBMS Seminar: DBMS für spezielle Anwendungen Florian Brieler.
SQL Structured Query Language Enzio Thiem. INHALT CREATE TABLE Anweisung Gängige Datentypen Beispiel CREATE TABLE Beispiel CREATE TABLE - erweitert Beispiel.
Vorlesung #4 Relationales Kalkül und SQL (Teil 1)
Sichten.
(Structured Query Language)
 Präsentation transkript:

Oberseminar Moderne Datenbanken WS03/04 Objektrelationale Datenbanken Erweiterungsmöglichkeiten von relationalen Datenbanken um objektorientierte Konzepte

Gliederung Einführung Übersicht SQL:1999 & SQL:2003 Allgemeine Konzepte Large Object Benutzerdefinierte Typen Typisierte Tabellen/Sichten OO-Konzepte in Oracle9i 14.11.2003 Christina Böttger

Definition ORDBMS = RDBMS + OODBMS ORDBMS ist Erweiterung relationaler DBMS mit objektorientieren Konzepten Grundkonstrukte semantischer Datenmodelle und Einführung (abstrakter) Benutzerdatentypen ORDBMS = RDBMS + OODBMS 14.11.2003 Christina Böttger

Grenzen bei RDB Unzureichende Vielfalt an Datentypen nur eine Art von Beziehungen („gehört zu“) keine Unterstützung komplexer Datenstrukturen Fehlendes Verhalten Keine Unterstützung von Objekt-Hierarchien (Vererbung) 14.11.2003 Christina Böttger

Objektorientierte Konzepte Neue Datentypen Komplexe Objekte Vererbung Polymorphismus Speichern von Operationen Benutzerdefinierbare Zugriffsmethoden 14.11.2003 Christina Böttger

Erweiterungen in SQL:1999 und SQL:2003 (1) Trigger Neue Basisdatentypen: BOOLEAN,BLOB,CLOB,BIGINT Neue Typkonstruktoren: ROW, ARRAY,REF, MULTISET Benutzerdefinierte Datentypen (Distinct-Typ und strukturierte Typen) 14.11.2003 Christina Böttger

Erweiterungen in SQL:1999 und SQL:2003 (2) Typhierarchien (Subtypen) Typisierte Tabellen und Tabellen-hierarchien (Subtabellen) Typisierte Sichten und Sichthierarchien (Subsichten) Rekursion Generierte Spalten, Sequenz-generatoren,Identitätsspalten 14.11.2003 Christina Böttger

Neue Basisdatentypen BLOB CLOB BFILE

Large Object (LOB) BLOB (Binary Large Object) Bilder/Audio Variable Länge bis 4GB CLOB (Character Large Object) Alphanumerische Zeichenkette BFILE (Binary File) Lokator auf externe Datei Dateigröße bis zu 4GB 14.11.2003 Christina Böttger

Operationen auf Large Object EMPTY_BLOB EMPTY_CLOB BFILENAME IS [NOT] NULL Nicht erlaubt BLOB/CLOB-Attribute als Teil eines Schlüssels oder in booleschen arith. Ausdrücken (Vergleich) GROUP BY, ORDER BY 14.11.2003 Christina Böttger

Beispiel LOB-Typen EMPTY_BLOB() bzw. EMPTY_CLOB() initialisieren CREATE DIRECTORY MITARBEITER_BILDER AS ‘D:\Image\’ ; INSERT INTO MitarbeiterTupelTabelle VALUES ( ‘Billy’, EMPTY_BLOB(), BFILENAME(‘MITRBEITER_BILDER’, billy.gif’), EMPTY_CLOB(), BFILENAME(‘MITARBEITER_BEWERBUNG’,’billy.rtf’) ); EMPTY_BLOB() bzw. EMPTY_CLOB() initialisieren LOB-Lokator (notwenig) 14.11.2003 Christina Böttger

Benutzerdefinierte Datentypen (UDT) Distinct – Datentypen Strukturierte Datentypen (Datentypen mit interner Struktur)

Distinct – Typen(1) Kopie eines existierten Basistypen mit neuem Namen Wiederverwendung Strenge Typisierung (basiert auf Namensäquivalenz) Nicht-optionales Schlüsselwort FINAL schliesst Subtypbildung aus Systemdefinierte Vergleichsoperatoren basierend auf dem Quelltyp Cast-Operatoren zur Konversion zwischen Distinct- und Quelltyp 14.11.2003 Christina Böttger

Distinct-Typen(2) Erzeugen eines Distinct-Typs: SQL:1999 und SQL:2003 Distinct-Typen(2) Erzeugen eines Distinct-Typs: CREATE TYPE Distinct-Typname AS (Quelltyp) FINAL Beispiele: CREATE TYPE Franken AS DECIMAL(12,2) FINAL; CREATE TYPE Euro AS DECIMAL(12,2) FINAL; test 14.11.2003 Christina Böttger

Operationen auf Distinct-Typen Vergleich zweier Distinct-Werte: Distinct-Typen unterliegen der strengen Typisierung Zwei Distinct-Werte sind vergleichbar g.d.w. ihre Distinct-Typen identisch sind Beispiel: Franken(1000.00) = Euro(1000.00) ergibt einen Typkonflikt Erzeugen einer Instanz eines Distinct-Typs: Distinct-Typname(Quelltypwert) Franken(1311.69) Euro(170470.13) Beispiele für Distinct-Werte: 14.11.2003 Christina Böttger

Strukturierte Typen Objekttypen mit Attributen und Methoden SQL:1999 und SQL:2003 Strukturierte Typen Objekttypen mit Attributen und Methoden Bilden Typhierarchien (Einfachvererbung) Defaultwerte und Integritätsbedingungen nicht unterstützt CREATE TYPE PersonTyp AS ( Name VARCHAR(30), Anschrift AdressTyp, Ehepartner REF(PersonTyp), Kinder REF(PersonTyp)ARRAY[10] )NOT FINAL; METHOD AnzahlKinder RETURNS INTEGER; Datentypen mit interner Struktur 14.11.2003 Christina Böttger

Einkapselung von strukturierten Typen Attribute behandelt wie Methoden (Funktionen) Vollständige Einkaspelung Attrubite nur über Methoden zugreifbar Sichtbarkeitsstufen: PUBLIC und PRIVATE Jedes Attribut besitzt Observer – Funktion zum Lesen Mutator – Funktion zum Ändern 14.11.2003 Christina Böttger

Instanz strukturierte Typen Erzeugen einer Instanz mit Default-Konstruktor: Typname() Initialisierung mittels Mutator oder überladenen Konstruktor CREATE FUNCTION PersonTyp (n VARCHAR(30)) RETURNS PersonTyp BEGIN DECLARE p PersonTyp; SET p = PersonTyp(); SET p.Name = n; RETURN p; END; 14.11.2003 Christina Böttger

Typisierte Tabellen und Typisierte Sichten

Typisierte Tabellentyp(1) basiert auf strukturierte Types Instanzen (Zeilen) sind Objekte dieses Typs Tabellennamen OID-Spalte Spalten(Columns) = Attribute R OID A1 ... An OIDs sind vom Typ REF(ST) Zeilen(Row) = Objekte Attributewerte 14.11.2003 Christina Böttger

Typisierte Tabellentyp(2) Syntax: (Beispiel) CREATE TABLE Personen OF PersonTyp ( REF IS oid SYSTEM GENERATED, Ehepartner WITH OPTIONS SCOPE Person, Kinder WITH OPTIONS SCOPE Person, ); Spaltenoption: Spaltenname WITH OPTIONS Optionsliste Option: SCOPE Typisierte Tabelle | DEFAULT Wert | Integritätsbedinung 14.11.2003 Christina Böttger

Typisierte Sichten(1) Analog zu typisierten Tabellen auf einen strukturierten Typ Syntax: CREATE VIEW GutBezahlteMitarbeiter OF MitarbeiterTyp AS ( SELECT * FROM ONLY(Manager), WHERE Gehalt > Franken(10000) ); 14.11.2003 Christina Böttger

Typisierte Sichten(2) Einschränkung nur eine Tabelle oder Sicht enthalten Tabelle bzw. Sicht typisiert, beschränkter Zugriff auf flache Extension (ONLY) Verbundsoperationen und Gruppierung nicht erlaubt 14.11.2003 Christina Böttger

Objektrelationale Erweiterungen in Oracle9i Neue Basistypen(LOB zusätzl. NCLOB, kein BOOLEAN) Referenztypkonstruktor Benutzerdefinierte Datentypen Kollektionstypen Tabellentyp Variabler Arraytyp (VARRAY) Objekttypen Objekttabellen Objektsichten (mit Subsichtenbildung) 14.11.2003 Christina Böttger

Objekttypen Drei Typarten Objekttypen TabellenTyp VARRAY-Typen CREATE TYPE <Typ> [AS OBJECT . . .]; CREATE TYPE <Typ> [AS TABLE . . .]; CREATE TYPE <Typ> [AS VARRAY . . .]; 14.11.2003 Christina Böttger