Kapitel 6: Das E/R-Modell

Ähnliche Dokumente
Grundlagen des relationalen l Modells

Rückblick: Entity-Relationship-Modell

Vorlesung Datenbank-Entwurf Klausur

Übungen Teil 1: ER-Modelle. Dozent: Stefan Maihack Dipl. Ing. (FH)

Rückblick: Datenbankentwurf

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.

Datenbanken: ER-Modell

Theorie zur Übung 8 Datenbanken

Stufen der Entwicklung einer Datenbank. ER-Modell. Datenbank-Entwurf (1) Datenbank-Entwurf (2) 1. Datenbank - Entwurf ( ER - Diagramm)

Kapitel 3: Datenbanksysteme

Kap 4: Abbildung des E/R Modells auf das relationale Modell. Entity steht in Bez. Anzahl der a A r b B

ER-Modell. Entity-Relationship-Model

Inhalt. 2.1 Datenbankentwurf. 2.2 Relationales Modell. 2.3 Relationale Entwurfstheorie. 2.4 Relationale Algebra. 2.5 Structured Query Language (SQL)

Datenmodellierung und Datenbanksysteme. Vorlesung. Informationswissenschaft und Informationssysteme. Hans Uszkoreit & Brigi1e Jörg

Kapitel DB:III (Fortsetzung)

Ein Schlüssel ist eine Menge von Attributen (also eines oder mehrere), die eine Datenzeile (Tupel) einer Tabelle eindeutig identifiziert

Fundamentals of Software Engineering 1

Datenbankmodelle 1. Das Entity-Relationship-Modell. Prof. Dr. Bernhard Schiefer 2-1

Einteilung von Datenbanken

Kommunikation und Datenhaltung

Semantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung

Teil 7: Einführung in den logischen Entwurf

Datenbanken. Datenintegrität + Datenschutz. Tobias Galliat. Sommersemester 2012

Konzeptueller Entwurf

Software-Engineering

3. Das Relationale Datenmodell

7. Datenbankdefinitionssprachen

2. Datenmodellierung mit ERM. Motivation für Datenmodellierung. Begriffsklärung. Kardinalität/Komplexität von Beziehungstypen

konzeptueller Entwurf mittels E/R-Modell einfache Funktionalitäten n-stellige Relationships (n>2) (siehe nächste zwei Folien) schwache Entities

10 Datenbanksysteme Datenbanken und Datenbanksysteme

Aufgabe 1) Übung 4: 1.2

Inhaltsverzeichnis. 1. Fragestellung

Kapitel 3: Datenbanksysteme

9. Einführung in Datenbanken

Aufgabe 1: Strukturmodellierung mittels Klassendiagramm Wiederholen Sie das Kapitel aus der Vorlesung, das sich mit dem Klassendiagramm beschäftigt.

4. Datenbanksprache SQL

Einführung in die Programmierung

Inhaltsverzeichnis Vorwort zur vierten Auflage Vorwort zur dritten Auflage Vorwort zur zweiten Auflage Vorwort zur ersten Auflage Hinweise zur CD

Datenbanken. Sommersemester 2010 Probeklausur

Datenbanken: Relationales Datenbankmodell RDM

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #5. SQL (Teil 3)

Informationsmodellierung

Objektrelationale Datenbanken

Datenbanksysteme I, SS 2004

Kapitel DB:III. III. Konzeptueller Datenbankentwurf

Indexstrukturen in SQL

1 Übungen zu Datenbank-Kategorien

Probeklausur Datenbanktechnologie

Referentielle Integrität

Wegweisende Arbeiten in der Softwaretechnik Peter P. Chen Entity Relationship Modellierung

3. Spezielle ER-Modelle und Tabellenableitung. Transformation von ER-Diagrammen in Relationen

Übungsblatt 4 Lösung

10. Datenbank Design 1

DBSP. Vorlesung. Prof. Dr. rer. nat. Nane Kratzke. Unit. Praktische Informatik und betriebliche Informationssysteme

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.

Integritätsbedingungen / Normalformen- Beispiel: Kontoführung

2 Download und Installation des Programms 3 3 ERSTELLUNG EINES ERM-DIAGRAMMS 4. (c) Werner Geers 5 NUTZUNG DER SKRIPTE IN DATENBANKPROGRAMMEN 13

Kapitel DB:IV (Fortsetzung)

Referentielle Integrität

ER-Modellierung am Beispiel der Universitätsdatenbank aus der DBIS-Vorlesung

Software-Engineering und Datenbanken

Daten Bank. 2. Vorlesung. Dr. Karsten Tolle PRG2 SS 2015

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

