1 Kap. 1.4 E/R und oo-Modelle Kap. 1.4.1 Erweiterte E/R Modelle Er F KE AE Ar AF KF 11n11n 1nm1nm E F KE AE... KF AF... r AR.

Slides:



Advertisements
Ähnliche Präsentationen
Business Engineering Philipp Osl, Alexander Schmidt
Advertisements

Randomisierte Algorithmen Präfix Suche und Konsistentes Hashing
Punkt-in-Polygon-Verfahren III (R/R+-Baum)
Hash-Tabellen und -Funktionen Hash-Tabellen in Java
Eine dynamische Menge, die diese Operationen unterstützt,
spezielle Nutzersichten formale Ebene (deskriptive Regeln)
Datenmodellierung Externe Phase Informationsstruktur
Graphen Ein Graph ist eine Kollektion von Knoten und Kanten. Knoten sind einfache Objekte. Sie haben Namen und können Träger von Werten, Eigenschaften.
[01] - ERM Modellierung I Basiselemente von E-R-Diagrammen kennen
Bauinformatik II Softwareanwendungen 1
IMS Universität Stuttgart 1 Einführung in XML Hannah Kermes HS: Elektronische Wörterbücher Do,
Java: Objektorientierte Programmierung
Java: Dynamische Datentypen
Algorithmentheorie 04 –Hashing
Suche in Texten: Suffix-Bäume
Prof. Dr. S. Albers Prof. Dr. Th. Ottmann
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (17 – Bäume: Grundlagen und natürliche Suchbäume) Prof. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (21 – Kürzeste Wege) T. Lauer.
Algorithmentheorie 7 – Bin Packing
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 16 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Algorithmen und Datenstrukturen
WS Prof. Dr. Th. Ottmann Algorithmentheorie 09 - Suche in Texten Suffix - Bäume.
Datenbankentwurf mit Hilfe des ER-Modells entwickeln
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 4 Vererbung Sommersemester 2003 Lars Bernard.
Grundkurs Theoretische Informatik, Folie 2.1 © 2006 G. Vossen,K.-U. Witt Grundkurs Theoretische Informatik Kapitel 2 Gottfried Vossen Kurt-Ulrich Witt.
IS: Datenbanken, © Till Hänisch 2000 CREATE TABLE Syntax: CREATE TABLE name ( coldef [, coldef] [, tableconstraints] ) coldef := name type [länge], [[NOT]NULL],
Übung Datenbanksysteme SQL-Anfragen (2)
Übung Datenbanksysteme UML
Klausur „Diskrete Mathematik II“
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik I Vorlesung Listen-
Kap. 6.2 Binäre B-Bäume Ullmann: (2, 3) - Bäume
Vererbung Spezialisierung von Klassen in JAVA möglich durch
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
PKJ 2005/1 Stefan Dissmann Klassenhierarchie Person Kunde Goldkunde Lieferant Object.
Normalformen Normalisieren Schlüssel
Datenintegrität Referentielle Integrität create table
6 Normalformen Normalisieren Schlüssel
Rel-Modell Relationenspezifische Operationen (11|21) Definition: natural join (natürlicher Verbund) Geg.: zwei Relationen r 1 : (A) und.
Relationentheorie AIFB SS Algorithmen zur Bildung von 3NF-Relationsschemata Algorithmen zur Bildung von 3NF-Relationsschemata (2|8) (2)Synthese.
PRJ 2007/1 Stefan Dissmann Verkettete datenstruktur: Liste Problem: Liste, die eine beliebige Zahl von Elementen verwaltet Operationen: Erzeugen, Anfügen,
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Objektmodellierung Objekte und Klassen Ein Objekt ist ein Exemplar.
Bild 1.1 Copyright © Alfred Mertins | Signaltheorie, 2. Auflage Vieweg+Teubner PLUS Zusatzmaterialien Vieweg+Teubner Verlag | Wiesbaden.
Die Grundterminologie
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Objektorientierte Konzepte/UML Geoinformation I Vorlesung 2 WS 2000/2001.
Generalisierung/Spezialisierung Subtypisierung/Vererbung
Übung Datenbanksysteme II Index- strukturen
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #3 ER Modellierung.
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
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.
2.4 Rekursion Klassifikation und Beispiele
Datenbanksysteme für hörer anderer Fachrichtungen
Vorlesung Mai 2000 Konstruktion des Voronoi-Diagramms II
Das IT - Informationssystem
SQL - Structured Query Language AIFB SS (1/9) Join-Operationen in SQL-92(1/9) Syntax einer Join-Operation: join-op := CROSS JOIN | [NATURAL]
1 (C)2006, Hermann Knoll, HTW Chur, FHO Quadratische Reste Definitionen: Quadratischer Rest Quadratwurzel Anwendungen.
Analyseprodukte numerischer Modelle
Schutzvermerk nach DIN 34 beachten 20/05/14 Seite 1 Grundlagen XSoft Lösung :Logische Grundschaltung IEC-Grundlagen und logische Verknüpfungen.
Vortrag von Rechtsanwältin Verena Nedden, Fachanwältin für Steuerrecht zur Veranstaltung Wege zum bedingungslosen Grundeinkommen der Piratenpartei Rhein-Hessen.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Grundlagen des Relationenmodells
1 Übungen zur Vorlesung Datenstrukturen Prof. R. Bayer, WS 2001/02 Übung 1: Kap.1.1: analysieren Sie eine Bank Anwendung mit folgenden Kennzahlen: Die.
Analyse der Laufzeit von Algorithmen
1 Tagesüberblick 5 Lösung Hausaufgabe/Fragen Assoziative Felder Funktionen zu Variablenbehandlung.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Thomas H. Kolbe Einführung in die Programmierung mit Java 9. Vorlesung WS 2001/2002.
Sichtbarkeit einschränken
Gliederung der Vorlesung
UML-Klassendiagramm: Klassen
Übungsblatt 4 Erläuterungen Wintersemester 15/16 DBIS.
 Präsentation transkript:

