ThomasDevolper Geschrieben 18. Februar 2015 Teilen Geschrieben 18. Februar 2015 Hallo! Ich will eine Datenbank in dritter Normalform erstellen, und habe da seit einiger Zeit ein Problem mit der Redundanz. Ich habe eine folgendes: Tabelle Angestellten: id, Vorname, Nachname, adressID Tabelle Adressen: id, Straße, PLZ, Stadt Mein Probem ist jetzt, wenn 2 Angestelle die gleiche Adresse haben (z.b. eine Wohngemeinschaft) und einer von den beidne zieht aus, also ändert seine Adresse, gibt es ein Problem. Ich ändere den Datensatz in der Tabelle Adressen, dann hat aber der andere Angestellte auch eine neue Adresse. Wenn ich aber die Felder der Adresstabelle in die Angestelltentabelle gebe, dann würde ich wieder eine Redundanz bekommen, wennn 2 Angestelle in der Wohngemeinschaft wohnen. Kann mir da bitt jemand helfen wie ich das lösen könnte? Das wäre echt cool. Danke. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Gooose Geschrieben 18. Februar 2015 Teilen Geschrieben 18. Februar 2015 Du hast eine weitere Tabelle z.B. Ang2Addr mit AngId und AddrId, wo für einen Angestellten n Adressen referenziert werden können, oder eine Adresse für m Angestellte. (n zu m Beziehung) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Sinoxy Geschrieben 18. Februar 2015 Teilen Geschrieben 18. Februar 2015 (bearbeitet) Wenn jemand umzieht trägst Du zuerst die neue Adresse in die Relation Adressen ein. Diese neue Adresse bekommt dann eine neue ID, anschließend änderst Du das Attribut AdressID in der Relation Angestellten auf das neu erzeugte Tupel in Adressen. Ferner müsste PLZ und Ort als eigentständige Relation auftrauchen um auch hier Redundanzen zu vermeiden. Denn die PLZ ist vom Ort abhängig und nicht von AdressID. Die PLZ kann als Fremdschlüssel in die Relation Adressen aufgenommen werden. Bearbeitet 18. Februar 2015 von Sinoxy Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Der Hans Geschrieben 19. Februar 2015 Teilen Geschrieben 19. Februar 2015 Wenn jemand umzieht trägst Du zuerst die neue Adresse in die Relation Adressen ein. Diese neue Adresse bekommt dann eine neue ID, anschließend änderst Du das Attribut AdressID in der Relation Angestellten auf das neu erzeugte Tupel in Adressen. Du prüfst erst, ob die neue Adresse schon in der Adressentabelle vorhanden ist, bevor du sie blind einfügst. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
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.