Datenbanken 1. Kapitel 3: Relationenmodell WURDE_VERKAUFT INTEGER PRODNR. <pk,fk1> <pk,fk2> PRODNR = PRODNR SHOPID = SHOPID SHOPID INTEGER INTEGER

Ähnliche Dokumente
Übungsblatt 4. Aufgabe 7: Datensicht Fachkonzept (Klausur SS 2002, 1. Termin)

Datenbankmodelle 1. Das Entity-Relationship-Modell

3. Das Relationale Datenmodell

Datenbanken: Relationales Datenbankmodell RDM

Allgemeines zu Datenbanken

4. Normalisierung von Relationenschemata

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

9. Einführung in Datenbanken

1. Ziel des Datenbankentwurfs

Carl-Christian Kanne. Einführung in Datenbanken p.1/513

Inhaltsverzeichnis. 1. Fragestellung

Teil 7: Einführung in den logischen Entwurf

7. Übung - Datenbanken

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

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

4 Grundlagen der Datenbankentwicklung

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

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

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

Fachbereich Wirtschaftswissenschaften Campus Sankt Augustin

ABTEILUNGS- ABTEILUNGS- LEITER NAME

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1

Rückblick: Datenbankentwurf

Einführung in Datenbanken

Design Theorie für relationale Datenbanken

4. BEZIEHUNGEN ZWISCHEN TABELLEN

Modul Datenbanksysteme 2 Prüfung skizzenhaft SS Aug Name: Note:

Vorlesung Datenbanken II A Klausur

Relationenmodell (RM)

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

1 Mathematische Grundlagen

Entwurf von Datenbanken

2.5.2 Primärschlüssel

Hilfedatei der Oden$-Börse Stand Juni 2014

Themenblock 2: Datenmodellierung mit ERM

Objektrelationale Datenbanken

Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum:

Datenbanken (Bachelor) (SPO2007) WS 2011/12

Kapitel DB:III. III. Konzeptueller Datenbankentwurf

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

Verwandt, logisch kohärent, zweckspezifisch, an reale Welt orientiert. Entität kann in einer oder mehreren Unterklassen sein

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

Software-Engineering Einführung

Universität Augsburg, Institut für Informatik Wintersemester 2011/2012 Prof. Dr. W. Kießling 03. Feb Semesterklausur

Themen. M. Duffner: Datenbanksysteme

Das Entity-Relationship-Modell

Aufgabe 1: [Logische Modellierung]

Kapitel 11. Normalisierung

3. Relationales Modell

Relationale Datenbanken Datenbankgrundlagen

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

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

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

Datenbanken Kapitel 2

Bereich METIS (Texte im Internet) Zählmarkenrecherche

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

Beispiele für Datenbank-Struktur-Probleme

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Wirtschaftsinformatik 2. Tutorium im WS 11/12

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

3. Relationales Modell & Algebra

Christian-Weise-Gymnasium Zittau Fachbereich Informatik M. Hans. Datenmodellierung 1. Inhaltsverzeichnis

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse Lösung 10 Punkte

So gehts Schritt-für-Schritt-Anleitung

Kurzanleitung fu r Clubbeauftragte zur Pflege der Mitgliederdaten im Mitgliederbereich


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

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

1. Einführung. 2. Alternativen zu eigenen Auswertungen. 3. Erstellen eigener Tabellen-Auswertungen

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

Probeklausur im Modul Informationstechnik 1, WS 2003/04. Studiengang IWD 1. Semester Seite 1 von 5

Kapitel 7: Formaler Datenbankentwurf

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag

Datenbanken. Sommersemester 2010 Probeklausur

1 BEDIENUNGSANLEITUNG

Datenbanken. Prof. Dr. Bernhard Schiefer.

Übung Datenbanksysteme

ACCESS das Datenbankprogramm. (Einführung) DI (FH) Levent Öztürk

Grundlagen: Datenbanken WS 15/16

Im Original veränderbare Word-Dateien

SQL - Übungen Bearbeitung der Datenbank Personal (1)

Einführung in Datenbanken - Wiederholung Normalformen - Philipp Cimiano AG Semantische Datenbanken und Wissensverarbeitung

Klausur Interoperabilität

Lehrer: Einschreibemethoden

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

Kapitel 8: Physischer Datenbankentwurf

Österreichische Trachtenjugend

Schlüssel bei temporalen Daten im relationalen Modell

Bedingungen. Bedingungen. Bedingungen

Willkommen zum DBS I Praktikum!

Java Kurs für Anfänger Einheit 4 Klassen und Objekte

ER-Diagramme. eine Modellierung. Beziehungen der Elternschaft:

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Grundlagen von Datenbanksystemen

Sichten II. Definition einer Sicht. Sichten. Drei-Ebenen-Schema-Architektur. Vorteile Vereinfachung von Anfragen Strukturierung der Datenbank

Übungen Teil 1: Normalisierung. Dozent: Stefan Maihack Dipl. Ing. (FH)

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Fallbeispiel: Eintragen einer Behandlung

Transkript:

Datenbanken 1 Kapitel 3: Relationenmodell WURDE_VERKAUFT PRODNR = PRODNR PRODNR SHOPID ANZAHL INTEGER INTEGER INTEGER <pk,fk1> <pk,fk2> SHOPID = SHOPID PRODUKT SHOP PRODNR BEZEICHNUNG PREIS INTEGER VARCHAR2(20) NUMBER(6,2) <pk> SHOPID NAME INTEGER CHAR(10) <pk>

Vorlesung Datenbanken 1 Ausschnitt aus der realen Welt Konzeptuelles Modell (z.b. ER-Modell) 4 Anwendungsprogramm 5 3 Logisches Modell (z.b. Relationenmodell) 4 DBMS 6 DB Uta Störl Datenbanken 1 WS 2015/16 3-2

Phasen des Datenbankentwurfs Anforderungsanalyse Datenbedarf nicht formalisiert Konzeptioneller Entwurf Konzeptuelles Modell Informationsstruktur Logischer Entwurf Logisches Modell logische Datenbankstruktur Physischer Entwurf Internes Schema interne (physische) Datenbankstruktur Uta Störl Datenbanken 1 WS 2015/16 3-3

