teil v relationaler entwurf - dbse.ovgu.dei/... · methodik und verfahren zur normalisierung...

52
Teil V Relationaler Entwurf

Upload: trinhliem

Post on 18-Sep-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Teil V Relationaler Entwurf - dbse.ovgu.deI/... · Methodik und Verfahren zur Normalisierung Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 5–2. Relationaler Entwurf

Teil V

Relationaler Entwurf

Page 2: Teil V Relationaler Entwurf - dbse.ovgu.deI/... · Methodik und Verfahren zur Normalisierung Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 5–2. Relationaler Entwurf

Relationaler Entwurf

Relationaler Entwurf

1 Zielmodell des logischen Entwurfs

2 Relationaler DB-Entwurf

3 Normalformen

4 Transformationseigenschaften

5 Weitere Abhängigkeiten

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

Page 3: Teil V Relationaler Entwurf - dbse.ovgu.deI/... · Methodik und Verfahren zur Normalisierung Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 5–2. Relationaler Entwurf

Relationaler Entwurf

Lernziele für heute . . .

Kenntnisse zur Verfeinerung desrelationalen EntwurfsVerständnis der NormalformenMethodik und Verfahren zurNormalisierung

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

Page 4: Teil V Relationaler Entwurf - dbse.ovgu.deI/... · Methodik und Verfahren zur Normalisierung Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 5–2. Relationaler Entwurf

Relationaler Entwurf Zielmodell des logischen Entwurfs

RelationenmodellWEINE WeinID Name Farbe Jahrgang Weingut

1042 La Rose Grand Cru Rot 1998 Château La Rose2168 Creek Shiraz Rot 2003 Creek3456 Zinfandel Rot 2004 Helena2171 Pinot Noir Rot 2001 Creek3478 Pinot Noir Rot 1999 Helena4711 Riesling Reserve Weiß 1999 Müller4961 Chardonnay Weiß 2002 Bighorn

ERZEUGER Weingut Anbaugebiet Region

Creek Barossa Valley South AustraliaHelena Napa Valley KalifornienChâteau La Rose Saint-Emilion BordeauxChâteau La Pointe Pomerol BordeauxMüller Rheingau HessenBighorn Napa Valley Kalifornien

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

Page 5: Teil V Relationaler Entwurf - dbse.ovgu.deI/... · Methodik und Verfahren zur Normalisierung Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 5–2. Relationaler Entwurf

Relationaler Entwurf Zielmodell des logischen Entwurfs

Begriffe des Relationenmodells

Begriff Informale BedeutungAttribut Spalte einer TabelleWertebereich mögliche Werte eines Attributs (auch Do-

mäne)Attributwert Element eines WertebereichsRelationenschema Menge von AttributenRelation Menge von Zeilen einer TabelleTupel Zeile einer TabelleDatenbankschema Menge von RelationenschemataDatenbank Menge von Relationen (Basisrelationen)

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

Page 6: Teil V Relationaler Entwurf - dbse.ovgu.deI/... · Methodik und Verfahren zur Normalisierung Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 5–2. Relationaler Entwurf

Relationaler Entwurf Zielmodell des logischen Entwurfs

Begriffe des Relationenmodells /2

Begriff Informale BedeutungSchlüssel minimale Menge von Attributen, deren

Werte ein Tupel einer Tabelle eindeutigidentifizieren

Primärschlüssel ein beim Datenbankentwurf ausge-zeichneter Schlüssel

Fremdschlüssel Attributmenge, die in einer anderenRelation Schlüssel ist

Fremdschlüsselbedingung alle Attributwerte des Fremdschlüsselstauchen in der anderen Relation alsWerte des Schlüssels auf

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

Page 7: Teil V Relationaler Entwurf - dbse.ovgu.deI/... · Methodik und Verfahren zur Normalisierung Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 5–2. Relationaler Entwurf

Relationaler Entwurf Zielmodell des logischen Entwurfs

Formalisierung Relationenmodell

Attribute und DomänenI U nichtleere, endliche Menge: UniversumI A ∈ U : AttributI D = {D1, . . . ,Dm} Menge endlicher, nichtleerer Mengen: jedes Di:

Wertebereich oder DomäneI total definierte Funktion dom : U −→ DI dom(A): Domäne von A

w ∈ dom(A): Attributwert für A

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

Page 8: Teil V Relationaler Entwurf - dbse.ovgu.deI/... · Methodik und Verfahren zur Normalisierung Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 5–2. Relationaler Entwurf