SQL structured query language

4 Grundlagen der Datenbankentwicklung

Datenbankmodelle 1. Das Entity-Relationship-Modell

Einführung in das Entity-Relationship-Modell

Themen. Unified Modelling Language (UML) Assoziation. Aggregation. Komposition

Kurzeinführung in UML

Entwurf von Datenbanken

Modellbasierte Softwareentwicklung mit EMF

SQL. SQL: Structured Query Language. Früherer Name: SEQUEL. Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99

Einführung in Datenbanken

1 4. Datenmodellierung mit der Unified Modeling Language (UML)

Inhalt. Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle. Daten und Tabellen - ein Beispiel. Daten und Tabellen - Normalisierung

Datenintegrität. Bisherige Integritätsbedingungen

6. Datenintegrität. Integritätsbedingungen

Labor 3 - Datenbank mit MySQL

Relationales Modell: SQL-DDL. SQL als Definitionssprache. 7. Datenbankdefinitionssprachen. Anforderungen an eine relationale DDL

Datenbankentwurf. Entwicklungsprozess Anforderungsanalyse & Miniwelt

1 hat * Transformation des vorigen Entity-Relationship-Diagramms in ein Datenbankschema

IT-Kompaktkurs. Datenbanken Skript zur Folge 5. Prof. Dr. Georg Herde Fachhochschule Deggendorf

Objektorientierte Modellierung (1)

Datenbanksysteme I. Lehrveranstaltungen zu Datenbanken (SS 07) DBS 2 (2+1) DBS2 IDBS2. Datenschutz und Datensicherheit. Data-Warehouse- Praktikum

8. Objektorientierte Programmierung. Informatik II für Verkehrsingenieure

SQL: statische Integrität

Kapitel 3: Datenbanksysteme

Handelsinformationssysteme

Datenbanken und SQL. Kapitel 3. Datenbankdesign Teil 2: Entity-Relationship-Modell. Edwin Schicker: Datenbanken und SQL

Kapitel 3. Relationales Modell (Relationenmodell) Transformation ER-Modell Relationenmodell. Prof. Dr. Wolfgang Weber, Vorlesung Datenbanken 1

2.2.4 E/R-Diagramm. Im E/R-Diagramm müssen Entitytyp- und Beziehungstypnamen eindeutig sein. Beispiel: ANGEST arbeitet_in ABTEILUNG A A.

Berufliche Schulen Alle Schularten

Datenintegrität. Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen

Profilbezogene informatische Bildung in den Klassenstufen 9 und 10. Schwerpunktthema Daten und Datenbanken

Relationale Datenbanken in der Praxis

Klausur mit Musterlösung

5.6 Praktischer Teil. Modellierung einer Schulen-Lehrer-Verwaltung, kurz SLV (was sonst )

Transkript:

Ludwig Maximilians Universität München Institut für Informatik Lehr- und Forschungseinheit für Datenbanksysteme Skript zur Vorlesung Wintersemester 2013/2014 Vorlesung: Prof. Dr. Christian Böhm Übungen: Sebastian Goebl Skript 2005 Christian Böhm http://www.dbs.ifi.lmu.de/lehre/dbs

Schema-Entwurf Generelle Aufgabe: Finde eine formale Beschreibung (Modell) für einen zu modellierenden Teil der realen Welt Zwischenstufen: Beschreibung durch natürliche Sprache (Pflichtenheft): Beispiel: In der Datenbank sollen alle Studierenden mit den durch sie belegten Lehrveranstaltungen gespeichert sein Beschreibung durch abstrakte grafische Darstellungen: Student belegt Vorlesung 2 Beschreibung im relationalen Modell: create table student (...) ; create table vorlesung (...) ;

Das Entity/Relationship Modell Dient dazu, für einen Ausschnitt der realen Welt ein konzeptionelles Schema zu erstellen Grafische Darstellung: E/R-Diagramm Maschinenfernes Datenmodell Hohes Abstraktionsniveau Überlegungen zur Effizienz spielen keine Rolle Das E/R-Modell muss in ein relationales Schema überführt werden Einfache Grundregeln zur Transformation Gewinnung eines effizienten Schemas erfordert tiefes Verständnis vom Zielmodell 3

4 Beispiel: Lehrveranstaltungen

Elemente des E/R-Modells Entities: (eigentlich: Entity Sets) Objekttypen Attribute: Eigenschaften Relationships: Beziehungen zw. Entities Student Name belegt Entscheidende Aufgabe des Schema-Entwurfs: Finde geeignete Entities, Attribute und Relationships 5

