Normalisierung nach Edgar. F. CODD (1970) Lösung

Download Report

Transcript Normalisierung nach Edgar. F. CODD (1970) Lösung

Normalisierung nach Edgar. F. CODD (1970)
BüroBedarf KG
Bahnhofstr. 37
Beispiel Rechnung
48653 Coesfeld
(Teilausschnitt der realen Welt)
Büro Design GmbH
Feldbergstr. 21
Kundennummer:
Rechnungsnummer
55345 Köln
Bei Zahlung bitte angeben.
Datum:
Wie sollen Daten
gespeichert werden?
Zielsetzung:
Redundanzvermeidung
durch Aufspalten der
Datenelemente in logische
Einheiten (Tabellen)
1223
123/01
04.03.2002
RECHNUNG
Artikelnummer
10001
10050
10402
Artikelbezeichnung
NoName CD-ROM
Toner
Etiketten
Preis/Einheit
0,49 €
54,00 €
12,50 €
Stückzahl
100
2
10
Netto:
+ 16% MwSt:
Brutto
Gesamtpreis
49,00 €
108,00 €
125,00 €
282,00 €
45,12 €
327,12 €
Bitte überweisen Sie den Betrag auf eines unserer Konten innerhalb von 14 Tagen
netto ohne Abzug
Normalisierung nach Edgar. F. CODD (1970)
Probleme:
Rechnung unnormalisiert
Kundennummer
Kundenname
Kundenadresse
RNR
Datum
Netto
ANRPos1(10001)
ArtBezPos1 (NoName CD-ROM)
StückzahlPos1 (100)
PreisProEinheitPos1 (0,49 €)
ANRPos2 (10050)
ArtBezPos2 (Toner)
StückzahlPos2 (2)
PreisProEinheitPos2 (54,00 €)
ANRPos3 (10402)
ArtBezPos3 (Etiketten)
StückzahlPos3 (10)
PreisProEinheitPos3 (12,50 €)
Artikeldaten sind nur dann vorhanden, wenn
Rechnung vorliegt:
Einfügeanomalie
Wird Kundenrechnung gelöscht können alle
Daten verloren gehen:
Löschanomalie
Kundenanschrift muss in jeder Rechnung
geändert werden:
Änderungsanomalie
Felder wiederholen sich
Wiederholungsgruppen
Feld Kundenadresse ist zu allgemein (genauer:
Name, Strasse, PLZ, Ort etc)
Atomare Felder
Normalisierung nach Edgar. F. CODD (1970)
Lösung:
Keine Wiederholungsgruppen durch Abspalten der Tabelle Positionen
(ArtNR, RNR, ArtBez, Stueckzahl, PreisProEinheit)
Eindeutige Felder (atomare Felder) durch Zerlegung des Feldes Adresse
(KundenNR, Name, Vorname, PLZ, Ort, Strasse, Hausnummer)
1. Normalform
Rechnung 1NF
Eine Tabelle liegt in der
ersten Normalform vor,
wenn in jeder Zelle nur ein
Wert steht und keine
Wiederholungsgruppen
auftauchen.
RNR
Kundennummer
Name
Vorname
Postleitzazhl
Ort
Strasse
Hausnummer
Datum
Netto
1
Positionen 1NF
ArtNR
RNR
n ArtBez
Stueckzahl
PreisProEinheit
Normalisierung nach Edgar. F. CODD (1970)
Rechnung 1NF
RNR
Kundennummer
Name
Vorname
Postleitzazhl
Ort
Strasse
Hausnummer
Datum
Netto
1
Positionen 1NF
ArtNR
RNR
n ArtBez
Stueckzahl
PreisProEinheit
Problem:
Artikelbezeichnung und PreisProEinheit
sind nicht abhängig vom gemeinsamen
Schlüssel ArtNR & RNR
Normalisierung nach Edgar. F. CODD (1970)
Lösung:
Abspaltung einer Artikeltabelle (ArtNR, ArtBez, PreisProEinheit)
2. Normalform
Eine Tabelle liegt in
der zweiten
Normalform vor,
wenn sie sich in der
1. NF befindet und
jedes (NichtSchlüssel-) Feld
vom Gesamtschlüssel und nicht
bereits von einem
Teil des Gesamtschlüssels abhängig
ist.
Rechnung 2NF
RechNR
KundenNR
Name
Vorname
Postleitzahl
Ort
Strasse
Hausnummer
Datum
Netto
1
Positionen 2NF n
ArtNR
RNR
n Stueckzahl
1
Artikel 2NF
ArtNR
ArtBez
PreisProEinheit
Normalisierung nach Edgar. F. CODD (1970)
Rechnung 2NF
RechNR
KundenNR
Name
Vorname
Postleitzahl
Ort
Strasse
Hausnummer
Datum
Netto
1
Positionen 2NF n
ArtNR
RNR
n Stueckzahl
1
Artikel 2NF
ArtNR
ArtBez
PreisProEinheit
Problem:
Kundendaten sind nicht abhängig von der RechNR sondern von der KundenNR.
Normalisierung nach Edgar. F. CODD (1970)
Lösung:
Abspalten einer Kundentabelle
(KundenNR, Name, Vorname, PLZ, Ort, Strasse, Hausnummer)
3. Normalform
Eine Tabelle liegt in
der dritten
Normalform vor,
wenn sie sich in der
2. NF befindet und
jedes (NichtSchlüssel-) Feld
direkt vom
Primärschlüssel
abhängig ist.
Rechnung 2NF
RechNR
KundenNR
Datum
Netto
Positionen 2NF n
1
n
ArtNR
RechNR
n Stueckzahl
1
Kunde 3NF
KundenNR
Name
Vorname
Postleitzahl
Ort
Strasse
Hausnummer
1
Artikel 2NF
ArtNR
ArtBez
PreisProEinheit
Normalisierung nach Edgar. F. CODD (1970)
Rechnung 2NF
RechNR
KundenNR
Datum
Netto
Positionen 2NF n
1
n
1
ArtNR
RechNR
n Stueckzahl
1
Artikel 2NF
ArtNR
ArtBez
PreisProEinheit
Kunde 3NF
KundenNR
Name
Vorname
Postleitzahl
Ort
Strasse
Hausnummer
n
Orte
1
PLZ
Ort
Probleme:
Keine, es sei denn, dass abgespaltene Tabellen nicht in der 3. NF sind!!!
Normalisierung nach Edgar. F. CODD (1970)
ZUSAMMENFASSUNG:
 Atomare Felder, keine Wiederholungsgruppen
 Keine Abhängigkeiten von Gesamtschlüsseln
 Keine Abhängigkeiten von Nichtschlüsselfeldern
 oder: gezieltes Hinschauen 
Rechnung 2NF
RechNR
KundenNR
Datum
Netto
Positionen 2NF n
1
n
ArtNR
RechNR
n Stueckzahl
1
Kunde 3NF
KundenNR
Name
Vorname
Postleitzahl
Ort
Strasse
Hausnummer
1
Artikel 2NF
ArtNR
ArtBez
PreisProEinheit