Datenbankentwurf Beispiel Anforderungsanalyse Datenbedarf Konzeptioneller Entwurf Entity-Relationship-Modell Logischer Entwurf Relationenmodell Objektorientiertes Modell XML-Modell Physischer Entwurf Oracle-Schema MySQL-Schema db4o-schema Tamino-Schema Uta Störl Datenbanken 1 WS 2015/16 3-4

Relationenmodell Inhalt des Kapitels Grundlagen des Relationenmodell Abbildung des Entity-Relationship-Modells auf das Relationenmodell Normalformen Lernziele Kennenlernen des Relationenmodells Selbständiges Entwerfen von relationalen Datenbankmodellen unter Berücksichtigung verschiedener Normalformen Uta Störl Datenbanken 1 WS 2015/16 3-5

Relationenmodell Grundlagen entwickelt von E. F. Codd (1970) beruht auf dem mathematischen Begriff der Relation, den man anschaulich mit dem der Begriff Tabelle vergleichen kann alle Informationen sind in Relationen abgelegt Definitionen Eine n-stellige Relation R ist definiert als Untermenge des kartesischen Produkts der Wertebereiche der zugehörigen Attribute A 1, A 2,, A n : R(A 1, A 2,, A n ) W(A 1 ) x W(A 2 ) x x W(A n ) Beispiel: Student (MatrNr, Name, Geburtsdatum) integer x string x date Eine Element der Menge R wird als Tupel bezeichnet, d.h. t R Beispiel: t = (123456, Schmidt, 30.01.2014) Uta Störl Datenbanken 1 WS 2015/16 3-6

Relationenmodell Grundlagen Darstellungsmöglichkeit für R: n-spaltige Tabelle Jede Relation kann als Tabelle dargestellt werden PROF: PNR NAME FB 431326 Schütte FBI 174892 Erbs FBI 917384 Rebstock FBW Relation ist eine Menge: Garantie der Eindeutigkeit der Tupel (Zeilen) Primärschlüssel (und ggf. mehrere Schlüsselkandidaten) Schlüssel: minimale Menge von Attributen, deren Werte ein Tupel eindeutig identifizieren. Uta Störl Datenbanken 1 WS 2015/16 3-7

Relationales Datenbankmodell Grundregeln* 1. Jede Zeile (Tupel) ist eindeutig und beschreibt ein Objekt der Miniwelt. 2. Die Reihenfolge der Zeilen ist ohne Bedeutung, d.h. durch ihre Reihenfolge wird keine für den Benutzer relevante Bedeutung ausgedrückt. 3. Die Reihenfolge der Spalten ist ohne Bedeutung, da sie einen eindeutigen Namen tragen. 4. Jeder Datenwert innerhalb einer Relation ist ein atomares Datenelement. 5. Alle für den Benutzer bedeutungsvollen Informationen sind ausschließlich durch Datenwerte ausgedrückt. 6. Es existieren ein Primärschlüssel und ggf. weitere Schlüsselkandidaten. *E. F. Codd: A Relational Model of Data for Large Shared Data Banks. In: Commun. ACM 13(6): 377-387 (1970) Uta Störl Datenbanken 1 WS 2015/16 3-8

Bezeichnungen Name des Relationenschemas Attribut (Spalte) PROF: Relation (Tabelleninhalt) PNR NAME FB 431326 Schütte FBI 174892 Erbs FBI 917384 Rebstock FBW Relationenschema Tupel (Zeile) Datenbankschema: Menge von Relationenschemata Uta Störl Datenbanken 1 WS 2015/16 3-9

Integritätsbedingungen Integritätsbedingungen sind u.a. Abhängigkeiten zwischen Attributen - sowohl innerhalb einer Relation als auch zwischen Relationen. Eine Abhängigkeit innerhalb einer Relation nennt man funktionale Abhängigkeit zwischen Attributen. Ein Spezialfall der funktionalen Abhängigkeit ist der Schlüssel. Abhängigkeiten zwischen Relationen: PROF: PNR NAME FBID FB: FBID FBNAME DEKAN 431326 Schütte FBI FBI Informatik 174892 174892 Erbs FBI 917384 Rebstock FBW FBW Wirtschaftswis senschaften 917384 Fremdschlüssel Uta Störl Datenbanken 1 WS 2015/16 3-10

Fremdschlüssel Ein Fremdschlüssel (foreign key) bezüglich einer Relation R 1 ist ein (ggf. zusammengesetztes) Attribut FK einer Relation R 2, für das zu jedem Zeitpunkt gilt: zu jedem Wert (ungleich NULL) von FK muss ein gleicher Wert des Primärschlüssels PS (oder eines Schlüsselkandidaten SK) in irgendeinem Tupel von Relation R 1 sein. Eigenschaften Fremdschlüssel und Primärschlüssel tragen wichtige interrelationale (oder intrarelationale) Informationen. Sie sind auf dem gleichen Wertebereich definiert. Fremdschlüssel können Nullwerte aufweisen, wenn sie nicht selbst Teil des Primärschlüssels sind oder wenn nicht explizit NOT NULL deklariert ist. Eine Relation kann mehrere Fremdschlüssel besitzen, welche die gleiche oder verschiedene Relationen referenzieren. Referenzierte und referenzierende Relationen sind nicht notwendig verschieden (self-referencing table). Uta Störl Datenbanken 1 WS 2015/16 3-11

Transformation ER-Modell Relationenmodell Entity-Relationship-Modell dient zur Modellierung der Realität aus Sicht der Anwendung Relationenmodell dient als Grundlage für die Realisierung in relationalen Datenbanken Transformation erfolgt durch eindeutige Regeln, mit deren Hilfe jedes Entity-Relationship-Modell in ein Relationenmodell überführt werden kann. Mit Hilfe von Case-Tools kann diese Transformation automatisiert werden. Uta Störl Datenbanken 1 WS 2015/16 3-12

