Anzeige

Normalisierung von der 1-3 Form...

Normalisierung von der 1-3 Form... | PSD-Tutorials.de

Erstellt von samy2006, 08.11.2008.

  1. samy2006

    samy2006 Guest

    Normalisierung von der 1-3 Form...
    Hallo zusammen,

    Kann mir jemand helfen diese Datenbank zu Normalisieren.Ich hab die 1 Normalform denk ich richtig gelöst und es happert leider an der 2 und 3 Normalform, vielleicht könnt Ihr mich etwas unterstützen...Da die Datenbank nicht richtig dargestellt werden kann, hab ich euch ein bild beigefügt

    Bin dankbar für jede Hilfestellung.


    Gruß
    Samy


    Unstrukturierter Ansatz:

    Lfnr Name Ort Spnr Spbez Matnr Matbez Lfme Preis
    212 Festa Kiel 11 Hapag A123 Welle Palette 675
    212 Festa Kiel A234 Zahnrad Karton 432
    212 Festa Kiel A555 Rahmen Karton 88
    215 Maier Wien 72 Btrans B332 Feder Karton 64
    218 Sparta Mainz 72 Btrans A123 Welle Palette 714
    218 Sparta Mainz A555 Rahmen Karton 77
    222 Santer Halle 11 Hapag A234 Zahnrad Karton 412


    1.Normalform:

    Lfnr Name Ort Spnr Spbez Matnr Matbez Lfme Preis
    212 Festa Kiel 11 Hapag A123 Welle Palette 675
    212 Festa Kiel 11 Hapag A234 Zahnrad Karton 432
    212 Festa Kiel 11 Hapag A555 Rahmen Karton 88
    215 Maier Wien 72 Btrans B332 Feder Karton 64
    218 Sparta Mainz 72 Btrans A123 Welle Palette 714
    218 Sparta Mainz 72 Btrans A555 Rahmen Karton 77
    222 Santer Halle 11 Hapag A234 Zahnrad Karton 412

    2.Normalform

    Preis Matnr Spnr
    675 A123 11
    432 A234 11
    88 A555 11
    64 B332 72
    714 A123 72
    77 A555 72
    412 A234 11

    Matnr Matbez Lfme
    A123 Welle Palette
    A234 Zahnrad Karton
    A555 Rahmen Karton
    B332 Feder Karton




    3. Normalform

    ???



    [​IMG][/URL][​IMG][/IMG]
     
    Zuletzt von einem Moderator bearbeitet: 08.11.2008
    #1      
  2. saila

    saila Moderatorle

    Dabei seit:
    21.06.2006
    Beiträge:
    2.239
    Geschlecht:
    männlich
    Ort:
    50°48'23.69" N 7°14'22.19" O
    Software:
    Eclipse, PHP5 OO, MySQL5, CSS(auch Barrierefrei), JS, Symfony
    Normalisierung von der 1-3 Form...
    AW: Normalisierung von der 1-3 Form...

    Was verstehst du unter "Normalisierung"?

    Die Ausgabe, die Spaltentyp oder lediglich die Ausgabe (was keine Normalisierung wäre)?
     
    #2      
  3. Duddle

    Duddle Posting-Frequenz: 14µHz

    Dabei seit:
    03.02.2006
    Beiträge:
    3.864
    Geschlecht:
    männlich
    Ort:
    Dresden
    Normalisierung von der 1-3 Form...
    AW: Normalisierung von der 1-3 Form...

    Wie wäre es, wenn du noch mehr Abkürzungen und Codierungen einführst, damit das Beispiel etwas unübersichtlicher wird?

    Alleine schon weil du in der 2. NF Informationen verlierst (z.B. wo ist Ort?) kann da was nicht stimmen. Auch fällt sofort ein fehlender Primärschlüssel auf (oder soll etwa "Preis" das werden?).

    Mach also erstmal die 2. NF richtig, bevor du weitergehst. In der Regel stellt sich dann die 3. NF sowieso schon durch eine gescheite Modellierung ein. Ich empfehle dir also, dich mal mit dem Konzept des ERM (Entity-Relationship-Modell) und ER-Diagrammen auseinanderzusetzen.


    Duddle
     
    #3      
  4. samy2006

    samy2006 Guest

    Normalisierung von der 1-3 Form...
    AW: Normalisierung von der 1-3 Form...

    Ich habe die 2 Form mal erweitert.Den Primärschlüssel "Preis" hab ich nur gewählt weil er verschiedene werte besitzt oder wäre es besser wenn ich "Lfnr" als Primärschlüssel wähle....?



    2.NF:

    Preis Matnr Spnr
    675 A123 11
    432 A234 11
    88 A555 11
    64 B332 72
    714 A123 72
    77 A555 72
    412 A234 11

    Matnr Matbez Lfme
    A123 Welle Palette
    A234 Zahnrad Karton
    A555 Rahmen Karton
    B332 Feder Karton

    Lfnr Name Ort Spbez
    212 Festa Kiel Hapag
    215 Maier Wien Btrans
    218 Sparta Mainz Btrans
    222 Santer Halle Hapag
     
    #4      
  5. saila

    saila Moderatorle

    Dabei seit:
    21.06.2006
    Beiträge:
    2.239
    Geschlecht:
    männlich
    Ort:
    50°48'23.69" N 7°14'22.19" O
    Software:
    Eclipse, PHP5 OO, MySQL5, CSS(auch Barrierefrei), JS, Symfony
    Normalisierung von der 1-3 Form...
    AW: Normalisierung von der 1-3 Form...

    Um das ganze zu normalisieren, wäre die Vergabe der Lfnr per autoincrement unique am sinnvollsten. Der Preis wie bisher kann sich auch unerwartet wiederholen. Primärschlüssel wäre danach "Lfnr". Desweiteren kannst du eine Indexvergabe auf Preis und Spnr vornehmen. Das verbessert die Performance.
     
    #5      
  6. samy2006

    samy2006 Guest

    Normalisierung von der 1-3 Form...
    AW: Normalisierung von der 1-3 Form...

    Danke für die Antwort...hab es nun abgeändert und hoffe das es nun richtig ist...



    Lfnr Matnr Preis
    212 A123 675
    212 A234 432
    212 A555 88
    215 B332 64
    218 A123 714
    218 A555 77
    222 A234 412

    Matnr Matbez Lfme
    A123 Welle Palette
    A234 Zahnrad Karton
    A555 Rahmen Karton
    B332 Feder Karton



    Lfnr Name Ort Spnr Spbez
    212 Festa Kiel 11 Hapag
    215 Maier Wien 72 Btrans
    218 Sparta Mainz 72 Btrans
    222 Santer Halle 11 Hapag
     
    #6      
  7. Duddle

    Duddle Posting-Frequenz: 14µHz

    Dabei seit:
    03.02.2006
    Beiträge:
    3.864
    Geschlecht:
    männlich
    Ort:
    Dresden
    Normalisierung von der 1-3 Form...
    AW: Normalisierung von der 1-3 Form...

    Das ist falsch. Simpelstes Gegenbeispiel als rhetorische Frage: welcher Datensatz wird für Lfnr 212 aus deiner ersten "Tabelle" zurückgegeben?

    Du solltest vorerst ein paar grundlegende Artikel über relationale Datenbanken und die Anforderungen an diese studieren. Dir müssen sofort die Probleme mit der ersten "Tabelle" ins Auge stechen, sonst hast du noch nicht das Konzept der relationalen Datenbank verstanden.

    Vielleicht solltest du dich erstmal an einem einfacheren Beispiel versuchen, bevor du das hier mehr schlecht als recht implementierst. Und erneut der Vorschlag: beschäftige dich mit ER-Modellen.

    Edit: oder du verrätst uns mal, was du hier eigentlich modellieren willst.


    Duddle
     
    Zuletzt bearbeitet: 08.11.2008
    #7      
  8. netbandit

    netbandit Aktives Mitglied

    12
    Dabei seit:
    18.05.2008
    Beiträge:
    1.145
    Geschlecht:
    männlich
    Normalisierung von der 1-3 Form...
    AW: Normalisierung von der 1-3 Form...

    Lfnr: 212
    Name: Festa
    Ort: Kiel
    Spnr: 11
    Spbez: Hapag

    Matnr: A123
    Matbez: Welle
    Lfme: Palette

    Preis: 675
     
    #8      
  9. Duddle

    Duddle Posting-Frequenz: 14µHz

    Dabei seit:
    03.02.2006
    Beiträge:
    3.864
    Geschlecht:
    männlich
    Ort:
    Dresden
    Normalisierung von der 1-3 Form...
    AW: Normalisierung von der 1-3 Form...

    Und warum nicht "212 A234 432"? Die o.g. Datensätze sind nicht geordnet.

    Es ist ganz einfach: jede Tabelle sollte einen Primärschlüssel haben und wenn muss dieser eindeutig sein. Das ist oben nicht gegeben (selbst mit einem Compound-PK bezweifle ich es).


    Duddle
     
    #9      
  10. samy2006

    samy2006 Guest

    Normalisierung von der 1-3 Form...
    AW: Normalisierung von der 1-3 Form...

    Ich habe mich mal damit befasst und hab das ganze überarbeitet.Was hält ihr davon?.....

    [​IMG][​IMG]
     
    #10      
x
×
×
teststefan