2011-08-29 10 views
5

hice una investigación para base de datos de un CMS:el diseño de campo de tabla en la base de datos mysql?

uid(Unique user ID): se establece en int(11)

name(nique user name se establece en varchar(60)

created(tiemstamp for when user was created) se establece en int(11)

title el título del artículo se establece en varchar(255)

1, cuando debería utilizar Int o char o varchar u otros tipos

2, cómo establecer el número en el paréntesis.eg: varchar(60) gracias!

+0

¿Cuál es la pregunta? –

Respuesta

10

Debe usar INT cuando quiera usar la clave principal (una INT es más rápida de buscar que una cadena) o calcular datos. Por ejemplo, desea calcular el número de artículos que compró alguien al pedir algunos productos en línea. Cada línea tendrá la descripción del artículo, el precio, la cantidad solicitada (y más, simplemente dando un ejemplo aquí). En este caso, por un INT para la cantidad, será fácil recuperar el número de productos (número total de productos para la factura) ordenados.

Las cadenas con el tipo "char" y "varchar" son un poco diferentes. El tipo "char" se define de la siguiente manera:

Una cadena de longitud fija que siempre está acolchada con espacios a la longitud especificada cuando se almacena.

En pocas palabras, si define un nombre con char (200), usará 200 bytes. El tipo varchar se define de la siguiente manera:

Una cadena de longitud variable. Nota: Los espacios finales se eliminan cuando se almacena el valor (esto difiere de la especificación ANSI SQL)

En palabras de la palabra, si define un nombre con varchar (255) y el nombre es "Tim", lo hará usa 4 bytes 3 para el nombre +1 byte para la longitud del campo.

Normalmente, se utiliza char (6) para los colores HTML (FFFFFF) y por lo general se utiliza varchar para los nombres, direcciones, etc ...

En cuanto a su segunda pregunta de la configuración del número entre paréntesis. Este número establecerá la longitud máxima de una cadena. Si establece varchar (60) en un campo y cuando inserta o actualiza el registro y la longitud de la cadena es mayor a 60 caracteres, MySQL truncará la cadena para usar los primeros 60 caracteres.

Usted puede comprobar todos los tipos de campos aquí: http://help.scibit.com/mascon/masconMySQL_Field_Types.html

También puede leer sobre la normalización de bases de datos: http://en.wikipedia.org/wiki/Database_normalization

+0

si define un nombre con varchar (255) y el nombre es "Tim", usará 4 bytes. 3 para el nombre +1 byte para la longitud del campo. por qué agrega 1 byte para la longitud del campo. gracias,. – zhuanzhou

+5

El byte +1 es realizado por el motor MySQL. No puedes cambiar eso. Debido a que varchar es una cadena de longitud variable, es necesario decirle a MySQL cuánto tiempo dura la cadena. –

3

En general, el tipo depende de lo que realmente necesite almacenar. Sin embargo, la velocidad y el tamaño del índice PK también son muy importantes, así que esto también se considera luego diseñar tablas de bases de datos.

El número entre paréntesis indica tamaño de letra, que tiene un significado diferente según el tipo (varchar, por ejemplo, indicar el número máximo de caracteres que se pueden almacenar). Deberías mirar el manual del motor db para esto.

Cuestiones relacionadas