1 Kap. 1.4 E/R und oo-Modelle Kap Erweiterte E/R Modelle Er F KE AE Ar AF KF 11n11n 1nm1nm E F KE AE... KF AF... r AR

2 Standard Abbildungen 1 : [0:1] RelErF KE, AE,..., Ar, KF, AF,... mit Schlüssel KE [0:1] : [0:n] RelE KE, AE,... RelFr KF, AF,..., Ar, KE mit Fremdschlüssel KE m : n RelE KE, AE,... Relr KE, FE, AE,..., AF,... ReF KF, AF,...

3 Abweichung vom Standard: z.B. wenn Entitäten oder Relationsships häufig eigenständig benötigt werden, ChefhatSekretärin 1[0:1] 2 Relationen, um Projektionen zu vermeiden: Abwägung zwischen Projektionen und Joins Beispiel: Folie 2-10 aus Mitschang Verfeinerung... Folie 2-11 Mitschang

4 Weitere Verfeinerungen: Kardinalitätseinschränkungen mehr Semantik durch Integritätsbedingungen, z.B. Fremdschlüssel, Typisierung: Tel#, M#, Datum,... Prüfungsnote,... siehe Vorlesungen DBS I, DBS II, Datenmodellierung,...

5 Kap oo-Entwurf und Hierarchien Kap Konzeptuelle oo Modelle A. Abstraktion und Klassifikation Spezialisierung isa, io B. Mengen-Hierarchie (Verband) ss eo C.Komponenten-Hierarchie für Komplexe Systeme copo component ofpart of

6 Abstraktion und Klassifikation Klassifikations-Hierarchien: Personen in Firma Lebewesen (Lynnée) Dokumente in Bibliothek Signatur ACM - Klassifikation Geräte Produkte am Markt (GfK Beispiel) Fahrzeuge...

7 Klassifiktions-Verfahren Wie findet man Klassifikationen? Deutsche Gesellschaft für Klassifikation Lebensraum (Tiere Australiens) Verhalten Benutzung (Küchengeräte) Energieart Farbe (brown, white) Abstammung (Genom) gemeinsame Struktur (Attribute, Properties, Eigenschaften) Beispiel: Mitschang S. 2-23

8 Alternativ-Lösung: Hochschulangehörige AngestellteDoktoranden Studenten ADAS = HiWi DS ADS Semantische Gemeinsamkeit ist erkennbar an syntaktischer Gemeinsamkeit, das sind die Attribute Hinweis: durch Spezialisierung werden Attribute der Vorgänger geerbt.

9 Struktur-Verband: Hinweis: zu gegebenem Strukturverband gibt es viele Klassenhierarchien. Ref.: Der Strukturverband für eine Menge von Attributen A = {A1, A2,... AC} ist die Potenzmenge 2 A geordnet nach

10 {A,B,C} = T = top, enthält alle Attribute 2 A = Beispiel: A = {A, B, C} Strukturverband: {A}{B}{C} {A,B}{A,C}{B,C} Hinweis: Jede Instanz kann aufgrund ihrer definierten Attribute eindeutig einer Klasse zugeordnet werden

11 Klassen-Hierarchien Einige Klassen mit ihren Attributen werden durch die Anwendung vorgegeben, z.B. ABC, ACD, BC Was ist eine geeignete Klassenhierarchie? Def: Owner eines Attributs ist diejenige Klasse, in der ein Attribut neu definiert wird. Die anderen Attribute werden von Oberklassen geerbt.

