Willkommen auf dem Portal für Mediengestalter
|
|
Autor |
Nachricht |
house baby
Threadersteller
Dabei seit: 18.12.2008
Ort: bei Forchheim
Alter: 36
Geschlecht:
|
Verfasst Sa 10.04.2010 12:36
Titel AP 2010: Datenbanken (Normalisierung) - Anwendungsbeispiel |
|
|
Ich besitzte jetzt einfach mal die Dreistheit einen neuen Thread zum Thema Normalisierung aufzumachen.
Das ist so ein Thema für mich, wo ich zum Anfang dacht "Is ja kein Ding." Aber nun da ich mich mit der Anwendung beschäftigt habe, komm ich so langsam an meine Grenzen.
Ich habe versucht anhand eines Beispiels eine Normalisierung in 3 Schritten durchzuführen.
Bis zur 2. bin ich gekommen.
Mein Problem besteht darin, dass ich weder damals noch heute wirklich verstanden habe, was wirklich der Unterschied zwischen 2. und 3. Normalform ist.
Ich finde, dass
"alle Nichtschlüsselattribute hängen ausschließlich vom Gesamtschlüssel ab" (2.NF) und "es existieren keine transitiven Abhängigkeiten zwischen Nichtschlüsselattributen ->Transitive Abhängigkeiten liegen vor, wenn man ein Nichtschlüsselattribut benötigt, um auf ein anderes Nichtschlüsselattribut schließen zu können" (3.NF)
das selbe ist. Nur anders ausgedrückt.
Denn wenn - laut 3. NF - keine transitiven Abhängigkeiten bestehen -> man benötigt kein Nichtschlüsselattribut, um auf ein anderes Nichtschlüsselattribut schließen zu können, sondern kann vom Primärschlüssel auf alle anderen Attribute schließen , dann ist das doch das selbe wenn "alle Nichtschlüssel nur vom Gesamtschlüssel abhängig sind"
Also ich hab da grad den totalen hänger.
Und weil ich diese 2 Formen nicht ausseinander halten kann, komme ich bei meinem Anwendungsbeispiel auch nicht weiter.
Ich habe mir gedacht, wenn wir vll zusammen versuchen das Beispiel nach den 3 Normalformen zu lösen, hat vll jeder was davon. (deswegen bitte nicht gleich wieder schließen! *bittebitte*
Hier das Bsp.:
|
|
|
|
|
qualidat
Dabei seit: 14.09.2006
Ort: Eichwalde bei Berlin
Alter: 63
Geschlecht:
|
Verfasst Sa 10.04.2010 17:38
Titel
|
|
|
Also mit den Begrifflichkeiten bin ich nicht sonderlich vertraut, aber ich würde "instinktiv" die Ausgangstabelle wie folgt zerlegen:
Tabelle Mitarbeiter: MitarbNr, Name, Vorname, Beruf, Straße, HausNr., PLZ, Ortsbez., AbtNr., TelNr.
Tabelle Projekte: ProjektNr, ProjektBez, Abgabetermin
Tabelle Abteilungen: AbtNr., AbtBez
Tabelle AbtMitarb: AbtNr, MitarbNr
Tabelle ProjektMitarb: ProjektNr, MitarbNr
Damit dürfte eine maximal sinnvolle "Atomisierung" erreicht sein. Eventuell könnte man noch PLZ und Ortsbezeichnung abspalten und über eine AddressNr mit der Tabelle Mitarbeiter verbinden (es gibt schließlich Orte, die mehrere PLZ haben), aber das ist schon fast Haarspalterei ...
|
|
|
|
|
Anzeige
|
|
|
-Spielkind-
Dabei seit: 12.02.2009
Ort: Papenburg
Alter: 34
Geschlecht:
|
Verfasst Sa 10.04.2010 17:43
Titel
|
|
|
qualidat hat geschrieben: | Also mit den Begrifflichkeiten bin ich nicht sonderlich vertraut, aber ich würde "instinktiv" die Ausgangstabelle wie folgt zerlegen:
Tabelle Mitarbeiter: MitarbNr, Name, Vorname, Beruf, Straße, HausNr., PLZ, Ortsbez., AbtNr., TelNr.
Tabelle Projekte: ProjektNr, ProjektBez, Abgabetermin
Tabelle Abteilungen: AbtNr., AbtBez
Tabelle AbtMitarb: AbtNr, MitarbNr
Tabelle ProjektMitarb: ProjektNr, MitarbNr
Damit dürfte eine maximal sinnvolle "Atomisierung" erreicht sein. Eventuell könnte man noch PLZ und Ortsbezeichnung abspalten und über eine AddressNr mit der Tabelle Mitarbeiter verbinden (es gibt schließlich Orte, die mehrere PLZ haben), aber das ist schon fast Haarspalterei ... |
Ich glaub ich würde es genauso machen.
|
|
|
|
|
hoyden
Dabei seit: 08.02.2009
Ort: osnabrück
Alter: 37
Geschlecht:
|
Verfasst Sa 10.04.2010 17:52
Titel
|
|
|
ich glaub, ich würd die streichen
|
|
|
|
|
house baby
Threadersteller
Dabei seit: 18.12.2008
Ort: bei Forchheim
Alter: 36
Geschlecht:
|
Verfasst Sa 10.04.2010 21:06
Titel
|
|
|
die aufspaltung find ich auch ganz sinnvoll.
aber kannst du sagen, in welchem schritt du die 1. Normalform erfüllst, in welchem die 2. und in welchem die 3.?
Da liegt der Haken bei mir ^^
|
|
|
|
|
Jojo_01
Dabei seit: 20.08.2008
Ort: -
Alter: 37
Geschlecht:
|
Verfasst So 11.04.2010 13:22
Titel
|
|
|
Also ich hätte das wie folgt gelöst:
3. Normalform:
1. Projektaufträge (Übersicht)
Mitarb.Nr. Projekt-Nr. Abgabe-Nr. Abteilungs-Nr.
2. Tabelle Mitarbeiter:
Mitarb-Nr. Vorname Nachname Straße PLZ Ort Telefon Berufnr.
3. Tabelle Beruf:
Beruf-Nr. Berufsbezeichnung
4. Projekt Mitarbeiter:
Projekt-Nr. Mitarbeiter-Nr.
5. Tabelle Projekte:
Projekt-Nr. Projektbezeichnung
6. Projekt Abgaben:
Projekt-Nr. Abgabe-Nr.
7. Tabelle Abgaben:
Abgabe-Nr. Datum
8. Tabelle Abteilungs Mitarbeiter:
Abteilungs-Nr. Mitarbeiter-Nr.
9. Tabelle Abteilungen:
Abteilungs-Nr. Abteilungsbezeichnung
Wäre das richtig
|
|
|
|
|
qualidat
Dabei seit: 14.09.2006
Ort: Eichwalde bei Berlin
Alter: 63
Geschlecht:
|
Verfasst So 11.04.2010 14:16
Titel
|
|
|
Formal richtig schon, aber nicht in jedem Falle sinnvoll.
Den Beruf abzuspalten wäre evtl. ok, weil es sicher mehrere Mitarbeiter gibt, die den gleichen Beruf haben und es auch Mitarbeiter gibt, die mehrere Berufe haben.
Vom Projekt das Abgabedatum abzuspalten ist zwar möglich, aber wenig sinnvoll, weil sicher jedes Projekt nur einen einzigen Abgabetermin hat. Anders sähe das aus, wenn es verschiedene Zwischenstufen oder Revisionstermine vor der endgültigen Abgabe gäbe - das ist aber nicht so.
Ort und PLZ in eine eigene Tabelle wäre wohl noch sinnvoll, weil es Orte gibt, die mehrere PLZ haben.
Zuletzt bearbeitet von qualidat am So 11.04.2010 14:17, insgesamt 1-mal bearbeitet
|
|
|
|
|
|
|
|
Ähnliche Themen |
Datenbanken
Buch über Datenbanken
Zwischenprüfungthemen 2010
AP Sommer 2010
AP 2010 Hardwarekokmponenten
AP 2010 - Zusammenfassung als PDF
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|