Relationaler Entwurf Zielmodell des logischen Entwurfs

Formalisierung Relationenmodell /2

Relationenschemata und RelationenI R ⊆ U : RelationenschemaI Relation r über R = {A1, . . . ,An} (kurz: r(R)) ist endliche Menge von

Abbildungen t : R −→⋃m

i=1 Di, Tupel genanntI Es gilt t(A) ∈ dom(A) (t(A) Restriktion von t auf A ∈ R)I für X ⊆ R analog t(X) X-Wert von tI Menge aller Relationen über R: REL(R) := {r | r(R)}

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

Page 9: Teil V Relationaler Entwurf - dbse.ovgu.deI/... · Methodik und Verfahren zur Normalisierung Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 5–2. Relationaler Entwurf

Relationaler Entwurf Zielmodell des logischen Entwurfs

Formalisierung Relationenmodell /3

Datenbankschema und DatenbankI Menge von Relationenschemata S := {R1, . . . ,Rp}:

DatenbankschemaI Datenbank über S: Menge von Relationen d := {r1, . . . , rp}, wobei

ri(Ri)I Datenbank d über S: d(S)I Relation r ∈ d: Basisrelation

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

Page 10: Teil V Relationaler Entwurf - dbse.ovgu.deI/... · Methodik und Verfahren zur Normalisierung Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 5–2. Relationaler Entwurf

Relationaler Entwurf Zielmodell des logischen Entwurfs

Integritätsbedingungen

Identifizierende Attributmenge K := {B1, . . . ,Bk} ⊆ R:

∀t1, t2 ∈ r [t1 6= t2 =⇒ ∃B ∈ K : t1(B) 6= t2(B)]

Schlüssel: ist minimale identifizierende AttributmengeI {Name, Jahrgang, Weingut} undI {WeinID} für WEINE

Primattribut: Element eines SchlüsselsPrimärschlüssel: ausgezeichneter SchlüsselOberschlüssel oder Superkey: jede Obermenge eines Schlüssels(= identifizierende Attributmenge)Fremdschlüssel: X(R1)→ Y(R2)

{t(X)|t ∈ r1} ⊆ {t(Y)|t ∈ r2}

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

Page 11: Teil V Relationaler Entwurf - dbse.ovgu.deI/... · Methodik und Verfahren zur Normalisierung Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 5–2. Relationaler Entwurf

Relationaler Entwurf Relationaler DB-Entwurf

Relationaler DB-Entwurf: Überblick

Verfeinern des logischen EntwurfsZiel: Vermeidung von Redundanzen durch Aufspalten vonRelationenschemata, ohne gleichzeitig

I semantische Informationen zu verlieren (Abhängigkeitstreue)I die Möglichkeit zur Rekonstruktion der Relationen zu verlieren

(Verbundtreue)

Redundanzvermeidung durch Normalformen (s.u.)

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

Page 12: Teil V Relationaler Entwurf - dbse.ovgu.deI/... · Methodik und Verfahren zur Normalisierung Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 5–2. Relationaler Entwurf

Relationaler Entwurf Relationaler DB-Entwurf

Relation mit RedundanzenWEINE WeinID Name ... Weingut Anbaugebiet Region

1042 La Rose Gr. Cru . . . Ch. La Rose Saint-Emilion Bordeaux2168 Creek Shiraz . . . Creek Barossa Valley South Australia3456 Zinfandel . . . Helena Napa Valley Kalifornien2171 Pinot Noir . . . Creek Barossa Valley South Australia3478 Pinot Noir . . . Helena Napa Valley Kalifornien4711 Riesling Res. . . . Müller Rheingau Hessen4961 Chardonnay . . . Bighorn Napa Valley Kalifornien

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

Page 13: Teil V Relationaler Entwurf - dbse.ovgu.deI/... · Methodik und Verfahren zur Normalisierung Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 5–2. Relationaler Entwurf

Relationaler Entwurf Relationaler DB-Entwurf

Redundanzen

Redundanzen in Basisrelationen aus mehreren Gründenunerwünscht:

I Redundante Informationen belegen unnötigen SpeicherplatzI Änderungsoperationen auf Basisrelationen mit Redundanzen nur

schwer korrekt umsetzbar: wenn eine Information redundantvorkommt, muss eine Änderung diese Information in allen ihrenVorkommen verändern

F mit normalen relationalen Änderungsoperationen und den inrelationalen Systemen vorkommenden lokalenIntegritätsbedingungen (Schlüsseln) nur schwer realisierbar

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

