Como muchas personas han sugerido, es una cuestión de conveniencia; pero quizás más profundamente, es una convención.
Como programador, mi primer instinto sería usar una clave numérica para una ID de capa porque esa es la forma en que siempre se ha hecho. De hecho, puede que ni siquiera se me ocurra, al menos en un nivel consciente, que debería hacerlo de otra manera. Por supuesto, si hay una razón técnica para no usar números enteros, diga si existe la posibilidad de que haya más capas de las que se pueden almacenar en 32 bits (¡una propuesta muy poco probable!), O si hay una razón comercial para ello, entonces se considerarían alternativas.
También hay consideraciones algorítmicas con las teclas numéricas. La clasificación y la búsqueda de una lista de valores ordenados se reduce en última instancia a una comparación entre dos números, incluso si se trata de una lista de cadenas u objetos complejos; simplemente se convierten en números con una función hash . Dicho esto, en las computadoras modernas, buscar una lista de, digamos, 100 o incluso 1000 elementos suele ser tan rápido con un enfoque de fuerza bruta como con un algoritmo altamente optimizado. En el caso de las capas en un SIG, no puedo ver ni siquiera el más complejo de los mapas que tienen más de 1000, e incluso si lo hiciera, los otros cálculos asociados tomarían órdenes de magnitud más que cualquier ganancia pequeña de un optimizado búsqueda de una lista corta
Las teclas enteras "simplemente tienen sentido" para un programador, y como dice Brad, hay más esfuerzo en el uso de teclas no numéricas. Tal vez no más código, sino más esfuerzo mental, y somos criaturas vagas de hábito. Además, la clave que identifica de forma única algo como una capa en un SIG se considera "oculta" para el usuario, para asegurarse de que no se meta con ella y rompa el código que se basa en su unicidad (a pesar de las palabras clave DB UNIQUE). Porque si le das suficiente cuerda a un usuario, tarde o temprano alguien se ahorcará con ella. Por supuesto, imponga la unicidad en un campo editable por el usuario, pero el sistema subyacente debe asumir que su clave es única y sin restricciones.