35
Datenbankdesign Betriebliche Anwendung der Datenverarbeitung 2aFD

Datenbankdesign Betriebliche Anwendung der Datenverarbeitung 2aFD

Embed Size (px)

Citation preview

Page 1: Datenbankdesign Betriebliche Anwendung der Datenverarbeitung 2aFD

Datenbankdesign

Betriebliche Anwendung der Datenverarbeitung

2aFD

Page 2: Datenbankdesign Betriebliche Anwendung der Datenverarbeitung 2aFD

Normalisierung (1)

• Anleitung wie Daten in einer relationalen Datenbank zu speichern sind.

• Während der Normalisierung werden erstellt:– Tabellen– Beziehungen

• Ausgangspunkt ist die Rohdatensamm-lung.

Page 3: Datenbankdesign Betriebliche Anwendung der Datenverarbeitung 2aFD

Rohdatensammlung (1)

• Umfasst alle Datenfelder, die für eine Datenbankanwendung benötigt werden.

• Wird durch Brainstroming erstellt.• Tabellen und Beziehungen bleiben unbe-

rücksichtigt, Musterdaten aber schon.• Die Aufteilung der Datenfelder auf die

Tabellen ist Aufgabe der Normalisierung.

Page 4: Datenbankdesign Betriebliche Anwendung der Datenverarbeitung 2aFD

Rohdatensammlung (2)

• Erstelle eine Rohdatensammlung für folgende Datenbankanwendungen:– Tanzkurs– Bibliothek– Automark– Lebensmittellager– CD-Sammlung

Page 5: Datenbankdesign Betriebliche Anwendung der Datenverarbeitung 2aFD

Rohdatensammlung (1)

• Rohdatensammlung für einen TanzkursNameS VNameS TanzA TanzS NameL LandL kLandLMuster Max Salsa,

WalzerAnfänger,Fortgeschritten

Paolo,Peter

Brasilien, Österreich

BR,AT

Fischer Patrizia Salsa Anfänger Paolo Brasilien BR

Fischer Claudia Bauchtanz Ahmed Türkei TR

Andreas Arnim Walzer Fortg. Peter Österreich AT

Berger Friedl Walzer,Salsa

Anfänger,Fortg.

Paul,Paolo

Österreich,Brasilien

ATBR

Page 6: Datenbankdesign Betriebliche Anwendung der Datenverarbeitung 2aFD

Normalisierung (2)

• Erste NormalformEine Tabelle befindet sich dann in der ersten Normalform, wenn in jedem Datenfeld nur ein einziger Wert steht.

• NormalisierungsvorschriftJeden Wert in eine eigene Zeile schreiben.

Page 7: Datenbankdesign Betriebliche Anwendung der Datenverarbeitung 2aFD

Normalisierung (3)

• Erste Normalform von Tanzkurs– Pro Datensatz steht nur noch ein Wert in

jedem Datenfeld.

NameS VNameS TanzA TanzS NameL LandL kLandLMuster Max Salsa Anfänger Paolo Brasilien BR

Muster Max Walzer Fortgeschritten Peter Österreich AT

Fischer Patrizia Salsa Anfänger Paolo Brasilien BR

Fischer Claudia Bauchtanz Ahmed Türkei TR

Andreas Arnim Walzer Fortgeschritten Peter Österreich AT

Berger Friedl Walzer Anfänger Paul Österreich AT

Berger Friedl Salsa Fortgeschritten Paolo Brasilien BR

Page 8: Datenbankdesign Betriebliche Anwendung der Datenverarbeitung 2aFD

Normalisierung (4)• Zweite Normalform

Eine Tabelle befindet sich dann in der zweiten Normalform, wenn sie in der ersten Normalform ist und sich die Werte der Datenfeldern – mit Ausnahme von Fremdschlüsseln – nicht wiederholen.

• NormalisierungsvorschriftDatenfelder, die redundant sind (sich wie-derholen), in eine eigene Tabelle geben.

Page 9: Datenbankdesign Betriebliche Anwendung der Datenverarbeitung 2aFD

Normalisierung (5)• Zweite Normalform von Tanzkurs