Page 14: Teil V Relationaler Entwurf - dbse.ovgu.deI/... · Methodik und Verfahren zur Normalisierung Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 5–2. Relationaler Entwurf

Relationaler Entwurf Relationaler DB-Entwurf

Änderungsanomalien

Einfügen in die mit Redundanzen behaftete WEINE-Relation:

insert into WEINE (WeinID, Name, Farbe, Jahrgang,

Weingut, Anbaugebiet, Region)

values (4711, ’Chardonnay’, ’Weiß’, 2004,

’Helena’, ’Rheingau’, ’Kalifornien’)

I WeinID 4711 bereits anderem Wein zugeordnet: verletzt FDWeinID→Name

I Weingut Helena war bisher im Napa Valley angesiedelt: verletzt FDWeingut→Anbaugebiet

I Rheingau liegt nicht in Kalifornien: verletzt FDAnbaugebiet→Region

auch update- und delete-Anomalien

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

Page 15: Teil V Relationaler Entwurf - dbse.ovgu.deI/... · Methodik und Verfahren zur Normalisierung Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 5–2. Relationaler Entwurf

Relationaler Entwurf Relationaler DB-Entwurf

Funktionale Abhängigkeiten

funktionale Abhängigkeit zwischen Attributmengen X und Y einerRelation

Wenn in jedem Tupel der Relation der Attributwert unter den X-Komponenten den Attributwert unter den Y-Komponenten festlegt.

Unterscheiden sich zwei Tupel in den X-Attributen nicht, so habensie auch gleiche Werte für alle Y-AttributeNotation für funktionale Abhängigkeit (FD, von functionaldependency): X→Y

Beispiel:WeinID →Name, Weingut

Anbaugebiet→Region

aber nicht: Weingut→Name

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

Page 16: Teil V Relationaler Entwurf - dbse.ovgu.deI/... · Methodik und Verfahren zur Normalisierung Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 5–2. Relationaler Entwurf

Relationaler Entwurf Relationaler DB-Entwurf

Schlüssel als Spezialfall

für Beispiel auf Folie 5-11

WeinID→Name, Farbe, Jahrgang, Weingut, Anbaugebiet, Region

Immer: WeinID→WeinID,dann gesamtes Schema auf rechter SeiteWenn linke Seite minimal: SchlüsselFormal: Schlüssel X liegt vor, wenn für Relationenschema R FDX→R gilt und X minimal

Ziel des Datenbankentwurfs: alle gegebenen funktionalenAbhängigkeiten in „Schlüsselabhängigkeiten“ umformen, ohne dabeisemantische Information zu verlieren

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

Page 17: Teil V Relationaler Entwurf - dbse.ovgu.deI/... · Methodik und Verfahren zur Normalisierung Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 5–2. Relationaler Entwurf

Relationaler Entwurf Relationaler DB-Entwurf

Ableitung von FDs

r A B Ca1 b1 c1a2 b1 c1a3 b2 c1a4 b1 c1

Tabelle genügt A→B und B→C

dann gilt auch A→C

nicht ableitbar C→A oder C→B

Formalisierung im nächsten Abschnitt!

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

Page 18: Teil V Relationaler Entwurf - dbse.ovgu.deI/... · Methodik und Verfahren zur Normalisierung Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 5–2. Relationaler Entwurf

Relationaler Entwurf Normalformen

Schemaeigenschaften

Relationenschemata, Schlüssel und Fremdschlüssel so wählen,dass

1 alle Anwendungsdaten aus den Basisrelationen hergeleitet werdenkönnen,

2 nur semantisch sinnvolle und konsistente Anwendungsdatendargestellt werden können und

3 die Anwendungsdaten möglichst nicht-redundant dargestelltwerden.

Hier: Forderung 3I Redundanzen innerhalb einer Relation: NormalformenI globale Redundanzen: Minimalität

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

Page 19: Teil V Relationaler Entwurf - dbse.ovgu.deI/... · Methodik und Verfahren zur Normalisierung Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 5–2. Relationaler Entwurf

Relationaler Entwurf Normalformen

Normalformen

legen Eigenschaften von Relationenschemata festverbieten bestimmte Kombinationen von funktionalenAbhängigkeiten in Relationensollen Redundanzen und Anomalien vermeiden

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

Page 20: Teil V Relationaler Entwurf - dbse.ovgu.deI/... · Methodik und Verfahren zur Normalisierung Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 5–2. Relationaler Entwurf