12 C BCBCACAC ABDABC Hierarchie 1: Beispiel: AC ist Owner von Attribut A 5 Klassen 11 Attribute C mehrfach vererbt

13 CA ABCACD BCBC Hierarchie 2 6 Klassen 10 Attribute Keine mehrfache Vererbung

14 Hierarchie 3 8 Klassen 12 Attribute Keine mehrfache Vererbung Frage: weitere Beispiele von Hierarchien? BCAD BC ABC ACD

15 Problem: Durch Anwendung sei eine Menge K von Klassen vorgegeben, gefordert: K = {K1, K2,..., Km} Was ist eine gute Klassenhierarchie für K unter Verwendung der in den Ki vorkommenden Attributen? Normalformen, Qualitätsmaß?

16 Normalformen für Klassenhierarchien KNF1: Jedes Attribut hat genau 1 Owner (trivialer Algorithmus) KNF2: KNF1 plus minimale Anzahl von Klassen KNF3: KNF2 plus minimale Anzahl von Attributen KNF4: KNF3 plus minimale Höhe KNF5: KNF3 plus minimale gewichtete Pfadlängensumme zu den von der Anwendung geforderten Klassen

17 Hinweis zu KNF4: KNF1 plus minimale Höhe würde liefern: 7 Klassen 12 Attribute keine mehrfache Vererbung 12 Kanten ~ Joins Lösung entspricht isolierter Attributdefinition, Attribute als first class citizens? Kantenminimierung als zusätzliches Qualitätsmerkmal? A B CD ABCBCACD

18 Algorithmus für KNF2: Gegeben: Anwendungsklassen K = {K1, K2,..., Km} while |K| > 1 do Berechne paarweise Schnitte Vij = Ki Kj {die Vij sind die vererbenden Superklassen} V = {Vij > i,j = 1,2,...,m} B = K – V sind Knoten der untersten und dann jeweils nächsthöheren Hierarchieebene. Falls Ki B dann erbt Ki die Attribute von Vij K = V od

19 KNF2 Beispiel K = {ABC, BC, ACD} V = {BC, AC, C} K-V = {ABC, ACD} K = {BC, AC, C} V = {C} K-V = {AC, BC} K = {C} ACACBCBC ACDABC C

20 Nochmals Hochschul-Angehörige Attribute: Name, Besoldungsgruppe, Diss-Thema, Matrikel# N B D M Vollständiger Klassenverband: NBD AssistentHiwiGrad-Koll NBDM NBDNBMNDM AngestDoktStud NBNDNM N BD M HS-Ang BDBMDM BDM

21 Hierarchie für HS-Angehörige Da Attribut Name allen Personen gemeinsam ist, auf oberste Ebene hochziehen. Die privaten Attribute bei Owner möglichst weit unten definieren Übung: Ergänze Dokt und Stud durch Attribut ´Abiturnote´ und passe Hierarchie an. (Evolutionsproblem!) HS-Ang N Angest NB Dokt ND Stud NM NBDNDMNBM Dokt-Hiwi NBDM Dokt-Hiwi erbt mehrfach

22 KNF2 Algorithmus für HS-Angehörige K = {NBDM, NBD, NDM, NBM, NB, ND, NM} V = {NBD, NDM, NBM, NB, ND, NM, N} K-V = {NBDM} K = {NBD, NDM, NBM, NB, ND, NM, N} V = {NB, ND, NM, N} K-V = {NBD, NDM, NBM} K = {NB, ND, NM, N} V = {N} K-V = {NB, ND, NM} K = {N} liefert vorherige Hierarchie

23 Einbeziehung von Methoden Def.: K f = {F1, F2,..., Fn} sei die Menge der Attribute, die zur Ausführung der Methode f benötigt werden. Behandle K f genau wie eine der vorgegebenen Klassen für den Aufbau einer Klassenhierarchie. Analog: Owner von f Vererbung von f

24 Kap Logische Modelle für oo Hierarchien Modell V: vollständige Objekte Modell Z:zerlegte Objekte Modell U:universelles Modell Modell T:Tripel Modell Modell R:redundantes Modell Modell M:Mischung von Modellen

25 Modell V:genau 1 Relation pro vorgegebener Klasse, z. B. Dokt mit allen zugehörigen Attributen (private plus geerbte) plus OID relation Dokt (OID : integer, N : string, D : string) key is OID relation Hiwi (OID : integer, N : string, B : string, M : integer) key is OID

26 Speicherung einer Instanz bei speziellster Klasse, z.B. nur bei Hiwi, nicht bei Stud. Instanzen von C durch view ALLC define view ALLC as select * from C union select c from ALLC1 union... select c from ALLCk wobei c = Menge der Attribute von C define view ALLStud as select * from Stud union select OID, N, M from ALLHiwi union select OID, N, M from ALLGrad-Koll Hinweis: keine Duplikate in Projektion wegen OID, d.h. billige Projektionen. geschachtelte View-Definitionen, Problem für DBS-Optimierer? C C1Ck

