Veröffentlicht 18. Februar 201510 j 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.
18. Februar 201510 j 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)
18. Februar 201510 j 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 201510 j von Sinoxy
19. Februar 201510 j 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.
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.