Übung zur Normalisierung 1 - Wirtschaftsinformatik HTW Berlin
Übung zur Normalisierung 1 - Wirtschaftsinformatik HTW Berlin
Übung zur Normalisierung 1 - Wirtschaftsinformatik HTW Berlin
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
F<strong>HTW</strong> <strong>Berlin</strong> Prof. Dr. Zschockelt Datenbanken (04a)<strong>Normalisierung</strong>-<strong>Übung</strong>.ppt Folie 1<br />
<strong>Übung</strong> <strong>zur</strong> <strong>Normalisierung</strong> 1<br />
Redundanzen durch funktionale Abhängigkeit der Bezeichnung von Art_Nr.<br />
Art_Nr Bezeichnung Besteller B_Datum Menge<br />
0105 Zucker Meyer 03.06.00 200<br />
0105 Zucker Schulze 03.06.00 180<br />
0237 Mehl Meyer 05.06.00 250<br />
0105 Zucker Müller 06.06.00 150<br />
2356 Salz Moppel 06.06.00 080<br />
2356 Salz Meyer 07.06.00 060<br />
0105 Zucker Meyer 08.06.00 100
F<strong>HTW</strong> <strong>Berlin</strong> Prof. Dr. Zschockelt Datenbanken (04a)<strong>Normalisierung</strong>-<strong>Übung</strong>.ppt Folie 2<br />
<strong>Übung</strong> <strong>zur</strong> <strong>Normalisierung</strong> 1<br />
Redundanzen durch funktionale Abhängigkeit der Bezeichnung von Art_Nr =<br />
Verletzung der 2NF.<br />
Art_Nr Bezeichnung Besteller B_Datum Menge<br />
0105 Zucker Meyer 03.06.00 200<br />
0105 Zucker Schulze 03.06.00 180<br />
0237 Mehl Meyer 05.06.00 250<br />
0105 Zucker Müller 06.06.00 150<br />
2356 Salz Moppel 06.06.00 080<br />
2356 Salz Meyer 07.06.00 060<br />
0105 Zucker Meyer 08.06.00 100<br />
Art_Nr Bezeichnung<br />
0105 Zucker<br />
0237 Mehl<br />
2356 Salz<br />
• Die Spalte Bezeichnung wird gemeinsam mit<br />
der Schlüsselspalte Art_Nr in eine neue<br />
Tabelle gespeichert.<br />
• Doppelte Zeilen (Tupel) in der neuen Tabelle<br />
werden eliminiert.
F<strong>HTW</strong> <strong>Berlin</strong> Prof. Dr. Zschockelt Datenbanken (04a)<strong>Normalisierung</strong>-<strong>Übung</strong>.ppt Folie 3<br />
<strong>Übung</strong> <strong>zur</strong> <strong>Normalisierung</strong> 1<br />
Tabellen in 3NF da Menge voll funktional abhängig vom Primärschlüssel<br />
Art_Nr||Besteller||B_Datum und keine transitiven Abhängigkeiten.<br />
Art_Nr Besteller B_Datum Menge<br />
0105 Meyer 03.06.00 200<br />
0105 Schulze 03.06.00 180<br />
0237 Meyer 05.06.00 250<br />
0105 Müller 06.06.00 150<br />
2356 Moppel 06.06.00 080<br />
2356 Meyer 07.06.00 060<br />
0105 Meyer 08.06.00 100<br />
Art_Nr Bezeichnung<br />
0105 Zucker<br />
0237 Mehl<br />
2356 Salz<br />
Tabelle Bestellung (3NF)<br />
Art_Nr ist<br />
Fremdschlüssel mit<br />
Referenz zu Artikel<br />
Tabelle Artikel (3NF)
F<strong>HTW</strong> <strong>Berlin</strong> Prof. Dr. Zschockelt Datenbanken (04a)<strong>Normalisierung</strong>-<strong>Übung</strong>.ppt Folie 4<br />
<strong>Übung</strong> <strong>zur</strong> <strong>Normalisierung</strong> 2<br />
Redundanzen durch mehrfache Wiederholung des Attributs Sprache für eine Person (volle<br />
funktionale Abhängigkeit des Grades von Pers_Nr, Sprache, aber ...).<br />
Pers_Nr Name Vorname Sprache Grad<br />
0105 Marder Monika englisch 2<br />
0105 Marder Monika russisch 3<br />
0234 Hund Hugo französisch 1<br />
0325 Stier Siegfried spanisch 3<br />
0325 Stier Siegfried französisch 3<br />
0325 Stier Siegfried portugisisch 2<br />
2345 Antilope Anita polnisch 3
F<strong>HTW</strong> <strong>Berlin</strong> Prof. Dr. Zschockelt Datenbanken (04a)<strong>Normalisierung</strong>-<strong>Übung</strong>.ppt Folie 5<br />
<strong>Übung</strong> <strong>zur</strong> <strong>Normalisierung</strong> 2<br />
Redundanzen durch mehrfache Wiederholung des Attributs Sprache für eine Person (keine volle<br />
funktionale Abhängigkeit des Namens und Vornamens vom Primärschlüssel) = Verletzung der 2NF.<br />
Pers_Nr Name Vorname Sprache Grad<br />
0105 Marder Monika englisch 2<br />
0105 Marder Monika russisch 3<br />
0234 Hund Hugo französisch 1<br />
0325 Stier Siegfried spanisch 3<br />
0325 Stier Siegfried französisch 3<br />
0325 Stier Siegfried portugisisch 2<br />
2345 Antilope Anita polnisch 3<br />
Pers_Nr Name Vorname<br />
0105 Marder Monika<br />
0234 Hund Hugo<br />
0325 Stier Siegfried<br />
2345 Antilope Anita<br />
• Die Spalten Name, Vorname werden<br />
gemeinsam mit der Schlüsselspalte<br />
Pers_Nr in eine neue Tabelle gespeichert.<br />
• Doppelte Zeilen (Tupel) in der neuen<br />
Tabelle werden eliminiert.
F<strong>HTW</strong> <strong>Berlin</strong> Prof. Dr. Zschockelt Datenbanken (04a)<strong>Normalisierung</strong>-<strong>Übung</strong>.ppt Folie 6<br />
<strong>Übung</strong> <strong>zur</strong> <strong>Normalisierung</strong> 2<br />
Redundanzen durch mehrfache Wiederholung des Attributs Sprache für eine Person (keine volle<br />
funktionale Abhängigkeit des Namens und Vornamens vom Primärschlüssel) = Verletzung der 2NF.<br />
Pers_Nr Sprache Grad<br />
0105 englisch 2<br />
0105 russisch 3<br />
0234 französisch 1<br />
0325 spanisch 3<br />
0325 französisch 3<br />
0325 portugisisch 2<br />
2345 polnisch 3<br />
Pers_Nr Name Vorname<br />
0105 Marder Monika<br />
0234 Hund Hugo<br />
0325 Stier Siegfried<br />
2345 Antilope Anita<br />
Tabelle Sprachen (3NF)<br />
Pers_Nr ist<br />
Fremdschlüssel mit<br />
Referenz zu Person<br />
Tabelle Person (3NF)
F<strong>HTW</strong> <strong>Berlin</strong> Prof. Dr. Zschockelt Datenbanken (04a)<strong>Normalisierung</strong>-<strong>Übung</strong>.ppt Folie 7<br />
<strong>Übung</strong> <strong>zur</strong> <strong>Normalisierung</strong> 3<br />
Redundanzen durch funktionale Abhängigkeit des Attributs Leiter von Abt und durch mehrfache<br />
Wiederholung der Attributsgruppe Sprache, Grad für jede PersNr.<br />
Pers_Nr Name Vorname Geschl Sprache Grad Abt Leiter<br />
023 Muh Magda w engl 2 34 Meier<br />
023 Muh Magda w franz 1 34 Meier<br />
145 Wau Harald m 34 Meier<br />
437 Miau Irene w engl 2 56 Busse<br />
437 Miau Irene w russ 3 56 Busse<br />
759 Quak Andre m engl 3 56 Busse<br />
854 Piep Ursel w franz 2 78 Works
F<strong>HTW</strong> <strong>Berlin</strong> Prof. Dr. Zschockelt Datenbanken (04a)<strong>Normalisierung</strong>-<strong>Übung</strong>.ppt Folie 8<br />
<strong>Übung</strong> <strong>zur</strong> <strong>Normalisierung</strong> 3<br />
Redundanzen durch funktionale Abhängigkeit des Attributs Leiter von Abt und durch mehrfache<br />
Wiederholung der Attributsgruppe Sprache, Grad für jede PersNr.<br />
Pers_Nr Name Vorname Geschl Sprache Grad Abt Leiter<br />
023 Muh Magda w engl 2 34 Meier<br />
023 Muh Magda w franz 1 34 Meier<br />
145 Wau Harald m 34 Meier<br />
437 Miau Irene w engl 2 56 Busse<br />
437 Miau Irene w russ 3 56 Busse<br />
759 Quak Andre m engl 3 56 Busse<br />
854 Piep Ursel w franz 2 78 Works<br />
Pers_Nr Name Vorname Geschl Abt Leiter<br />
023 Muh Magda w 34 Meier<br />
145 Wau Harald m 34 Meier<br />
437 Miau Irene w 56 Busse<br />
759 Quak Andre m 56 Busse<br />
854 Piep Ursel w 78 Works<br />
• Die Spalten Name, Vorname, Geschl,<br />
Abt, Leiter werden gemeinsam mit der<br />
Schlüsselspalte Pers_Nr in eine neue<br />
Tabelle gespeichert.<br />
• Die Zeile 145 wird in der alten Tabelle<br />
gestrichen (keine Fremdsprache).<br />
• Doppelte Zeilen (Tupel) in der neuen<br />
Tabelle werden eliminiert.
F<strong>HTW</strong> <strong>Berlin</strong> Prof. Dr. Zschockelt Datenbanken (04a)<strong>Normalisierung</strong>-<strong>Übung</strong>.ppt Folie 9<br />
<strong>Übung</strong> <strong>zur</strong> <strong>Normalisierung</strong> 3<br />
Redundanzen durch funktionale Abhängigkeit des Attributs Leiter von Abt und durch mehrfache<br />
Wiederholung der Attributsgruppe Sprache, Grad für jede PersNr.<br />
Pers_Nr Sprache Grad<br />
023 engl 2<br />
023 franz 1<br />
437 engl 2<br />
437 russ 3<br />
759 engl 3<br />
854 franz 2<br />
Pers_Nr Name Vorname Geschl Abt Leiter<br />
023 Muh Magda w 34 Meier<br />
145 Wau Harald m 34 Meier<br />
437 Miau Irene w 56 Busse<br />
759 Quak Andre m 56 Busse<br />
854 Piep Ursel w 78 Works<br />
Tabelle Sprachen (3NF)<br />
Pers_Nr ist<br />
Fremdschlüssel mit<br />
Referenz zu Person<br />
Tabelle Person (2NF)<br />
Aber es existiert noch eine<br />
transitive Abhängigkeit der<br />
Spalte Leiter von Abt!
F<strong>HTW</strong> <strong>Berlin</strong> Prof. Dr. Zschockelt Datenbanken (04a)<strong>Normalisierung</strong>-<strong>Übung</strong>.ppt Folie 10<br />
<strong>Übung</strong> <strong>zur</strong> <strong>Normalisierung</strong> 3<br />
Redundanzen durch transitive Abhängigkeit der Spalte Leiter von der Spalte Abt(eilung).<br />
Tabelle Sprachen (3NF) Tabelle Person (2NF)<br />
Pers_Nr Sprache Grad<br />
023 engl 2<br />
023 franz 1<br />
437 engl 2<br />
437 russ 3<br />
759 engl 3<br />
854 franz 2<br />
Pers_Nr Name Vorname Geschl Abt Leiter<br />
023 Muh Magda w 34 Meier<br />
145 Wau Harald m 34 Meier<br />
437 Miau Irene w 56 Busse<br />
759 Quak Andre m 56 Busse<br />
854 Piep Ursel w 78 Works<br />
Abt Leiter<br />
34 Meier<br />
56 Busse<br />
78 Works<br />
Tabelle Abteilung (3NF)<br />
• Die transitiv abhängige Spalte Leiter<br />
wird gemeinsam mit der Bezugsspalte<br />
Abt in eine neue Tabelle gespeichert.<br />
• Abt wird Primärschlüssel.<br />
• Doppelte Zeilen (Tupel) in der neuen<br />
Tabelle werden eliminiert.
F<strong>HTW</strong> <strong>Berlin</strong> Prof. Dr. Zschockelt Datenbanken (04a)<strong>Normalisierung</strong>-<strong>Übung</strong>.ppt Folie 11<br />
<strong>Übung</strong> <strong>zur</strong> <strong>Normalisierung</strong> 3<br />
Redundanzen durch transitive Abhängigkeit der Spalte Leiter von der Spalte Abt(eilung) wurden<br />
beseitigt.<br />
Sprachen (3NF) Person (3NF)<br />
Pers_Nr Sprache Grad<br />
023 engl 2<br />
023 franz 1<br />
437 engl 2<br />
437 russ 3<br />
759 engl 3<br />
854 franz 2<br />
Pers_Nr Name Vorname Abt Geschl<br />
023 Muh Magda 34 w<br />
145 Wau Harald 34 m<br />
437 Miau Irene 56 w<br />
759 Quak Andre 56 m<br />
854 Piep Ursel 78 w<br />
Abteilung (3NF)<br />
Abt Leiter<br />
34 Meier<br />
56 Busse<br />
78 Works
F<strong>HTW</strong> <strong>Berlin</strong> Prof. Dr. Zschockelt Datenbanken (04a)<strong>Normalisierung</strong>-<strong>Übung</strong>.ppt Folie 13<br />
Student<br />
<strong>Übung</strong> <strong>zur</strong> <strong>Normalisierung</strong> 4<br />
Die Lösung besteht in den nachfolgenden 3 Tabellen in 3NF.<br />
Bitte ermitteln Sie den Lösungsweg!<br />
StudNr Name StGang<br />
2317 Frohsinn, S. WI<br />
3564 Trübsal, F. BW<br />
4567 Dickfell, K. WI<br />
8540 Klarsicht, A. BW<br />
Studiengang Noten<br />
StGang Auskunft<br />
WI 268<br />
BW 145<br />
StudNr Kurs Sem Note<br />
2317 MAT12 S00 1,7<br />
2317 INF06 W00 5,0<br />
2317 INF06 S01 2,3<br />
2317 BW_12 W99 2,0<br />
3564 BW_08 W99 3,3<br />
4567 MAT12 S00 3,0<br />
4567 INF03 S00 2,7<br />
8540 BW_12 S00 1,7<br />
8540 INF13 W00 2,0
F<strong>HTW</strong> <strong>Berlin</strong> Prof. Dr. Zschockelt Datenbanken (04a)<strong>Normalisierung</strong>-<strong>Übung</strong>.ppt Folie 14<br />
Klausuraufgabe SS 2003<br />
Bringen Sie folgende Relation, die die Artikelsystematik eines Versandhauses enthält, in<br />
die dritte Normalform (3NF), kennzeichnen Sie in geeigneter Weise die referentielle<br />
Integrität zwischen den normalisierten Tabellen (Fremdschlüssel angeben) und<br />
unterstreichen Sie die Primärschlüssel.<br />
ARTIKEL(ANR,NAME,WA,WABEZ,MWST,AG,AGBEZ,LNR,LO,PREIS,MENGE)<br />
Legende: ANR=Artikel-Nummer, NAME=Bezeichnung des Artikels<br />
WA=Warenart (Schlüsselnr.) WABEZ=Bezeichnung der Warenart<br />
MWST=Mehrwertsteuersatz für die Warenart<br />
AG=Artikelgruppe (Schlüsselnr.) AGBEZ= Bezeichnung der Artikelgruppe<br />
LNR= Lagernummer LO= Lagerort<br />
PREIS=Netto-Angebotspreis MENGE=Lagerbestand im Lager<br />
Gehen Sie davon aus, dass ein Artikel immer nur zu einer Artikelgruppe und eine<br />
Artikelgruppe immer nur zu einer Warenart gehören. Ein Artikel kann jedoch in mehreren<br />
Lagern vorrätig sein und natürlich enthält ein Lager in der Regel auch immer mehrere<br />
Artikel.
F<strong>HTW</strong> <strong>Berlin</strong> Prof. Dr. Zschockelt Datenbanken (04a)<strong>Normalisierung</strong>-<strong>Übung</strong>.ppt Folie 15<br />
Klausuraufgabe SS 2003 Lösung<br />
ARTIKEL(ANR,NAME,WA,WABEZ,MWST,AG,AGBEZ,LNR,LO,PREIS,MENGE)<br />
Legende: ANR=Artikel-Nummer, NAME=Bezeichnung des Artikels<br />
WA=Warenart (Schlüsselnr.) WABEZ=Bezeichnung der Warenart<br />
MWST=Mehrwertsteuersatz für die Warenart<br />
AG=Artikelgruppe (Schlüsselnr.) AGBEZ= Bezeichnung der Artikelgruppe<br />
LNR= Lagernummer LO= Lagerort<br />
PREIS=Netto-Angebotspreis MENGE=Lagerbestand im Lager<br />
ARTIKEL(ANR, NAME, AG, PREIS)<br />
ARTIKELGRUPPE(AG, AGBEZ, WA)<br />
WARENART(WA, WABEZ, MWST)<br />
Beispiel: Darstellung in MS-ACCESS<br />
LAGER(LNR, LO)<br />
LAGERUNG(LNR, ANR, MENGE)
F<strong>HTW</strong> <strong>Berlin</strong> Prof. Dr. Zschockelt Datenbanken (04a)<strong>Normalisierung</strong>-<strong>Übung</strong>.ppt Folie 16<br />
Klausuraufgabe SS 2003 Lösung<br />
ARTIKEL(ANR,NAME,WA,WABEZ,MWST,AG,AGBEZ,LNR,LO,PREIS,MENGE)<br />
Legende: ANR=Artikel-Nummer, NAME=Bezeichnung des Artikels<br />
WA=Warenart (Schlüsselnr.) WABEZ=Bezeichnung der Warenart<br />
MWST=Mehrwertsteuersatz für die Warenart<br />
AG=Artikelgruppe (Schlüsselnr.) AGBEZ= Bezeichnung der Artikelgruppe<br />
LNR= Lagernummer LO= Lagerort<br />
PREIS=Netto-Angebotspreis MENGE=Lagerbestand im Lager<br />
Darstellung in MS-ACCESS