40
Teil IV Datenbankentwurf

Teil IV Datenbankentwurf - dbse.ovgu.de · Logischer Entwurf Sprachmittel:Datenmodell des ausgewählten „Realisierungs“-DBMS z.B. relationales Modell Vorgehensweise: 1 (automatische)

Embed Size (px)

Citation preview

Page 1: Teil IV Datenbankentwurf - dbse.ovgu.de · Logischer Entwurf Sprachmittel:Datenmodell des ausgewählten „Realisierungs“-DBMS z.B. relationales Modell Vorgehensweise: 1 (automatische)

Teil IV

Datenbankentwurf

Page 2: Teil IV Datenbankentwurf - dbse.ovgu.de · Logischer Entwurf Sprachmittel:Datenmodell des ausgewählten „Realisierungs“-DBMS z.B. relationales Modell Vorgehensweise: 1 (automatische)

Datenbankentwurf

Datenbankentwurf

1 Phasen des Datenbankentwurfs

2 Weiteres Vorgehen beim Entwurf

3 Kapazitätserhaltende Abbildungen

4 ER-auf-RM-Abbildung

Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 4–1

Page 3: Teil IV Datenbankentwurf - dbse.ovgu.de · Logischer Entwurf Sprachmittel:Datenmodell des ausgewählten „Realisierungs“-DBMS z.B. relationales Modell Vorgehensweise: 1 (automatische)

Datenbankentwurf

Lernziele für heute . . .

Kenntnisse über Ziele und Ablauf desDatenbankentwurfsprozessesKenntnisse der Regeln zur Abbildung vonER-Schemata auf Relationenschemata

Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 4–2

Page 4: Teil IV Datenbankentwurf - dbse.ovgu.de · Logischer Entwurf Sprachmittel:Datenmodell des ausgewählten „Realisierungs“-DBMS z.B. relationales Modell Vorgehensweise: 1 (automatische)

Datenbankentwurf Phasen des Datenbankentwurfs

Entwurfsaufgabe

Datenhaltung für mehrere Anwendungssysteme und mehrereJahredaher: besondere BedeutungAnforderungen an Entwurf

I Anwendungsdaten jeder Anwendung sollen aus Daten derDatenbank ableitbar sein (und zwar möglichst effizient)

I nur „vernünftige“ (wirklich benötigte) Daten sollen gespeichertwerden

I nicht-redundante Speicherung

Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 4–3

Page 5: Teil IV Datenbankentwurf - dbse.ovgu.de · Logischer Entwurf Sprachmittel:Datenmodell des ausgewählten „Realisierungs“-DBMS z.B. relationales Modell Vorgehensweise: 1 (automatische)

Datenbankentwurf Phasen des Datenbankentwurfs

Phasenmodell

Anforderungsanalyse

KonzeptionellerEntwurf

Verteilungsentwurf

Logischer Entwurf

Datendefinition

Physischer Entwurf

Implementierung &Wartung

Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 4–4

Page 6: Teil IV Datenbankentwurf - dbse.ovgu.de · Logischer Entwurf Sprachmittel:Datenmodell des ausgewählten „Realisierungs“-DBMS z.B. relationales Modell Vorgehensweise: 1 (automatische)

Datenbankentwurf Phasen des Datenbankentwurfs

Anforderungsanalyse

Vorgehensweise: Sammlung des Informationsbedarfs in denFachabteilungenErgebnis:

I informale Beschreibung (Texte, tabellarische Aufstellungen,Formblätter, usw.) des Fachproblems

I Trennen der Information über Daten (Datenanalyse) von denInformation über Funktionen (Funktionsanalyse)

„Klassischer“ DB-Entwurf:I nur Datenanalyse und Folgeschritte

Funktionsentwurf:I siehe Methoden des Software Engineering

Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 4–5

Page 7: Teil IV Datenbankentwurf - dbse.ovgu.de · Logischer Entwurf Sprachmittel:Datenmodell des ausgewählten „Realisierungs“-DBMS z.B. relationales Modell Vorgehensweise: 1 (automatische)

Datenbankentwurf Phasen des Datenbankentwurfs

Konzeptioneller Entwurf

erste formale Beschreibung des FachproblemsSprachmittel: semantisches DatenmodellVorgehensweise:

I Modellierung von Sichten z.B. für verschiedene FachabteilungenI Analyse der vorliegenden Sichten in Bezug auf KonflikteI Integration der Sichten in ein Gesamtschema

Ergebnis: konzeptionelles Gesamtschema, z.B. ER-Diagramm

Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 4–6

Page 8: Teil IV Datenbankentwurf - dbse.ovgu.de · Logischer Entwurf Sprachmittel:Datenmodell des ausgewählten „Realisierungs“-DBMS z.B. relationales Modell Vorgehensweise: 1 (automatische)

Datenbankentwurf Phasen des Datenbankentwurfs

Phasen des konzeptionellen Entwurf

Sichtenentwurf

Sichtenanalyse

Sichtenintegration

konzeptioneller Entwurf

Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 4–7

Page 9: Teil IV Datenbankentwurf - dbse.ovgu.de · Logischer Entwurf Sprachmittel:Datenmodell des ausgewählten „Realisierungs“-DBMS z.B. relationales Modell Vorgehensweise: 1 (automatische)

Datenbankentwurf Weiteres Vorgehen beim Entwurf

Weiteres Vorgehen beim Entwurf

ER-Modellierung von verschiedenen Sichten aufGesamtinformation, z.B. für verschiedene Fachabteilungen einesUnternehmens konzeptueller Entwurf

I Analyse und Integration der SichtenI Ergebnis: konzeptionelles Gesamtschema

Verteilungsentwurf bei verteilter SpeicherungAbbildung auf konkretes Implementierungsmodell (z.B.Relationenmodell) logischer EntwurfDatendefinition, Implementierung und Wartung physischerEntwurf

Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 4–8

Page 10: Teil IV Datenbankentwurf - dbse.ovgu.de · Logischer Entwurf Sprachmittel:Datenmodell des ausgewählten „Realisierungs“-DBMS z.B. relationales Modell Vorgehensweise: 1 (automatische)

Datenbankentwurf Weiteres Vorgehen beim Entwurf

Sichtenintegration

Analyse der vorliegenden Sichten in Bezug auf KonflikteIntegration der Sichten in ein Gesamtschema

Sicht #1 Sicht #2

Sicht #3

GlobalesSchema

Konsoli-

dierung

Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 4–9

Page 11: Teil IV Datenbankentwurf - dbse.ovgu.de · Logischer Entwurf Sprachmittel:Datenmodell des ausgewählten „Realisierungs“-DBMS z.B. relationales Modell Vorgehensweise: 1 (automatische)

Datenbankentwurf Weiteres Vorgehen beim Entwurf

Integrationskonflikte

Namenskonflikte: Homonyme / SynonymeI Homonyme: Schloss; KundeI Synonyme: Auto, KFZ, Fahrzeug

Typkonflikte: verschiedene Strukturen für das gleiche ElementWertebereichskonflikte: verschiedene Wertebereiche für einElementBedingungskonflikte: z.B. verschiedene Schlüssel für einElementStrukturkonflikte: gleicher Sachverhalt durch unterschiedlicheKonstrukte ausgedrückt

Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 4–10

Page 12: Teil IV Datenbankentwurf - dbse.ovgu.de · Logischer Entwurf Sprachmittel:Datenmodell des ausgewählten „Realisierungs“-DBMS z.B. relationales Modell Vorgehensweise: 1 (automatische)

Datenbankentwurf Weiteres Vorgehen beim Entwurf

Verteilungsentwurf

sollen Daten auf mehreren Rechnern verteilt vorliegen, muss Artund Weise der verteilten Speicherung festgelegt werdenz.B. bei einer RelationKUNDE (KNr, Name, Adresse, PLZ, Konto)

I horizontale Verteilung:KUNDE_1 (KNr, Name, Adresse, PLZ, Konto)where PLZ < 50.000KUNDE_2 (KNr, Name, Adresse, PLZ, Konto)where PLZ >= 50.000

I vertikale Verteilung (Verbindung über KNr Attribut):KUNDE_Adr (KNr, Name, Adresse, PLZ)KUNDE_Konto (KNr, Konto)

Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 4–11

Page 13: Teil IV Datenbankentwurf - dbse.ovgu.de · Logischer Entwurf Sprachmittel:Datenmodell des ausgewählten „Realisierungs“-DBMS z.B. relationales Modell Vorgehensweise: 1 (automatische)

Datenbankentwurf Weiteres Vorgehen beim Entwurf

