sql - services - ¿Cuál es un límite de longitud razonable en los campos de "Nombre" de la persona?
input method html (11)
Tengo un formulario web simple que permitirá a los usuarios no autenticados ingresar su información, incluido el nombre. Le di al campo de nombre un límite de 50 caracteres para coincidir con la tabla de mi base de datos donde el campo es varchar (50), pero luego comencé a preguntarme.
¿Es más apropiado usar algo como el tipo de columna Texto o debería limitar la longitud del nombre a algo razonable?
Estoy usando SQL Server 2005, en caso de que importe en su respuesta.
EDITAR: No vi esta pregunta más amplia con respecto a problemas similares.
@ Ian Nelson: Me pregunto si otros ven el problema allí.
Digamos que tienes campos divididos. Eso es 70 caracteres en total, 35 para el primer nombre y 35 para el apellido. Sin embargo, si tiene un campo, descuida el espacio que separa los nombres y apellidos, lo que le hace cambiar rápidamente por 1 carácter. Claro, es "solo" un personaje, pero eso podría marcar la diferencia entre alguien que ingresa su nombre completo y alguien que no. Por lo tanto, cambiaría esa sugerencia a "35 caracteres para cada Nombre de pila y apellido, o 71 caracteres para un solo campo para contener el Nombre completo".
El primer nombre promedio es de aproximadamente 6 letras. Eso deja 43 para un apellido. :) Parece que probablemente podrías acortarlo si quieres.
La pregunta principal es ¿cuántas filas crees que tendrás? No creo que varchar (50) vaya a matarte hasta que obtengas varios millones de filas.
En el Reino Unido, existen algunos estándares gubernamentales que tratan exitosamente con la mayor parte de la población del Reino Unido: la Oficina de Pasaportes, la Agencia de Licencias para Conductores y Vehículos, la oficina de Deed Poll y el NHS. Ellos usan diferentes estándares, obviamente.
Cambiar tu nombre por Deed Poll permite 300 caracteres ;
No existe un límite legal en la longitud de su nombre, pero le imponemos un límite de 300 caracteres (incluyendo espacios) para su nombre completo.
El NHS usa 70 caracteres para nombres de pacientes
NOMBRE DEL PACIENTE
Formato / longitud: max an70
La Oficina de Pasaportes permite 30 + 30 primero / último y Licencias de Conducir (DVLA) es 30 en total.
Tenga en cuenta que otras organizaciones tendrán sus propias restricciones sobre lo que mostrarán en los documentos que producen. Para HM Passport Office el límite es de 30 caracteres para su nombre y apellido, y para la DVLA, el límite es de 30 caracteres en total para su nombre completo.
Lo que realmente está preguntando es una pregunta relacionada, pero sustancialmente diferente: ¿con qué frecuencia quiero truncar nombres para adaptarlos a la base de datos? La respuesta depende tanto de la frecuencia de diferentes longitudes de nombres como de las longitudes máximas elegidas. Esta preocupación se equilibra con las preocupaciones sobre los recursos utilizados por la base de datos. Teniendo en cuenta la poca diferencia de gastos generales que hay entre diferentes longitudes máximas para un campo varchar, generalmente me equivoco al no tener que truncar nunca un nombre y hacer que el campo sea tan grande como me atreví.
Sé que llegué tarde en este caso, pero agregaré este comentario de todos modos, ya que otros pueden venir aquí en el futuro con preguntas similares.
Tenga cuidado con ajustar los tamaños de columna dependiendo de la configuración regional. Para empezar, te prepara para una pesadilla de mantenimiento, dejando de lado el hecho de que las personas migran y llevan sus nombres con ellos.
Por ejemplo, los españoles con esos apellidos adicionales pueden mudarse y vivir en un país de habla inglesa, y pueden esperar razonablemente que se use su nombre completo. Los rusos tienen patronímicos además de sus apellidos, algunos nombres africanos pueden ser considerablemente más largos que la mayoría de los nombres europeos.
Continúe haciendo que cada columna sea lo más amplia posible, teniendo en cuenta el recuento potencial de filas. Uso 40 caracteres para cada nombre, otros nombres y apellidos y nunca he encontrado ningún problema.
Si es un nombre completo en un campo, generalmente voy con 128 - 64/64 para el primero y el último en campos separados; nunca se sabe.
Suelo ir con varchar (255) (255 es la longitud máxima de un tipo varchar en MySQL).
Tenga en cuenta que muchas culturas tienen ''segundos apellidos'' a menudo llamados nombres de familia. Por ejemplo, si se trata de personas españolas, apreciarán tener un apellido separado de su "apellido".
La mejor apuesta es definir un tipo de datos para los componentes del nombre, usarlos para un tipo de datos para el apellido y ajustar dependiendo de la configuración regional.
Usamos 50.
El Catálogo de Estándares de Datos del Gobierno del Reino Unido sugiere 35 caracteres para cada Nombre de pila y Apellido, o 70 caracteres para un solo campo para contener el Nombre completo.
dependiendo de quién va a usar su base de datos, por ejemplo, los nombres africanos harán con varchar (20) para el apellido y el nombre separados. sin embargo, es diferente de una nación a otra pero, por el bien, al guardar los recursos de la base de datos y la memoria, separar los nombres de los apellidos y los nombres y usar varchar (30) creo que funcionará.