– Die Schüler wiederholen sich; sie müssen in eine eigene Schüler-Tabelle mit Primär-schlüssel ausgelagert werden.

SchülerNr Name Vorname1 Muster Max

2 Fischer Patrizia

3 Fischer Claudia

4 Andreas Arnim

5 Berger Friedl

Page 10: Datenbankdesign Betriebliche Anwendung der Datenverarbeitung 2aFD

Normalisierung (6)

• Zweite Normalform von Tanzkurs– Die Kurse wiederholen sich; sie müssen in

eine eigene Kurs-Tabelle mit Primärschlüssel ausgelagert werden.

KursId Bezeichnung

BT Bauchtanz

SA Salsa Anfänger

SF Salsa Fortgeschritten

WA Walzer Anfänger

WF Walzer Fortgeschritten

Page 11: Datenbankdesign Betriebliche Anwendung der Datenverarbeitung 2aFD

Normalisierung (7)

• Zweite Normalform von Tanzkurs– Die Lehrer wiederholen sich; sie müssen in

eine eigene Lehrer-Tabelle mit Primär-schlüssel ausgelagert werden.

LehrerNr Name Land kLand

1 Ahmed Türkei TR

2 Paolo Brasilien BR

3 Paul Österreich AT

4 Peter Österreich AT

Page 12: Datenbankdesign Betriebliche Anwendung der Datenverarbeitung 2aFD

Normalisierung (8)

• Zweite Normalform von Tanzkurs– Werte werden durch ihre Fremdschlüssel

ersetzt. Diese dürfen sich wiederholen.

SchülerNr KursId LehrerNr1 SA 2

1 WF 4

2 SA 2

3 BT 1

4 WF 4

5 WA 3

5 SF 2

Page 13: Datenbankdesign Betriebliche Anwendung der Datenverarbeitung 2aFD

Normalisierung (9)

• Dritte NormalformEine Tabelle befindet sich dann in der dritten Normalform, wenn sie in der zweiten Normalform ist und kein Daten-feld von einem anderen abhängt.

• NormalisierungsvorschriftAbhängige Datenfelder in eine eigene Tabelle auslagern oder berechnen.

Page 14: Datenbankdesign Betriebliche Anwendung der Datenverarbeitung 2aFD

Normalisierung (10)

• Dritte Normalform von Tanzkurs– Land und kLand der Tabelle Lehrer hängen

voneinander ab und werden in eine eigen Tabelle ausgelagert.

LehrerNr Name LandId1 Ahmed TR

2 Paolo BR

3 Paul AT

4 Peter AT

LandId LandTR Türkei

BR Brasilien

AT Österreich

Page 15: Datenbankdesign Betriebliche Anwendung der Datenverarbeitung 2aFD

Normalisierung (11)

• Vorteile der Normalisierung– Es kann nach einem Schema vorgegangen

werden.– Tabellen und Beziehungen ergeben sich

automatisch.– Das Design bleibt flexibel und erweiterbar.

Page 16: Datenbankdesign Betriebliche Anwendung der Datenverarbeitung 2aFD

Denormalisierung

• Eine nötige Normalisierung wird nicht durchgeführt.

• Beispiel– Name in der Schüler-Tabelle

• Gründe– Normalisierung bringt keine Vorteile– Normalisierung kostet zu viel Performance

Page 17: Datenbankdesign Betriebliche Anwendung der Datenverarbeitung 2aFD

Übung (1)

• Normalisiere folgende TabelleBandname CD-Titel Label Lieder

Geoffrey Oryema Exile Realworld Piny Ruka Woko, Land of Anaka; Piri Wango

Bob Dylan The Times are a-changing Universe Subterrean Homesick,

Like a Rolling Stone

Cesaria Evora Cabo Verde Tropical Music Tchintchinirote, Sabine Larga‘m, Partida

Rabih Abou-Khalil Roots and Sprouts EnjaRemembering Macara, Walking on Air; Nida

Rabih Abou-Khalil The Sultan‘s Picnic Enja Sunrise in Montreal;

Solitude; Dog River

Page 18: Datenbankdesign Betriebliche Anwendung der Datenverarbeitung 2aFD

Übung (2)

• Lösung: erste NormalisierungBandname CD-Titel Label LiederGeoffrey Oryema Exile Realworld Piny Ruka Woko

