Hallo zusammen,
ich habe mich schon durch unzählige Tutorials gearbeitet, doch leider habe ich noch keine akzeptable Lösung für das Hinzufügen eines neuen Datensatzes in einer normalisierten Tabellenstruktur gefunden.
Erklärung:
In einer nicht normalisierten Tabelle (oberste AdressenTabelle) ist der "insert" kein Problem. Mit nur einem Befehl ist alles erledigt.
Doch wie geht man am besten vor, wenn zum Beispiel die Spalte Ort in eine separate Tabelle ausgelagert wurde?
Mein Problem ist immer die Zuordnung im Fremdschlüssel (hier gelb markiert) oder in dem Fall, dass ein neuer Ort hinzukommt, der noch nicht in der OrtTabelle existiert.
Muss man das dann in X Schritten abhandeln, wie:
1. Prüfen ob OrtTabelle z.B. ein Musterdorf enthält
2. Wenn nein => insert into OrtTabelle(Ort) values ('Musterdorf')
3. ID von Musterdorf abfragen und in einer Variable speichern
4. => insert into AdressenTabelle(Name, Straße, PLZ, Ort) values ('Anna Mustermann', 'Muster-Str. 2',83282, @variable)
Bei sehr vielen Tabellen wird das schnell unübersichtlich und fehleranfällig. Hierfür gibt es doch bestimmt einen besseren Weg?
Danke schon mal im Voraus.
Gruß
Klamauck
ich habe mich schon durch unzählige Tutorials gearbeitet, doch leider habe ich noch keine akzeptable Lösung für das Hinzufügen eines neuen Datensatzes in einer normalisierten Tabellenstruktur gefunden.
Erklärung:
In einer nicht normalisierten Tabelle (oberste AdressenTabelle) ist der "insert" kein Problem. Mit nur einem Befehl ist alles erledigt.
Doch wie geht man am besten vor, wenn zum Beispiel die Spalte Ort in eine separate Tabelle ausgelagert wurde?
Mein Problem ist immer die Zuordnung im Fremdschlüssel (hier gelb markiert) oder in dem Fall, dass ein neuer Ort hinzukommt, der noch nicht in der OrtTabelle existiert.
Muss man das dann in X Schritten abhandeln, wie:
1. Prüfen ob OrtTabelle z.B. ein Musterdorf enthält
2. Wenn nein => insert into OrtTabelle(Ort) values ('Musterdorf')
3. ID von Musterdorf abfragen und in einer Variable speichern
4. => insert into AdressenTabelle(Name, Straße, PLZ, Ort) values ('Anna Mustermann', 'Muster-Str. 2',83282, @variable)
Bei sehr vielen Tabellen wird das schnell unübersichtlich und fehleranfällig. Hierfür gibt es doch bestimmt einen besseren Weg?

Danke schon mal im Voraus.
Gruß
Klamauck