Transformation ER-Modell Relationenmodell Abbildung von Entity-Typen und einfachen Attributen Abbildung Beziehungstypen o M:N Beziehungen o 1:N Beziehungen o 1:1 Beziehungen o rekursive Beziehungen o mehrstellige Beziehungen Abbildung schwacher Entity-Typen Abbildung mengenwertiger und komplexer Attribute Abbildung Generalisierung/Spezialisierung Uta Störl Datenbanken 1 WS 2015/16 3-13

Abbildung von Entity-Typen jeder Entity-Typ wird zu einem Relationenschema einfache Attribute des Entity-Typs werden die Attribute des Relationenschemas falls Entities komplexe oder mengenwertig Attribute aufweisen, müssen diese aufgelöst werden ( Diskussion später) ein Schlüssel (falls noch nicht im ER-Modell geschehen) ist als Primärschlüssel des Relationenschemas auszuzeichnen, alternativ ist ein zusätzliches Schlüsselattribut hinzuzufügen die Datentypen zu den Attributen müssen definiert werden (falls noch nicht im ER-Modell geschehen) Uta Störl Datenbanken 1 WS 2015/16 3-14

Abbildung von Entity-Typen (Beispiel) Markt Bezeichnung Standort Kategorie MARKT (BEZEICHNUNG, STANDORT, KATEGORIE) Uta Störl Datenbanken 1 WS 2015/16 3-15

Abbildung M:N Beziehungstypen Abbildung M:N Beziehungstypen Student (0,*) (6,*) besucht Vorlesung Student (Matrikelnummer, Name) Vorlesung (VorlesungsID, Bezeichnung) Jeder M:N Beziehungstyp wird zu einem eigenen Relationenschema Die Primärschlüssel der beteiligten Entity-Typen werden als Attribute hinzugefügt - diese bilden zusammen den Primärschlüssel und sind jeweils Fremdschlüssel bezogen auf die beiden aus den Entity-Typen entstandenen Relationenschemata Ggf. vorhanden Attribute des Beziehungstyps werden Attribute des Relationenschemas. STUDENT (MATRIKELNUMMER, NAME) VORLESUNG (VORLESUNGSID, BEZEICHNUNG) Kardinalitäten? BESUCHT (MATRIKELNUMMER STUDENT, VORLESUNGSID VORLESUNG) Uta Störl Datenbanken 1 WS 2015/16 3-16

Abbildung M:N Beziehungstypen Produkt ProdNr Bezeichnung Preis I VA20 DC6,2 wird angboten in Shop ShopID Name I A10 PRODNR = PRODNR PRODNR SHOPID WIRD_ANGBOTEN_IN INTEGER INTEGER <pk,fk1> <pk,fk2> SHOPID = SHOPID PRODUKT SHOP PRODNR BEZEICHNUNG PREIS INTEGER VARCHAR2(20) NUMBER(6,2) <pk> SHOPID NAME INTEGER CHAR(10) <pk> Uta Störl Datenbanken 1 WS 2015/16 3-17

Abbildung M:N Beziehungstypen alternative Darstellung: Produkt ProdNr Bezeichnung Preis I VA20 DC6,2 0,n wurde verkauft Anzahl I 0,n Shop ShopID Name I A10 WURDE_VERKAUFT PRODNR = PRODNR PRODNR SHOPID ANZAHL INTEGER INTEGER INTEGER <pk,fk1> <pk,fk2> SHOPID = SHOPID PRODUKT SHOP PRODNR BEZEICHNUNG PREIS INTEGER VARCHAR2(20) NUMBER(6,2) <pk> SHOPID NAME INTEGER CHAR(10) <pk> Uta Störl Datenbanken 1 WS 2015/16 3-18

Abbildung M:N Beziehungstypen Produkt ProdNr Bezeichnung Preis I VA20 DC6,2??? Anzahl wurde verkauft Shop ShopID Name I A10 Produkt ProdNr Bezeichnung Preis I VA20 DC6,2 wurde verkauft Anzahl I Shop ShopID Name I A10 WURDE_VERKAUFT PRODNR = PRODNR PRODNR SHOPID ANZAHL INTEGER INTEGER INTEGER <pk,fk1> <pk,fk2> SHOPID = SHOPID PRODUKT SHOP PRODNR BEZEICHNUNG PREIS INTEGER VARCHAR2(20) NUMBER(6,2) <pk> SHOPID NAME INTEGER CHAR(10) <pk> Uta Störl Datenbanken 1 WS 2015/16 3-19

Abbildung 1:N Beziehungstypen Erster Ansatz: Vorgehen wie bei n:m Beziehungen Mitarbeiter gehört zu Abteilung Mitarbeiter (PersNr, Name, Gehalt) Abteilung (AbtName, Bereich) MITARBEITER (PERSNR, NAME, GEHALT) ABTEILUNG (ABTNAME, BEREICH) GEHOERT_ZU (PERSNR MITARBEITER, ABTNAME ABTEILUNG) GEHOERT_ZU (PERSNR MITARBEITER, ABTNAME ABTEILUNG) Uta Störl Datenbanken 1 WS 2015/16 3-20

Abbildung 1:N Beziehungstypen Verfeinerung durch Zusammenfassung Mitarbeiter gehört zu Abteilung Mitarbeiter (PersNr, Name, Gehalt) Abteilung (AbtName, Bereich) MITARBEITER (PERSNR, NAME, GEHALT, ABTNAME ABTEILUNG ) ABTEILUNG (ABTNAME, BEREICH) Regel: Relationen mit gleichem Schlüssel kann man zusammenfassen aber nur diese und keine anderen! Uta Störl Datenbanken 1 WS 2015/16 3-21