Geoffrey Oryema Exile Realworld Land of Anaka

Geoffrey Oryema Exile Realworld Piri Wango

Bob Dylan The Times are … Universe Subterrean Homesick

Bob Dylan The Times are … Universe Like a Rolling Stone

Cesaria Evora Cabo Verde Tropical Music Tchintchinirote

Cesaria Evora Cabo Verde Tropical Music Sabine Larga‘m

Cesaria Evora Cabo Verde Tropical Music Partida

Rabih Abou-Khalil Roots and Sprouts Enja Remembering Macara

Rabih Abou-Khalil Roots and Sprouts Enja Walking on Air

… … … …

Page 19: Datenbankdesign Betriebliche Anwendung der Datenverarbeitung 2aFD

Übung (3)

• Lösung: zweite Normalisierung

LabelNr Label1 Realworld

2 Universe

3 Tropical Music

4 Enja

BandNr Bandname1 Geoffrey Oryema

2 Bob Dylan

3 Cesaria Evora

4 Rabih Abou-Khalil

CDNr CD-Titel1 Exile

2 The Times are a-changing

3 Cabo Verde

4 Roots and Sprouts

5 The Sultan‘s Picnic

Page 20: Datenbankdesign Betriebliche Anwendung der Datenverarbeitung 2aFD

Übung (4)

• Lösung: zweite NormalisierungLieder BandNr CDNr LabelNrPiny Ruka Woko 1 1 1

Land of Anaka 1 1 1

Piri Wango 1 1 1

Subterrean Homesick 2 2 2

Like a Rolling Stone 2 2 2

Tchintchinirote 3 3 3

Sabine Larga‘m 3 3 3

Partida 3 3 3

Remembering Macara 4 4 4

Walking on Air 4 4 4

… … … …

Page 21: Datenbankdesign Betriebliche Anwendung der Datenverarbeitung 2aFD

Übung (5)

• Lösung: dritte Normalisierung– Da kein Datenfeld von einem anderen

abhängt, liegen die Tabelle bereits in der dritten Normalform vor.

– Denormalisierungen sind keine vorgesehen.

Page 22: Datenbankdesign Betriebliche Anwendung der Datenverarbeitung 2aFD

Übung (6)

• Ergänze deine Lösung um folgende Daten– Spieldauer der Lieder– Land und Länderkürzel der Labels

• Prüfe, ob die neue Lösung noch immer normalisiert ist.

Page 23: Datenbankdesign Betriebliche Anwendung der Datenverarbeitung 2aFD

Beziehungen (1)

• Tabellen und Beziehungen– Relationale Datenbanken speichern ihre

Daten in Tabellen.– Zwischen den Tabellen bestehen

Beziehungen (Relationen).– Es gibt verschiedene Arten von Beziehungen.– Die Art der Beziehung bestimmt das weitere

Vorgehen.

Page 24: Datenbankdesign Betriebliche Anwendung der Datenverarbeitung 2aFD

Beziehungen (2)

• Beispiele– Einem Land ist genau ein Länderkürzel

zugeordnet.– Ein Tanzlehrer kann mehrere Tanzkurse

leiten aber ein Tanzkurs hat nur einen Lehrer.– Ein Teilnehmer kann mehrere Tanzkurse

belegen und ein Tanzkurs besteht aus mehreren Teilnehmern.

Page 25: Datenbankdesign Betriebliche Anwendung der Datenverarbeitung 2aFD

Beziehungen (3)

• Eins-zu-eins-Beziehung (1:1)Jedem Datensatz einer Mastertabelle ist genau ein Datensatz einer Detailtabelle zugeordnet.

Land Länderkürzelhat ein1 1

Page 26: Datenbankdesign Betriebliche Anwendung der Datenverarbeitung 2aFD

Beziehungen (4)

• Eins-zu-eins-Beziehung– Die Tabellen lassen sich zusammenfassen.– Außer es gibt Gründe: Datenmenge, Sicherheit, etc.

LandNr Land1 Türkei

2 Brasilien

3 Österreich

LandNr LandId1 TR

2 BR

3 AT

LandNr LandId Land1 TR Türkei

