Eu tenho um formulário da web simples que permitirá que usuários não autenticados insiram suas informações, incluindo o nome. Dei ao campo de nome um limite de 50 caracteres para coincidir com minha tabela de banco de dados, onde o campo é varchar (50), mas comecei a pensar.
É mais apropriado usar algo como o tipo de coluna Texto ou devo limitar o tamanho do nome a algo razoável?
Estou usando o SQL Server 2005, caso isso importe em sua resposta.
Edição: Eu não vi essa pergunta mais ampla sobre questões semelhantes.
Respostas:
O Catálogo de padrões de dados do governo do Reino Unido sugere 35 caracteres para cada um dos nomes e sobrenomes, ou 70 caracteres para um único campo para conter o nome completo.
fonte
Sei que estou atrasado neste, mas adicionarei esse comentário de qualquer maneira, pois outros poderão vir aqui no futuro com perguntas semelhantes.
Cuidado com o ajuste dos tamanhos das colunas, dependendo da localidade. Para começar, ele cria um pesadelo para a manutenção, deixando de lado o fato de as pessoas migrarem e levarem seus nomes com elas.
Por exemplo, os espanhóis com esses sobrenomes extras podem se mudar para um país de língua inglesa e viver com razoabilidade e esperar razoavelmente que seu nome completo seja usado. Os russos têm patronímicos, além de seus sobrenomes, alguns nomes africanos podem ser consideravelmente maiores que a maioria dos nomes europeus.
Continue criando cada coluna o mais amplo possível, levando em consideração a contagem potencial de linhas. Uso 40 caracteres para o primeiro nome, outros nomes e sobrenomes e nunca encontrei nenhum problema.
fonte
Eu costumo ir com varchar (255) (255 sendo o tamanho máximo de um tipo varchar no MySQL).
fonte
Se é o nome completo em um campo, geralmente eu uso 128 - 64/64 para o primeiro e o último em campos separados - você nunca sabe.
fonte
@ Ian Nelson: Gostaria de saber se outros vêem o problema lá.
Digamos que você tenha campos divididos. São 70 caracteres no total, 35 para o primeiro nome e 35 para o sobrenome. No entanto, se você tiver um campo, negligenciará o espaço que separa o nome e o sobrenome, alterando rapidamente por 1 caractere. Claro, é "apenas" um personagem, mas isso pode fazer a diferença entre alguém digitando seu nome completo e alguém não. Portanto, eu alteraria essa sugestão para "35 caracteres para cada um dos nomes e sobrenomes ou 71 caracteres para um único campo para conter o nome completo".
fonte
No Reino Unido, existem alguns padrões governamentais que lidam com sucesso com a maior parte da população do Reino Unido - o Passport Office, a Agência de Licenciamento de Veículos e Motoristas, o escritório da Deed Poll e o NHS. Eles usam padrões diferentes, obviamente.
Alterar seu nome por Deed Poll permite 300 caracteres ;
O NHS usa 70 caracteres para nomes de pacientes
O Passport Office permite 30 + 30 primeiro / último e a Carta de Condução (DVLA) é 30 no total.
fonte
Nós usamos 50.
fonte
O que você realmente está perguntando é uma pergunta relacionada, mas substancialmente diferente: com que frequência desejo truncar nomes para encaixá-los no banco de dados? A resposta depende tanto da frequência de diferentes comprimentos de nomes quanto dos comprimentos máximos escolhidos. Essa preocupação é equilibrada pelas preocupações sobre os recursos usados pelo banco de dados. Considerando a pouca diferença de sobrecarga entre os diferentes comprimentos máximos de um campo varchar, eu geralmente erraria por nunca ser forçada a truncar um nome e tornar o campo tão grande quanto eu ousava.
fonte
Observe que muitas culturas têm 'sobrenomes' geralmente chamados de nomes de família. Por exemplo, se você estiver lidando com espanhóis, eles apreciarão ter um nome de família separado do sobrenome.
A melhor opção é definir um tipo de dados para os componentes do nome, use-os para um tipo de dados para o sobrenome e ajustar dependendo do local.
fonte
O primeiro nome médio tem cerca de 6 letras. Isso deixa 43 como sobrenome. :) Parece que você provavelmente poderia reduzi-lo, se quiser.
A questão principal é quantas linhas você acha que terá? Eu não acho que o varchar (50) vai te matar até você conseguir vários milhões de linhas.
fonte
dependendo de quem usará seu banco de dados, por exemplo, nomes africanos farão com varchar (20) para o sobrenome e o nome separados. no entanto, é diferente de país para país, mas, por uma questão de economia de recursos e memória do banco de dados, separe os campos de sobrenome e nome e use varchar (30) e pense que isso funcionará.
fonte