Logischer Entwurf

Sprachmittel: Datenmodell des ausgewählten„Realisierungs“-DBMS z.B. relationales ModellVorgehensweise:

1 (automatische) Transformation des konzeptionellen Schemas z.B.ER→ relationales Modell

2 Verbesserung des relationalen Schemas anhand von Gütekriterien(Normalisierung, siehe Kapitel 5):Entwurfsziele: Redundanzvermeidung, . . .

Ergebnis: logisches Schema, z.B. Sammlung vonRelationenschemata

Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 4–12

Page 14: Teil IV Datenbankentwurf - dbse.ovgu.de · Logischer Entwurf Sprachmittel:Datenmodell des ausgewählten „Realisierungs“-DBMS z.B. relationales Modell Vorgehensweise: 1 (automatische)

Datenbankentwurf Weiteres Vorgehen beim Entwurf

Datendefinition

Umsetzung des logischen Schemas in ein konkretes SchemaSprachmittel: DDL und DML eines DBMS z.B. Oracle, DB2, SQLServer

I Datenbankdeklaration in der DDL des DBMSI Realisierung der IntegritätssicherungI Definition der Benutzersichten

Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 4–13

Page 15: Teil IV Datenbankentwurf - dbse.ovgu.de · Logischer Entwurf Sprachmittel:Datenmodell des ausgewählten „Realisierungs“-DBMS z.B. relationales Modell Vorgehensweise: 1 (automatische)

Datenbankentwurf Weiteres Vorgehen beim Entwurf

Physischer Entwurf

Ergänzen des physischen Entwurfs um Zugriffsunterstützung bzgl.Effizienzverbesserung, z.B. Definition von IndexenIndex

I Zugriffspfad: Datenstruktur für zusätzlichen, schlüsselbasiertenZugriff auf Tupel (〈Schlüsselattributwert, Tupeladresse〉)

I meist als B*-Baum realisiert

Sprachmittel: Speicherstruktursprache SSL

Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 4–14

Page 16: Teil IV Datenbankentwurf - dbse.ovgu.de · Logischer Entwurf Sprachmittel:Datenmodell des ausgewählten „Realisierungs“-DBMS z.B. relationales Modell Vorgehensweise: 1 (automatische)

Datenbankentwurf Weiteres Vorgehen beim Entwurf

Indexe in SQL

create [ unique ] index indexname

on relname (

attrname [ asc | desc ],

attrname [ asc | desc ],

...

)

Beispiel

create index WeinIdx on WEINE (Name)

Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 4–15

Page 17: Teil IV Datenbankentwurf - dbse.ovgu.de · Logischer Entwurf Sprachmittel:Datenmodell des ausgewählten „Realisierungs“-DBMS z.B. relationales Modell Vorgehensweise: 1 (automatische)

Datenbankentwurf Weiteres Vorgehen beim Entwurf

Notwendigkeit für Zugriffspfade

Beispiel: Tabelle mit 100 GB Daten, Festplattentransferrate ca. 50MB/sOperation: Suchen eines Tupels (Selektion)Implementierung: sequentielles DurchsuchenAufwand: 102.400/50 = 2.048 sec. ≈ 34 min.

Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 4–16

Page 18: Teil IV Datenbankentwurf - dbse.ovgu.de · Logischer Entwurf Sprachmittel:Datenmodell des ausgewählten „Realisierungs“-DBMS z.B. relationales Modell Vorgehensweise: 1 (automatische)

Datenbankentwurf Weiteres Vorgehen beim Entwurf

Implementierung und Wartung

PhasenI der Wartung,I der weiteren Optimierung der physischen Ebene,I der Anpassung an neue Anforderungen und Systemplattformen,I der Portierung auf neue DatenbankmanagementsystemeI etc.

Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 4–17

Page 19: Teil IV Datenbankentwurf - dbse.ovgu.de · Logischer Entwurf Sprachmittel:Datenmodell des ausgewählten „Realisierungs“-DBMS z.B. relationales Modell Vorgehensweise: 1 (automatische)

Datenbankentwurf Kapazitätserhaltende Abbildungen

Umsetzung des konzeptionellen Schemas

Umsetzung auf logisches SchemaI Beispiel: ER→ RMI korrekt?I Qualität der Abbildung?

Erhaltung der InformationskapazitätI Kann man nach der Abbildung genau die selben Daten

