Como muitas pessoas sugeriram, é uma questão de conveniência; mas talvez mais profundamente, é convenção.
Como programador, meu primeiro instinto seria usar uma tecla numérica para um ID de camada, porque é assim que sempre foi feito. De fato, pode nem me ocorrer, pelo menos em nível consciente, que eu deva fazê-lo de outra maneira. É claro que, se houver uma razão técnica para não usar números inteiros, diga se existe a possibilidade de haver mais camadas do que as que podem ser armazenadas em 32 bits (uma proposta muito improvável!) Ou se existe uma razão comercial para isso, então alternativas seriam consideradas.
Há também considerações algorítmicas com teclas numéricas. A classificação e a pesquisa de uma lista de valores classificados acabam resumindo-se a uma comparação entre dois números, mesmo que seja uma lista de cadeias ou objetos complexos; eles simplesmente se transformam em números com uma função de hash . Dito isto, em computadores modernos, pesquisar uma lista de, digamos, 100 ou até 1000 itens é geralmente tão rápido com uma abordagem de força bruta quanto com um algoritmo altamente otimizado. No caso de camadas em um GIS, não consigo ver nem o mais complexo dos mapas com mais de 1000, e mesmo que o fizesse, os outros cálculos associados levariam ordens de magnitude mais longas do que qualquer pequeno ganho de um otimizado. pesquisa de uma lista curta.
Teclas inteiras "fazem sentido" para um programador e, como Brad diz, há mais esforço no uso de teclas não numéricas. Talvez não mais código, mas mais esforço mental, e somos criaturas preguiçosas de hábito. Além disso, a chave que identifica exclusivamente algo como uma camada em um GIS é considerada "oculta" do usuário, para garantir que eles não mexam com ela e quebrem o código que depende de sua exclusividade (não obstante as palavras-chave do DB UNIQUE). Porque se você der corda suficiente a um usuário, mais cedo ou mais tarde alguém se enforcará com ela. De qualquer modo, imponha exclusividade em um campo editável pelo usuário, mas o sistema subjacente deve assumir que sua chave é única e sem alterações.