Ich habe eine Anwendung, in der das Datenbank-Back-End ungefähr 15 Nachschlagetabellen hat. Zum Beispiel gibt es eine Tabelle für Counties wie folgt aus:DB Design: Sortierreihenfolge für Nachschlagetabellen
CountyID(PK) County
49001 Beaver
49005 Cache
49007 Carbon
49009 Daggett
49011 Davis
49015 Emery
49029 Morgan
49031 Piute
49033 Rich
49035 Salt Lake
49037 San Juan
49041 Sevier
49043 Summit
49045 Tooele
49049 Utah
49051 Wasatch
49057 Weber
Die Benutzeroberfläche für diese App eine Reihe von Kombinationsfelder an verschiedenen Orten für diese Lookup-Tabellen hat, und mein Mandant hat, dass die Boxen Liste in diesem Fall gefragt:
CountyID(PK) County
49035 Salt Lake
49049 Utah
49011 Davis
49057 Weber
49045 Tooele
'The Rest Alphabetically
Der beste Plan, den ich um dies zu erreichen müssen, ist für SortOrder (numerisch), eine Spalte zu jeder Lookup-Tabelle hinzuzufügen. Ich hatte einen Kollegen, der mir sagte, dass er dachte, dass die Tische die 3rd-Normal-Form verletzen würden, aber ich denke, die Sortierreihenfolge hängt immer noch vom Schlüssel und nur vom Schlüssel ab (obwohl der Rest der Liste alphabetisch ist).
Ist das Hinzufügen der SortOrder Spalte die beste Möglichkeit, oder gibt es eine bessere Möglichkeit, die ich gerade nicht sehe?
Thx - Im Allgemeinen mein Nachschlagen ta bles sind 'statisch' und das längste ist dieses Sample für Counties in 29 Zeilen. Ich bin mir nicht sicher, was Sie unter "Saatgut mit dem Wert im County-Feld" verstehen.Damit meinst du die ersten X Zeichen des Namens in der SortOrder Spalte zu speichern? Würdest du dann ein a, b, c oder 1, 2, 3 an die Saite anhängen? –
Das Setzen von "Utah" oder "autah" ist einfacher als 5 in die Sortierreihenfolge zu setzen, da der Alpha-Wert nichts anderes bedeutet, also direkt eingefügt werden kann ohne Abhängigkeiten von anderen Werten wie eine numerische Sortierreihenfolge. – cletus