2009-05-29 20 views
0

Daten in einer Tabelle werden mit ID zu einer anderen Tabelle referenziert. Zum Beispiel habe ich eine Tabelle von Staaten mit den IDs 1-50. In einer anderen Tabelle "Benutzer" habe ich einen Verweis auf diese ID, dh. state = 4. Wenn ich die Daten zurück auf "Benutzer" aktualisieren muss, sollte mein Code, wenn sich der Status ändert, die Nummerierung der Zustandsdaten kennen? Mit anderen Worten, wenn der neue Staat Alabama ID = 1 ist, sollte ich vor dem Einreichen in die Datenbank aufzählen? Oder sollte die DataAccess-Ebene die Databases nach der ID für den neuen Status durchsuchen?Abrufen und Speichern von Datenbankfeldern nach ID

Antwort

1

Die Besonderheiten hängen davon ab, was Ihr Frontend ist, aber im Allgemeinen sollten Sie sowohl die ID als auch den Statusnamen weitergeben. Wenn der Benutzer Alabama auswählt, wird die ID 1 an Ihre DAL zurückgegeben Setzen Sie die StateID in der Benutzertabelle direkt auf diese ohne zusätzliche Selects.

ZB wenn das vordere Ende ist eine Webseite,

<select> 
    <option value=1>Alabama</option> 
    ... 
</select> 
1

Sie sollten nie eine zusätzliche Suchprüfung in der db ausführen müssen, wenn Sie Ihre Datenbank einen geeigneten Fremdschlüssel auf der Benutzertabellenspalte hat, dass verweist auf die Primärschlüsselspalte des Status. Dadurch wird immer sichergestellt, dass ein legitimer Wert für Ihren Benutzerdatensatz erhalten bleibt.

Verwandte Themen