Soweit ich herausfinden konnte, verwenden viele DBMS (z. B. mysql, postgres, mssql) fk- und pk-Kombinationen nur, um Änderungen an Daten einzuschränken, aber sie werden selten nativ verwendet, um automatisch zu verbindende Spalten auszuwählen (wie natürliche Verknüpfungen mit Namen). Warum ist das so? Wenn Sie bereits eine Beziehung zwischen zwei Tabellen mit einem pk / fk definiert haben, kann die Datenbank dann nicht herausfinden, ob ich diese Tabellen in den pk / fk-Spalten verknüpfen möchte, wenn ich sie verknüpfe.
EDIT: um dies etwas zu klären:
Angenommen, ich habe einen Tisch1 und einen Tisch2. In Tabelle 1 befindet sich ein Fremdschlüssel in Spalte a, der auf den Primärschlüssel in Tabelle 2, Spalte b, verweist. Wenn ich mich nun diesen Tabellen anschließe, muss ich Folgendes tun:
SELECT * FROM table1
JOIN table2 ON table1.a = table2.b
Ich habe jedoch bereits mit meinen Schlüsseln definiert, dass table1.a auf table2.b verweist. Daher sollte es für mich nicht zu schwierig sein, ein DBMS-System so zu konfigurieren, dass es automatisch table1.a und table2.b als Verknüpfungsspalten verwendet. so dass man einfach benutzen kann:
SELECT * FROM table1
AUTO JOIN table2
Viele DBMS scheinen jedoch so etwas nicht zu implementieren.