Relationaler Entwurf Normalformen

Erste Normalform

erlaubt nur atomare Attribute in den Relationenschemata, d.h. alsAttributwerte sind Elemente von Standard-Datentypen wieinteger oder string erlaubt, aber keine Konstruktoren wie array

oder setNicht in 1NF:

Weingut Anbaugebiet Region WName

Ch. La Rose Saint-Emilion Bordeaux La Rose Grand CruCreek Barossa Valley South Australia Creek Shiraz, Pinot NoirHelena Napa Valley Kalifornien Zinfandel, Pinot NoirMüller Rheingau Hessen Riesling ReserveBighorn Napa Valley Kalifornien Chardonnay

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

Page 21: Teil V Relationaler Entwurf - dbse.ovgu.deI/... · Methodik und Verfahren zur Normalisierung Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 5–2. Relationaler Entwurf

Relationaler Entwurf Normalformen

Erste Normalform /2

in erster Normalform:

Weingut Anbaugebiet Region WName

Ch. La Rose Saint-Emilion Bordeaux La Rose Grand CruCreek Barossa Valley South Australia Creek ShirazCreek Barossa Valley South Australia Pinot NoirHelena Napa Valley Kalifornien ZinfandelHelena Napa Valley Kalifornien Pinot NoirMüller Rheingau Hessen Riesling ReserveBighorn Napa Valley Kalifornien Chardonnay

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

Page 22: Teil V Relationaler Entwurf - dbse.ovgu.deI/... · Methodik und Verfahren zur Normalisierung Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 5–2. Relationaler Entwurf

Relationaler Entwurf Normalformen

Zweite Normalform

partielle Abhängigkeit liegt vor, wenn ein Attribut funktional schonvon einem Teil des Schlüssels abhängt

Name Weingut Farbe Anbaugebiet Region Preis

La Rose Grand Cru Ch. La Rose Rot Saint-Emilion Bordeaux 39.00Creek Shiraz Creek Rot Barossa Valley South Australia 7.99Pinot Noir Creek Rot Barossa Valley South Australia 10.99Zinfandel Helena Rot Napa Valley Kalifornien 5.99Pinot Noir Helena Rot Napa Valley Kalifornien 19.99Riesling Reserve Müller Weiß Rheingau Hessen 14.99Chardonnay Bighorn Weiß Napa Valley Kalifornien 9.90

f1: Name, Weingut→Preis

f2: Name →Farbe

f3: Weingut →Anbaugebiet, Regionf4: Anbaugebiet →Region

Zweite Normalform eliminiert derartige partielle Abhängigkeitenbei Nichtschlüsselattributen

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

Page 23: Teil V Relationaler Entwurf - dbse.ovgu.deI/... · Methodik und Verfahren zur Normalisierung Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 5–2. Relationaler Entwurf

Relationaler Entwurf Normalformen

Eliminierung partieller AbhängigkeitenSchlüssel K

abhängigesAttribut ATeil des

Schlüssels XSattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 5–22

Page 24: Teil V Relationaler Entwurf - dbse.ovgu.deI/... · Methodik und Verfahren zur Normalisierung Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 5–2. Relationaler Entwurf

Relationaler Entwurf Normalformen

Zweite Normalform /2

Beispielrelation in 2NFR1(Name, Weingut, Preis)

R2(Name, Farbe)

R3(Weingut, Anbaugebiet, Region)

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

Page 25: Teil V Relationaler Entwurf - dbse.ovgu.deI/... · Methodik und Verfahren zur Normalisierung Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 5–2. Relationaler Entwurf

Relationaler Entwurf Normalformen

Dritte Normalform

eliminiert (zusätzlich) transitive Abhängigkeitenetwa Weingut → Anbaugebiet und Anbaugebiet → Region inRelation auf Folie 5-21man beachte: 3NF betrachtet nur Nicht-Schlüsselattribute alsEndpunkt transitiver Abhängigkeiten

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

Page 26: Teil V Relationaler Entwurf - dbse.ovgu.deI/... · Methodik und Verfahren zur Normalisierung Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 5–2. Relationaler Entwurf

Relationaler Entwurf Normalformen

Eliminierung transitiver AbhängigkeitenSchlüssel K

abhängigesAttribut AAttributmenge X

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

Page 27: Teil V Relationaler Entwurf - dbse.ovgu.deI/... · Methodik und Verfahren zur Normalisierung Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 5–2. Relationaler Entwurf

Relationaler Entwurf Normalformen

Dritte Normalform /2

