martes, 4 de abril de 2017

Tipos de campos de una base de datos

Tipos de campos en MySQL

¿Creías que íbamos a empezar a crear la base de datos? Pues lo siento, aún no toca, jeje, nos queda algo muy importante, que es los tipos de campos en los que vamos a almacenar los datos. Os dejo puestos todos los tipos, divididos en tres clases: numéricos, fechas y texto. Todos no son importantes, nosotros utilizaremos sobre todo Datetime, text, int y varchar, por lo que si quereis mirar esos cuatro y pasad al siguiente capítulo os dejo, jeje, o miradlos todos a modo informativo.

Campos numéricos

Vamos a ir mencionando los nombres de los distintos campos numéricos y a explicar cómo son:
  1. Bit y Bool: un número de 1 bit, es decir, o un 0 o un 1, sólo puede tomar ambos valores.
  2. Tinyint: número entero que si le ponemos signo estará entre -128 y 127, y sin signo entre 0 y 255 (para los más entendidos, un número de 8 bites, o de un byte). No podemos poner un número fuera de ese rango o dará error.
  3. SmallInt: número comprendido entre -32768 y 32767, o sin signo entre 0 y 65535 (número de 16 bits/2 bytes).
  4. MediumInt: comprendido entre -8388608 y 8388607, o sin signo entre 0 y 16777215 (24 bites/3 bytes).
  5. Int (o integer): número entre -2147483648 y 2147483647, o sin signo entre 0 y 4294967295 (32 bites/4 bytes).
  6. BigInt: número entre -9.223.372.036.854.775.808 y 9.223.372.036.854.775.807, o sin signo entre 0 y 18.446.744.073.709.551.615 (64 bites/8 bytes).
  7. Float: número decimal en punto flotante de precisión simple. Los valores válidos van desde -3.402823466x10^38 a -1.175494351x10^-38, o desde 1.175494351x10^-38 a 3.402823466x10^38 (decimales en punto flotante de 4 bytes).
  8. Double: número decimal en punto flotante de precisión doble. Los valores permitidos van desde -1.7976931348623157x10^308 a -2.2250738585072014x10^-308, o desde 2.2250738585072014x10^-308 a 1.7976931348623157x10^308 (decimales en punto flotante de 8 bytes).
  9. Decimal: yo os aconsejo este para almacenar número decimales. hay que indicarle dos valores separados por una coma llamémosles "M,D". Este tipo de campo es el más preciso, M sería la presición o el número de dígitos totales, y D el número de dígitos decimales que tendrá.

Fechas

Pasamos a los tipos de campo que más trabajo me dieron en su momento, jeje:
  1. Date: el formato en que lo guarda es año-mes-día, y guarda desde el año 1001 al 9999.
  2. DateTime: el formato es año-mes-día hora:minuto:segundo, y guarda desde el año 1001 al 9999.
  3. TimeStamp: en este caso el formato lo elijes tu en función del tamaño de caracteres que le pongas al campo. Sólo llega entre 1970 y 2037. Según el tamaño de caracteres quedará de la siguiente forma:
  4. TamañoFormato
    14aaaammddhhmmss
    12aammddhhmmss
    8aaaammdd
    6aammdd
    4aamm
    2aa
  5. Time: el formato es hora:minuto:segundo, con un rango desde -838 horas a 838 horas.
  6. Year: guarda solo un año de entre 1901 y 2155, que puede tener sólo dos cifras o las cuatro, dependiendo del tamaño de caracteres que le pongamos.

Campos de texto

  1. Char: es una cantidad fija de caracteres (los que le digamos, si le decimos 5 siempre tendrás que guardar 5 caracteres). El máximo que le podemos indicar es 255.
  2. VarChar: cantidad finita de caracteres con un máximo de 255, aunque podemos indicarle que este máximo sea menor.
  3. TinyText y TinyBlob: Texto con una longitud máximo de 255 caracteres.
  4. Blob y Text: texto con un máximo de 65535 caracteres. Text es también muy usado, aunque no tanto como varchar.
  5. MediumBlob y MediumText: texto con un máximo de 16.777.215 caracteres.
  6. LongBlob y LongText: un texto con un máximo de caracteres 4.294.967.295. Hay que tener en cuenta que debido a los protocolos de comunicación os paquetes puleden tener un máximoo puede ocupar más de 16 Mb.
  7. Enum: campo que puede tener un único valor de una lista que se especifica.
  8. Set: un campo que puede contener ninguno, uno ó varios valores de una lista.
La diferencia entre char y varchar es que char ocupa siempre el mismo espacio llenemos la cantidad fija de caracteres o no, y varchar ocupa lo que llenemos, por lo que es preferible usar varchar que char. A Enum y Set se le indican los valores entrecomillados con comilla simple y separador por comas, de la siguiente forma: 'value1','value2',...

No hay comentarios:

Publicar un comentario