Hallo Nina,
hab tab1.feld1 und tab2.tab1_feld1, welche für entsprechende einträge gleich sind.
sich vermute daher, dass in Tabelle tab1 die Spalte feld1 Träger des Primärschlüssels ist und in Tabelle tab2 Fremdschlüssel ist. Wenn Dir diese Begriffe nichts sagen, frage bitte nach.
in tab1 ist ein feld für tab2.tab2_feldx vorgesehen.
Warum? Das sieht definitiv nach einem fehlerhaften Tabellendesign aus. Es gibt im wesentlichen folgende Möglichkeiten:
a) Jedem Datensatz aus Tabelle tab1 können ein oder kein Datensatz in Tabelle
tab2 zugeordnet sein, jedem Datensatz aus Tabelle tab2 ist genau ein
Datensatz aus Tabelle tab1 zugeordnet. 1:1-Beziehung zwischen tab1 und tab2
b) Jedem Datensatz aus Tabelle tab1 können kein, ein oder mehrere Datensätze
in Tabelle tab2 zugeordnet sein, jedem Datensatz aus Tabelle tab2 ist
genau ein Datensatz aus Tabelle tab1 zugeordnet. 1:n-Beziehung zwischen
tab1 und tab2
c) Jedem Datensatz aus Tabelle tab2 können ein oder kein Datensatz in Tabelle
tab1 zugeordnet sein, jedem Datensatz aus Tabelle tab1 ist genau ein
Datensatz aus Tabelle tab2 zugeordnet. 1:1-Beziehung zwischen tab2 und tab1
d) Jedem Datensatz aus Tabelle tab2 können kein, ein oder mehrere Datensätze
in Tabelle tab1 zugeordnet sein, jedem Datensatz aus Tabelle tab1 ist
genau ein Datensatz aus Tabelle tab2 zugeordnet. 1:n-Beziehung zwischen
tab2 und tab1
e) Jedem Datensatz aus Tabelle tab1 können mehrere Datensätze aus Tabelle
tab2 zugeordnet sein. Jedem Datensatz aus Tabelle tab2 können mehrere
Datensätze aus Tabelle tab1 zugeordnet sein. n:m-Beziehung zwischen
Tabelle tab1 und tab2.
Umsetzung in der Datenbank
a) und b) Primärschlüssel aus tab1 ist Fremdschlüssel in tab2
c) und d) Primärschlüssel aus tab2 ist Fremdschlüssel in tab1
e) Verwende eine Zuordnungstabelle, in der die Primärschlüssel aus
tab1 und tab2 als Fremdschlüssel auftreten.
Im Normalfall ist es nie erforderlich, dass eine solche Doppelabhängigkeit vorliegt, wie Du sie erzeugen möchtest. Könntest Du bitte anhand Deiner tatsächlich vorliegenden Tabellen erläutern, was Du erreichen möchtest. Dann kann man Dir wesentlich besser helfen. Bitte gib' auch noch das von Dir verwendete Datenbankmanagementsystem (DBMS) an, z.B. MySQL, PostgreSQL, MS SQL Server, Oracle, DB2, SQLite, MS Access, Firebird, ... Die unterschiedlichen DBMS weisen unterschiedliche Fähigkeiten auf, insbesondere bei MySQL unterscheidet sich die Funktionalität enorm zwischen verschiedenen Versionen, so dass es grundsätzlich eine gute Idee ist, die verwendete Version mit anzugeben.
Freundliche Grüße
Vinzenz