transitive Abhängigkeit in R3, d.h. R3 verletzt 3NFBeispielrelation in 3NFR3_1(Weingut, Anbaugebiet)

R3_2(Anbaugebiet, Region)

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

Page 28: Teil V Relationaler Entwurf - dbse.ovgu.deI/... · Methodik und Verfahren zur Normalisierung Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 5–2. Relationaler Entwurf

Relationaler Entwurf Normalformen

Dritte Normalform: formal

Relationenschema R, X ⊆ R und F ist eine FD-Menge über R

A ∈ R heißt transitiv abhängig von X bezüglich F genau dann,wenn es ein Y ⊆ R gibt mit X→Y,Y 6→X,Y→A,A 6∈ XY

erweitertes Relationenschema R = (R,K) ist in 3NF bezüglich Fgenau dann, wenn

6 ∃A ∈ R : A ist Nicht-Primattribut in R

∧ A transitiv abhängig von einem K ∈ K bezüglich F.

Nicht-Primattribut: A ist in keinem Schlüssel von R enthalten

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

Page 29: Teil V Relationaler Entwurf - dbse.ovgu.deI/... · Methodik und Verfahren zur Normalisierung Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 5–2. Relationaler Entwurf

Relationaler Entwurf Normalformen

Boyce-Codd-Normalform

Verschärfung der 3NF: Eliminierung transitiver Abhängigkeitenauch zwischen PrimattributenName Weingut Händler Preis

La Rose Grand Cru Château La Rose Weinkontor 39.90Creek Shiraz Creek Wein.de 7.99Pinot Noir Creek Wein.de 10.99Zinfandel Helena GreatWines.com 5.99Pinot Noir Helena GreatWines.com 19.99Riesling Reserve Müller Weinkeller 19.99Chardonnay Bighorn Wein-Dealer 9.90

FDs:Name, Weingut→Preis

Weingut →Händler

Händler →Weingut

Schlüsselkandidaten: { Name, Weingut } und { Name, Händler }in 3NF, nicht jedoch in BCNF

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

Page 30: Teil V Relationaler Entwurf - dbse.ovgu.deI/... · Methodik und Verfahren zur Normalisierung Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 5–2. Relationaler Entwurf

Relationaler Entwurf Normalformen

Boyce-Codd-Normalform /2

erweitertes Relationenschema R = (R,K), FD-Menge F

BCNF formal:

6 ∃A ∈ R : A transitiv abhängig von einem K ∈ K bezüglich F.

Schema in BCNF:WEINE(Name, Weingut, Preis)WEINHANDEL(Weingut, Händler)

BCNF kann jedoch Abhängigkeitstreue verletzen, daher oft nur bis3NF

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

Page 31: Teil V Relationaler Entwurf - dbse.ovgu.deI/... · Methodik und Verfahren zur Normalisierung Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 5–2. Relationaler Entwurf

Relationaler Entwurf Normalformen

Minimalität

Global Redundanzen vermeidenandere Kriterien (wie Normalformen) mit möglichst wenigSchemata erreichenBeispiel: Attributmenge ABC, FD-Menge {A→B,B→C}Datenbankschemata in dritter Normalform:

S = {(AB, {A}), (BC, {B})}

S′ = {(AB, {A}), (BC, {B}), (AC, {A})}

Redundanzen in S′

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

Page 32: Teil V Relationaler Entwurf - dbse.ovgu.deI/... · Methodik und Verfahren zur Normalisierung Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 5–2. Relationaler Entwurf

Relationaler Entwurf Normalformen

Schemaeigenschaften

Kennung Schemaeigenschaft Kurzcharakteristik1NF nur atomare Attribute2NF keine partielle Abhängigkeit eines

Nicht-Primattributes von einemSchlüssel

S1 3NF keine transitive Abhängigkeit ei-nes Nicht-Primattributes von einemSchlüssel

BCNF keine transitive Abhängigkeit einesAttributes von einem Schlüssel

S2 Minimalität minimale Anzahl von Relationen-schemata, die die anderen Eigen-schaften erfüllt

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

Page 33: Teil V Relationaler Entwurf - dbse.ovgu.deI/... · Methodik und Verfahren zur Normalisierung Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 5–2. Relationaler Entwurf

Relationaler Entwurf Transformationseigenschaften

Transformationseigenschaften

Bei einer Zerlegung einer Relation in mehrere Relationen istdarauf zu achten, dass

1 nur semantisch sinnvolle und konsistente Anwendungsdatendargestellt (Abhängigkeitstreue) und

