Relationaler Datenbankentwurf (I)

Slides:



Advertisements
Ähnliche Präsentationen
ER-Modell: Objekte und Klassen
Advertisements

Datenmodellierung.
ER-Datenmodell und Abfragen in SQL
Zur Rolle der Sprache bei der Modellierung von Datenbanken
Kardinalität von binären Beziehungen (1)
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.
Das Entity-Relationship-Modell
Relationaler Datenbankentwurf (II)
spezielle Nutzersichten formale Ebene (deskriptive Regeln)
Datenmodellierung Externe Phase Informationsstruktur
Einsatz von SiSy in der Berufsausbildung
Entity-Relationship-Ansatz
Ein Entity Relationship Diagramm zur ADB/NDB
Das Entity-Relationship-Modell
Themenschwerpunkte Übung 3:
Datenbankentwurf mit Hilfe des ER-Modells entwickeln
Entity-Relationship (ER)-Modell
Datensicherheit in DBMS
IS: Datenbanken, © Till Hänisch 2000 CREATE TABLE Syntax: CREATE TABLE name ( coldef [, coldef] [, tableconstraints] ) coldef := name type [länge], [[NOT]NULL],
Das Relationen-Modell
Das Relationenmodell 1.
Das Entity-Relationship-Modell
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 DB-Tuning. Prof. Dr. T. Kudraß2 Tuning des konzeptuellen Schemas Das Design des konzeptuellen Schemas ist beeinflußt durch das Lastprofil.
Prof. Dr. T. Kudraß1 Relationenkalkül. Prof. Dr. T. Kudraß2 Relationenkalkül Zwei Ausprägungen: Tupelrelationenkalkül (TRK) und Domänenrelationenkalkül.
Prof. Dr. T. Kudraß1 Integrität in Datenbanken. Prof. Dr. T. Kudraß2 Unterschied Konsistenz - Integrität Konsistenz beschreibt die Korrektheit der DB-internen.
Prof. Dr. T. Kudraß1 Relationen-Algebra. Prof. Dr. T. Kudraß2 Relationale Anfragesprachen Query Language (QL): Manipulation und Retrieval von Daten einer.
Datenintegrität Referentielle Integrität create table
Relationenmodell (RM)
3.5.2 Fremdschlüssel/ Referentielle Integrität (6/9)
3.5.2 Fremdschlüssel/ Referentielle Integrität (1/9)
Beziehungen und Beziehungstypen (1)
Datenbankentwicklung IV-LK
Relationale Datenbanken III
Die Grundterminologie
O.Univ.-Prof. Dr. Dimitris Karagiannis Datenbanken administrieren mit phpMyAdmin Martin Marinschek
Schlüssel von Beziehung(styp)en (1|5)
Datenmodellierung Sammeln von Informationen
SS 2010 – IBB4C Datenmanagement Fr 15:15 – 16:45 R Vorlesung #2 Datenbankentwurf.
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
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
7.1.9 Kardinalität von Beziehungen (1|15)
Relationales Datenmodell und DDL
Relationale Datenbanken
Grundlagen des Relationenmodells
Relationentheorie  AIFB SS Schlüssel / Schlüsselattribute / Nichtschlüsselattribute (2|4) Algorithmus zur Bestimmung aller Schlüssel.
ER-Modell Attribute, Attributwerte (1|8) Attribut (a): Eigenschaft a = Name des Attributes E : Ein Entity-Typ E wird charakterisiert.
Rel-Modell Schema (3|8) Beispiel 8-12: Rel. Datenbank-Schema (beispielhaft) für eine rel. DB mit den Relationen angestellte1, projekt1.
Relationentheorie  AIFB SS Funktionale Abhängigkeiten – Definition und Eigenschaften U Attributmenge; A, B, …  U r: (U | F) Relation über U.
Integritätsbedingungen (Constraints)
Prof. K. Gremminger Folie 1 Vorlesung Datenbanksysteme SS 2002 Umsetzung von Zweier-Beziehungen u Zwingende Mitgliedschaft u Ist der Entitätstyp E 2 zwingendes.
1 Attribute, Attributwerte (1) Attribut (a): Eigenschaft eines Entity mit Attributname a Zu jedem Attribut a gehört ein Wertebereich (Domain) dom(a) Zum.
1 Referenzielle Konsistenz (1) Vorgehensweise: Klausel references mit nachfolgender Spezikation eines Attributs einer anderen Tabelle identifiziert ein.
8.4.3 Übertragung von Beziehungstypen (1|12)
Erweiterung bzgl. der Kardinalität. (1|9)
SS 2014 – IBB4B Datenmanagement Do 17:00 – 18:30 R Vorlesung #4 Überführung des ER-Modells in das relationale Modell.
Gerhard Röhner September 2012
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.
ER-Modell Beziehungen und Beziehungstypen (1|5) Beziehung (relationship) (b): Zwei oder mehr Objekte können miteinander in Beziehung.
SS 2015 – IBB4C Datenmanagement Fr 17:00 – 18:30 R Vorlesung #4 Überführung des ER-Modells in das relationale Modell.
Relationales Datenmodell
ER-Modell Gegeben E: Jedes Entity eines Typs ist eindeutig durch das zugeordnete Tupel beschrieben. (sonst wäre A nicht charakteristisch [genug]
1 Nullwerte Vorgehensweise: Nullwerte als mögliche Belegung eines Attributs können durch die Angabe von not null ausgeschlossen werden. Die Angabe von.
SQL Lutz KleinostendarpJOBELMANN-SCHULE Datendefinition Die Organisation einer Datenbank basiert auf einer Anzahl verschiedener Objekte. Diese können physikalischer.
Veranstaltung: Datenbanken I Dozent: Ioannis Papakostas Belegarbeit 6 Online-Bestellung von Büchern Stefan Rüschenberg (Matrikel-Nr.: ) Sebastian.
© \\//_ Datenbankentwurf. © \\//_ Gliederung 1.Das Entity-Relationship-ModellDas Entity-Relationship-Modell 2.Transformation ins relationale Modell (Tabellen)Transformation.
SQL Structured Query Language Enzio Thiem. INHALT CREATE TABLE Anweisung Gängige Datentypen Beispiel CREATE TABLE Beispiel CREATE TABLE - erweitert Beispiel.
SQL Basics Schulung –
 Präsentation transkript:

Relationaler Datenbankentwurf (I) Transformation Entity-Relationship-Modell  Relationenmodell 1

Abbildung vom ERM in Relationen ? Relation 1 Relation 2 Relation 3 Kriterien Informationserhaltung Minimierung der Redundanz Minimierung des Verknüpfungsaufwandes Natürlichkeit der Abbildung Keine Vermischung von Objekten Verständlichkeit

Zwei Entity-Mengen mit 1:n-Beziehung ABT gehört PERS Darstellungsmöglichkeiten im RM Verwendung von drei Relationen ABT (ANR, ANAME, ... ) PERS (PNR, PNAME, ... ) ABT-ZUGEH (ANR, PNR) Nur in Ausnahmefällen wird der 1:n-Beziehungstyp auf eine eigene Relation abgebildet, wenn er beschreibende Attribute besitzt. Minimierung der Redundanz Verwendung von zwei Relationen PERS (PNR, PNAME, ... , ... ANR) Standardabbildung des 1:n-Beziehungstyps mit Hilfe von Primär- und Fremdschlüssel

Eine Entity-Menge mit 1:1-Beziehung Ehefrau 1 PERS 1 Ehe Ehemann Darstellungsmöglichkeiten im RM Verwendung von zwei Relationen PERS (PNR, PNAME, ... ) EHE (MPNR, FPNR) Verwendung von einer Relation PERS (PNR, PNAME, ... , ... GÁTTE)

Eine Entity-Menge mit m:n-Beziehung oberes m TEIL n Struktur A unteres 1 5 B C Darstellungsmöglichkeiten im RM TEIL (TNR, TBEZ, ... STRUKTUR (OTNR, UTNR, ANZAHL) 8 2 2 4 4 2 1 D STRUKTUR OTNR UTNR ANZAHL A B 1 C 5 8 4 2 D 1111

Drei Entity-Mengen mit (m:n:p)-Beziehung LIEF p m n TEIL Lieferung PROJEKT Darstellungsmöglichkeiten im RM LIEF (LNR, LNAME,L-ORT ... ) PROJEKT (PRONR,PRONAME, P-ORT ... ) TEIL (TNR, TBEZ, GEWICHT ... ) LIEFERUNG (LNR, PRONR, TNR, ANZAHL, DATUM)

Abbildung von ISA-Hierarchien name pnr gehalt Angestellter stundensatz stundenzahl ISA vertrags_nr Intern Extern 3 Relationen: Angestellter, Intern, Extern Intern: Jeder Angestellte ist in ANGESTELLTER. Für interne Angestellte sind zusätzliche Infos in INTERN (stundensatz, stundenzahl,pnr), Löschabhängigkeit zum referenzierten Tupel in ANGESTELLTER Anfragen auf allen Angestellten einfach, für zusätzliche Infos Join erforderlich Alternative: 2 Relationen Intern und Extern (“Flachklopfen“) INTERN (pnr, name, gehalt, stundensatz, stundenzahl) EXTERN (pnr, name, gehalt, vertrags_nr) Jeder Beschäftigte gehört in eine der beiden Relationen

Transformation des ER-Modells auf ein Datenbankschema

Abbildungsregeln Beziehungen - Relationen K1 E1 arbeitet E2 K2 Typ 1: nur “E0“ (1,1) (1,1) E0 (K1, K2, A) oder E0 (K2, K1, A) Typ 2: bleibt E1 + E2 (0,1) (1,1) (0,1) (0,1) (1,*) (1,1) (0,*) (1,1) (1,*) (0,1) (0,*) (0,1) E1 (K1, ...) E2 (K2, ..., A, K1) Typ 3: neues E3 (1,*) (1,*) (1,*) (0,*) (0,*) (0,*) E3 (K1, K2, A)

Abbildung von Beziehungen Darstellung einer 1:n-Beziehung (0,*) (0,1) ABT arbeitet PERS ABT (ABTNR ..., .... PRIMARY KEY(ABTNR)) PERS (PNR ..., ANR ..., PRIMARY KEY(PNR) FOREIGN KEY (ANR) REFERENCE ABT) Jeder Angestellte PERS muß in einer Abteilung beschäftigt sein (1,1)  PERS.ANR ... NOT NULL Ein (1,*)-Constraint kann in SQL2 nicht spezifiziert werden.

Abbildung von Beziehungen (2) Darstellung mehrerer 1:n-Beziehungen (0,*) (1,1) hat Büro von ABT PERS (0,*) (0,1) arbeitet ABT (ABTNR ..., .... PRIMARY KEY(ABTNR)) PERS (PNR ..., ANRB ... NOT NULL, ANRA ..., PRIMARY KEY(PNR) FOREIGN KEY (ANRA) REFERENCES ABT), FOREIGN KEY (ANRB) REFERENCES ABT) Für jede FS-Beziehung benötigt man ein separates FS-Attribut Mehrere FS-Attribute können auf dasselbe PS/SK-Attribut verweisen

Abbildung von Beziehungen (3) Darstellung einer 1:1-Beziehung (0,1) (0,1) ABT hat Mgr MGR (0,1) (0,1) leitet ABT (ANR ..., MNR .... UNIQUE ... PRIMARY KEY(ANR) FOREIGN KEY(MNR) REFERENCES MGR) MGR (MNR ..., ANR ... UNIQUE, ... PRIMARY KEY(MNR) FOREIGN KEY (ANR) REFERENCES ABT), Es sind symmetrische Lösungen möglich. Zusätzlich: Jede Abteilung hat einen Manager  ABT.MNR ... UNIQUE NOT NULL Jeder Manager leitet eine Abteilung  MGR.ANR ... UNIQUE NOT NULL

Abbildung von Beziehungen (5) Darstellung einer m:n-Beziehung (0,*) (0,*) PERS bearbeitet PROJ PERS (PNR ..., ... PRIMARY KEY(PNR)) PROJ (JNR ..., ... PRIMARY KEY(JNR)) MITARBEIT (PNR ..., JNR ..., PRIMARY KEY(PNR,JNR) FOREIGN KEY (PNR) REFERENCES PERS) FOREIGN KEY (JNR) REFERENCES PROJ) Diese Standardlösung erzwingt eine Existenzabhängigkeit von MITARBEIT. Soll dies vermieden werden, dürfen die Fremdschlüssel von MITARBEIT nicht als Teil des Primärschlüssels spezifiziert werden.

