Wie viele Leute vorgeschlagen haben, ist es eine Frage der Bequemlichkeit; aber vielleicht tiefer ist es Konvention.
Als Programmierer wäre mein erster Instinkt, einen numerischen Schlüssel für eine Ebenen-ID zu verwenden, da dies immer so war. In der Tat kann es mir zumindest bewusst nicht einmal einfallen, dass ich es anders machen sollte. Wenn es einen technischen Grund gibt, keine ganzen Zahlen zu verwenden, sagen Sie natürlich, ob die Möglichkeit besteht, dass mehr Ebenen vorhanden sind, als in 32-Bit gespeichert werden können (ein sehr unwahrscheinlicher Vorschlag!), Oder ob es einen geschäftlichen Grund dafür gibt. dann würden Alternativen in Betracht gezogen.
Es gibt auch algorithmische Überlegungen mit Zifferntasten. Das Sortieren und Durchsuchen einer Liste sortierter Werte führt letztendlich zu einem Vergleich zwischen zwei Zahlen, selbst wenn es sich um eine Liste von Zeichenfolgen oder komplexen Objekten handelt. Sie werden lediglich mit einer Hashing-Funktion in Zahlen umgewandelt . Auf modernen Computern ist das Durchsuchen einer Liste mit beispielsweise 100 oder sogar 1000 Elementen mit einem Brute-Force-Ansatz normalerweise genauso schnell wie mit einem hochoptimierten Algorithmus. Im Fall von Ebenen in einem GIS kann ich nicht einmal die komplexesten Karten mit mehr als 1000 Karten sehen, und selbst wenn dies der Fall wäre, würden die anderen zugehörigen Berechnungen Größenordnungen länger dauern als jeder kleine Gewinn aus einer optimierten Karte Suche nach einer kurzen Liste.
Ganzzahlige Tasten sind für einen Programmierer "nur sinnvoll", und wie Brad sagt, ist die Verwendung nicht numerischer Tasten aufwändiger. Vielleicht nicht mehr Code, sondern mehr geistige Anstrengung, und wir sind faule Gewohnheitstiere. Außerdem wird der Schlüssel, der so etwas wie eine Ebene in einem GIS eindeutig identifiziert, als "verborgen" für den Benutzer betrachtet, um sicherzustellen, dass er nicht damit herumspielt und Code bricht, der auf seiner Eindeutigkeit beruht (ungeachtet der DB UNIQUE-Schlüsselwörter). Denn wenn Sie einem Benutzer genug Seil geben, wird sich früher oder später jemand daran aufhängen. Erzwingen Sie auf jeden Fall die Eindeutigkeit eines vom Benutzer bearbeitbaren Felds, aber das zugrunde liegende System muss davon ausgehen, dass sein Schlüssel eindeutig und nicht manipuliert ist.