2 alle Anwendungsdaten aus den Basisrelationen hergeleitet werdenkönnen (Verbundtreue)

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

Page 34: Teil V Relationaler Entwurf - dbse.ovgu.deI/... · Methodik und Verfahren zur Normalisierung Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 5–2. Relationaler Entwurf

Relationaler Entwurf Transformationseigenschaften

Abhängigkeitstreue

Abhängigkeitstreue: eine Menge von Abhängigkeiten kannäquivalent in eine zweite Menge von Abhängigkeiten transformiertwerdenspezieller: in die Menge der Schlüsselabhängigkeiten, da diesevom Datenbanksystem effizient überprüft werden kann

I die Menge der Abhängigkeiten soll äquivalent zu der Menge derSchlüsselbedingungen im resultierenden Datenbankschema sein

I Äquivalenz sichert zu, dass mit den Schlüsselabhängigkeitensemantisch genau die gleichen Integritätsbedingungen ausgedrücktwerden wie mit den funktionalen oder anderen Abhängigkeitenvorher

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

Page 35: Teil V Relationaler Entwurf - dbse.ovgu.deI/... · Methodik und Verfahren zur Normalisierung Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 5–2. Relationaler Entwurf

Relationaler Entwurf Transformationseigenschaften

Abhängigkeitstreue: Beispiel

Zerlegung des Relationenschemas WEINE (Folie 5-21) in 3NF:

R1(Name, Weingut, Preis)R2(Name, Farbe)R3_1(Weingut, Anbaugebiet)R3_2(Anbaugebiet, Region)

mit Schlüsselabhängigkeiten

Name, Weingut→Preis

Name →Farbe

Weingut →Anbaugebiet

Anbaugebiet →Region

äquivalent zu FDs f1 . . . f4 (Folie 5-21) abhängigkeitstreu

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

Page 36: Teil V Relationaler Entwurf - dbse.ovgu.deI/... · Methodik und Verfahren zur Normalisierung Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 5–2. Relationaler Entwurf

Relationaler Entwurf Transformationseigenschaften

Abhängigkeitstreue: Beispiel /2

Postleitzahl-Struktur der Deutschen PostADRESSE(PLZ (P), Ort (O), Strasse(S), Hausnummer(H))

und funktionalen Abhängigkeiten F

OSH→P, P→O

Schlüsselkandidaten: OSH und PSH 3NFnicht in BCNF (wegen PSH→P→O): daher Zerlegung von ADRESSE

aber: jede Zerlegung würde OSH→P zerstörenMenge der sich ergebenden FDs ist nicht äquivalent zu F, dieZerlegung damit nicht abhängigkeitstreu

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

Page 37: Teil V Relationaler Entwurf - dbse.ovgu.deI/... · Methodik und Verfahren zur Normalisierung Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 5–2. Relationaler Entwurf

Relationaler Entwurf Transformationseigenschaften

Abhängigkeitstreue formal

lokal erweitertes Datenbankschema S = {(R1,K1), . . . , (Rp,Kp)};ein Menge F lokaler Abhängigkeiten

S charakterisiert vollständig F (oder: ist abhängigkeitstreu bezüglichF) genau dann, wenn

F ≡ {K→R | (R,K) ∈ S,K ∈ K}

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

Page 38: Teil V Relationaler Entwurf - dbse.ovgu.deI/... · Methodik und Verfahren zur Normalisierung Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 5–2. Relationaler Entwurf

Relationaler Entwurf Transformationseigenschaften

Verbundtreue

zur Erfüllung des Kriteriums der Normalformen müssenRelationenschemata teilweise in kleinere Relationenschematazerlegt werdenfür Beschränkung auf „sinnvolle“ Zerlegungen gilt Forderung, dassdie Originalrelation wieder aus den zerlegten Relationen mit demnatürlichen Verbund zurückgewonnen werden kann Verbundtreue

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

Page 39: Teil V Relationaler Entwurf - dbse.ovgu.deI/... · Methodik und Verfahren zur Normalisierung Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 5–2. Relationaler Entwurf

Relationaler Entwurf Transformationseigenschaften

Verbundtreue: Beispiele

Zerlegung des Relationenschemas R = ABC in

R1 = AB und R2 = BC

Dekomposition bei Vorliegen der Abhängigkeiten

F = {A→B,C→B}

ist nicht verbundtreudagegen bei Vorliegen von

F′ = {A→B,B→C}

verbundtreu

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