Abbildung 1:N Beziehungstypen Abbildung 1:N Beziehungen Für 1:N Beziehungstypen wird kein zusätzliches Relationenschema angelegt! In das Relationenschema, dessen Tupel nur maximal ein Mal in der Beziehung erscheinen dürfen, wird der Primärschlüssel des anderen Relationenschemas als Fremdschlüssel hinzugefügt. Attribute der Beziehung werden ebenfalls in dem Relationenschema hinzugefügt, dessen Tupel nur ein Mal in der Beziehung erscheinen dürfen. Mitarbeiter PersNr Name Gehalt I VA25 DC8,2 1,1 gehört zu seit D 1,n Abteilung AbtName Bereich A8 A8 MITARBEITER PERSNR ABTNAME NAME GEHALT SEIT integer character(8) variable character(25) decimal(8,2) date <pk> <fk> ABTNAME = ABTNAME ABTNAME BEREICH ABTEILUNG character(8) character(8) <pk> Uta Störl Datenbanken 1 WS 2015/16 3-22

Hörsaalübung Setzen Sie das folgende ER-Modell in ein Relationenschema um: Produkt hat Hersteller wird angeboten Katalog von bis Produkt (Produktnummer, Bezeichnung, Preis) Hersteller (HerstellerID, Herstellername) Katalog (KatalogID, Katalogname) Uta Störl Datenbanken 1 WS 2015/16 3-23

Transformation ER-Modell Relationenmodell Abbildung von Entity-Typen und einfachen Attributen Abbildung Beziehungstypen M:N Beziehungen 1:N Beziehungen o 1:1 Beziehungen o rekursive Beziehungen o mehrstellige Beziehungen Abbildung schwacher Entity-Typen Abbildung mengenwertiger und komplexer Attribute Abbildung Generalisierung/Spezialisierung Uta Störl Datenbanken 1 WS 2015/16 3-24

Abbildung 1:1 Beziehungstypen Manager sitzt in Raum Manager (PersNr, Name, Gehalt) Raum (RaumNr, Quadratmeter) Mindestens einem der beiden Relationenschemata ist der Schlüssel des anderen als Fremdschlüssel hinzuzufügen (oder beiden): MANAGER (PERSNR, NAME, GEHALT, RAUMNR RAUM ) RAUM (RAUMNR, QUADRATMETER, PERSNR MANAGER) Anmerkung: Es könnten auch alle Attribute in ein Relationenschema aufgenommen werden, d. h. aus 2 Entities wird ein Relationenschema. Ggf. sinnvoll bei einer echten 1:1 Beziehung (d.h. (1,1) und (1,1)) Uta Störl Datenbanken 1 WS 2015/16 3-25

Abbildung rekursiver Beziehungstypen: Beispiel Stückliste Fahrrad MB_543 GABEL MB_538 FAHRRAD MB_540 RAHMEN MB_541 SATTEL MB_542 ANTRIEB MB_539 REIFEN MB_556 LENKER MB_540 RAHMEN MB_550 POLSTER MB_551 STANGE MB_557 STANGE MB_549 LAGER MB_546 MANTEL MB_544 SCHLAUCH MB_545 FELGE MB_547 SPEICHE MB_548 VENTIL MB_554 PEDAL MB_552 KETTENRAD MB_555 KURBEL MB_553 KETTE Quelle: I. Schestag, Datenbanken Uta Störl Datenbanken 1 WS 2015/16 3-26

Abbildung rekursiver Beziehungstypen: Beispiel Stückliste Fahrrad - Ausschnitt - besteht aus ist Bestandteil von Quelle: I. Schestag, Datenbanken Uta Störl Datenbanken 1 WS 2015/16 3-27

Abbildung rekursiver Beziehungstypen Behandlung analog nichtrekursiver Beziehungstypen Rollennamen Aus dem Beziehungstyp entstehendes Relationenschemata enthält zwei Fremdschlüssel auf das aus dem Entity-Typ entstehende Relationenschemata Namen anpassen! Uta Störl Datenbanken 1 WS 2015/16 3-28

Abbildung rekursiver Beziehungstypen: Beispiel TEIL TNR TBEZ Einzelpreis MB_538 Fahrrad... MB_539 Reifen MB_540 Rahmen MB_541 Sattel... MB_542 Antrieb MB_543 Gabel MB_544 Schlauch MB_545 Felge MB_546 Mantel MB_547 Speiche MB_548 Ventil MB_549 Lager BESTEHT_AUS TNR TEI_TNR Anzahl MB_538 MB_539 2 MB_538 MB_540 1 MB_538 MB_541 1 MB_538 MB_542 1 MB_539 MB_544 1 MB_539 MB_545 1 MB_539 MB_546 1 MB_539 MB_547 18 MB_539 MB_548 1 MB_539 MB_549 1 Quelle: I. Schestag, Datenbanken Uta Störl Datenbanken 1 WS 2015/16 3-29

Mehrstellige Beziehungen Für den Beziehungstyp wird ein eigenes Relationenschema angelegt, in welches die Primärschlüssel aller Beteiligten Entity-Typen als Fremdschlüssel übernommen werden; diese bilden zusammen den Primärschlüssel. Attribute des Beziehungstyps werden ebenfalls dem Relationenschema hinzugefügt. A IDA A I IDA A I IDA integer <pk> IDA = IDA 0,n Association_1 assoz_attribute I oder Association_1 assoz_attribute I ASSOCIATION_1 IDB IDC IDA ASSOZ_ATTRIBUTE integer integer integer integer <pk,fk1> <pk,fk2> <pk,fk3> 0,n 0,n IDB = IDB IDC = IDC IDB B I IDC C I IDB B I IDC C I B IDB integer <pk> C IDC integer <pk> Uta Störl Datenbanken 1 WS 2015/16 3-30

Abbildung schwacher Entity-Typen Zur Erinnerung: Funktionale Beziehung ist Bestandteil des Schlüssels Bestellposition (1,1) gehört (1,*) zu Bestellung markiert als Dependent Bestellposition PosNr Menge Produkt I I I gehört zu Bestellung BestellNr Datum I D Abweichend von normalen 1:N Beziehungen, wird der Primärschlüssel nicht nur als Fremdschlüssel übernommen, sondern wird auch Bestandteil des Primärschlüssels auf der N -Seite. BESTELLNR POSNR MENGE PRODUKT BESTELLPOSITION INTEGER INTEGER INTEGER INTEGER <pk,fk> <pk> BESTELLNR = BESTELLNR BESTELLNR DATUM BESTELLUNG INTEGER DATE <pk> Uta Störl Datenbanken 1 WS 2015/16 3-31

