Grundlagen des Relationenmodells

Slides:



Advertisements
Ähnliche Präsentationen
Rückblick Abbildung E/R-Modell auf Relationales Modell (Tabellenmodell) ENTITY-TYPES RELATIONSHIP-TYPES (1:N / N:M / 1:1) Generalisierungshierarchie.
Advertisements

Datenbankdesign mit ACCESS.
Prof. Dr. T. Kudraß1 Logischer DB-Entwurf. Prof. Dr. T. Kudraß2 Entwurf eines relationalen DB-Schemas Ziel: –Regeln für die Umsetzung eines ER-Modells.
Relationaler Datenbankentwurf (II)
spezielle Nutzersichten formale Ebene (deskriptive Regeln)
Entity-Relationship-Ansatz
Bauinformatik II Softwareanwendungen 1
Ein Entity Relationship Diagramm zur ADB/NDB
Kapitel 3: Das Relationenmodell
Recap - Kapitel 3 « Das Relationenmodell »
Objektorientierter Entwurf (OOD) Übersicht
Das Relationen-Modell
Relationaler Datenbankentwurf (I)
Das Relationenmodell 1.
Prof. Dr. T. Kudraß1 Das Relationen-Modell. Prof. Dr. T. Kudraß2 Einführung Geht auf klassische Arbeit von Codd zurück (1970) Meistgenutztes Datenmodell.
Prof. Dr. T. Kudraß1 Relationen-Algebra. Prof. Dr. T. Kudraß2 Relationale Anfragesprachen Query Language (QL): Manipulation und Retrieval von Daten einer.
SQL 2 Order by null Aggregatfunktionen group by Join subselect.
ERM – Modellierung Teil 2
Kapitel 5: Relationenmodell und algebraorientierte Anfragesprachen
Relationentheorie AIFB SS Wir setzen: A 1 A 2 = B, A 1 = AB, A 2 = BC, mit A B= A C = B C = Damit ist: U = ABC Test auf Verlustfreiheit (Verbundtreue)
1 Polymorphe Operatoren Zunächst: Beschränkung auf Operatoren zum Abfragen der in Relationen enthaltenen Information. Forderung nach mathematischer Exaktheit.
Abbildungsverfahren (1)
1 Gruppierung (1) Motivation: Bisher existierte nur die gesamte Relation als eine einzige Gruppe. Interessanter ist es, Aggregierungen über Teilmengen.
7.3 Hinweise für den Aufbau von ER-Schemata (1|7)
So, ein paar Fragen.. Wo sind mehr Bälle? Wo sind mehr Steine?
Die Grundterminologie
Schlüssel von Beziehung(styp)en (1|5)
... Unternehmens- leitung
Access 2000 Willkommen im Access-Kurs Oliver Mochmann.
Normalisierung Referat zur Veranstaltung: Datenbanktechnologie, mit praktischen Übungen in eXist und XQuery Datum: 18. April 2011 (3.Sitzung) Dozent: Daniel.
Datenmodellierung Sammeln von Informationen
WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #3 Das relationale Modell (Teil 2)
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #7 SQL (Teil 2)
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #3 ER Modellierung.
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #5 Relationale Anfragesprachen.
WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #3 Das relationale Modell (Teil 2)
WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R Vorlesung #5 SQL (Teil 2)
Die Prozentrechnung Beispiel Beispiel: Vorgangsweise:
Datenbanksysteme für hörer anderer Fachrichtungen
7.3.1 Ein Modellierungsbeispiel (1|9)
Relationale Algebra Vortrag am © 2007 Daniel Birkholz.
WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #5 SQL (Teil 2)
1 Gruppierung, Aggregierung und Sortierung (2) Abarbeitungsmodell bei Gruppierung: Werte from- und where-Klauseln aus wie bisher (Bildung von Kreuzprodukt.
Ihr Trainer: Gerold Hämmerle
Das relationale Modell
verstehen planen bearbeiten
Normalisierungsprozess
Abbildung von Generalisierungen (1) U U d (0, ) FlussMeer Gewässer LiegtAn See U Stadt (0, ) StadtNameBegrenzungGewässerNameMaxTiefe BegrenzungVerlauf.
SQL - Structured Query Language AIFB SS (1/9) Join-Operationen in SQL-92(1/9) Syntax einer Join-Operation: join-op := CROSS JOIN | [NATURAL]
Datenbanksysteme II Vorlesung WS 2006 / 2007 Paul Manthey
Structured Query Language
Erste Einführung in SQL
1 Polymorphe Operatoren Zunächst: Beschränkung auf Operatoren zum Abfragen der in Relationen enthaltenen Information. Forderung nach mathematischer Exaktheit.
Relationentheorie  AIFB SS Schlüssel / Schlüsselattribute / Nichtschlüsselattribute (2|4) Algorithmus zur Bestimmung aller Schlüssel.
Wiederholung Der wichtigste Befehl zur Datenmanipulation lautet:
Rel-Modell Schema (3|8) Beispiel 8-12: Rel. Datenbank-Schema (beispielhaft) für eine rel. DB mit den Relationen angestellte1, projekt1.
Bauinformatik II Softwareanwendungen 1
Relationentheorie  AIFB SS Funktionale Abhängigkeiten – Definition und Eigenschaften U Attributmenge; A, B, …  U r: (U | F) Relation über U.
1 Differenzierte Verbindungsoperationen (1) Beobachtung: Einfach zu formulierende Verbindungen wie ein Natural Join sind nicht als solche dokumentiert.
Algebraische Optimierung (1)
1 Äußere Verbindung (Outer Join) (3) Beispiel: Der Right Natural(!) Outer Join zwischen Lagerhilfsmittel und LagerhilfsmittelArt kann aufzeigen, für welche.
8.4.3 Übertragung von Beziehungstypen (1|12)
SS 2014 – IBB4C Datenmanagement Do 17:00 – 18:30 R Vorlesung #3 ER Modellierung.
Rel-Modell Fremdschlüssel (1|3) Attribute: P-NR, ANG-NRin ang-pro1 P-LEITERin projekt1 ABT-NRin angestellte1 r 1 r 2... FS PS  P-NR.
ER-Modell Beziehungen und Beziehungstypen (1|5) Beziehung (relationship) (b): Zwei oder mehr Objekte können miteinander in Beziehung.
Semantische Integritätsbedingungen  AIFB SS Klassifikation semantischer IB (1/3) (1) Nach Art und Zahl der durch eine Integritätsbedingung umfassten.
1 1.Man beginne mit „leicht erkennbaren natürlichen Objekten“ (Personen und konkreten Gegenständen) und fasse diese zu Objekttypen zusammen. (etwa Substantive.
Übungsblatt 4 Erläuterungen Wintersemester 15/16 DBIS.
IS: Datenbanken, © Till Hänisch 2000 Relationenalgebra Die mathematische Grundlage von relationalen Datenbanken.
Übung Datenbanksysteme I Relationale Algebra
 Präsentation transkript:

Grundlagen des Relationenmodells Kapitel 4

Übersicht vom ER-Modell zum Relationenmodell Operatoren Optimierung Entities, Attribute, Beziehungen Generalisierung Operatoren Optimierung

Vom ER-Modell zum Relationenmodell Entities => Tabellen Attribute => Spalten der Tabelle Primärschlüssel bleibt gleich Relationships 1:1 => Fremdschlüssel als Spalte in einer der beiden Tabellen 1:n => Fremdschlüssel als Spalte in der zweiten Tabelle n:m => eigene Tabelle mit Fremdschlüsseln auf beide Relationen

Vom ER-Modell zum Relationenmodell CNR n Ober Chef Dorfbewohner Name 1 Unter Dorfbewohner = (CNR, Name, Chef)

Generalisierung Hausklassenmodell vertikale Partitionierung Jede Instanz ist genau einmal und vollständig in ihrer Hausklasse gespeichert vertikale Partitionierung Jede Instanz wird entsprechend der Klassenattribute in der Is_a-Hierarchie zerlegt und in Teilen in den zugehörigen Klassen gespeichert nur das ID-Attribut wird dupliziert.

Generalisierung Volle Redundanz Hierarchie-Relation Eine Instanz wird wiederholt in jeder Klasse, zu der sie gehört, gespeichert. Werte der Attribute, die sie geerbt hat + Werte der Attribute der Klasse Hierarchie-Relation Generalisierungshierarchie in einer einzigen Relation Attribut zur Typidentifikation (TT - type tag) Nullwerte für Attribute, die in der zugeh. Klasse nicht vorhanden sind

Selektion CNR Name Beruf Chef 001 Asterix Krieger 006 002 Obelix Hinkelsteinlieferant 003 Idefix Hund 004 Miraculix Druide 005 Troubadix Barde Majestix Häuptling Finde den Chef des Dorfes!

DUPLIKATE WERDEN ELIMINIERT! Projektion CNR Name Beruf Chef 001 Asterix Krieger 006 002 Obelix Hinkelsteinlieferant 003 Idefix Hund 004 Miraculix Druide 005 Troubadix Barde Majestix Häuptling DUPLIKATE WERDEN ELIMINIERT! Welche Berufe haben die Dorfbewohner?

Vereinigung, Differenz & Durchschnitt genau wie in der Mengenlehre

Division CNR Leibspeise 001 Wildschwein 002 003 Gammelfisch von Verleihnix 004 005 006 Welche Leibspeise haben alle Dorfbewohner gemeinsam? Leibspeise Wildschwein

Kreuzprodukt braucht man für unser Beispiel nicht und passt eh mal nicht auf die Folie A B C a1 b1 c2 c3 a2 b4 b5 A B a1 b1 a2 b4 b5 C c2 c3

Natural Join Ordne jedem Dorfbewohner seine Leibspeisen zu. CNR Name Beruf Chef Leibspeise 001 Asterix Krieger 006 Wildschwein 002 Obelix Hinkelsteinlieferant 003 Idefix Hund Gammelfisch von Verleihnix 004 Miraculix Druide 005 Troubadix Barde Majestix Häuptling

(Left/Right) Outer Join A verlustfrei. Notfalls Null-Werte. B verlustfrei. Beide Relationen verlustfrei.

Umbenennen von Relationen Wofür brauchen wir das? wenn wie eine Relation mit sich selbst joinen wollen A.CNR A.Name A.Beruf A.Chef B.CNR B.Name B.Beruf b.Chef 001 Asterix Krieger 006 Majestix Häuptling 002 Obelix Hinkelsteinlieferant 003 Idefix Hund 004 Miraculix Druide 005 Troubadix Barde

Algebraische Optimierung Führe Selektion so früh wie möglich aus! Führe Projektion (ohne Duplikateliminierung) frühzeitig aus! Verknüpfe Folgen von unären Operationen wie Selektion und Projektion! Fasse einfache Selektionen auf einer Relation zusammen!

Algebraische Optimierung Verknüpfe bestimmte Selektionen mit einem vorausgehenden Kartesischen Produkt zu einem Verbund! Berechne gemeinsame Teilbäume nur einmal! Bestimme Verbundreihenfolge so, dass die Anzahl und Größe der Zwischenobjekte minimiert wird! Verknüpfe bei Mengenoperationen immer zuerst die kleinsten Relationen!

…dann ein paar Beispiele an der Tafel… Fragen? …dann ein paar Beispiele an der Tafel…

Beispiel Welche Mitarbeiter arbeiten in ihrem Wohnort an einem Projekt? ABT ( ANR, BUDGET, A-ORT ) PERS ( PNR, NAME, BERUF, GEHALT, ALTER,W-ORT, ANR) PM ( PNR,JNR, DAUER, ANTEIL) PROJ ( JNR, BEZEICHNUNG, SUMME, P-ORT) Welche Mitarbeiter (PNR, Name) haben in allen Projekten gearbeitet? Welche Mitarbeiternamen gibt es mehrfach?

Algebraische Optimierung Annahmen Anzahl der Tupel in ABT:N/5 PERS:N PM:5*N (>M) PROJ:M Anzahl der Attributwerte von A-ORT:10 P-ORT:100 Verlustfreie Verbunde über PS/FS ABT ( ANR, BUDGET, A-ORT ) PERS ( PNR, NAME, BERUF, GEHALT, ALTER, ANR) PM ( PNR,JNR, DAUER, ANTEIL) PROJ ( JNR, BEZEICHNUNG, SUMME, P-ORT) ABT |X| PERS = N |X| = 5N |X| PROJ = 5N sigma1 *= 1/100 sigma2 *= 1/10 π Name und Beruf von Angestellten, deren Abteilung in KL ist und die in KL Projekte durchführen