Prof. Dr. Klaus Meyer-Wegener

Slides:



Advertisements
Ähnliche Präsentationen
Folien 2-5, 7-8 © Prof. Dr. Manfred Rössle (FH Aalen)
Advertisements

Objekt – Relationales – Modell Tomasz Makowski IN
Bauinformatik II Softwareanwendungen 1
Microsoft Access – Einführung – Allgemeine Technologien I
Systemüberblick Beispiele: Microsoft Access Oracle Ingres Informix
Indirekte Adressierung
IS: Datenbanken, © Till Hänisch 2000 CREATE TABLE Syntax: CREATE TABLE name ( coldef [, coldef] [, tableconstraints] ) coldef := name type [länge], [[NOT]NULL],
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.
Technische Grundlagen der Interoperabilität
PKJ 2005/1 Stefan Dissmann Ausblick Es fehlen noch: Möglichkeiten zum Strukturieren größerer Programme Umgang mit variabler Zahl von Elementen Umgang mit.
Transaction Script Software Component Technology for Distributed Applications.
Access 2000 Datenbanken.
Einführung Dateisystem <-> Datenbanksystem
RelationentheorieObjektorientierte Datenbanken AIFB SS Das ODMG-Objektmodell vs. relationales Modell (1/9) ODMG-Objektmodell Literal_type Atomic_literal.
2.2 Definition eines Datenbankschemas (SQL-DDL)
objekt-relationale Datenbanken
Visualisierung objektrelationaler Datenbanken
Die Grundterminologie
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #4 Das relationale Modell.
WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #2 Das relationale Modell (Teil 1)
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #2 Das relationale Modell (Teil 1)
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
Allgemeines zu Datenbanken
Freiwillige Feuerwehr der Stadt Perg
Relationales Datenmodell ist beherrschend: –Riesige Datenbestände und damit hohe Investitionen. –Die große Mehrzahl der Anwendungen arbeitet mit weitgehend.
Relationentheorie AIFB SS Relationen in 1NF und relationale Datenbanken(1/5) Attribut a Wertebereichdom(a) (domain) AttributemengeA = {a 1,...,
Das relationale Modell
ADAT©2004 Dipl. - Ing. Walter SabinSeite: 19 Version 1.0a Programme - Zusatzsoftware Oracle: –Forms –Reports –Designer –Jdeveloper –APEX (Application Express)
8 Erzeugen und Verwalten von Tabellen Ziele Kennenlernen der wichtigsten Datenbankobjekte Anlegen von Tabellen Datentypen zur Definition von Spalten.
Oberseminar Moderne Datenbanken WS03/04
Vorlesung #2 Das relationale Modell (Teil 1)
SQL - Structured Query Language  AIFB SS (1|3) 2.1 Allgemeines zu SQL (1|3) Benennung: SQL: „structured query language" ursprünglich: SEQUEL –
Persistenz: Objekt-Lebensdauer In RDBMS wird Lebensdauer von Werten durch ihren Typ festgelegt: Instanzen von Relationstypen sind persistent, alle anderen.
Einführung Dateisystem <-> Datenbanksystem
11 Zugriffskontrolle (Access Control) Ziele Privilegien Rollen GRANT und REVOKE Befehl Privilegien Rollen GRANT und REVOKE Befehl.
SS 2014 – IBB4B Datenmanagement Do 17:00 – 18:30 R Vorlesung #4 Überführung des ER-Modells in das relationale Modell.
Datenbank System (DBS) - Warum?
Rel-Modell Einige Definitionen (1|2) Kartesisches Produkt: W 1, W 2, …, W n beliebige Mengen. W 1  W 2  …  W n ::= {(w 1, w 2, …,
SS 2015 – IBB4C Datenmanagement Fr 17:00 – 18:30 R Vorlesung #4 Überführung des ER-Modells in das relationale Modell.
© 2003, Rudolf Jansen Einsatz der XML-Features der Oracle 9i DB zur Systemintegration Rudolf Jansen Freiberuflicher Entwickler und Autor
IS: Datenbanken, © Till Hänisch 2000 Relationenalgebra Die mathematische Grundlage von relationalen Datenbanken.
SZ Neustadt, Delmestraße 141B, Bremen 1 Datenbanken Datenbank = Datenbankprogramm + Daten Datenbankprogramm = Datenbankmanagementsystem (DBMS) = System,
SQL Structured Query Language Enzio Thiem. INHALT CREATE TABLE Anweisung Gängige Datentypen Beispiel CREATE TABLE Beispiel CREATE TABLE - erweitert Beispiel.
SQL Basics Schulung –
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
Vorlesung #4 Relationales Kalkül und SQL (Teil 1)
Logisches Datenmodell
Netzwerke.
Non-Standard-Datenbanken
Abfragesprache SQL in ORACLE
Create Table, Rechte und Rollen
Vorlesung #5 Überführung (Fortsetzung) / Normalformen
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
Kapitel 6: Datenbanksysteme
Datenbanken Eine Einführung Kerstin Fröhlig, HHBK.
Von Wietlisbach, Lenzin und Winter
Datenbanksystem Von Anna und Robin.
Non-Standard-Datenbanken und Data Mining
Da·ten·bank /Dátenbank/ Substantiv, feminin [die]
Datenbank WI WAHB12 Carolin & Sarah.
Datenbanken Von Fabian & Eddi.
1. Die rekursive Datenstruktur Liste 1
Präsentation von Darleen und Michèle
Von Diana Braun und Daria Bures
Datenbanken Von Amed und Alicia.
Von Franziska und Robine
Objektorientierte Programmierung
Von Wietlisbach, Lenzin und Winter
(Structured Query Language)
 Präsentation transkript:

Prof. Dr. Klaus Meyer-Wegener Relationale Datenbanken - Typsystem, Modellierung und Objektorientierung Prof. Dr. Klaus Meyer-Wegener Fachvortrag auf der 3. Informatiklehrerkonferenz in Sachsen (TU Dresden, Fakultät Informatik, 5. Juni 1999)

Datenbanken was leisten sie? wann braucht man sie? Speicherung großer Datenmengen: auch, aber nicht entscheidend Datenunabhängigkeit (der Anwendungen): Benutzung der Daten, ohne Details der systemtechnischen Speicherung (einzelne Bits, Adressen) zu kennen (statt dessen abstraktes "Datenmodell", z.B. Tabellen) einfache Handhabung der Daten, mächtige Zugriffs- und Auswertungsoperationen

Datenbanken (2) Offenheit der Daten für neue Anwendungen (Anwendungsneutralität der Speicherung): symmetrische Organisationsformen (keine Bevorzugung einer Verarbeitungs- und Auswertungsrichtung) explizite Darstellung der Annahmen (nicht in den Anwendungsprogrammen verstecken) Redundanzfreiheit: keine wiederholte Speicherung in unterschiedlicher Form für verschiedene Anwendungen Konsistenzüberwachung Folge: gemeinsame Nutzung der Daten, auch gleichzeitig! (s. unten)

Datenbanken (3) Ausfallsicherheit automatische Reparatur der Datenbestände nach Programm-, System- und Gerätefehlern Rückgängigmachen unvollständiger Änderungen, so dass sie insgesamt wiederholt werden können Wiederherstellen der Ergebnisse vollständiger Änderungen, so dass sie nicht wiederholt werden müssen

Datenbanken (4) Mehrbenutzerbetrieb gleichzeitiger (zeitlich eng verzahnter) Zugriff verschiedener Anwendungen und Benutzer Synchronisation, d.h. Steuerung der Reihenfolge von Zugriffen zur Vermeidung von Fehlern, die durch wechselseitige Beeinflussung auftreten können Kooperation durch Verwendung gemeinsamer Daten mit hohem Aktualitätsgrad ("sofort")

Relationale Datenbanken durchaus im mathematischen Sinne: Teilmenge eines Kartesischen Produkts R Í M1 ´ M2 ´ .... ´ Mn auch die Bezeichnung Tupel für die Elemente stammt aus der Mathematik (manchmal n-Tupel) Mengen Mi prinzipiell beliebig, wichtig hier zunächst nur die Wertebereiche der gängigen Datentypen auf Rechnern

Relation bzw. Tabelle Spalte Attributwert Zeile atomar! klein! (Zeichenkette, Zahl, .... )

Darstellungsmittel Relation / Tabelle Wertebereich / Domäne (domain), auch: Typ Attribut / Spalte (column) Tupel / Zeile (row) Primärschlüssel Fremdschlüssel mehr nicht!

Bewertung nur Relationen sind speicherbar was immer man in der Datenbank ablegen will, muss die Form einer Relation haben es gibt nur den Typ Relation, wenn man Objekte erzeugen will - "in Atome zerlegen"

Anfragen, Auswertungen Relationenalgebra Relationenkalkül SQL

Selektion select * from R where P(A)

Projektion select A from R

Verbund select * from R1, R2 where R1.A = R2.A

Neue Anforderungen komplexe Objekte in den Anwendungen (z.B. 3D-Modelle, Landkarten, Bilder, .... ) objektorientierte Anwendungsentwicklung "Impedance Mismatch" beim Zugriff auf relationale Datenbanken Brüche im Typsystem Kopieren der Daten ("Auto in der Garage zerlegen") objektorientierte Datenbanken Revolution statt Evolution, keine Migration

Lösungsmöglichkeit 1: "do it yourself" Objekte Anwendung: Relationen Datenbank:

Lösungsmöglichkeit 2: Middleware für Objekte in DB Anwendung: Middleware Relationen Datenbank:

Lösungsmöglichkeit 3: objektorientierte DB Objekte Anwendung: Objekte OO-Datenbank:

Lösungsmöglichkeit 4: objektrelationale DB Objekte Anwendung: Relationen und Objekte OR-Datenbank:

Lösungsmöglichkeit 5: föderierte (heterogene) DB Objekte Anwendung: Middleware Relationen Objekte Datenbanken:

Objektrelationale DBS eingeführt mit UniSQL (W. Kim) popularisiert durch M. Stonebraker mit Illustra, dann an Informix verkauft heute klare Entwicklungsrichtung fast aller RDBVS (Oracle, DB2, Informix, Ingres) Normung: SQL-3 Erweiterung des relationalen Datenmodells um OO-Konzepte bzw. Kombination beider Ansätze Beibehaltung der bewährten Konzepte Datenbank weiterhin Menge von Relationen

Erweiterbares Typsystem benutzerdefinierte Typen (user-defined types, UDT's) sowohl für Zeilen als auch für Spalten abstrakte Datentypen (ADT's) mit typspezifischem Verhalten Zeilentypen für hierarchische (geschachtelte) Strukturen Verweis-Typen (reference) Typ-Konstruktoren Definition von Sammlungen (collections) von Datentypen Speicherung mehrerer Werte in einer Spalte einer Tabelle Konstruktion geschachtelter Tabellen Vererbung

Beispiele: Spaltentyp create function Name_Ein (text) returns Namenstyp as external name 'name.so' language C; create function Name_Aus (Namenstyp) returns text as external name 'name.so' language C; create type Namenstyp ( internallength = 24, input = Name_Ein, output = Name_Aus );

Beispiele: Zeilentypen und Sammlungen create type Beschreibungstyp ( Kopf varchar(50), Länge integer, Rümpfe setof(text) ); create table Einheit of new type Einheitentyp ( Einheitenname Namenstyp, Designer varchar(20), Modellbauer setof(varchar(20)), Tests setof(Testtyp) );

Beispiele: Verweis-Typen create table Anforderung on new type Anforderungstyp ( Anforderungsname Namenstyp, Beschreibung Beschreibungstyp, Tests setof(ref(Testtyp)) ); create table Test of new type Testtyp ( Testname Namenstyp, Testeinheit ref(Einheitentyp), für_Anforderungen setof(Anforderungstyp), Testdatum date, Testmuster array(array(Namenstyp)), sketch Image );

Beispiele: Vererbung create table Dymanischer_Test under Test ( Beschleunigung string, Amplitudensteigung string, .... );

Beispiele: Anfragen select from Automobil a where Gewicht_der_Sitze(a) < 300 select * from Anforderung where Beschreibung.Länge > 10000 select * from Test t where deref(t.Testeinheit).Designer = "Schmidt" select Testname from Test t where "Schmidt" in deref(t.Testeinheit).Modellbauer select * from Test t where Testdatum = "1997-03-12" (schließt den Subtypen Dynamischer_Test ein)

SQL3 in der Entwicklung nur DB-Server-Erweiterungen, nichts für die Clients Defizite des Datenmodells: Tabellen immer noch die einzigen Einheiten, die persistent gespeichert werden können in Anfragen angesprochen werden können Zeilentypen (Row types) ohne Einkapselung Verweistypen nur anwendbar auf Zeilentypen keine referentielle Integrität oder andere Semantik

SQL3 in der Entwicklung (2) ADTs als erster Schritt zur Objektorientierung, aber keine optimale Lösung keine Objektidentifikatoren ADT-Instanzen nur innerhalb einer Tabelle persistent speicherbar keine Namen für einzelne ADT-Instanzen keine Extension (Sammlung aller Exemplare) zu einem ADT

Zusammenfassung und Ausblick objektrelationale DBS breiten sich aus aufwärtskompatibel einfach mit dem nächsten Release Nutzung noch zurückhaltend Entwurf sehr komplex und noch wenig untersucht Performance Optimierer: Forschungsthema Warten auf SQL3 unverändert Impedance Mismatch dennoch: Weiterentwicklung und Dominanz