Abbildung mengenwertiger und strukturierter Attribute Kd-Nummer Vorname Kunde Nachname Strasse Adresse Stadt PLZ KUNDE (KD-NUMMER, {VORNAME}, NACHNAME, ADRESSE (STRASSE, STADT, PLZ)) Uta Störl Datenbanken 1 WS 2015/16 3-32

Abbildung mengenwertiger und strukturierter Attribute Kd-Nummer Vorname Kunde Name Strasse Adresse Stadt PLZ andere Variante? KUNDE (KD-NUMMER, NACHNAME, STRASSE, STADT, PLZ) VORNAME (KD-NUMMER KUNDE, VORNAME) Uta Störl Datenbanken 1 WS 2015/16 3-33

Abbildung mengenwertiger und strukturierter Attribute Anmerkung zu Case-Tools: Die Modellierung mengenwertiger und strukturierte Attribute wird von Case-Tools häufig nicht unterstützt. Lösungsvariante? Uta Störl Datenbanken 1 WS 2015/16 3-34

Kritik am Relationalen Modell Prinzip des Relationalen Modells führt dazu, dass oft zusammenhängende Inhalte auf mehrere Tabellen verteilt werden müssen. Performance-Verlust Entwicklung alternativer Ansätze Objektorientierte Datenbanksysteme (kommend von OO-Sprachen, DER Datenbank-Hype der 90er Jahre) Objektrelationale Datenbanksysteme (kommend von relationalen Datenbanksystemen Gegenreaktion der Hersteller relationaler DBMS Mitte/Ende der 90er Jahre) Status Quo: die allermeisten Daten sind heute weltweit in Relationalen Datenbanksystemen gespeichert (und viele Daten auch noch in DBMS mit älteren Datenmodellen wie hierarchische Datenbanken z.b. IMS) für bestimmte Anwendungsszenarien Verwendung objektrelationaler Datenbanksysteme (z.b. Geodaten) Aktueller Trend: NoSQL-Datenbanksysteme zur Speicherung hierarchischer Daten und mit flexiblem Schema für bestimmte Anwendungen Uta Störl Datenbanken 1 WS 2015/16 3-35

Transformation ER-Modell Relationenmodell Abbildung von Entity-Typen und einfachen Attributen Abbildung Beziehungstypen M:N Beziehungen 1:N Beziehungen 1:1 Beziehungen rekursive Beziehungen mehrstellige Beziehungen Abbildung schwacher Entity-Typen Abbildung mengenwertiger und komplexer Attribute Abbildung Generalisierung/Spezialisierung Uta Störl Datenbanken 1 WS 2015/16 3-36

Abbildung Generalisierung/Spezialisierung Mitarbeiter PersNr Name Besoldung Professor Techn.Mitarbeiter Abschluss Darstellung im PowerDesigner: Mitarbeiter PersNr Name I VA20 Professor Besoldung A2 TechnMitarbeiter Abschluss VA10 Verschiedene Varianten der Abbildung Uta Störl Datenbanken 1 WS 2015/16 3-37

Abbildung Generalisierung/Spezialisierung Variante 1: Hausklassenmodell Nur für die Spezialisierungen werden Relationenschemata ausgeprägt. PROFESSOR TECHNMITARBEITER PERSNR BESOLDUNG NAME integer character(2) variable character(20) <pk> PERSNR ABSCHLUSS NAME integer variable character(10) variable character(20) <pk> PROF: PERSNR NAME BESOLDUNG 0814 Beckstein C3 0815 Küspert C4 TM: PERSNR NAME ABSCHLUSS 0665 Friedel Dr. rer. nat. 0666 Mäurer Dipl.-Math. Vorteile? Nachteile? Uta Störl Datenbanken 1 WS 2015/16 3-38

Abbildung Generalisierung/Spezialisierung Variante 2: Partitionierungsmodell Sowohl für die Spezialisierungen als auch die Generalisierung werden Relationenschemata ausgeprägt. In den Relationenschemata der Spezialisierungen werden die Primärschlüssel der Generalisierung als Fremdschlüssel (und gleichzeitig Primärschlüssel) übernommen. MITARBEITER: PERSNR NAME PERSNR NAME MITARBEITER integer variable character(20) <pk> 0665 Friedel 0666 Mäurer 0814 Beckstein 0815 Küspert PERSNR = PERSNR PERSNR = PERSNR PERSNR BESOLDUNG PROFESSOR integer character(2) <pk,fk> PERSNR ABSCHLUSS TECHNMITARBEITER integer variable character(10) <pk,fk> PROF: PERSNR BESOLDUNG 0814 C3 0815 C4 Vorteile? Nachteile? TM: PERSNR ABSCHLUSS 0665 Dr. rer. nat. 0666 Dipl.-Math. Uta Störl Datenbanken 1 WS 2015/16 3-39

Abbildung Generalisierung/Spezialisierung Variante 3: Volle Redundanz Sowohl für die Spezialisierungen als auch die Generalisierung werden Relationenschemata ausgeprägt In den Relationenschemata der Spezialisierungen werden alle Attribute der Generalisierung übernommen und die übernommenen Primärschlüssel als Fremdschlüssel (und Primärschlüssel) definiert. PERSNR NAME MITARBEITER integer variable character(20) <pk> MITARBEITER: PERSNR NAME 0665 Friedel 0666 Mäurer PERSNR = PERSNR PROFESSOR PERSNR = PERSNR TECHNMITARBEITER 0814 Beckstein 0815 Küspert PERSNR NAME BESOLDUNG integer variable character(20) character(2) <pk,fk> PERSNR NAME ABSCHLUSS integer variable character(20) variable character(10) <pk,fk> PROF: PERSNR NAME BESOLDUNG 0814 Beckstein C3 0815 Küspert C4 Vorteile? Nachteile? TM: PERSNR NAME ABSCHLUSS 0665 Friedel Dr. rer. nat. 0666 Mäurer Dipl.-Math. Uta Störl Datenbanken 1 WS 2015/16 3-40