abspeichern wie vorher?I ... oder etwa mehr?I ... oder etwa weniger?

Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 4–18

Page 20: Teil IV Datenbankentwurf - dbse.ovgu.de · Logischer Entwurf Sprachmittel:Datenmodell des ausgewählten „Realisierungs“-DBMS z.B. relationales Modell Vorgehensweise: 1 (automatische)

Datenbankentwurf Kapazitätserhaltende Abbildungen

Kapazitätserhöhende Abbildung

Lizenz besitzt Erzeuger

WeingutLizenzNo

Abbildung aufR = {LizenzNo, Weingut}

mit genau einem Schlüssel

K = {{LizenzNo}}mögliche ungültige Relation:

BESITZT LizenzNo Weingut

007 Helena42 Helena

Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 4–19

Page 21: Teil IV Datenbankentwurf - dbse.ovgu.de · Logischer Entwurf Sprachmittel:Datenmodell des ausgewählten „Realisierungs“-DBMS z.B. relationales Modell Vorgehensweise: 1 (automatische)

Datenbankentwurf Kapazitätserhaltende Abbildungen

Kapazitätserhaltende Abbildung

Lizenz besitzt Erzeuger

WeingutLizenzNo

korrekte AusprägungBESITZT LizenzNo Weingut

007 Helena42 Müller

korrekte Schlüsselmenge

K = {{LizenzNo}, {Weingut}}

Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 4–20

Page 22: Teil IV Datenbankentwurf - dbse.ovgu.de · Logischer Entwurf Sprachmittel:Datenmodell des ausgewählten „Realisierungs“-DBMS z.B. relationales Modell Vorgehensweise: 1 (automatische)

Datenbankentwurf Kapazitätserhaltende Abbildungen

Kapazitätsvermindernde Abbildung

Wein enthält Rebsorte

SortennameWName

Relationenschema mit einem Schlüssel {WName}als Ausprägung nicht mehr möglich:

ENTHÄLT WName Sortenname

Zinfandel Red Blossom ZinfandelBordeaux Blanc Cabernet SauvignonBordeaux Blanc Muscadelle

kapazitätserhaltend mit Schlüssel beider Entity-Typen imRelationenschema als neuer Schlüssel

K = {{WName, Sortenname}}

Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 4–21

Page 23: Teil IV Datenbankentwurf - dbse.ovgu.de · Logischer Entwurf Sprachmittel:Datenmodell des ausgewählten „Realisierungs“-DBMS z.B. relationales Modell Vorgehensweise: 1 (automatische)

Datenbankentwurf ER-auf-RM-Abbildung

Beispielabbildung ER-RM: Eingabe

Rebsorte

Wein

produziertErzeuger

enthält

Anteil

SortennameFarbe

Weingut Adresse

Restsüße

Farbe

Jahrgang

WName

Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 4–22

Page 24: Teil IV Datenbankentwurf - dbse.ovgu.de · Logischer Entwurf Sprachmittel:Datenmodell des ausgewählten „Realisierungs“-DBMS z.B. relationales Modell Vorgehensweise: 1 (automatische)

Datenbankentwurf ER-auf-RM-Abbildung

Beispielabbildung ER-RM: Ergebnis

1 REBSORTE = {Farbe, Sortenname} mitKREBSORTE = {{Sortenname}}

2 ENTHÄLT = {Sortenname, WName, Anteil} mitKENTHÄLT = {{Sortenname, WName}}

3 WEIN = {Farbe, WName, Jahrgang, Restsüße} mitKWEIN = {{WName}}

4 PRODUZIERT = {WName, Weingut} mit KPRODUZIERT = {{WName}}5 ERZEUGER = {Weingut, Adresse} mit KERZEUGER = {{Weingut}}

Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 4–23

Page 25: Teil IV Datenbankentwurf - dbse.ovgu.de · Logischer Entwurf Sprachmittel:Datenmodell des ausgewählten „Realisierungs“-DBMS z.B. relationales Modell Vorgehensweise: 1 (automatische)

Datenbankentwurf ER-auf-RM-Abbildung

ER-Abbildung auf Relationen