Abbildung von Beziehungen (6) Darstellung einer 1:n-Beziehung als Selbstreferenz (0,*) PERS Hat_Mgr (0,1) PERS (PNR ..., MNR ..., ... PRIMARY KEY(PNR) FOREIGN KEY (MNR) REFERENCES PERS(PNR)) Erlaubt die Darstellung der Personalhierarchie eines Unternehmens. Ist (0,1), weil die obersten Manager einer Hierarchie keinen Manager haben. MNR ... NOT NULL nur realisierbar, wenn die obersten Manager als ihre eigenen Manager realisiert werden. Verursacht jedoch andere Probleme (z.B. Konsistenzprüfung)

Rückblick: Schwache Entities Schwaches Entity (weak entity) kann eindeutig identifiziert werden nur über den Primärschlüssel einer anderen (Owner) Entity. Owner Entity und Weak Entity müssen in einer 1:n-Beziehung stehen (ein Owner, mehrere Weak Entities) name pnr name alter gehalt Angestellter hat Kinder (0,*) (1,1) Jedes Entity aus Kinder muß an der Beziehung teilnehmen (total Participation Constraint)

Übersetzung schwacher Entity-Menge Schwache Entity-Menge und identifizierende Beziehung werden in eine einzige Tabelle übersetzt Wenn das Owner-Entity (z.B. der Angestellte) gelöscht wird, müssen auch alle davon abhängigen schwachen Entities gelöscht werden (Existenzabhängigkeit). CREATE TABLE Abhängig ( name CHAR(20), alter INTEGER, pnr CHAR(11) NOT NULL, PRIMARY KEY (name, pnr), FOREIGN KEY (pnr) REFERENCES Angestellter, ON DELETE CASCADE) 11