¿Cuál es el tamaño que usa para los campos comunes de la base de datos, como firstName, lastName, Email, password, etc.? Veo estos campos comunes en muchas bases de datos de blogs, foros, e-commerces, etc. Pero no sé si hay alguna referencia o defecto para el tamaño de esos campos comunes. Por lo tanto, quiero saber cuál es el método/referencia/base que debe usar para seleccionar el tamaño de los campos comunes.Tamaño predeterminado para los campos de la base de datos
Respuesta
En parte, depende de su DBMS. Algunos, como MySQL 5, se preocupan por la longitud de una columna VARCHAR (n) en comparación con una columna TEXT de longitud ilimitada; otros, como PostgreSQL, consideran que TEXT y VARCHAR (n) son internamente idénticos, con la excepción de que se verifica una longitud en columnas VARCHAR (n). Escribir algo como VARCHAR (65536) en PostgreSQL es tonto; si desea una columna de longitud ilimitada, elija TEXT y termine con ella.
Por supuesto, a veces intentar almacenar un valor demasiado largo romperá su diseño, o permitirá que alguien abuse del sistema eligiendo un nombre largo sin espacios (por ejemplo). Por lo general, lo que hago para los campos de nombre de usuario como ese es simplemente elegir una longitud superior para que cualquiera que quiera un nombre de usuario más largo intente causar problemas; 64 caracteres es un buen valor redondo y parece funcionar bien. Para los nombres y direcciones reales (que no se muestran con frecuencia a los usuarios como un nombre de usuario), querrá ir con algo más de tiempo. Desea un valor lo suficientemente grande como para aceptar cualquier entrada válida, pero no tan grande que alguien pueda rellenar una cadena de un gigabyte de largo en el campo solo para atacar su sistema. 1024 caracteres es bastante razonable: 1k es una cantidad de texto lo suficientemente pequeña para trabajar fácilmente, un número redondo y más grande que cualquier otra línea de dirección o nombre.
Las direcciones de correo electrónico pueden tener un máximo de 320 caracteres por cada RFC asociado cuyo número soy perezoso para buscar en este momento. Entonces está la longitud de tu campo de correo electrónico.
Resulta que SMTP limita la longitud de los campos a 256 caracteres; dado que las direcciones de correo electrónico deben estar entre corchetes, la dirección de correo electrónico válida más larga es en realidad de 254 caracteres. (This page entra en más detalles.) Así que hay la longitud de su campo de correo electrónico.
contraseñas deben NUNCA almacenarse en texto plano, por lo que su campo de contraseña debe ser una matriz de bytes o BLOB escribir exactamente el tiempo suficiente para almacenar la salida de la función hash que está utilizando (o mayor elemento del grupo criptográfica en uso, para esquemas más avanzados como SRP-6a).
Solo los programadores piensan que 64 es un "buen valor redondo" :) –
Sabes, leí la línea "buen valor redondo" y no pensé en nada hasta que lo mencionaste también. :-) –
Eso hace que para 3 de nosotros, ni siquiera pensé, de hecho, me dije a mí mismo "64 es un buen número redondo, tal vez incluso 128 si quieres un campo más grande", mi maldita mentalidad de programación y yo – UnkwnTech
Lo que tiendo a hacer es pensar en cuánto tiempo puede ser el valor de un campo, y luego duplicarlo para estar seguro.
E.g. Nombre: varchar (70) Email: varchar (200)
Una dirección de correo electrónico puede tener hasta 320 caracteres. – PartialOrder
me gusta 16, 32, 64, 128, o 256
raro pero tan cerca del mío - acabo de redondear el mío - 10, 20, ... 120, 250 – IEnumerator
¡poderes de 2 hacen que la computadora sea feliz! –
el doble de su estimación. Y luego redoblarlos para acomodar unicode.
Las bases de datos que tienen varchars (casi todas lo hacen) incurren en una penalización muy pequeña para los campos que están diseñados para contener valores más largos pero no lo hacen. Puedes usar eso para tu ventaja.
Trate de pensar esto al revés: he utilizado datos existentes para obtener longitudes de campo razonables. Asumiendo que tiene acceso a una base de datos de buen tamaño llena con datos reales, una consulta rápida como:
SELECT MAX(LEN(lastname)) FROM dbo.MyDatabase
le dará todo lo que necesita.
ACTUALIZACIÓN: No utilice el número que obtiene exactamente.Obviamente, rellene un poco dependiendo de su incertidumbre, a menos que tenga un conjunto de muestras muy grande.
- 1. MySQL: Recorte todos los campos en la base de datos
- 2. Rails valores predeterminados de la base de datos y validación de modelo para los campos booleanos
- 3. por qué los campos de bits para los mismos tipos de datos tienen menos tamaño en comparación con los campos de bits para los tipos de datos mixtos
- 4. Estructura de base de datos óptima para campos adicionales entidad
- 5. Nombre de base de datos MySQL predeterminado
- 6. Diseño de la base de datos - campos vacíos
- 7. ¿El mismo nombre para campos de formulario y campos de tabla de base de datos?
- 8. SQL distinto para 2 campos en una base de datos
- 9. localizando la dirección postal/física desde los campos de la base de datos
- 10. Actualización Colación de todos los campos en la base de datos sobre la marcha
- 11. Mongo: exportar todos los datos de los campos de la colección sin especificar los campos?
- 12. ¿Cómo se puede saber el tamaño total de los datos en la base de datos MySQL?
- 13. Redis: Mostrar tamaño/tamaño de la base de datos para las claves
- 14. insertar en la base de datos de los campos de formulario de Joomla
- 15. MySQL Tamaño de la base de datos de consulta
- 16. Estimación del tamaño de la base de datos
- 17. SQLite VARCHAR tamaño predeterminado
- 18. La actualización de base de datos SQL Azure tamaño
- 19. Estimación de tamaño de base de datos MySQL
- 20. Calcular el tamaño máximo para los datos cifrados
- 21. Tamaño de la base de datos. PHP - MySQL
- 22. ¿Cómo obtener el tamaño de la base de datos mysql?
- 23. Tamaño predeterminado de Windows para la aplicación de consola
- 24. ExtJS: Cambia automáticamente el tamaño de los campos de formulario en el tamaño de la ventana
- 25. actualizar la base de datos django para reflejar los cambios en los modelos existentes
- 26. problema con conseguir los datos de la base de datos
- 27. Base de datos - (filas o registros, columnas o campos)?
- 28. Configuración del esquema predeterminado para la base de datos de Vertica
- 29. Ventajas de los campos estrictos en los tipos de datos
- 30. SQL Server 2008R2 problema: "Tamaño de la propiedad no está disponible para la base de datos [] ..."
Ver: http://stackoverflow.com/questions/512614/what-are-the-recommended-database-column-sizes-for-names/ – PartialOrder