Entity-Typen und Beziehungstypen: jeweils aufRelationenschemataAttribute: Attribute des Relationenschemas, Schlüssel werdenübernommenKardinalitäten der Beziehungen: durch Wahl der Schlüssel beiden zugehörigen Relationenschemata ausgedrücktin einigen Fällen: Verschmelzen der Relationenschemata vonEntity- und Beziehungstypenzwischen den verbleibenden Relationenschemata diverseFremdschlüsselbedingungen einführen

Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 4–24

Page 26: Teil IV Datenbankentwurf - dbse.ovgu.de · Logischer Entwurf Sprachmittel:Datenmodell des ausgewählten „Realisierungs“-DBMS z.B. relationales Modell Vorgehensweise: 1 (automatische)

Datenbankentwurf ER-auf-RM-Abbildung

Abbildung von Beziehungstypen

neues Relationenschema mit allen Attributen des Beziehungstyps,zusätzlich Übernahme aller Primärschlüssel der beteiligten Entity-TypenFestlegung der Schlüssel:

I m:n-Beziehung: beide Primärschlüssel zusammen werdenSchlüssel im neuen Relationenschema

I 1:n-Beziehung: Primärschlüssel der n-Seite (bei der funktionalenNotation die Seite ohne Pfeilspitze) wird Schlüssel im neuenRelationenschema

I 1:1-Beziehung: beide Primärschlüssel werden je ein Schlüssel imneuen Relationenschema, der Primärschlüssel wird dann ausdiesen Schlüsseln gewählt

Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 4–25

Page 27: Teil IV Datenbankentwurf - dbse.ovgu.de · Logischer Entwurf Sprachmittel:Datenmodell des ausgewählten „Realisierungs“-DBMS z.B. relationales Modell Vorgehensweise: 1 (automatische)

Datenbankentwurf ER-auf-RM-Abbildung

n:m-Beziehungen

Wein enthält Rebsorte

Sortenname Farbe

WName

Restsüße

Farbe

Jahrgang

Anteil

Umsetzung1 REBSORTE = {Farbe, Sortenname} mit KREBSORTE = {{Sortenname}}2 ENTHÄLT = {Sortenname, WName, Anteil} mit

KENTHÄLT = {{Sortenname, WName}}3 WEIN = {Farbe, WName, Jahrgang, Restsüße} mit KWEIN = {{WName}}

Attribute Sortenname und WName sind gemeinsam Schlüssel

Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 4–26

Page 28: Teil IV Datenbankentwurf - dbse.ovgu.de · Logischer Entwurf Sprachmittel:Datenmodell des ausgewählten „Realisierungs“-DBMS z.B. relationales Modell Vorgehensweise: 1 (automatische)

Datenbankentwurf ER-auf-RM-Abbildung

1:n-Beziehungen

Anbaugebietsitzt inErzeuger

Adresse RegionWeingut Name

Umsetzung (zunächst)I ERZEUGER mit den Attributen Weingut und Adresse,I ANBAUGEBIET mit den Attributen Name und Region undI SITZT_IN mit den Attributen Weingut und Name und dem

Primärschlüssel der n-Seite Weingut als Primärschlüssel diesesSchemas.

Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 4–27

Page 29: Teil IV Datenbankentwurf - dbse.ovgu.de · Logischer Entwurf Sprachmittel:Datenmodell des ausgewählten „Realisierungs“-DBMS z.B. relationales Modell Vorgehensweise: 1 (automatische)

Datenbankentwurf ER-auf-RM-Abbildung

Mögliche Verschmelzungen

optionale Beziehungen ([0,1] oder [0,n]) werden nichtverschmolzenbei Kardinalitäten [1,1] oder [1,n] (zwingende Beziehungen)Verschmelzung möglich:

I 1:n-Beziehung: das Entity-Relationenschema der n-Seite kann indas Relationenschema der Beziehung integriert werden

I 1:1-Beziehung: beide Entity-Relationenschemata können in dasRelationenschema der Beziehung integriert werden

Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 4–28

Page 30: Teil IV Datenbankentwurf - dbse.ovgu.de · Logischer Entwurf Sprachmittel:Datenmodell des ausgewählten „Realisierungs“-DBMS z.B. relationales Modell Vorgehensweise: 1 (automatische)

Datenbankentwurf ER-auf-RM-Abbildung

1:1-Beziehungen

Lizenz besitzt Erzeuger

Weingut AdresseHektoLiterLizenzNo