Entities und Attribute Entities Objekte, Typen, "Seiendes" Objekte der realen Welt, unterscheidbar Bsp: Mensch, Haus, Vorlesung, Bestellung,... Attribute Entities durch charakterisierende Eigenschaften beschrieben Einfache Datentypen wie INT, STRING usw. Bsp: Farbe, Gewicht, Name, Titel,... Häufig beschränkt man sich auf die wichtigsten Attribute Schlüssel ähnlich definiert wie im relationalen Modell Primärschlüssel-Attribute werden unterstrichen Matrikel-Nr. Student Name 6

Relationships (Beziehungen) Stellen Zusammenhänge zwischen Entities dar Beispiele: Student belegt Ausprägung: belegt (Anton, Informatik 1) belegt (Berta, Informatik 1) belegt (Caesar, Wissensrepräsentation) belegt (Anton, Datenbanksysteme 1) Vorlesung Vorlesung welche wofür Vorauss Ausprägung: Vorauss (I 1, DBS 1) Vorauss (I 1, Software-Eng.) Vorauss (DBS 1, DBS 2) Vorauss (I 1, Wissensrepr.) 7 unterschiedliche Rollen

Relationships (Beziehungen) Relationships können eigene Attribute haben. Beispiel: Student belegt Vorlesung belegt hat Attribut Note Mehrstellige (ternäre usw.) Relationships: Buch Dozent empfiehlt Vorlesung 8 Ausprägung: empfiehlt (Böhm, Heuer&Saake, DBS 1) empfiehlt (Böhm, Kemper&Eickler, DBS 1) empfiehlt (Böhm, Bishop, Informatik 1) empfiehlt (Böhm, Bishop, Programmierkurs)

Funktionalität von Relationships 1:1-Beziehung (one-to-one-relationship): Angestellter leitet 1 1 Abteilung Charakteristik: Jedes Objekt aus dem linken Entity steht in Beziehung zu höchstens einem Objekt aus dem rechten Entity und umgekehrt. Grafische Notation: Pfeile auf jeder Seite Beispiel gilt unter der Voraussetzung, dass jede Abteilung max. einen Leiter hat und kein Angestellter mehrere Abteilungen leitet 9

Funktionalität von Relationships m:1-beziehung (many-to-one-relationship) Angestellter arbeitet_in m 1 Abteilung Charakteristik: Jedes Objekt auf der "many"-seite steht in Beziehung zu höchstens einem Objekt auf der "one"-seite (im Allgemeinen nicht umgekehrt) Grafische Notation: Pfeil in Richtung zur "one"-seite 10

Funktionalität von Relationships m:n-beziehung (many-to-many-relationship) Student m belegt n Vorlesung 11 Charakteristik: Jedes Objekt auf der linken Seite kann zu mehreren Objekten auf der rechten-seite in Beziehung stehen (d.h. keine Einschränkung) Grafische Notation: Kein Pfeil Beispiel-Ausprägung: belegt (Anton, Informatik 1) belegt (Berta, Informatik 1) belegt (Caesar, Wissensrepräsentation) belegt (Anton, Datenbanksysteme 1)

12 Beispiel: Lehrveranstaltungen

Optionalität Das E/R-Modell trifft lediglich Aussagen darüber, ob ein Objekt zu mehreren Objekten in Beziehung stehen darf oder zu max. einem Darüber, ob es zu mindestens einem Objekt in Beziehung stehen muss, keine Aussage Erweiterung der Notation mit: Geschlossener Kreis: Verpflichtend mindestens eins. Offener Kreis: Optional Gilt auch für Attribute (vgl. NOT NULL) Angestellter arbeitet_in (0..m) (1..1) Abteilung 13

Verschiedene Notationen Pfeil-Notation der Funktionalität: Angestellter arbeitet_in Abteilung Krähenfuß-Notation: Angestellter arbeitet_in Kardinalitäts-Notation: Abteilung Angestellter arbeitet_in (1..m) (1..1) Abteilung 14 auch m, (1.. ), (1..*), verschiedene Kombinationsformen

ISA-Beziehung/Vererbung Das Erweiterte E/R-Modell kennt Vererbungs- Beziehungen für Entities Beispiel: Lehrender isa Professor Assistent Lehr-Beauftr. Charakteristik und Bedeutung: Assistent ist ein Lehrender (engl.: is a) Vererbung aller Attribute und Beziehungen 15

Vom E/R-Modell zur Relation Einfache Umsetzungsregeln: Entities und Attribute: KName KAdr Kto Kunde Jedem Entity-Typ wird eine Relation zugeordnet Jedes Attribut des Entity wird ein Attribut der Relation Der Primärschlüssel des Entity wird Primärschlüssel der Relation Attribute können im weiteren Verlauf dazukommen 16 Kunde (KName, KAdr, Kto)