Abbildung Generalisierung/Spezialisierung Variante 4: Hierarchierelation Es wird nur ein Relationenschema für die Generalisierung ausgeprägt Zusätzliches Attribut zur Typidentifikation Nullwerte für Attribute, welche in der zugehörigen Klasse nicht vorhanden sind. MITARBEITER PERSNR NAME ABSCHLUSS BESOLDUNG integer variable character(20) variable character(10) character(2) <pk> Vorteile? Nachteile? MITARBEITER: PERSNR TYP NAME ABSCHLUSS BESOLDUNG 0665 TechnMit Friedel Dr. rer. nat. - 0666 TechnMit Mäurer Dipl.-Math. - 0814 Professor Beckstein - C3 0815 Professor Küspert - C4 Uta Störl Datenbanken 1 WS 2015/16 3-41

Abbildung Generalisierung / Spezialisierung Vier verschiedene Varianten der Abbildung Vor- und Nachteile bezüglich Performance beim Zugriff auf generalisierte / spezialisierte Daten Beziehungen zu anderen Klassen Datenredundanz Speicherbedarf Uta Störl Datenbanken 1 WS 2015/16 3-42

Abbildung Generalisierung/Spezialisierung Uta Störl Datenbanken 1 WS 2015/16 3-43

Zusammenfassung Relation (Tabelle) alle Informationen werden ausschließlich durch atomare Werte dargestellt Integritätsbedingungen werden auf/zwischen Relationen definiert Referentielle Integrität als wertebasierte Beziehung Kardinalitätsrestriktionen außer 0, 1 und * können nicht abgebildet werden Abbildung von Beziehungen durch Primärschlüssel/Fremdschlüssel Alle Beziehungstypen müssen durch 1:N Beziehungen dargestellt werden M:N Beziehungstypen werden durch eigene Relationenschemata abgebildet 1:N Beziehungstypen müssen nicht als eigene Relationenschema abgebildet werden 1:1 Beziehungstypen müssen nicht als eigene Relationenschema abgebildet werden; u.u. ist eine Zusammenfassung der beiden aus den Entity-Typen entstandenen Relationenschemata sinnvoll. Verschiedene Abbildungsmöglichkeiten für Generalisierung/Spezialisierung (Konzept nicht wirklich kompatibel mit Relationenmodell) Uta Störl Datenbanken 1 WS 2015/16 3-44

Kapitel 3: Relationenmodell Grundlagen des Relationenmodell Abbildung des Entity-Relationship-Modells auf das Relationenmodell Normalformen Uta Störl Datenbanken 1 WS 2015/16 3-45

Normalisierung von Relationenschemata Ziel/Motivation Vermeidung von Anomalien in Relationenschemata Anomalien: Zustände in relationalen Datenbanken, in denen die Veränderung von Daten zu Datenbankzuständen führt, die nicht die gewünschte Realität darstellt Unterscheidung zwischen Einfüge-, Änderungs- und Lösch- Anomalie Weg Vermeidung von Anomalien in Relationenschemata wird erreicht durch systematische Vorgehensweise beim konzeptionellen Datenbankentwurf (ERM) und bei der Abbildung zum Relationalen Modell Entfernung von Anomalien ist nötig, wenn nicht systematisch modelliert wurde Uta Störl Datenbanken 1 WS 2015/16 3-46

Normalformen: Übersicht Es existieren verschiedene Normalformen, welche jeweils aufeinander aufbauen (d.h. jede Normalform fordert, dass die vorhergehende Normalform erfüllt ist): 1NF (1. Normalform) 2NF (2. Normalform) 3NF (3. Normalform) BCNF (Boyce-Codd-Normalform) 4NF (4. Normalform) 5NF (5. Normalform) Praktisch relevant sind insbesondere die ersten drei Normalformen! Uta Störl Datenbanken 1 WS 2015/16 3-47

Erste Normalform (1NF) Eine Relationenschema ist in erster Normalform, wenn alle Attribute des Schemas elementar sind. Für Attributwerte sind nur einfache Datentypen erlaubt, z.b. integer, real, string etc. Listen, Mengen oder Relationen als Attribute sind nicht erlaubt (z.b. record- oder array-typen). Entspricht der bisher verwendeten Definition des relationalen Modells Uta Störl Datenbanken 1 WS 2015/16 3-48

Einfüge-Anomalie (Insert-Anomalie) Toepferprodukt_Markt Prod-Nr Produktart Funktion Verkaufsmarkt Marktstandort marktspez.preis 11022 Tee-Service Gebrauch Internat. Tonmarkt Strasbourg 200 10622 Kaffee-Service Gebrauch Internat. Tonmarkt Strasbourg 200 20131 Schale Deko Rheinischer Tonmarkt Mainz 80 20131 Schale Deko Odenwälder Töpferwelt Erbach 50 20131 Schale Deko Internat. Tonmarkt Strasbourg 120 40030 Krug Deko Internat. Tonmarkt Strasbourg 100 40031 Krug Deko Odenwälder Töpferwelt Erbach 80 Ein neues Produkt wird eingeführt, aber noch nicht auf den Markt gebracht Einfügen Produkt (33033, Schüssel, Gebrauch) Problem? Ursache? Uta Störl Datenbanken 1 WS 2015/16 3-49

Änderungs-Anomalie (Update-Anomalie) Toepferprodukt_Markt Prod-Nr Produktart Funktion Verkaufsmarkt Marktstandort marktspez.preis 11022 Tee-Service Gebrauch Internat. Tonmarkt Strasbourg 200 10622 Kaffee-Service Gebrauch Internat. Tonmarkt Strasbourg 200 20131 Schale Deko Rheinischer Tonmarkt Mainz 80 20131 Schale Deko Odenwälder Töpferwelt Erbach 50 20131 Schale Deko Internat. Tonmarkt Strasbourg 120 40030 Krug Deko Internat. Tonmarkt Strasbourg 100 40031 Krug Deko Odenwälder Töpferwelt Erbach 80 Der Verkaufsmarkt Odenwälder Töpferwelt wird von Erbach nach Michelstadt verlegt Problem? Ursache? Uta Störl Datenbanken 1 WS 2015/16 3-50

