Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL-Fremdschlüssel - wie kann man Eins-zu-eins über Tabellen erzwingen?

Das Erzwingen einer 1:0-1- oder 1:1-Beziehung kann erreicht werden, indem eine eindeutige Einschränkung für die Spalten des Fremdschlüssels definiert wird, sodass nur eine Kombination vorhanden sein kann. Normalerweise wäre dies der Primärschlüssel der untergeordneten Tabelle.

Wenn sich der FK auf einem Primär- oder eindeutigen Schlüssel der referenzierten Tabellen befindet, werden sie auf Werte beschränkt, die in der übergeordneten Tabelle vorhanden sind, und die Eindeutigkeitsbeschränkung für die Spalte oder Spalten beschränkt sie auf Eindeutigkeit. Das bedeutet, dass die untergeordnete Tabelle nur Werte haben kann, die der übergeordneten Tabelle in den eingeschränkten Spalten entsprechen, und dass jede Zeile einen eindeutigen Wert haben muss. Dadurch wird erzwungen, dass die untergeordnete Tabelle höchstens eine Zeile hat, die dem übergeordneten Datensatz entspricht.