E-R-Modell zu Relationenschema

Ähnliche Dokumente
E-R-Modell zu Relationenschema

Rückblick: Datenbankentwurf

Kapitel DB:IV (Fortsetzung)

3. Das Relationale Datenmodell

3. Relationales Modell

Entwurf und Verarbeitung relationaler Datenbanken

Konzeptueller Entwurf

Grundlagen des relationalen l Modells

Uni Duisburg-Essen Fachgebiet Informationssysteme Prof. Dr. N. Fuhr

Universität Duisburg-Essen Informationssysteme Prof. Dr.-Ing. N. Fuhr. Praktikum Datenbanken / DB2 Woche 3: Tabellenentwurf und -erstellung

Universität Augsburg, Institut für Informatik WS 2009/2010 Prof. Dr. W. Kießling 06. Nov Dr. A. Huhn, F. Wenzel, M. Endres Lösungsblatt 2

Theorie zur Übung 8 Datenbanken

Datenbanken. Rückblick: Datenbank-Entwurfsprozess. Semantische Datenmodellierung (vgl. Kapitel 2)

Kapitel 1: Einführung 1.1 Datenbanken?

Relationale Entwurfstheorie (Teil 2)

Kapitel 3: Entity-Relationship-Modell

10. Datenbank Design 1

Datenbanken Unit 3: Das relationale Modell

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

Logischer Entwurf von Datenbanken

Aufgabe 1) Übung 4: 1.2

Rückblick: Entity-Relationship-Modell

Informatik 10 Mar Datenbanken: RDM Normalisierung April 2014

Handout zur Unit Datenmodellierung Web-Technologien Datenmodellierung Prof. Dr. rer. nat. Nane Kratzke

Wiederholung VU Datenmodellierung

Datenbankentwurf. VO Datenmodellierung. Katrin Seyr. Institut für Informationssysteme Technische Universität Wien.

Übung zur Vorlesung Einführung in die Informatik für Hörer anderer Fachrichtungen (WZW) IN8003, SS 2011 Prof. Dr. J. Schlichter

Das konzeptionelle Datenmodell

Kapitel DB:III (Fortsetzung)

Kapitel DB:III. III. Konzeptueller Datenbankentwurf

ARIS II - Modellierungsmethoden, Metamodelle und Anwendungen

Datenbanken: Relationales Datenbankmodell RDM

mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 18. Juni 2007

Kapitel 3: Datenbanksysteme

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

Datenmodelle. Einführung in das Entity-Relationship-Modell. Datenbankmodelle. Beispiel für ein ER-Schema. Kunde( Meier, , ) 41, Meier

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann

Normalisierung I. Ziele

Datenbanken 6: Normalisierung

Datenbanksysteme Teil 3 Indizes und Normalisierung. Stefan Maihack Dipl. Ing. (FH) Datum:

Vom Entity-Relationship-Modell (ERM) zum relationalen Datenmodell (RDM)


Einführung Datenbanken: Normalisierung

Informations-, Daten- und Wissensmanagement

Kommunikation und Datenhaltung

Einführung in das Entity-Relationship-Modell

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

8. Tutorübung zu Grundlagen: Datenbanken

Software-Engineering

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

Entwurfstheorie relationaler Datenbanken 7. Entwurfstheorie relationaler Datenbanken

4. Normalisierung von Relationenschemata

Informationssysteme. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Sommersemester

Prüfung Informatik für Ökonomen II. 14. Januar Teil 1: Datenbanktechnik Musterlösungen

Erstellen von relationalen Datenbanken mit Hilfe der Nomalisierung

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

Kapitel 4: Konzeptueller Datenbankentwurf

Datenbankentwurf. 4.2 Logischer Entwurf. Kapitel 4. ER-Modell. Umsetzung. Entwurfsdokumentation. relationales Modell. Verbesserung

Datenbanken 6: Normalisierung

Grundlagen von Datenbanken SS 2010

Das Entity-Relationship-Modell. Prof. Dr. T. Kudraß 1

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

Objektrelationale Datenbanken

3 - Ebenen - Architektur (ANSI/ SPARC)

Datenbanken. Relationales Modell:

1. Einführung Seite 1. Kapitel 1: Einführung

Normalformen. Was sind Kriterien eines guten Entwurfs? So wenig Redundanz wie möglich. Keine Einfüge-, Lösch-, Änderungsanomalien

Software-Engineering Einführung

Datenbanken. Zusammenfassung. Datenbanksysteme

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann

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

Kapitel 3: Datenbanksysteme

Design Theorie für relationale Datenbanken

Wirtschaftsinformatik

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

Datenbanken 1. Datenbankentwurf. Nikolaus Augsten. FB Computerwissenschaften Universität Salzburg. Sommersemester 2014

Entity-Relationship-Modell. Ein Studierender kann (oder muss) mehrere Vorlesungen hören. Eine Vorlesung wird i.a. von mehrerer Studierenden gehört.

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

