Hilfe für Klausur
-
Hallo Leudz,
ich schreibe morgen eine Klausur über Datenbankentwürfe (ERM und so).
Mein Problem ist die Normalisierung. Ich hab dazu zwar ein Arbeitsblatt, komme aber überahupt nicht zurecht. Könnte jemand mir das mal "kurz erklären".
Wenn möglich mit folgenden Beispiel:Kundennr. Kundenname Auftragsnr. Auftragsdatum Anzahl Artikelnr. Artname Preis
10001 Fuchs,Tanja 12345 9.4.01 1 246 Bowlingkugel 50
10001 Fuchs,Tanja 12345 9.4.01 2 123 Handtuch 69
10002 Gregor,Hans 12346 16.4.01 2 246 Bowlinkugel 50Mein erster Schritt wäre Kundename in Vor und Nachname zu teilen. evt. auch zweite Tab wo die Kundenr. mit Namen steht.
Is das soweit richtig???
Ist das schon die erste Normalform? wie geht es weiter??Ich hoffe ihr könnt und wollt mir helfen, also vielen Dank im voraus.
-
Hi,
schau doch mal hier:
http://www.spline.inf.fu-berlin.de/dokumentation/PHP3-mySQL/node6.htmlUnd hier:
http://www.oszhdl.be.schule.de/gymnasium/faecher/informatik/datenbanken/normal/normalisierung.htmIch hoffe das hilft.
-
generell schwer zu sagen. da muss man im allgemeinen mehr ueber
das "umfeld" wissen.das aufteilen von kundenname in vor- und zuname erscheint sinnvoll
(auch wenn ich das hier nicht unbedingt als normalisierungschritt
sehen wuerde).der kundenname scheint eindeutig auf die kundennummer abgebildet
werden zu koennen
--> name (und evtl. andere kundendaten) in eine eigene tabelle
ueber kundennr referenzierendie artikelnr scheint die artikeldaten eindeutig zu identifizieren
--> artikelname,-preis in eigene tabelle und ueber a.-nr referenzieren.damit waere die tabelle in 3. (sogar in 5. ;)) normalform:
- es sind keine aufzaehlungen vorhanden (1. nf)
- weil die tabelle nur einen einfachen nicht zusammengesetzten
primaerschluessel hat ist sie in 2.nf
- 3. nf, weil kein nicht schluesselattribut funktional abhaengig
(also eindeutig ueber ein anderes) von einem anderen nicht
schluesselattribut abhaengig ist.
-
Hm klingt gannz logisch, bloß weiß ichnnicht so richtig wo ich die Auftragsnr. reinpacken soll. Denn ein Kunde kann mehrere Aufträge abgeben und ein Auftrag kann mehrere Artikel betreffen.
Meine Idee:
Auftragnr. kundennr. artikelnr. anzahl datum
aber dann müssen manche Auftragnr. mehrmals reingeschrieben werden, weil ja mehrere Artikel bestellt werden.
Ist das trotzdem OK???
-
Ok ich glaub ich hab die passende Lösung
1. NF
atomare Attribute--> Vor und Nachname unterteilen
2. NF
nichtSchlüsselmerkmale voll funktional abhängig vom Primärschlüssel
--> Tab Kunde : Nr, Vor- und Nachname
Tab Auftrag: Auftragnr., Artanzahl, Artnr, Artname, preis3. NF
kein Nichtschlüsselmerkmal transitiv abhängig von Schlüsselmerkmal
--> zusätzlich Tab Artikel: Artnr., Artname, Preis
und Auftrag logischer weise bloß noch
Tab Auftrag: Nr., Artnr, Anz., Datumich glaube so wollte die Lehrerin das haben
Hab aber noch ein kleines Problem:
Das relationale Datenbankmodell besitzt die Eigenschaft, tabellarisch angeordnete Daten miteinander zu verbinden. Erläutern sie, welche Voraussetzung dazu erfüllt sein muss. Gehen sie dabei auch auf den Begriff Redundanz ein!
Redundanz ist klar
Aber was ist die Voraussetzung???
-
Ich nehme mal an Du sollst hier auf die Schlüssel eingehen.
Wo bei Du mit den Schlüsseln wieder ggf. Redudante Daten anlegen musst.
-
Jo hallo ich habe heute die Klausur geschrieben, bin eogentlich ganz zu frieden. War viel einfacher als ich befürchtete
Vielen Dank für eure Hilfe, ich poste das Ergebnis natürlich sobald ich es habe.