Umsetzung (zunächst)I ERZEUGER mit den Attributen Weingut und AdresseI LIZENZ mit den beiden Attributen LizenzNo und HektoliterI BESITZT mit den Primärschlüsseln der beiden beteiligten Entity-

Typen jeweils als Schlüssel dieses Schemas, also LizenzNo undWeingut

Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 4–29

Page 31: Teil IV Datenbankentwurf - dbse.ovgu.de · Logischer Entwurf Sprachmittel:Datenmodell des ausgewählten „Realisierungs“-DBMS z.B. relationales Modell Vorgehensweise: 1 (automatische)

Datenbankentwurf ER-auf-RM-Abbildung

1:1-Beziehungen: Verschmelzung

Umsetzung mit VerschmelzungI verschmolzene Relation:

ERZEUGER Weingut Adresse LizenzNo Hektoliter

Rotkäppchen Freiberg 42-007 10.000Weingut Müller Dagstuhl 42-009 250

I Erzeuger ohne Lizenz erfordern Nullwerte:

ERZEUGER Weingut Adresse LizenzNo Hektoliter

Rotkäppchen Freiberg 42-007 10.000Weingut Müller Dagstuhl ⊥ ⊥

I freie Lizenzen führen zu weiteren Nullwerten:

ERZEUGER Weingut Adresse LizenzNo Hektoliter

Rotkäppchen Freiberg 42-007 10.000Weingut Müller Dagstuhl ⊥ ⊥⊥ ⊥ 42-003 100.000

Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 4–30

Page 32: Teil IV Datenbankentwurf - dbse.ovgu.de · Logischer Entwurf Sprachmittel:Datenmodell des ausgewählten „Realisierungs“-DBMS z.B. relationales Modell Vorgehensweise: 1 (automatische)

Datenbankentwurf ER-auf-RM-Abbildung

Abhängige Entity-Typen

NWeinJahrgang Weingehört-zu1

JahrRestsüße WName Farbe

Umsetzung1 WEINJAHRGANG = {WName, Restsüße, Jahr} mit

KWEINJAHRGANG = {{WName, Jahr}}2 WEIN = {Farbe, WName} mit KWEIN = {{WName}}

I Attribut WName in WEINJAHRGANG ist Fremdschlüssel zur Relation WEIN

Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 4–31

Page 33: Teil IV Datenbankentwurf - dbse.ovgu.de · Logischer Entwurf Sprachmittel:Datenmodell des ausgewählten „Realisierungs“-DBMS z.B. relationales Modell Vorgehensweise: 1 (automatische)

Datenbankentwurf ER-auf-RM-Abbildung

IST-Beziehung

WeinSchaumwein

WName FarbeHerstellung

Umsetzung1 WEIN = {Farbe, WName, Jahrgang, Restsüße} mit KWEIN = {{WName}}2 SCHAUMWEIN = {WName, Herstellung} mit KSCHAUMWEIN = {{WName}}

I WName in SCHAUMWEIN ist Fremdschlüssel bezüglich der Relation WEIN

Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 4–32

Page 34: Teil IV Datenbankentwurf - dbse.ovgu.de · Logischer Entwurf Sprachmittel:Datenmodell des ausgewählten „Realisierungs“-DBMS z.B. relationales Modell Vorgehensweise: 1 (automatische)

Datenbankentwurf ER-auf-RM-Abbildung

Rekursive Beziehungen

Anbaugebiet grenzt-an

nachName

Regionvon

Umsetzung1 ANBAUGEBIET = {Name, Region} mit KANBAUGEBIET = {{Name}}2 GRENZT_AN = {nach, von} mit KGRENZT_AN = {{nach, von}}

Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 4–33

Page 35: Teil IV Datenbankentwurf - dbse.ovgu.de · Logischer Entwurf Sprachmittel:Datenmodell des ausgewählten „Realisierungs“-DBMS z.B. relationales Modell Vorgehensweise: 1 (automatische)

Datenbankentwurf ER-auf-RM-Abbildung

Rekursive funktionale Beziehungen

Kritiker SchülerVon

MentorName

Organisation Schüler

Umsetzung1 KRITIKER = {Name, Organisation, Mentorname} mit

KKRITIKER = {{Name}}

I Mentorname ist Fremdschlüssel auf das Attribut Name der RelationKRITIKER.

Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 4–34