Page 40: Teil V Relationaler Entwurf - dbse.ovgu.deI/... · Methodik und Verfahren zur Normalisierung Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 5–2. Relationaler Entwurf

Relationaler Entwurf Transformationseigenschaften

Verbundtreue Dekomposition

Originalrelation:

A B C1 2 34 2 3

Dekomposition:

A B1 24 2

B C2 3

Verbund (verbundtreu):

A B C1 2 34 2 3

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

Page 41: Teil V Relationaler Entwurf - dbse.ovgu.deI/... · Methodik und Verfahren zur Normalisierung Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 5–2. Relationaler Entwurf

Relationaler Entwurf Transformationseigenschaften

Nicht verbundtreue Dekomposition

Originalrelation:A B C1 2 34 2 5

Dekomposition:A B1 24 2

B C2 32 5

Verbund (nicht verbundtreu):A B C1 2 34 2 51 2 54 2 3

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

Page 42: Teil V Relationaler Entwurf - dbse.ovgu.deI/... · Methodik und Verfahren zur Normalisierung Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 5–2. Relationaler Entwurf

Relationaler Entwurf Transformationseigenschaften

Verbundtreue formal

Die Dekomposition einer Attributmenge X in X1, . . . ,Xp mitX =

⋃pi=1 Xi heißt verbundtreu (π ./-treu, lossless) bezüglich einer

Menge von Abhängigkeiten F über X genau dann, wenn

∀r ∈ SATX(F) : πX1(r) ./ · · · ./ πXp(r) = r

gilt.

einfaches Kriterium für Verbundtreue bei Dekomposition in zweiRelationenschemata: Dekomposition von X in X1 und X2 istverbundtreu bzgl. F, wenn X1 ∩ X2→X1 ∈ F+ oderX1 ∩ X2→X2 ∈ F+

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

Page 43: Teil V Relationaler Entwurf - dbse.ovgu.deI/... · Methodik und Verfahren zur Normalisierung Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 5–2. Relationaler Entwurf

Relationaler Entwurf Transformationseigenschaften

Transformationseigenschaften

Kennung Transformationseigenschaft KurzcharakteristikT1 Abhängigkeitstreue alle gegebenen Abhängigkeiten

sind durch Schlüssel repräsentiertT2 Verbundtreue Originalrelationen können durch

den Verbund der Basisrelationenwiedergewonnen werden

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

Page 44: Teil V Relationaler Entwurf - dbse.ovgu.deI/... · Methodik und Verfahren zur Normalisierung Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 5–2. Relationaler Entwurf

Relationaler Entwurf Weitere Abhängigkeiten

Weitere Abhängigkeiten

Mehrwertige Abhängigkeit (kurz: MVD)I innerhalb einer Relation r wird einem Attributwert von X eine

Menge von Y-Werten zugeordnet, unabhängig von den Werten derrestlichen Attribute Vierte Normalform

Verbundabhängigkeit (kurz: JD)I R kann ohne Informationsverlust in R1, . . . ,Rp aufgetrennt werden:./ [R1, . . . ,Rp]

Inklusionsabhängigkeit (kurz: IND)I auf der rechten Seite einer Fremdschlüsselabhängigkeit nicht

unbedingt den Primärschlüssel einer Relation

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

Page 45: Teil V Relationaler Entwurf - dbse.ovgu.deI/... · Methodik und Verfahren zur Normalisierung Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 5–2. Relationaler Entwurf

Relationaler Entwurf Weitere Abhängigkeiten

Mehrwertige Abhängigkeiten

Folge der 1NFMehrwertige Abhängigkeiten erzeugen Redundanz:

WEIN_EMPFEHLUNG WName Jahrgang Gericht

Chardonnay 2002 GeflügelChardonnay 2002 FischChardonnay 2003 FischChardonnay 2003 GeflügelShiraz 2003 WildShiraz 2003 LammShiraz 2004 WildShiraz 2004 Lamm

I eine (oder mehrere) Gruppe von Attributwerten ist von einemSchlüssel bestimmt, unabhängig von anderen Attributen

I hier: Menge von Jahrgängen plus Menge von GerichtenWName →→ Jahrgang, WName →→ Gericht

I Resultat: Redundanz durch Bildung aller Kombinationen

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

Page 46: Teil V Relationaler Entwurf - dbse.ovgu.deI/... · Methodik und Verfahren zur Normalisierung Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 5–2. Relationaler Entwurf

Relationaler Entwurf Weitere Abhängigkeiten