Vom E/R-Modell zur Relation Bei Relationships: Umsetzung abh. von Funktionalität/Kardinalität: 1:1 Zusätzliche Attribute in bestehende Relationen 1:n n:m Erzeugung einer zusätzlichen Relation Die ersten beiden Funktionalitäten sind Spezialfälle der dritten. Deshalb ist es immer auch möglich, zusätzliche Relationen einzuführen, jedoch nicht erforderlich 17

Vom E/R-Modell zur Relation One-To-Many Relationships: 18 Abteilung ANr beschäftigt 1 n Mitarbeiter PNr Eine zusätzliche Tabelle wird nicht angelegt Der Primärschlüssel der Relation auf der one-seite der Relationship kommt in die Relation der many-seite (Umbenennung bei Namenskonflikten) Die neu eingeführten Attribute werden Fremdschlüssel Die Primärschlüssel der Relationen ändern sich nicht Attribute der Relationship werden ebenfalls in die Relation der many-seite genommen (kein Fremdschl.)

Vom E/R-Modell zur Relation Beispiel One-To-Many-Relationship: Abteilung beschäftigt 1 n Mitarbeiter ANr PNr Abteilung (ANr, Bezeichnung,...) Mitarbeiter (PNr, Name, Vorname,..., ANr) 19 create table Mitarbeiter ( PNr char(3) primary key,... ANr char(3) references Abteilung (ANr) ) ;

Vom E/R-Modell zur Relation Many-To-Many-Relationships: 20 Student MatrNr n hört Note Vorlesung VNr Einführung einer zusätzlichen Relation mit dem Namen der Relationship Attribute: Die Primärschlüssel-Attribute der Relationen, den Entities beider Seiten zugeordnet sind Diese Attribute sind jeweils Fremdschlüssel Zusammen sind diese Attribute Primärschlüssel der neuen Relation Attribute der Relationship ebenfalls in die neue Rel. m

Vom E/R-Modell zur Relation Beispiel: Many-To-Many-Relationships 21 Student MatrNr n hört Note Student (MatrNr,...) Vorlesung (VNr,...) Hoert (MatrNr, VNr, Note)... primary key (MatrNr, VNr), foreign key MatrNr references Student, foreign key VNr references Vorlesung... m Vorlesung VNr

Vom E/R-Modell zur Relation One-To-One-Relationships: Gebrauchsanw AktenNr gehört_zu 1 1 Gerät GerID Die beiden Entities werden zu einer Relation zusammengefasst Einer der Primärschlüssel der Entities wird Primärschlüssel der Relation Geraet (GerID,..., AktenNr,...) 22 Häufig auch Umsetzung wie bei 1:n-Beziehung (insbes. wenn eine Seite optional ist), wobei die Rollen der beteiligten Relationen austauschbar sind

Vom E/R-Modell zur Relation Mehrstellige Relationen Dozent Buch empfiehlt Vorlesung Eigene Relation für empfiehlt, falls mehr als eine Funktionalität many ist: 23 Dozent (PNr,...) Buch (ISBN,...) Vorlesung (VNr,...) empfiehlt (PNr, ISBN, VNr)

Vom E/R-Modell zur Relation Selbstbezug Vorlesung VNr Voraussetzg welche wofür Keine Besonderheiten: Vorgehen je nach Funktionalität. Vorlesung (VNr,...) Voraussetzg (Welche, Wofuer) foreign key Welche references Vorlesung (VNr), foreign key Wofuer references Vorlesung (VNr) 24

Vom E/R-Modell zur Relation Umsetzung der ISA-Beziehung: Lehrender isa Professor Assistent Lehr-Beauftr. Meist wie bei 1:m-Beziehungen: Lehrender isa1 isa2 isa3 Professor Assistent Lehr-Beauftr. 25 Alternative: Attribute und Relationships von Lehrender explizit in Professor (...) übernehmen

UML Wegen Unübersichtlichkeit und Einschränkungen Verdrängung der E/R-Diagramme durch UML Unterschiede: Attribute werden direkt im Entity-Kasten notiert Relationships ohne eigenes Symbol (nur Verbindung) Ausnahme: Ternäre Relationships mit Raute Verschiedene Vererbungsbeziehungen, Part-of-Bez. (Methoden: Nicht gebraucht bei DB-Modellierung) Angestellter Personalnr: int Name: string arbeitet in 0..* 1 Abteilung Abteilungsnr: int Bezeichn: string 26