27 Modell Z: Speicherung zerlegter Objekte, jedes private Attribut mit seiner Owner-Klasse plus OIDs. Genau 1 Relation pro Klasse in der Hierarchie Instanzen von C: define view ALLC as select C.OID, C.A,... ALLOC1. B, ALLOCn. D from C, ALLOC1,..., ALLOCn where C.OID = ALLOC1.OID and... C.OID = ALLOCn.OID OC1OCn C

28 Probleme: mehrfach vererbte Attribute auch mehrfach im Ergebnis viele Joins und geschachtelte Views Redundanz bei OIDs insert Instance führt zu vielen insert Tupel Übungen: vollständige view Definition für All Dokt-Hiwi? Transaktions-Code für insert Dokt-Hiwi

29 Automatische Konstruktion ohne Views 1.Finde die Menge der Owner Relationen der Attribute, z.B. von N, D, M#, X, aus den Systemtabellen. 2.Alle Owner-Rel. in from Teil 3.Alle gewünschten Attribute mit ihren Ownern im select Teil 4.Join über alle im Schritt 1 gefundenen Owner Rel. bzgl. OIDs 5.Weitere Attribut-Restriktionen im where-Teil

30 Modell U: Universelle Relation: Speichere alle Objekte in einer Relation U, die neben der OID alle in der Hierarchie vorkommenden Attribute enthält. Die für ein Objekt nicht vorkommenden Attribute werden mit einem null value (u. komprimiert) gespeichert. Die Objekte, die Attribute A, D, E haben, bekommt man mit: select A, D, E from U where A null and D null and E null

31 Query Bearbeitung table scan Verschneidung von Sekundärindexen und random Zugriff zu U Verschneidung von Bitmaps mehrdimensionale Indexe Hinweis: U ~ universellem Blatt in Hierarchie, das alle Attribute erbt Zwischenknoten der Hierarchie zur Index-Auswahl und Query-Generierung

32 Modell T: Speicherung als Relation T = (OID, Attribut, Value) tripel mit Schlüssel OID, Attribut Objekte mit Attributen A, D, E bekommt man über 3-fachen Self-Join select T1.A, T2.D, T3.E from T T1, T T2, T T3 where T1. Attribut =´A´ and T2.Attribut = ´D´ and T3.Attribut = ´E´ and T1.OID = T2.OID and T2.OID = T3.OID Frage: geschickte Berechnung dieser Query?

33 Frage: Konstruktion eines gesamten Objektes mit Name = ´Bayer´ ? select OID, Attribut, Value from T where OID in select OID from T where Attribut = ´Name´ and Value =´Bayer´ Siehe auch Mitschang S. 6-8 bis 6-11

34 Modell R: redundante Speicherung in jeder Klasse mit allen privaten und geerbten Attributen, z.B. Person wird als - Student mit allen Attributen gespeichert - als Hiwi nochmal mit allen Attributen einschl. der studentischen gespeichert. Anfragen: werden besonders einfach, da alle benötigte Info in der Relation, die zu einer Klasse gehört, enthalten ist. Nachteil: - hohe Redundanz - aufwendige updates - klassischer Tradeoff zwischen Update-, Wartungs-, Abfragekosten

35 Mengen Hierarchien Sie entstehen durch Wertspezialisierung im Gegensatz zu Strukturspezialisierung ss : subset of eo : element of UM OM UM und OM haben dieselbe syntaktische Struktur. Def. von UM durch einschränkendes Prädikat p(x) UM:= {x|x OM p(x)} OM UM EM ss eo

36 Hinweis: Generalisierungshierarchien und Mengen-Hierarchien oft vermischt Längs isa Kanten Vererbung von Struktur, nach unten zusätzliche Attribute Längs ss Kanten Vererbung von werteinschränkenden Prädikaten, mit konjunktiver Verknüpfung, z.B. Beruf = `Dipl.Inform` Alter < 32

37 Aggregations-Hierarchien Zusammensetzung komplexer Systeme aus einfacheren Subsystemen, Komponenten Zusatzattribute für po, co: 4 Räder 6 Zylinder, etc. Auto Karosse MotorFahrgestell VorderachseHinterachseRäder ReifenFelge co po co po

38 Hinweise: rein formal ist Aggregationshierarchie eine Umkehrung der Generalisierungshierarchie wie modelliert man Sonderausstattungen? Kombination von Generalisierungs-, Mengen-, und Aggregations-Hierarchien logische Modelle V, Z, U, T, R, M? Algorithmen, z.B. Stücklistengenerierung Integritätsbedingungen Kombination mit Prozessen, z.B. Montage-Reihenfolge