Mehrwertige Abhängigkeiten formal

Relation r(R) mit X,Y ⊆ R, Z := R− (X ∪ Y) genügt der MVDX→→Y gdw.

∀t1, t2 ∈ r : [(t1 6= t2 ∧ t1(X) = t2(X))

=⇒ ∃t3 ∈ r : t3(X) = t1(X) ∧ t3(Y) = t1(Y) ∧t3(Z) = t2(Z)]

Relation r(R) mit R = XYZ und X→→Y:I wenn (x1, y1, z1) ∈ r und (x1, y2, z2) ∈ rI dann auch: (x1, y1, z2) ∈ r und (x1, y2, z1) ∈ r

Bsp.: wegen (’Chardonnay’,2002, ’Geflügel’) und(’Chardonnay’,2003, ’Fisch’) müssen auch(’Chardonnay’,2002, ’Fisch’) und (’Chardonnay’,2003, ’Geflügel’)enthalten sein

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

Page 47: Teil V Relationaler Entwurf - dbse.ovgu.deI/... · Methodik und Verfahren zur Normalisierung Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 5–2. Relationaler Entwurf

Relationaler Entwurf Weitere Abhängigkeiten

Mehrwertige Abhängigkeiten und 4NF

wünschenswerte Schemaeigenschaft bei Vorliegen von MVDs:vierte Normalformfordert die Beseitigung derartiger Redundanzen: keine zwei MVDszwischen Attributen einer RelationBeispiel von Folie 5-44 verletzt diese ForderungPrinzip

I Elimination der rechten Seite einer der beiden mehrwertigenAbhängigkeiten,

I linke Seite mit dieser rechten Seite in neue Relation kopiert

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

Page 48: Teil V Relationaler Entwurf - dbse.ovgu.deI/... · Methodik und Verfahren zur Normalisierung Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 5–2. Relationaler Entwurf

Relationaler Entwurf Weitere Abhängigkeiten

Vierte Normalform

WEIN_JAHR WName Jahrgang

Chardonnay 2002Chardonnay 2003Shiraz 2003Shiraz 2004

WEIN_GERICHT WName Gericht

Chardonnay GeflügelChardonnay FischShiraz WildShiraz Lamm

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

Page 49: Teil V Relationaler Entwurf - dbse.ovgu.deI/... · Methodik und Verfahren zur Normalisierung Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 5–2. Relationaler Entwurf

Relationaler Entwurf Weitere Abhängigkeiten

Vierte Normalform formal

Relationenschema R mit X,Y ⊆ R, MVD-Menge M über R

MVD X→→Y heißt trivial genau dann, wenn Y ⊆ X oder X ∪ Y = R

erweitertes Relationenschema R = (R,K) ist in vierter Normalform(4NF) bezüglich M genau dann, wenn für alle X→→Y ∈ M+ gilt:

X→→Y ist trivial oder X ⊇ K für ein K ∈ K.

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

Page 50: Teil V Relationaler Entwurf - dbse.ovgu.deI/... · Methodik und Verfahren zur Normalisierung Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 5–2. Relationaler Entwurf

Relationaler Entwurf Weitere Abhängigkeiten

Nichttriviale MVDs

Erweiterung der Relation WEIN_JAHR von Folie 5-47 um AttributeFarbe und Restsüße

MVD WName→→Jahrgang ist nicht mehr trivialZerlegung:

WEIN_JAHR1(WName, Jahrgang)WEIN_JAHR2(WName, Farbe, Restsüße)

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

Page 51: Teil V Relationaler Entwurf - dbse.ovgu.deI/... · Methodik und Verfahren zur Normalisierung Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 5–2. Relationaler Entwurf

Relationaler Entwurf Weitere Abhängigkeiten

Zusammenfassung

funktionale AbhängigkeitenNormalformen (1NF - 3NF, BCNF)Abhängigkeitstreue und VerbundtreueEntwurfsverfahrenmehrwertige Abhängigkeiten

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

Page 52: Teil V Relationaler Entwurf - dbse.ovgu.deI/... · Methodik und Verfahren zur Normalisierung Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 5–2. Relationaler Entwurf

Relationaler Entwurf Weitere Abhängigkeiten

Kontrollfragen

Welches Ziel hat die Normalisierungrelationaler Schemata?Welche Eigenschaften relationalerSchemata werden bei den Normalformenberücksichtigt?Was unterscheidet 3NF und BCNF?Was fordern Abhängigkeitstreue undVerbundtreue?

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