Lösch-Anomalie (Delete-Anomalie) Toepferprodukt_Markt Prod-Nr Produktart Funktion Verkaufsmarkt Marktstandort marktspez.preis 11022 Tee-Service Gebrauch Internat. Tonmarkt Strasbourg 200 10622 Kaffee-Service Gebrauch Internat. Tonmarkt Strasbourg 200 20131 Schale Deko Rheinischer Tonmarkt Mainz 80 20131 Schale Deko Odenwälder Töpferwelt Erbach 50 20131 Schale Deko Internat. Tonmarkt Strasbourg 120 40030 Krug Deko Internat. Tonmarkt Strasbourg 100 40031 Krug Deko Odenwälder Töpferwelt Erbach 80 Produkt 20131 soll aus dem Programm genommen werden Löschen des Tupels mit der Prod-Nr 20131 Problem? Ursache? Uta Störl Datenbanken 1 WS 2015/16 3-51

Ursachen von Anomalien Redundante Datenhaltung: Beispiele: jedes Produkt ist mehrfach mit allen Attributen abgespeichert jeder Verkaufsmarkt ist mehrfach mit allen Attributen abgespeichert. Ungünstige funktionale Abhängigkeiten: Beispiel: Produktart hängt funktional nur von der Produkt-Nr ab, aber nicht von Verkaufsmarkt (welcher ebenfalls Bestandteil des Schlüssels ist) Uta Störl Datenbanken 1 WS 2015/16 3-52

Funktionale Abhängigkeit Funktionale Abhängigkeit: Eine Menge Y von Attributen {y 1, y 2,, y n } ist funktional abhängig von einer Menge X von Attributen {x 1, x 2,, x n }, wenn es eine Funktion zwischen X und Y gibt, d.h. für alle {x 1, x 2,, x n } Elemente aus X gibt es genau ein {y 1, y 2,, y n } aus Y. Mit anderen Worten: In einer Relation ist eine Attribut(-kombination) Y funktional abhängig von einer Attribut(-kombination) X, wenn für gleiche X-Werte jeweils gleiche Y- Werte vorhanden sind, d.h. unterscheiden sich zwei Tupel in den X- Attributen nicht, so haben sie auch gleiche Werte für alle Y-Attribute Notation für funktionale Abhängigkeit (functional dependency, FD) X Y bzw. {x 1, x 2,, x n } {y 1, y 2,, y n } Uta Störl Datenbanken 1 WS 2015/16 3-53

Funktionale Abhängigkeit Beispiel Toepferprodukt_Markt Prod-Nr Produktart Funktion Verkaufsmarkt Marktstandort marktspez.preis 11022 Tee-Service Gebrauch Internat. Tonmarkt Strasbourg 200 10622 Kaffee-Service Gebrauch Internat. Tonmarkt Strasbourg 200 20131 Schale Deko Rheinischer Tonmarkt Mainz 80 20131 Schale Deko Odenwälder Töpferwelt Erbach 50 20131 Schale Deko Internat. Tonmarkt Strasbourg 120 40030 Krug Deko Internat. Tonmarkt Strasbourg 100 40031 Krug Deko Odenwälder Töpferwelt Erbach 80 T_M (PRODNR, PRODART, FUNKTION, VERKAUFSMARKT, MARKSTANDORT, MARKTSPEZPREIS) Funktionale Abhängigkeiten: Uta Störl Datenbanken 1 WS 2015/16 3-54

Funktionale Abhängigkeit - Schlüssel Formalisierung des Schlüsselbegriffs: Konzept der vollen funktionalen Abhängigkeit: Eine Menge Y von Attributen {y 1, y 2,, y n } ist voll funktional abhängig von einer Menge X von Attributen {x 1, x 2,, x n }, wenn Y funktional abhängig von X ist, d.h. X Y und X nicht mehr verkleinert werden kann, d.h. für alle x i X: X-{x i } Y Falls Relation R voll funktional abhängig von X, so bezeichnet man X als Schlüsselkandidat von R. Im allgemeinen wird aus den Schlüsselkandidaten der Primärschlüssel ausgewählt. Uta Störl Datenbanken 1 WS 2015/16 3-55

Zweite Normalform (2NF) Eine Relationenschema ist in zweiter Normalform, wenn es in erster Normalform ist und jedes Nichtschlüsselattribut voll funktional von jedem Schlüsselkandidat abhängt (und nicht nur von einem Teilschlüssel). Bemerkungen Abhängigkeiten von einem Teil des Schlüssels (bei zusammengesetzten Schlüsseln) führen zur Anomalien. Intuitive Formulierung: ein Relationenschema verletzt die zweite Normalform (2NF), wenn in der Relation Informationen über mehr als ein Konzept modelliert werden. Hinweis: Relationenschemata, die in 1NF sind und deren Schlüssel aus einem Attribut bestehen, sind in 2NF (folgt aus der Definition). Uta Störl Datenbanken 1 WS 2015/16 3-56

Verletzung der 2NF Toepferprodukt_Markt Prod-Nr Produktart Funktion Verkaufsmarkt Marktstandort marktspez.preis 11022 Tee-Service Gebrauch Internat. Tonmarkt Strasbourg 200 10622 Kaffee-Service Gebrauch Internat. Tonmarkt Strasbourg 200 20131 Schale Deko Rheinischer Tonmarkt Mainz 80 20131 Schale Deko Odenwälder Töpferwelt Erbach 50 20131 Schale Deko Internat. Tonmarkt Strasbourg 120 40030 Krug Deko Internat. Tonmarkt Strasbourg 100 40031 Krug Deko Odenwälder Töpferwelt Erbach 80 Welche Attribute sind von Schlüsselkandidaten voll funktional abhängig? Welche Attribute sind von Schlüsselteilen voll funktional abhängig? Uta Störl Datenbanken 1 WS 2015/16 3-57

