Ich musste kürzlich mit einer Anwendung arbeiten, bei der die meisten Tabellen sich nicht über Primärschlüssel referenzieren, sondern eher auf zusätzliche synthetische Felder angewiesen sind. Angenommen, es gibt die Tabellen Person (ID, Name, Token) und Pet (ID, Name, PersonToken). Eine Person kann viele Haustiere haben. Pet.personToken wäre ein Fremdschlüssel, der auf Person.token verweist.Verwendung zusätzlicher synthetischer Felder anstelle von Primärschlüsseln zu Referenztabellen
Nun, wenn ich das Schema erstellen würde, würde ich einfach Person.id verwenden, um Datensätze in diesem zu referenzieren. Mir wurde gesagt, dass die Anwendung "Token" -Spalten verwendet, um die Datenmigration zwischen verschiedenen Servern zu vereinfachen.
Meine Frage ist, ist das etwas ziemlich üblich oder ist es einfach komisches Design?
Was ist der Datentyp der Primärschlüssel, also "ID" und wie vergleicht es mit dem "Tokens" -Datentyp? Was ist die Logik für die Erzeugung von 'id's im Vergleich zu den entsprechenden' token'? – InSane
IDs sind normalerweise automatisch inkrementierte Ganzzahlen. Tokens sind oft Strings, die der Benutzer irgendwo manuell eingeben muss. –