Universität Augsburg, Institut für Informatik WS 2007/2008 Prof. Dr. W. Kießling 18. Jan Dr. A. Huhn, M. Endres, T. Preisinger Übungsblatt 12

D1: Relationale Datenstrukturen (14)

3. Grundlagen relationaler Datenbanksysteme

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

Beziehungen. one-to-one. one-to-many. many-to-many. Beziehung. Beziehung. Beziehung. Beziehung. Relationales Datenmodell

Integritätsbedingungen / Normalformen- Beispiel: Kontoführung

9. Normalformen / Erweiterungen 9.1 Vorbemerkung, Zielsetzung, Inhalt Datenmodellierung und Integritätsaspekte

Introduction to Data and Knowledge Engineering Übung 1: Entity Relationship Model

Relationale Datenbanken in der Praxis

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

3. Übung. Einführung MS Access. TU Dresden - Institut für Bauinformatik Folie-Nr.: 1

Datenbank Modellierung - Normalisierung

Das Relationale Modell

Transkript:

Raum: LF 230 Nächste Sitzung: 27./30. Oktober 2003 Aktuelle Informationen unter: http://www.is.informatik.uni-duisburg.de/teaching/lectures/dbp_ws03/index.html E-R-Modell zu Relationenschema Als zweiter Schritt beim Entwurf einer Datenbank steht nach der Modellierung die Umsetzung des Modells in ein Relationenschema an. Ziel soll ein Schema sein, das möglichst direkt in einer konkreten relationalen Datenbank implementiert werden kann. Im Allgemeinen gibt es bei dieser Umsetzung mehrere geeignete Schemavarianten. Eine erste Annäherung für die Umsetzung kann wie folgt aussehen: ein Entitätentyp wird in eine Relation mit den gleichen Attributen wie der Entitätentyp überführt eine Beziehung wird in eine Relation überführt, deren Attribute die Schlüssel der von ihr verbundenen Relationen sind Normalerweise gibt es allerdings noch einige andere Dinge zu beachten. Im Folgenden werden ein paar einfache Faustregeln dazu angegeben. Dabei ist zu bedenken, dass in Hinblick auf eine konkrete Anwendung es manchmal sinnvoll sein kann, eine theoretisch nicht optimale Umsetzung zu wählen. Relationenschemata werden wie in Kemper/Eick beschrieben spezifiziert: SchemaName : { [ Attribut 1 : Typ 1, Attribut 2 : Typ 2,... ] } Dabei wird der Primärschlüssel einer Relation durch Unterstreichung gekennzeichnet. Attribute innerhalb einer Relation müssen eindeutig benannt sein. Entitätentypen Ein Entitätentyp wird normalerweise als Relation abgebildet, deren Attribute die Attribute dieses Typs sind. Diese Relation hat zunächst einmal keinerlei Verbindung zu den Beziehungen, an denen der Entitätentyp teilnahm. Mehrwertige Attribute können in ein mengen- oder listenwertiges Attribut abgebildet werden. Diese werden dann bei der Normalisierung behandelt. Raum Gebäude Sitzzahl Nummer Räume : {[Nummer: integer, Gebäude: string, Sitzzahl: integer]} Seite 1 von 5

Zusammengesetzte Attribute werden entweder aufgelöst, d.h. die Attribute des zusammengesetzten Attributes werden zu Attributen der Umsetzung des Entitätstyps, oder sie werden als eigene Relation aufgefasst. Diese neue Relation enthält alle Attribute des zusammengesetzten Attributes und alle Primärschlüsselattribute der Ursprungsrelation. Diese Fremdschlüssel bilden den Primärschlüssel der neuen Relation. Beziehungstypen Ein Beziehungstyp wird üblicherweise als eine eigene Relation abgebildet. Als Attribute für diese Relation werden herangezogen: die Attribute des Beziehungstyps die Primärschlüsselattribute der teilnehmenden Entitätstypen als Fremdschlüssel Der Primärschlüssel der Relation enthält die Fremdschlüssel und eventuell zusätzliche Attribute. Kaufdatum SortimentNr Kunde kauft Ware Preis KundenNr Menge ProduktName kauft : {[KundenNr: integer, SortimentNr: integer, Kaufdatum: date, Menge: integer]} Nimmt ein Entitätentyp mehrfach an einer Beziehung teil, so müssen seine Schlüsselattribute entsprechend oft in die Relation übernommen werden, die dieser Beziehung entspricht. Dabei muss man die Attribute umbenennen, um Namenskonflikte zu vermeiden. Schwache Entitätstypen Ein schwacher Entitätstyp wird als eine eigene Relation abgebildet, die zusätzlich zu den eigenen Attributen auch den Primärschlüssel des Vater-Entitätstype als Fremdschlüssel enthält. Dieser bildet zusammen mit den ausgezeichneten Teilschlüsseln des schwachen Entitätstyp den Primärschlüssel der Relation. Die Beziehung zwischen einem schwachen Entitätstypen und dem Vater- Entitätstyp muss im Allgemeinen überhaupt nicht nachgebildet werden. Generalisierung Generalisierung wird durch das relationale Modell nicht direkt unterstützt. Das relationale Modell verfügt über keine Vererbung. Man kann aber versuchen, Generalisierung mit den existierenden Mitteln nachzumodellieren. Dafür gibt Seite 2 von 5