Page 36: Teil IV Datenbankentwurf - dbse.ovgu.de · Logischer Entwurf Sprachmittel:Datenmodell des ausgewählten „Realisierungs“-DBMS z.B. relationales Modell Vorgehensweise: 1 (automatische)

Datenbankentwurf ER-auf-RM-Abbildung

Mehrstellige Beziehungen

Weinempfiehlt

Gericht

Kritiker

WName

Restsüße

Farbe

Jahrgang

Bezeichnung Beilage

Name Organisation

jeder beteiligte Entity-Typ wird nach den obigen Regeln behandeltfür Beziehung Empfiehlt werden Primärschlüssel der drei beteiligten Entity-Typen in das resultierende Relationenschema aufgenommenBeziehung ist allgemeiner Art (k:m:n-Beziehung): alle Primärschlüssel bildenzusammen den Schlüssel

Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 4–35

Page 37: Teil IV Datenbankentwurf - dbse.ovgu.de · Logischer Entwurf Sprachmittel:Datenmodell des ausgewählten „Realisierungs“-DBMS z.B. relationales Modell Vorgehensweise: 1 (automatische)

Datenbankentwurf ER-auf-RM-Abbildung

Mehrstellige Beziehungen: Ergebnis

1 EMPFIEHLT = {WName, Bezeichnung, Name} mitKEMPFIEHLT = {{WName, Bezeichnung, Name}}

2 GERICHT = {Bezeichnung, Beilage} mitKGERICHT = {{Bezeichnung}}

3 WEIN = {Farbe, WName, Jahrgang, Restsüße} mitKWEIN = {{WName}}

4 KRITIKER = {Name, Organisation} mit KKRITIKER = {{Name}}

Die drei Schlüsselattribute von EMPFIEHLT sind Fremdschlüssel fürdie jeweiligen Ursprungsrelationen.

Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 4–36

Page 38: Teil IV Datenbankentwurf - dbse.ovgu.de · Logischer Entwurf Sprachmittel:Datenmodell des ausgewählten „Realisierungs“-DBMS z.B. relationales Modell Vorgehensweise: 1 (automatische)

Datenbankentwurf ER-auf-RM-Abbildung

Übersicht über die TransformationenER-Konzept wird abgebildet auf relationales KonzeptEntity-Typ Ei Relationenschema Ri

Attribute von Ei Attribute von Ri

Primärschlüssel Pi Primärschlüssel Pi

Beziehungstyp RelationenschemaAttribute: P1, P2

dessen Attribute weitere Attribute1 : n P2 wird Primärschlüssel der Beziehung1 : 1 P1 und P2 werden Schlüssel der Beziehungm : n P1 ∪ P2 wird Primärschlüssel der BeziehungIST-Beziehung R1 erhält zusätzlichen Schlüssel P2

E1, E2: an Beziehung beteiligte Entity-Typen,P1, P2: deren Primärschlüssel,1 : n-Beziehung: E2 ist n-Seite,IST-Beziehung: E1 ist speziellerer Entity-Typ

Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 4–37

Page 39: Teil IV Datenbankentwurf - dbse.ovgu.de · Logischer Entwurf Sprachmittel:Datenmodell des ausgewählten „Realisierungs“-DBMS z.B. relationales Modell Vorgehensweise: 1 (automatische)

Datenbankentwurf ER-auf-RM-Abbildung

Zusammenfassung

Phasen des DatenbankentwurfsDatenbankmodell, Datenbankschema, Datenbank(instanz)Entity-Relationship-ModellER-Erweiterungen: Spezialisierung, Generalisierung,Partitionierungweitere Entwurfsschritte

Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 4–38

Page 40: Teil IV Datenbankentwurf - dbse.ovgu.de · Logischer Entwurf Sprachmittel:Datenmodell des ausgewählten „Realisierungs“-DBMS z.B. relationales Modell Vorgehensweise: 1 (automatische)

Datenbankentwurf ER-auf-RM-Abbildung

Kontrollfragen

Welche Schritte umfasst derDatenbankentwurfsprozess?Welche Forderungen müssen dieAbbildungen (Transformationen) zwischenden einzelnen Entwurfsschritten erfüllen?Warum?Wie werden die Konzepte des ER-Modellsauf die des Relationenmodell abgebildet?Wie werden die verschiedenenKardinalitäten von Beziehungstypen beider Abbildung berücksichtigt?

Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 4–39