Pergunta

Eu tenho um simples formulário da web que permitirá que usuários não autenticados para inserir suas informações, incluindo o nome.Dei o nome de campo de um limite de 50 caracteres para coincidir com o meu banco de dados tabela onde o campo é varchar(50), mas depois comecei a me perguntar.

É mais apropriado usar algo como o Texto da coluna tipo ou eu deveria limitar o comprimento do nome para algo razoável?

Eu estou usando o SQL Server 2005, no caso, o que importa em sua resposta.

EDITAR: Eu não veja esta ampla questão em relação a problemas semelhantes.

Foi útil?

Solução

Governo do reino UNIDO Catálogo de Padrões de Dados sugere 35 caracteres para cada Nome e o Nome de Família, ou 70 caracteres para um único campo para armazenar o Nome Completo.

Outras dicas

Sei que estou atrasada, mas vou adicionar este comentário de qualquer maneira, como outros podem muito bem vir aqui no futuro com perguntas semelhantes.

Cuidado com os ajustes de tamanhos de coluna dependente da localidade.Para começar, você define para a manutenção de um pesadelo, deixando de lado o fato de que as pessoas migrar, e têm os seus nomes com eles.

Por exemplo, espanhol pessoas com estes sobrenomes pode mover-se e viver em um país de língua inglesa, e que podem razoavelmente esperar o seu nome completo para ser usado.Os russos têm patronymics além de seus apelidos, alguns nomes Africanos pode ser consideravelmente maior do que a maioria dos nomes.

Vá com cada coluna tão larga como você pode razoavelmente fazer, tendo em conta o potencial de contagem de linha.Eu uso 40 caracteres cada para o primeiro nome, outros nomes e sobrenome e nunca ter encontrado qualquer problema.

Eu costumo ir com varchar(255) (255 sendo que o comprimento máximo do tipo varchar em MySQL).

Se o nome completo de um campo, eu costumo ir com 128 64/64 para o primeiro e o último, em campos separados - você nunca sabe.

@Ian Nelson:Eu estou querendo saber se os outros vêem o problema.

Vamos dizer que você tem de divisão de campos.Que 70 caracteres no total, 35 para o primeiro nome e 35 para o último nome.No entanto, se você tiver um campo, você negligenciar o espaço que separa o primeiro e o último nomes, curta mudar você por 1 personagem.Com certeza, é "apenas" um personagem, mas que pode fazer a diferença entre a alguém digitar seu nome completo e alguém que não.Portanto, gostaria de mudar a sugestão para "35 caracteres para cada Nome e o Nome de Família, ou 71 caracteres para um único campo para armazenar o Nome Completo".

No reino UNIDO, existem alguns padrões do governo que lidar com sucesso com a maior parte da população do reino UNIDO -- o Escritório de Passaporte, o Condutor de Veículos e Agência de Licenciamento, a Escritura Enquete do office, e o serviço nacional de saúde.Eles usam padrões diferentes, obviamente.

A alteração de seu nome, por Ato Enquete permite a 300 caracteres;

Não há limite legal no comprimento de seu nome, mas devemos impor um limite de 300 caracteres (incluindo espaços) para o seu nome completo.

O NHS usa 70 caracteres para nomes paciente

NOME DO PACIENTE
Formato/extensão:max an70

O Escritório De Passaporte permite a 30+de 30 de primeira/última e Licenças de Condução (DVLA) é de 30 total.

Observe que outras organizações têm suas próprias restrições sobre o que eles irão mostrar os documentos que eles produzem para HM Passport Office limite de 30 caracteres cada para o seu nome e o seu apelido, e para a DVLA o limite é de 30 caracteres no total para o seu nome completo.

Utilizamos 50.

O que você está realmente perguntando é relacionado, mas substancialmente diferentes pergunta:quantas vezes eu deseja truncar nomes para enquadrá-los no banco de dados?A resposta depende tanto da frequência de comprimentos diferentes dos nomes bem como o comprimento máximo escolhido.Esta preocupação é equilibrada, as preocupações com os recursos usados pelo banco de dados.Considerando quão pouco sobrecarga diferença que há entre diferentes max comprimento de um campo varchar eu geralmente err no lado de nunca ser forçado a truncar um nome e fazer a campo tão grande como tive coragem.

Note-se que muitos culturas ter uma " segunda sobrenomes que, muitas vezes, chamado de nomes de família.Por exemplo, se você está lidando com o povo espanhol, eles vão gostar de ter um nome de família separados de seu 'sobrenome'.

Melhor aposta é a de definir um tipo de dados para o nome de veículo, utilize-as para um tipo de dados para o sobrenome e ajustar dependendo da localidade.

A média do primeiro nome é de cerca de 6 letras.Que folhas 43 para um último nome.:) Parece que você provavelmente poderia reduzi-lo, se quiser.

A principal questão é quantas linhas você acha que você vai ter?Eu não acho que varchar(50) vai matar você, até você chegar a vários milhões de linhas.

dependendo de quem vai utilizar o seu banco de dados, por exemplo, nomes Africanos vai fazer com varchar(20) para o último nome e o primeiro nome separados.no entanto, é diferente de nação para nação, mas por uma questão de economia de recursos do banco de dados e de memória, separado último nome e o primeiro nome de campos e use varchar(30) acho que vai funcionar.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top