2 BR Brasilien

3 AT Österreich

Page 27: Datenbankdesign Betriebliche Anwendung der Datenverarbeitung 2aFD

Beziehungen (5)

• Eins-zu-viele-Beziehung (1:N,N:1)Jedem Datensatz einer Mastertabelle können mehrere Datensätze einer Detailtabelle zu-geordnet sein.

Lehrer Tanzkursleitet1 N

Page 28: Datenbankdesign Betriebliche Anwendung der Datenverarbeitung 2aFD

Beziehungen (6)

• Eins-zu-viele-Beziehung (1:N,N:1)– Kommen sehr häufig vor.– Standardbeziehung von relationalen DBs.– Keine weitere Aktion nötig.

KursId Name LehrerNrBT Bauchtanz 1

SA Salsa Anfänger 2

SF Salsa Fortgeschritten 2

WA Walzer Anfänger 3

WF Walzer Fortgeschritten 4

LehrerNr Name LandId1 Ahmed TR

2 Paolo BR

3 Paul AT

4 Peter AT

Page 29: Datenbankdesign Betriebliche Anwendung der Datenverarbeitung 2aFD

Beziehungen (7)

• Viele-zu-viele-Beziehung (N:M)Lassen sich durch Tabellen nicht direkt erzeu-gen. Eine Hilfstabelle wird benötigt.

Teilnehmer TanzkursbelegtN M

Kursbelegung1:N 1:M

Page 30: Datenbankdesign Betriebliche Anwendung der Datenverarbeitung 2aFD

Beziehungen (8)

• Viele-zu-viele-Beziehung (N:M)– Mit relationalen Datenbanken direkt nicht

möglich.– Eine Hilfstabelle erzeugt 1:N-Beziehungen.

SNr Name Vorname

1 Muster Max

2 Fischer Patrizia

3 Fischer Claudia

4 Andreas Arnim

5 Berger Friedl

KId Bezeichnung

BT Bauchtanz

SA Salsa Anfänger

SF Salsa Fortgeschritten

WA Walzer Anfänger

WF Walzer Fortgeschritten

SchülerNr KursId1 SA

1 WF

2 SA

3 BT

4 WF

5 WA

5 SF

Page 31: Datenbankdesign Betriebliche Anwendung der Datenverarbeitung 2aFD

Beziehungen (9)

• Beziehungen der Datenbank Tanzkurs

Page 32: Datenbankdesign Betriebliche Anwendung der Datenverarbeitung 2aFD

Schlüssel (1)

• Schlüssel können eingeteilt werden in– Einfache Schlüssel– Zusammengesetzte Schlüssel

• oder in– Primärschlüssel– Sekundärschlüssel– Fremdschlüssel

Page 33: Datenbankdesign Betriebliche Anwendung der Datenverarbeitung 2aFD

Schlüssel (2)• Einfache Schlüssel

– Bestehen aus nur einem Datenfeld.

– Die Werte des Datenfeldes bilden den Schlüssel.

• Zusammengesetzte Schlüssel– Bestehen aus mehreren

Datenfeldern. – Die Kombination der Werte

der Datenfelder bilden den Schlüssel.

KundenNr. Name Vorname

1 Max Master

2 Minna Visa

Bankleitzahl KontoNr. KdNr.

10123 400555 1

12123 400555 2

Page 34: Datenbankdesign Betriebliche Anwendung der Datenverarbeitung 2aFD

Schlüssel (3)

• Primärschlüssel– Identifizieren jeden Datensatz– Müssen eindeutig sein– Oft fortlaufende Zahl (Autowert)– Oft mit Id gekennzeichnet (Identity)

• Sekundärschlüssel– Beschleunigen das Sortieren und Suchen– Wird auch als Index bezeichnet

Page 35: Datenbankdesign Betriebliche Anwendung der Datenverarbeitung 2aFD

Schlüssel (4)

• Fremdschlüssel– Verweist auf andere Tabelle– Fremdschlüssel ist Primärschlüssel in der

anderen Tabelle

Kunden

Name KundenNr.

Muster 123

Bestellungen

KundenNr. SpeisenNr.

123 12

Speisen

SpeisenNr. Name

12 Kuchen