Zum Inhalt springen

Normalisierung 1.NF etc.


UltimateLinux

Empfohlene Beiträge

Sehr geehrte Community,

ich habe folgende Aufgabenstellung und benötige euere Hilfe, um ein besseres Verständnis zur Thematik "Normalisierung" zu gewinnen. :)

Aufgabenstellung: "Bringen Sie die die folgende Flat Table in die 1.-, 2.- und 3.NF."

Ausgangs-Entitätstyp:

[table=width: 500]

[tr]

[td]Name[/td]

[td]Vorname[/td]

[td]StrHNr[/td]

[td]PLZ[/td]

[td]Ort[/td]

[td]Ausleihdatum[/td]

[td]Medium[/td]

[/tr]

[/table]

1.NF:

Da alle Attribute der Flat-Table schon atomar angeben sind, sieht die Lösung entsprechend so aus:

[table=width: 500]

[tr]

[td]Name[/td]

[td]Vorname[/td]

[td]StrHNr[/td]

[td]PLZ[/td]

[td]Ort[/td]

[td]Ausleihdatum[/td]

[td]Medium[/td]

[/tr]

[/table]

2.NF:

Jetzt beginnt für mich die unsichere Phase, als PK definiere ich die Attribute Ausleihdatum und FreundNr (künstlicher PK).

Mein Vorschlag:

[table=width: 500]

[tr]

[td]FreundNr[/td]

[td]Ausleihdatum[/td]

[td]Medium[/td]

[/tr]

[/table]

[table=width: 500]

[tr]

[td]FreundNr[/td]

[td]Name[/td]

[td]Vorname[/td]

[td]StrHNr[/td]

[td]PLZ[/td]

[td]Ort[/td]

[/tr]

[/table]

3.NF:

Aus meinem zweiten Entitätstyp erkenne ich eine transaktive Abhängigkeit zwischen PLZ -> Ort, deshalb muss ich ein neuer Entitätstyp definieren.

[table=width: 500]

[tr]

[td]FreundNr[/td]

[td]Ausleihdatum[/td]

[td]Medium[/td]

[/tr]

[/table]

[table=width: 500]

[tr]

[td]FreundNr[/td]

[td]Name[/td]

[td]Vorname[/td]

[td]StrHNr[/td]

[td]PLZ[/td]

[/tr]

[/table]

[table=width: 500]

[tr]

[td]PLZ[/td]

[td]Ort[/td]

[/tr]

[/table]

Wäre eine solche Lösung regelkonform bzw. richtig? Oder verletzt einer meiner Entitätstypen die Normalform?

MfG

UltimateLinux

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi derSuhler,

vielen dank erstmal für deine Antwort.

Alles klar, dann müsste die Lösung so aussehen:

FreundNr Ausleihdatum Medium

FreundNr Name Vorname StrHNr PLZ Ort

Korrekt?

So nun zu deiner Frage, ich persönlich würde die bestehende PK-Kombination erweitern und zwar mit einem neuen Attribut namens "AusleihNr", um jedes Medium eindeutig zu identifizieren können.

Das würde so aussehen:

FreundNr Ausleihdatum AusleihNr Medium

FreundNr Name Vorname StrHNr PLZ Ort

MfG

UltimateLinux

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi UltimateLinux,

Ein Ort kann mehrere PLZ haben, logisch; aber der Umgekehrte Fall tritt auch auf, d.h., dass mehrere Orte eine PLZ haben können. Damit sind Ort und PLZ nicht transitiv abhängig.

Aber was wäre, wenn ein Freund an einem Tag mehrere Medien ausleihen will?

Eine Plz kann mehrere Orte beinhalten. Aber in Deutschland kommt es auf die Plz an. Aktuell sind es in Deutschland 14957 Postleitzahlen. Die Identifizierung der Straße findet nicht statt. Die Plz ist lediglich das Umfeld, Teilorte fallen demnach raus.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Eine Plz kann mehrere Orte beinhalten. Aber in Deutschland kommt es auf die Plz an. Aktuell sind es in Deutschland 14957 Postleitzahlen. Die Identifizierung der Straße findet nicht statt. Die Plz ist lediglich das Umfeld, Teilorte fallen demnach raus.

Also nach deiner Aufassung ist eine genauere Identifizierung durch das Attribut "Ort" nicht mehr nötig da diese Aufgabe schon das Attribut "PLZ" übernommen hat.

Verstehe, dann sehen die Relationen so aus:

FreundNr Ausleihdatum AusleihNr Medium

FreundNr Name Vorname StrHNr PLZ

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...