es unterschiedliche Strategien, wobei sich die folgende am engsten an die E-R- Modellierung hält: Für jeden Entitätstypen E in der Generalisierungshierarchie gibt es eine Relation mit den Schlüsselattributen des Obertypen und den Attributen von E Fachgebiet Rang WissMitarbeiter is_a Professor RaumNr UniAngestellter Name PersNr UniAngestellte : {[PersNr, Name, RaumNr]} Professoren : {[PersNr, Rang]} WissMitarbeiter : {[PersNr, Fachgebiet]} Eine Alternative wäre die Überführung des abgeleiteten Entitätstypen E in eine Relation, die als Attribute alle Attribute des Obertypen sowie die Attribute von E besitzt. In dieser Variante würden in der Relation des Obertyps nur Instanzen gespeichert, die zu keinem der Subtypen gehören. UniAngestellte : {[PersNr, Name, RaumNr]} Professoren : {[PersNr, Name, RaumNr, Rang]} WissMitarbeiter : {[PersNr, Name, RaumNr, Fachgebiet]} Zusammenführen von Relationen Die direkte Überführung wie oben beschrieben liefert oft nicht die bestmöglichen Relationen. Oft kann man nun noch Relationen zusammenführen. Allgemein gilt: Relationen mit dem gleichen Schlüssel kann man zusammenfassen (aber auch nur diese). Ein binärer Beziehungstyp R zwischen Entitätentypen E und F, an dem mindestens einer der beiden beteiligten Entitätstypen (sagen wir E) mit Funktionalität 1 teilnimmt, kann mit der E entsprechenden Relation zusammengeführt werden. Dazu führt man eine Relation mit folgenden Attributen ein: die Attribute von E die Primärschlüsselattribute von F die Attribute der Beziehung R Seite 3 von 5

Überlegt selbst, warum das vorteilhafter ist, als die Überführung der Beziehung R in eine eigene Relation. Überlegt auch, was es für Gegenargumente gibt. Normalformen Normalformen stellen eine theoretische Basis dar, um relationale Datenbankschemata bewerten zu können. Insbesondere sollen durch Normalisierung Redundanzen und implizite Darstellung von Information verhindert werden. Durch Einhalten der Normalenformen bei der Modellierung können bei der späteren Benutzung Änderungs-, Einfüge- oder Löschungsanomalien verhindert werden. Normalformen werden zu einem späteren Zeitpunkt in der Vorlesung Datenbanken behandelt. Hier soll nur die erste Normalform kurz erklärt werden. Über die schärferen Normalformen kann man sich in der weiterführenden Literatur informieren (die Literaturliste findet sich auf dem 1. Arbeitsblatt). Erste Normalform Eine Relation ist in Erster Normalform (1NF), wenn alle Attribute nur atomare Werte annehmen dürfen. Zusammengesetzte oder mengenwertige Attribute sind unter der 1NF nicht zulässig. In klassischen relationalen DBMS lassen sich Relationen, die nicht in 1NF sind, nicht speichern. Die Relation Eltern : {[VaterName, MutterName, {KindName}]} ist nicht in 1NF. Nachteile einer Relation, die nicht in 1NF ist, sind unter anderem fehlende Symmetrie, Speicherung redundanter Daten und Aktualisierungsanomalien. Bei der Überführung in 1NF entstehende neue Redundanzen werden im Laufe der weiteren Normalisierung beseitigt. Vorgehen: Listen- bzw. mengenwertige Attribute werden durch ihre Elemente ersetzt. Auf Tupelebene wird das durch Ausmultiplikation der Liste mit dem restlichen Tupel erreicht. Zusammengesetzte Attribute werden durch die Teilattribute ersetzt. Alternativ können auch neue Relationen gebildet werden. Aufgaben (a) Vervollständigt die Modellierung aus der letzten Woche und ergänzt sie um die Modellierung des DVD-Versands. (b) Nehmt Eure Modellierung der Mini-Welt der Filme und Serien, und versucht, diese zunächst möglichst modellierungsgetreu in ein relationales Schema zu übertragen. Seite 4 von 5

(c) Bringt das relationale Schema in 1. Normalform. Verfeinert dann das relationale Schema soweit möglich durch Elimination (Zusammenführung) von Relationen. (d) Arbeitet Probleme Eurer Modellierung heraus und versucht Euren ursprünglichen Entwurf zu verbessern. Vergleicht den Entwurf dazu auch mit der Musterlösung, und dokumentiert Eure Änderungen. Seite 5 von 5