Zum Inhalt springen

Adresse in der 3. Normalform ist ja nicht zum Blicken


tobidoe

Empfohlene Beiträge

Hallo Zusammen, 

ich blick nicht, wie man eine Wohnadresse in der dritten Normalform angibt. So schwer kann das doch nicht sein!?

Angenommen, ich habe "Kunden" inkl. deren Adresse. 
Dann (in der 3. NF) StrasseHnr in "Kunden"  lassen und PLZ + Ort in eine andere Tabelle auslagern? 
Aber dann ist ja trotzdem Ort von der PLZ transitiv abhängig.. 
Außerdem könnten zwei Leute in der gleichen StraßeHnr wohnen, also darf die ja auch nicht in "Kunden" bleiben. 
Also Strasse, PLZ und Ort in drei eigene Tabellen? Hab ich noch nie gesehen und wäre je mega umständlich...
 

Keine Ahnung, wie man da blicken soll, mit was die IHK in der Prüfung zufrieden ist... 😔

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 2 Minuten schrieb tobidoe:

Dann (in der 3. NF) StrasseHnr in "Kunden"  lassen und PLZ + Ort in eine andere Tabelle auslagern? 
Aber dann ist ja trotzdem Ort von der PLZ transitiv abhängig.. 

Das ist schon richtig so. Die transitiv abhängigen Spalten packste in eine seperate Tabelle und gut ist.

 

Kunde

Knr Name Vorname Straße Hnr Plz
x x x x x x

 

PLZ

plz ort
x x

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Jetzt kann aber die Straße mehrmals vorkommen. 
 

Angenommen Tom Maier wohnt in der Tierstraße und Max Weber wohnt auch in der Tierstraße, dann steht die mehrmals in der Tabelle und Redundanz ist nie gut...

Oder ist das eine Redundanz, die keiner der ersten drei Normalformen widerspricht und eben in Kauf genommen wird?
 

Bearbeitet von tobidoe
Link zu diesem Kommentar
Auf anderen Seiten teilen

Kommt darauf an. Ich habe erlebt, dass es eine je eine Tabelle für Personen und Adressen gab. Und dann noch eine Tabelle, in welcher die Adressen unter Berücksichtigung der Art der Adresse gespeichert wurde.

Also Rechnungsadresse, Lieferadresse(n), Wohnadresse, ...

PLZ-Ort ist übrigens n:m. Ebenfalls PLZ-Straße.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 7 Minuten schrieb allesweg:

PLZ-Ort ist übrigens n:m. Ebenfalls PLZ-Straße.

Das ist, finde ich, mit der wichtigste Punkt bislang. Vor allem, weil das von @programmierer_2 verlinkte Beispiel das nicht hergibt, da hier typischerweise von einer 1:n-Beziehung für PLZ-Ort ausgegangen wird. Doof nur, dass das am Ende dazu führen könnte, dass ein Paket nicht zugestellt werden kann. Wir haben bei uns in der Nähe auch zwei Orte, die sich eine PLZ teilen und obendrauf noch Ein-Straßen-Dörfer, die zwar eingemeindet sind, aber i.d.R. dennoch angegeben werden könn(t)en.

Den Fehler machen aber auch (Fach-)Hochschulen:

https://www.hdm-stuttgart.de/~riekert/lehre/db-kelz/chap4.htm

vor 20 Minuten schrieb tobidoe:

Also wird die Redundanz bei der Straße tatsächlich einfach in Kauf genommen? 

In einer perfekten Welt würde ich es nicht in Kauf nehmen, aus Bequemlichkeit wird es aber vielerorts getan.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich denke, ich weiß inzwischen Bescheid: 

1. Den Straßenname in einer Tabelle (z.B. "Kunden") anzugeben, führt zwar zu Redundanzen, diese werden aber in der Praxis an dieser Stelle oft akzeptiert.
Komplette Redundanzfreiheit hat kaum eine echte Datenbank und wäre auch nicht zielführend (wäre ein unverhältnismäßig hoher Aufwand). 
Die ersten 3 Normalformen sind damit auch nicht verletzt, die 4. NF aber schon! Genau die regelt sowas, wird aber in der Praxi aus o.g. Gründen nur selten angewandt. 

2. PLZ und Stadtnamen sind, wie schon genannt, m:n. Es gibt PLZ, die sich auf mehrere Städte beziehen und es gibt Städte, die mehrere PLZ haben. 
Wenn ich aber in PLZ und Stadtname in eine Tabelle schreibe, ohne extra ID, und den PK über beide Attribute ziehe, dann ist die ganze Sache elegant gelöst. 

Also, für die Prüfung: 
Falls nichts anderes angegeben ist, StrasseHnr oder Strasse + Hnr in der Tabelle belassen, PLZ + Stadt in extra Tabelle mit PK über beide Attribute, fertig. 
(4. NF ist damit noch verletzt, aber die wird ja nicht abgefragt)

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 16 Stunden schrieb _n4p_:

adressen sind meiner meinung nach einfach sehr schlechte beispiele für die 3NF

Zumal werden hier üblicherweise nur ein Teil der möglichen Adressbestandteile berücksichtigt und optionale Bestandteile als Pflichtfelder angesehen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 16 Stunden schrieb tobidoe:

(4. NF ist damit noch verletzt, aber die wird ja nicht abgefragt)

Nur zur Info: Es ist nicht immer gewünscht die Tabellen stark zu Normalisieren. Normalisierungen bedeutet auch immer eine schlechtere Performance, weil die SQL-Statements komplizierter werden. Darum findet man in der Praxis kaum etwas höheres, als die 3. NF. Weil hier die Kosten (sowohl in der Planung, als auch später bei der Ausführung) noch überschaubar sind. Es ist also ein guter Kompromis.

Für bestimmte Zwecke denormalisieren wir sogar teile unseres Datawarehouses von der 3. NF in die 1. NF, um eine bessere Performance und eine einfachere Schreibweise der SQL-Statements zu ermöglichen.

Bearbeitet von Whiz-zarD
Link zu diesem Kommentar
Auf anderen Seiten teilen

Am 2.5.2021 um 14:01 schrieb programmierer_2:

Ist es?

Ein PLZ kann nur ein Ort haben. Aber ein Ort kann mehrere PLZs haben.

Eine Straße kann nur ein PLZ haben, aber PLZ kann mehreren Straßen gehören.

Eine PLZ kann mehrere Orten haben und ein Ort kann mehrere PLZ haben 😃 bei mir im kreis haben 10 orte die selbe PLZ. und die nächste Stadt hat wenn ich mich nicht irre 3 PLZ oder sogar mehr

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 3 Stunden schrieb programmierer_2:

Gibt es in Dritten normal Form eine m:n Beziehung? Oder müssen die immer mit einer zwischen Tabelle ergänzt werden die dann zwei n:1 Beziehung beinhaltet?

Eine n:m-Beziehung kann nur mit einer Zwischentabelle abgebildet werden, falls das deine Frage war.

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