Zum Inhalt springen

Winter 2019 Normalisierungsaufgabe


Empfohlene Beiträge

Hallo Zusammen,

in der Winterprüfung 2019 für den Anwendungsentwickler gab es eine Aufgabe zur Normalisierung.

Ich Finde jedoch einfach die Lösung für die 3NF nicht. Ich sehe keinen Unterschied zwischen der 2NF und der 3NF für diese Tabelle:

BikeID BikeType MaintanenceDate MaintanenceID MaintainenceType Time EmployeeID EmployeeName
E5 E-Bike 400 10/17/2019 12, 09, 05 Breaks, Clutch, Akku 30, 12, 15 123, 345, 512 Klaus Müller, Beatrice Richter, Kurt Helming
C2 Citybike 28 10/20/2019 03, 12 Pedals, Breaks, 25, 10 345, 123 Beatrice Richter, Klaus Müller
E5 E-Bike 400 11/15/2019 9 Clutch 15 123 Klaus Müller

1NF:

BikeID BikeType MaintanenceDate MaintanenceID MaintainenceType Time EmployeeID EmployeeName EmployeeFirstname
E5 E-Bike 400 10/17/2019 12 Breaks 30 123 Müller Klaus
E5 E-Bike 400 10/17/2019 9 Clutch 12 345 Richter Beatrice
E5 E-Bike 400 10/17/2019 5 Akku 15 512 Helming Kurt
C2 Citybike 28 10/20/2019 3 Pedals 25 345 Richter Beatrice
C2 Citybike 28 10/20/2019 12 Breaks 10 123 Müller Klaus
E5 E-Bike 400 11/15/2019 9 Clutch 15 123 Müller  Klaus

2NF:

BikeID BikeType      
E5 E-Bike 400      
C2 Citybike 28      
         
EmployeeID EmployeeName EmployeeFirstname    
123 Müller Klaus    
345 Richter Beatrice    
512 Helming Kurt    
         
MaintanenceID MaintainenceType      
3 Pedals      
5 Akku      
9 Clutch      
12 Breaks      
         
BikeID EmployeeID MaintanenceID MaintanenceDate Time
E5 123 12 10/17/2019 30
E5 345 9 10/17/2019 12
E5 512 5 10/17/2019 15
C2 345 3 10/20/2019 25
C2 123 12 10/20/2019 10
E5 123 9 11/15/2019 15

 

Wie würde denn jetzt die 3NF aussehen? 

Habe ich vlt. schon einen Fehler bei der 1NF oder 2NF gemacht?

 

 

Bearbeitet von dinozero
Link zu diesem Kommentar
Auf anderen Seiten teilen

Du hast in deiner Umformung in die 1NF schon einen Schritt zu viel gemacht, sodass deine 1NF schon die 2NF ist.

Die 1NF besagt nämlich nur, dass jede Information in der Tabelle eine Spalte bekommt. Du hast aber die Namen der Mitarbeiter schon atomar aufgeteilt. Das wäre der Schritt für die 2NF. Die 1NF sähe eigentlich so aus:

1NF:

BikeID  BikeType    MaintanenceDate MaintanenceID   MaintainenceType    Time    EmployeeID  Employee
E5      E-Bike 400  10/17/2019      12              Breaks              30      123         Klaus Müller
E5      E-Bike 400  10/17/2019      9               Clutch              12      345         Beatrice Richter
E5      E-Bike 400  10/17/2019      5               Akku                15      512         Kurt Helming
C2      Citybike 28 10/20/2019      3               Pedals              25      345         Beatrice Richter
C2      Citybike 28 10/20/2019      12              Breaks              10      123         Klaus Müller
E5      E-Bike 400  11/15/2019      9               Clutch              15      123         Klaus Müller

Der nächste Schritt, um in die 2NF zu gelangen, wäre Employee in FirstName und LastName aufzuteilen.

2NF:

BikeID  BikeType    MaintanenceDate MaintanenceID   MaintainenceType    Time    EmployeeID  EmployeeFirstName   EmployeeLastName
E5      E-Bike 400  10/17/2019      12              Breaks              30      123         Klaus               Müller
E5      E-Bike 400  10/17/2019      9               Clutch              12      345         Beatrice            Richter
E5      E-Bike 400  10/17/2019      5               Akku                15      512         Kurt                Helming
C2      Citybike 28 10/20/2019      3               Pedals              25      345         Beatrice            Richter
C2      Citybike 28 10/20/2019      12              Breaks              10      123         Klaus               Müller
E5      E-Bike 400  11/15/2019      9               Clutch              15      123         Klaus               Müller

Um nun in die 3NF zu kommen, müssen die Informationen in Tabellen aufgeteilt werden, den du schon richtig gemacht hast.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das kann doch nicht richtig sein, wenn man die Definition für die zweite Normalform ansieht: Ein Relationstyp (Tabelle) befindet sich genau dann in der zweiten Normalform (2NF), wenn er sich in der ersten Normalform (1NF) befindet und jedes Nichtschlüsselattribut von jedem Schlüsselkandidaten voll funktional abhängig ist. Demnach würde ich sagen, dass in der 2. Normalform z.B. EmployeeFirstName und Time auf keinen Fall in der gleichen Tabelle stehen können. Hab das Problem auch jedes Mal mit zweiter Normalform, 3. ist easy und intuitiv aber zweite...

Bearbeitet von badPractice
spelling
Link zu diesem Kommentar
Auf anderen Seiten teilen

Gast paranoiwarum?

Also leider ist die Antwort von @Whiz-zarD nicht ganz korrekt.

In der 1.NF teilst du den Employee bereits in Vor- und Nachname auf, also atomatisierst die Werte.

In der 2.NF tust du dann die Tabelle aufteilen in Bike, Maintenance und MaintenanceType.

Erst in der 3.NF spaltest du Employee von Maintenance ab. Employee hat nämlich Attribute (Vor- und Nachname) die nicht direkt von BikeID, MaintenanceDate und MaintenanceTypeID (Zusammengesetzter Primary Key) abhängig sind, sondern nur von EmployeeID. Also ab in eigene Tabelle.

 

Mit anderen Worten war dein Problem einfach nur dass du die transitive Abhängigkeit bereits in der 2.NF behoben hast statt wie vorrausgesetzt in der 3.

Bearbeitet von paranoiwarum?
Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...