![Page 1: Datenbankdesign Betriebliche Anwendung der Datenverarbeitung 2aFD](https://reader036.vdocuments.pub/reader036/viewer/2022062818/570491ca1a28ab14218dd1de/html5/thumbnails/1.jpg)
Datenbankdesign
Betriebliche Anwendung der Datenverarbeitung
2aFD
![Page 2: Datenbankdesign Betriebliche Anwendung der Datenverarbeitung 2aFD](https://reader036.vdocuments.pub/reader036/viewer/2022062818/570491ca1a28ab14218dd1de/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062818/570491ca1a28ab14218dd1de/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062818/570491ca1a28ab14218dd1de/html5/thumbnails/4.jpg)
Rohdatensammlung (2)
• Erstelle eine Rohdatensammlung für folgende Datenbankanwendungen:– Tanzkurs– Bibliothek– Automark– Lebensmittellager– CD-Sammlung
![Page 5: Datenbankdesign Betriebliche Anwendung der Datenverarbeitung 2aFD](https://reader036.vdocuments.pub/reader036/viewer/2022062818/570491ca1a28ab14218dd1de/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062818/570491ca1a28ab14218dd1de/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062818/570491ca1a28ab14218dd1de/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062818/570491ca1a28ab14218dd1de/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062818/570491ca1a28ab14218dd1de/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062818/570491ca1a28ab14218dd1de/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062818/570491ca1a28ab14218dd1de/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062818/570491ca1a28ab14218dd1de/html5/thumbnails/12.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062818/570491ca1a28ab14218dd1de/html5/thumbnails/13.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062818/570491ca1a28ab14218dd1de/html5/thumbnails/14.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062818/570491ca1a28ab14218dd1de/html5/thumbnails/15.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062818/570491ca1a28ab14218dd1de/html5/thumbnails/16.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062818/570491ca1a28ab14218dd1de/html5/thumbnails/17.jpg)
Ü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](https://reader036.vdocuments.pub/reader036/viewer/2022062818/570491ca1a28ab14218dd1de/html5/thumbnails/18.jpg)
Ü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](https://reader036.vdocuments.pub/reader036/viewer/2022062818/570491ca1a28ab14218dd1de/html5/thumbnails/19.jpg)
Ü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](https://reader036.vdocuments.pub/reader036/viewer/2022062818/570491ca1a28ab14218dd1de/html5/thumbnails/20.jpg)
Ü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](https://reader036.vdocuments.pub/reader036/viewer/2022062818/570491ca1a28ab14218dd1de/html5/thumbnails/21.jpg)
Ü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](https://reader036.vdocuments.pub/reader036/viewer/2022062818/570491ca1a28ab14218dd1de/html5/thumbnails/22.jpg)
Ü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](https://reader036.vdocuments.pub/reader036/viewer/2022062818/570491ca1a28ab14218dd1de/html5/thumbnails/23.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062818/570491ca1a28ab14218dd1de/html5/thumbnails/24.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062818/570491ca1a28ab14218dd1de/html5/thumbnails/25.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062818/570491ca1a28ab14218dd1de/html5/thumbnails/26.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062818/570491ca1a28ab14218dd1de/html5/thumbnails/27.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062818/570491ca1a28ab14218dd1de/html5/thumbnails/28.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062818/570491ca1a28ab14218dd1de/html5/thumbnails/29.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062818/570491ca1a28ab14218dd1de/html5/thumbnails/30.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062818/570491ca1a28ab14218dd1de/html5/thumbnails/31.jpg)
Beziehungen (9)
• Beziehungen der Datenbank Tanzkurs
![Page 32: Datenbankdesign Betriebliche Anwendung der Datenverarbeitung 2aFD](https://reader036.vdocuments.pub/reader036/viewer/2022062818/570491ca1a28ab14218dd1de/html5/thumbnails/32.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062818/570491ca1a28ab14218dd1de/html5/thumbnails/33.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062818/570491ca1a28ab14218dd1de/html5/thumbnails/34.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062818/570491ca1a28ab14218dd1de/html5/thumbnails/35.jpg)
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