Vorgehen zur Auflösung zur 2NF Für jeden(!) Teilschlüssel für den voll funktional abhängige Attribute existieren: 1. neue Relation anlegen, welche den Teilschlüssel und die von diesem voll funktional abhängigen Attribute enthält 2. abhängige Attribute aus der Originalrelation entfernen 3. Teilschlüssel in Originalrelation als Schlüssel und außerdem als Fremdschlüssel auf neue Relation deklarieren Uta Störl Datenbanken 1 WS 2015/16 3-58

Auflösung zur 2NF Toepferprodukt_Markt Prod-Nr Produktart Funktion Verkaufsmarkt Marktstandort marktspez.preis 11022 Tee-Service Gebrauch Internat. Tonmarkt Strasbourg 200 10622 Kaffee-Service Gebrauch Internat. Tonmarkt Strasbourg 200 20131 Schale Deko Rheinischer Tonmarkt Mainz 80 20131 Schale Deko Odenwälder Töpferwelt Erbach 50 20131 Schale Deko Internat. Tonmarkt Strasbourg 120 40030 Krug Deko Internat. Tonmarkt Strasbourg 100 40031 Krug Deko Odenwälder Töpferwelt Erbach 80 Toepferprodukt Prod-Nr Produktart Funktion 11022 Tee-Service Gebrauch 10622 Kaffee-Service Gebrauch 20131 Schale Deko 40030 Krug Deko 40031 Krug Deko Toepfermarkt Verkaufsmarkt Toepferprodukt_Markt_Neu Prod-Nr Verkaufsmarkt marktspez.preis 11022 Internat. Tonmarkt 200 10622 Internat. Tonmarkt 200 20131 Rheinischer Töpfermarkt 80 20131 Odenwälder Töpferwelt 50 20131 Internat. Tonmarkt 120 40030 Internat. Tonmarkt 100 40031 Odenwälder Töpferwelt 80 Marktstandort Internat. Tonmarkt Strasbourg Rheinischer Töpfermarkt Mainz Uta Störl Odenwälder Datenbanken Töpferwelt 1 WS 2015/16 Erbach 3-59

Beispiel zur 2NF PRÜFUNG (MATRNR, LVNR, LVBEZEICHNUNG, DOZENT, RAUM, NOTE) Annahme: jede Vorlesung wird von genau einem Dozenten gehalten und findet in genau einem Raum statt. Ist das Schema in 2NF? (Welche Attribute sind von Schlüsselteilen voll funktional abhängig?) Ggf. Auflösung zur 2NF Uta Störl Datenbanken 1 WS 2015/16 3-60

Dritte Normalform (3NF) Eine Relationenschema ist in dritter Normalform, wenn es in zweiter Normalform ist und kein Nichtschlüsselattribut transitiv von einem Schlüssel abhängt. Eine Attributmenge C hängt von einer Attributmenge A transitiv ab, wenn es eine Attributmenge B gibt, so dass gilt: A B und B C. Anders ausgedrückt: ein Nichtschlüsselattribut darf nicht voll funktional abhängig von anderen Nichtschlüsselattributen sein, sondern nur von Schlüsselattributen Indirekte Abhängigkeiten vom Schlüssel über Nichtschlüsselattribute bedeutet i.a. dass der gleiche Fakt mehrfach gespeichert wird, d.h. Redundanz und daraus folgend Anomalien. Beispiel: BESTELLUNG (B-NR, B-DATUM, LIEFERANT-NR, LIEFERANT-NAME, LIEFERANT-ADRESSE) {B-NR} {B-DATUM} {B-NR} {LIEFERANT-NR} {LIEFERANT-NR} {LIEFERANT-NAME} {LIEFERANT-NR} {LIEFERANT-ADRESSE} Uta Störl Datenbanken 1 WS 2015/16 3-61

Vorgehen zur Auflösung zur 3NF Für jede(!) transitiv abhängige Attributmenge C: 1. neue Relation anlegen, welche die transitiv abhängige Attributmenge C und die Attributmenge B (mit A B und B C ) enthält (B wird Schlüssel in neuer Relation) 2. transitiv abhängige Attribute aus der Originalrelation entfernen 3. Attributmenge B in der Originalrelation als Fremdschlüssel auf die neue Relation deklarieren Beispiel: BESTELLUNG (B-NR, B-DATUM, LIEFERANT-NR, LIEFERANT-NAME, LIEFERANT-ADRESSE) LIEFERANT (LIEFERANT-NR, LIEFERANT-NAME, LIEFERANT-ADRESSE) BESTELLUNG_NEU (B-NR, B-DATUM, LIEFERANT-NR LIEFERANT) Uta Störl Datenbanken 1 WS 2015/16 3-62

Zusammenfassung Im Relationenmodell ist die 1NF immer erforderlich. Ein Umwandlung in 2NF und 3NF ist immer möglich. Normalisierung gemäß der 2NF und 3NF unterstützt die Gewährleistung referentieller Integrität inbesondere bei schreibenden, d.h. verändernden Zugriffen für lesende Zugriffe ist sie nicht zwingend notwendig. Aber auch: Normalisierung insbesondere 3NF führt u.u. zu reduzierter Laufzeit-Performance (Informationen müssen bei jedem Zugriff u.u. aus mehreren Tabellen zugesammengefügt werden) In der Praxis wird zur Performance-Optimierung teilweise auf 3NF verzichtet ( Denormalisierung ) Empfehlungen Bereits bei der Entity-Relationship-Modellierung normalisiert denken! Zuerst normalisieren und nur bei Performance-Problemen die nachweislich auf die NF zurückzuführen sind, u.u. denormalisieren. Uta Störl Datenbanken 1 WS 2015/16 3-63

Kapitel 3: Relationenmodell Grundlagen des Relationenmodell Abbildung des Entity-Relationship-Modells auf das Relationenmodell Normalformen Uta Störl Datenbanken 1 WS 2015/16 3-64

Vorlesung Datenbanken 1 Ausschnitt aus der realen Welt Konzeptuelles Modell (z.b. ER-Modell) 4 Anwendungsprogramm 5 Logisches Modell (z.b. Relationenmodell) 4 DBMS 6 DB Uta Störl Datenbanken 1 WS 2015/16 3-65