Ich habe eine Benutzertabelle mit zwei Spalten, einem Primärschlüssel namens UserID und einer weiteren Spalte namens UserName.
- UserID (int) PK
- Benutzername (varchar (256)
Sie sind beide einzigartig, aber ich habe mich aus Gründen entschieden, den Benutzernamen als Referenz in anderen Tabellen zu verwenden. So enthält die Auftragstabelle beispielsweise einen Verweis auf user by UserName not userid.
- Auftragsnummer
- Nutzername
Ich möchte eine Beziehung zwischen allen Tabellen erstellen, die auf den Benutzernamen und die Benutzertabelle verweisen, damit ich die Kaskadenaktualisierungs- / Löschfunktion von SQL Server erhalte.
Mit SQL Server kann ich jedoch keine Beziehung für eine Nicht-Primärschlüsselspalte erstellen. Gibt es eine Möglichkeit, die Funktion zum Aktualisieren / Löschen von Kaskaden zu erhalten, ohne die Benutzertabelle so zu ändern, dass Benutzername der Primärschlüssel und nicht Benutzer-ID ist?
quelle