Grundlagen des relationalen Datenmodells

Slides:



Advertisements
Ähnliche Präsentationen
Deduktive Datenbanken
Advertisements

Grundlagen des relationalen Modells
Deduktive Datenbanken
XML-Datenmodellierung und Web-Services
Datenbankdesign mit ACCESS.
Das Relationale Modell
Kapitel 3: Logische Datenmodelle
Relationaler Datenbankentwurf (II)
spezielle Nutzersichten formale Ebene (deskriptive Regeln)
Datenmodellierung Externe Phase Informationsstruktur
XML: Extensible Markup Language
Relationale und Objekt-relationale Datenbanken
SQL standardisierte Datendefinitions (DDL)- Datenmanipulations (DML)-
Systemüberblick Beispiele: Microsoft Access Oracle Ingres Informix
Datenbanksysteme Schwerpunkte: Datenbanksystem (DBS): Datenbank (DB):
Franziska Schmidt Sarah Ahlheit
Kapitel 5 SQL DDL + DML.
Kapitel 2 SQL Anfragen.
Kapitel 5 SQL DDL + DML.
Kapitel 2 SQL Anfragen.
Themenschwerpunkte Übung 3:
Datenbankdesign und Normalisierung
Datenbankentwurf mit Hilfe des ER-Modells entwickeln
Das Relationen-Modell
Relationaler Datenbankentwurf (I)
Kapitel 4 SQL: Grundlagen.
Kapitel 2: Konzeptuelle Modellierung
1 Kapitel 8: Datenintegrität. 2 Datenintegrität Statische Bedingung (jeder Zustand) Dynamische Bedingung (bei Zustandsänderung) Bisher: Definition eines.
Integritätsbedingungen
Die Grundterminologie
Historische Entwicklung relationaler DBMS
Standardisierte -Datendefinitions (DDL)- -Datenmanipulations (DML)- -Anfrage (Query)-Sprache derzeit aktueller Standard ist SQL 99 und SQL3 (2003) objektrelationale.
SS 2013 – IBB4B Datenmanagement Fr 17:00 – 18:30 R Vorlesung #5 Relationale Entwurfstheorie.
Standardisierte -Datendefinitions (DDL)- -Datenmanipulations (DML)- -Anfrage (Query)-Sprache derzeit aktueller Standard ist SQL 99 und SQL3 (2003) objektrelationale.
Historische Entwicklung relationaler DBMS
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #4 SQL (Teil 1)
SS 2011 – IBB4C Datenmanagement Fr 15:15 – 16:45 R Vorlesung #5 Relationale Entwurfstheorie.
Vorlesung #2 Datenbankentwurf
SS 2009 – IBB4C Datenmanagement Fr 15:15 – 16:45 R Vorlesung #2 Datenbankentwurf.
SS 2010 – IBB4C Datenmanagement Fr 15:15 – 16:45 R Vorlesung #2 Datenbankentwurf.
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.
Vorlesung #4 SQL (Teil 1).
WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #2 Das relationale Modell (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 #2 Das relationale Modell (Teil 1)
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #7 SQL (Teil 4)
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #2 Das relationale Modell (Teil 1)
WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #4 SQL (Teil 1)
Datenbanksysteme für hörer anderer Fachrichtungen
Relationales Datenmodell und DDL
Relationale Datenbanken I
Grundlagen des Relationenmodells
1 Polymorphe Konsistenzbedingungen (1) Polymorphe Konsistenzbedingungen legen fest, welche Arten von Zustandsbeschränkungen nach einer Konkretisierung.
SS 2014 – IBB4C Datenmanagement Do 17:00 – 18:30 R Vorlesung #2 Datenbankentwurf.
Vorlesung #2 Das relationale Modell (Teil 1)
Abbildung UML-Schema  Rel. Schema (1)
SS 2014 – IBB4C Datenmanagement Do 17:00 – 18:30 R Vorlesung #3 ER Modellierung.
SS 2014 – IBB4B Datenmanagement Do 17:00 – 18:30 R Vorlesung #4 Überführung des ER-Modells in das relationale Modell.
1 Relationale Datenbasisschemata (1) Substitution der Variablen zu Tupel- und Relationstypen. Für das Beispiel: Typ tupel EineArtikelArt ( ANr:Zeichen(8),
SS 2015 – IBB4C Datenmanagement Fr 17:00 – 18:30 R Vorlesung #2 Datenbankentwurf.
WS 2014/15 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #9 SQL Zusammenfassung.
SS 2015 – IBB4C Datenmanagement Fr 17:00 – 18:30 R Vorlesung #4 Überführung des ER-Modells in das relationale Modell.
Übungsblatt 4 Erläuterungen Wintersemester 15/16 DBIS.
Technische Universität München Übung zur Einführung in die Informatik für Hörer anderer Fachrichtungen im Sommersemester 2010 Sitzung 7: Grundlagen des.
Vorlesung #2 ER –Modellierung (Datenbankentwurf)
Datenbanken Das Relationale Datenmodell
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
Vorlesung #2 Datenbankentwurf
 Präsentation transkript:

Grundlagen des relationalen Datenmodells Kapitel 4 Grundlagen des relationalen Datenmodells

Lernziele  Grundbegriffe des Relationenmodells Relationale Invarianten, insbesondere Vorkehrungen zur Wahrung der referentiellen Integrität Abbildung von UML-Diagrammen in Relationenschema Datenbanken, SS 12 Kapitel 4: Grundlagen des Relationalen Modells

Seien D1, D2, ..., Dn Domänen (~ Wertebereiche oder Typen) Basisdefinitionen Seien D1, D2, ..., Dn Domänen (~ Wertebereiche oder Typen) Relation: R  D1 x ... x Dn Beispiel: Telefonbuch  string x string x integer Tupel: t  R Beispiel: t = („Mickey Mouse“, „Main Street“, 4711) Schema: legt die Struktur der gespeicherten Daten fest Beispiel: Telefonbuch: {[Name: string, Adresse: string, Telefon#:integer]} Darstellungsmöglichkeit für R: n-spaltige Tabelle (Grad der Relation: n) Datenbanken, SS 12 Kapitel 4: Grundlagen des Relationalen Modells

Telefonbuch Name Straße Telefon# Mickey Mouse Main Street 4711 Minnie Mouse Broadway 94725 Donald Duck 95672 Telefonbuch: {[Name: string, Adresse: string, Telefon#:integer]} Ausprägung: der aktuelle Zustand der Datenbasis Kardinalität: Anzahl der Sätze (Tupel) in der Datenbasis Schlüssel: minimale Menge von Attributen, deren Werte ein Tupel eindeutig identifizieren Primärschlüssel: wird unterstrichen Einer der Schlüsselkandidaten wird als Primärschlüssel ausgewählt Hat eine besondere Bedeutung bei der Referenzierung von Tupeln Datenbanken, SS 12 Kapitel 4: Grundlagen des Relationalen Modells

Telefonbuch Name Straße Telefon# RM: Grundregeln Jede Zeile (Tupel) ist eindeutig und beschreibt ein Objekt (Entity) der Miniwelt Die Ordnung der Zeilen ist ohne Bedeutung Die Ordnung der Spalten ist ohne Bedeutung, da sie eindeutigen Namen (Attributnamen) tragen Jeder Datenwert innerhalb einer Relation ist ein atomares Datenelement Alle für Benutzer relevanten Informationen sind ausschließlich durch Datenwerte ausgedrückt Telefonbuch Name Straße Telefon# Mickey Mouse Main Street 4711 Minnie Mouse Broadway 94725 Datenbanken, SS 12 Kapitel 4: Grundlagen des Relationalen Modells

Was passiert wenn jemand mehr als eine Telefonnummer hat? Telefonbuch Name Straße Telefon# Mickey Mouse Main Street 4711 Minnie Mouse Broadway 94725 Donald Duck 95672 Was passiert wenn jemand mehr als eine Telefonnummer hat? (1 min; jeder für sich mit Zettel und Stift) Datenbanken, SS 12 Kapitel 4: Grundlagen des Relationalen Modells

Was passiert wenn unter einer Telefonnummer mehr als eine Person lebt? Telefonbuch Name Straße Telefon# Mickey Mouse Main Street 4711 Minnie Mouse Broadway 94725 Donald Duck 95672 Was passiert wenn unter einer Telefonnummer mehr als eine Person lebt? (1 min; jeder für sich mit Zettel und Stift) Datenbanken, SS 12 Kapitel 4: Grundlagen des Relationalen Modells

Telefonbuch ->Personal.PersNr Telefon# Personal Name Straße PersNr RM: Fremdschlüssel Der Fremdschlüssel zeigt auf den Primärschlüssel einer anderen Relation. Telefonbuch ->Personal.PersNr Telefon# 00025 4711 00028 94725 Personal Name Straße PersNr Mickey Mouse Main Street 00025 Minnie Mouse Broadway 00028 Donald Duck 00030 Datenbanken, SS 12 Kapitel 4: Grundlagen des Relationalen Modells

Wichtig -> Nur Referenzen auf existierende Schlüssel Abbildung UML - RM Klasse 1 Assoziation Klasse 2 Kriterien Informationserhaltung Minimierung der Redundanz Minimierung des Verknüpfungsaufwandes aber auch: Natürlichkeit der Abbildung keine Vermischung von Objekten Verständlichkeit Allgemeine Regeln: Jede Klasse muss als eigenständige Relation (Tabelle) mit einem eindeutigen Primärschlüssel definiert werden. Assoziationen können als eigene Relationen definiert werden, wobei die Primärschlüssel der zugehörigen Klassen als Fremdschlüssel zu verwenden sind. Wichtig -> Nur Referenzen auf existierende Schlüssel a..b c..d Relation 1 Relation 2 Datenbanken, SS 12 Kapitel 4: Grundlagen des Relationalen Modells

Verwendung von drei Relationen Assoziationen N:1 Professoren lesen Vorlesungen Verwendung von drei Relationen Professoren ( PersNr, Name, Rang, Raum ) Vorlesungen ( VorlNr, Titel, SWS ) lesen ( VorlNr, ->Professoren.PersNr ) Besser: Verwendung von zwei Relationen Vorlesungen ( VorlNr, Titel, SWS, gelesenVon -> Professoren.PersNr ) Regel: Bei n:1 Assoziationen können Relationen mit gleichem Schlüssel zusammengefasst werden - aber nur diese und keine anderen! 1 * PersNr Name Rang Raum VorlNr Titel SWS Datenbanken, SS 12 Kapitel 4: Grundlagen des Relationalen Modells

Ausprägung von Professoren und Vorlesungen VorlNr Titel SWS Gelesen Von 5001 Grundzüge 4 2137 5041 Ethik 2125 5043 Erkenntnistheorie 3 2126 5049 Mäeutik 2 4052 Logik 5052 Wissenschaftstheorie 5216 Bioethik 5259 Der Wiener Kreis 2133 5022 Glaube und Wissen 2134 4630 Die 3 Kritiken Professoren PersNr Name Rang Raum 2125 Sokrates C4 226 2126 Russel 232 2127 Kopernikus C3 310 2133 Popper 52 2134 Augustinus 309 2136 Curie 36 2137 Kant 7 Professoren lesen Vorlesungen 1 * Datenbanken, SS 12 Kapitel 4: Grundlagen des Relationalen Modells

Vorsicht: So geht es NICHT Vorlesungen VorlNr Titel SWS 5001 Grundzüge 4 5041 Ethik 5043 Erkenntnistheorie 3 5049 Mäeutik 2 4052 Logik 5052 Wissenschaftstheorie 5216 Bioethik 5259 Der Wiener Kreis 5022 Glaube und Wissen 4630 Die 3 Kritiken Professoren PersNr Name Rang Raum liest 2125 Sokrates C4 226 5041 5049 4052 ... 2134 Augustinus C3 309 5022 2136 Curie 36 ?? Professoren lesen Vorlesungen 1 * Datenbanken, SS 12 Kapitel 4: Grundlagen des Relationalen Modells

Vorsicht: So geht es NICHT: Folgen  Anomalien Vorlesungen VorlNr Titel SWS 5001 Grundzüge 4 5041 Ethik 5043 Erkenntnistheorie 3 5049 Mäeutik 2 4052 Logik 5052 Wissenschaftstheorie 5216 Bioethik 5259 Der Wiener Kreis 5022 Glaube und Wissen 4630 Die 3 Kritiken Professoren PersNr Name Rang Raum liest 2125 Sokrates C4 226 5041 5049 4052 ... 2134 Augustinus C3 309 5022 2136 Curie 36 ?? Update-Anomalie: Was passiert wenn Sokrates umzieht Lösch-Anomalie: Was passiert wenn „Glaube und Wissen“ wegfällt Einfügeanomalie: Curie ist neu und liest noch keine Vorlesungen Datenbanken, SS 12 Kapitel 4: Grundlagen des Relationalen Modells

Verwendung von drei Relationen N:M Assoziationen Verwendung von drei Relationen Studenten ( MatrNr, Name, Semester ) Vorlesungen ( VorlNr, Titel, SWS ) hören ( ->Vorlesungen.VorlNr, ->Studenten.MatrNr ) Regel: Eine n:m-Assoziation muss durch eine eigene Relation dargestellt werden. Die Primärschlüssel der zugehörigen Klassen treten als Fremdschlüssel auf. Studenten hören Vorlesungen * * MatrNr Name Semester VorlNr Titel SWS Datenbanken, SS 12 Kapitel 4: Grundlagen des Relationalen Modells

Ausprägung der Beziehung hören MatrNr VorlNr 26120 5001 27550 4052 28106 5041 5052 5216 Studenten MatrNr ... 26120 27550 Vorlesungen VorlNr ... 5001 4052 Studenten hören Vorlesungen * * MatrNr Name Semester VorlNr Titel SWS Datenbanken, SS 12 Kapitel 4: Grundlagen des Relationalen Modells

Eine Klasse mit N:M Assoziation * Darstellungsmöglichkeit: Vorlesung (VorlNr, Titel, SWS) Voraussetzungen (NeueVorlNr->Vorlesung.VorlNr, AlteVorlNr->Vorlesung.VorlNr, obligatorisch) Regel: Die n:m-Assoziation muss auch hier durch eine eigene Relation dargestellt werden. Primärschlüssel der zugehörigen Klasse soll auch als Fremdschlüssel auftreten. Voraussetzungen Vorlesung * obligatorisch VorlNr Titel SWS Datenbanken, SS 12 Kapitel 4: Grundlagen des Relationalen Modells

RM sieht keine Unterstützung der Abstraktionskonzepte vor Generalisierung RM sieht keine Unterstützung der Abstraktionskonzepte vor keine Maßnahmen zur Vererbung (von Struktur, Integritätsbedingungen, Operationen) „Simulation“ der Generalisierung und Aggregation eingeschränkt möglich Generalisierungsbeispiel: Uni-Angehörige ID Name Angestellte TV-L Gruppe Beamte Techniker Wiss. Mitarbeiter Erfahrung Diplom Spezialgebiet Datenbanken, SS 12 Kapitel 4: Grundlagen des Relationalen Modells

Lösungsmöglichkeit 1: vertikale Partitionierung Generalisierung in RA Lösungsmöglichkeit 1: vertikale Partitionierung jede Instanz wird entsprechend der Klassenattribute in der IS-A-Hierarchie zerlegt und in Teilen in den zugehörigen Klassen (Relationen) gespeichert. nur das ID-Attribut wird dupliziert Uni-Angehörige (ID, Name) Angestellte (ID, TV_L_Gruppe) Techniker (ID, Erfahrung) WissMA (ID, Diplom, Spezialgebiet) Beamte (ID, … ) Eigenschaften geringfügig erhöhte Speicherungskosten, aber hohe Aufsuch- und Aktualisierungkosten Integritätsbed.: TECHNIKER.ID subsetof ANGESTELLTE.ID, usw. Instanzenzugriff erfordert implizite oder explizite Verbundoperationen :: Problembeispiel: Finde alle Spezialgebiete Datenbanken, SS 12 Kapitel 4: Grundlagen des Relationalen Modells

Generalisierung in RA (1)  Lösungsmöglichkeit 2: horizontale Partitionierung jede Instanz ist genau einmal und vollständig in ihrer „Hausklasse“ gespeichert. keinerlei Redundanz Uni-Angehörige (ID, Name) Angestellte (ID, Name, BAT) Techniker (ID, Erfahrung, Name, BAT) WissMA (ID, Diplom, Spezialgebiet, Name, BAT) Beamte (ID, … ) Eigenschaften niedrige Speicherungskosten und keine Änderungsanomalien Eindeutigkeit von ID zwischen Relationen aufwendiger zu überwachen Retrieval kann rekursives Suchen in Unterklassen erfordern. :: Problembeispiel: Finde alle ANGESTELLTEN Datenbanken, SS 12 Kapitel 4: Grundlagen des Relationalen Modells

Generalisierung in RA (3)  Lösungsmöglichkeit 3: volle Redundanz eine Instanz wird wiederholt in jeder Klasse, zu der sie gehört, gespeichert. sie besitzt dabei die Werte der Attribute, die sie geerbt hat, zusammen mit den Werten der Attribute der Klasse Uni-Angehörige (ID, Name) Angestellte (ID, Name, BAT) Techniker (ID, Erfahrung, Name, BAT) WissMA (ID, Diplom, Spezialgebiet, Name, BAT) Beamte (ID, … ) Eigenschaften höherer Speicherplatzbedarf und Auftreten von Änderungsanomalien. einfaches Retrieval, da nur die Zielklasse (z. B. ANGESTELLTE) aufgesucht werden muss Datenbanken, SS 12 Kapitel 4: Grundlagen des Relationalen Modells

Zusammenfassung Das Relationenmodell besteht aus Tabellen. Der Primärschlüssel bestimmt den Inhalt des Tupels. Daher muss er in der Relation einzigartig sein. (Entity-Integrität) Ein Fremdschlüssel muss auf einen existierenden Schlüssel zeigen oder null sein. (Referentielle Integrität) UML-Klassendiagramme können in das Relationenmodell überführt werden. Etwas Probleme machen Assoziationen und Generalisierung. Relationenname Attribut1 Attribut2 Attribut3 Daten … falsch ID 01 auch falsch FK -> ID 02 Datenbanken, SS 12 Kapitel 4: Grundlagen des Relationalen Modells