Vous êtes sur la page 1sur 8

INSTITUTO TECNOLOGICO SUPERIOR

“JOSE CHIRIBOGA GRIJALVA”

TIPOS DE DATOS EN MYSQL


ENGINE EN MYSQL

MARLON RUIZ
TERCERO INFORMATICA

05/12/2018
Capítulo 1

Tipos de datos en MySQL


Tipos Numéricos
(Alvarado, 2017) afirma que:
TINYINT[(M)] [UNSIGNED] [ZEROFILL].
Un entero muy pequeño. Su rango es de -128 a 127. Para enteros sin signo el rango es de 0 a
255.

BIT y BOOLE.
Es un sinónimo para TINYINT(1)

SMALLINT[(M)] [UNSIGNED] [ZEROFILL].


Un entero pequeño. Su rango es de -32768 a 32767. Para enteros sin signo el rango es de 0 a
65535

MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL].


Un entero de tamaño medio. Su rango es de -8388608 a 8388607. Para enteros sin signo el
rango es de 0 a 16777215

INT[(M)] [UNSIGNED] [ZEROFILL].


Un entero normal. Su rango es de -2147483648 a 2147483647. Para enteros sin signo el rango
es de 0 a 4294967295.

INTEGER[(M)] [UNSIGNED] [ZEROFILL].


Es un sinónimo para INT.

BIGINT[(M)] [UNSIGNED] [ZEROFILL].


Es un entero grande. Su rango es de -9223372036854775808 a9223372036854775807. Para
enteros sin signo el rango es de 0 a18446744073709551615.

FLOAT(precisión) [UNSIGNED] [ZEROFILL].


Un número de punto flotante. La precisión puede ser <=24 para un número de precisión
sencilla y entre 25 y 53 para un número de doble precisión. Este tipo escomo el FLOAT y
DOUBLE que se describen a continuación. Un FLOAT(X) tiene el mismo rango que los
correspondientes tipos FLOAT y DOUBLE, pero el tamaño de despliegue y el número de
decimales no están definidos.

DOUBLE[(M,D)] [UNSIGNED] [ZEROFILL].


Un número normal de punto flotante (o bien, de precisión doble). El rango de valores
permitidos es de -1.7976931348623157E+308 a -2.2250738585072014E-308, 0, y de
2.2250738585072014E-308 a 1.7976931348623157E+308. Si el modificador UNSIGNED
es especificado, los valores negativos son deshabilitados. M es el tamaño de despliegue y del
número de decimales. DOUBLE sin argumentos o FLOAT(X) donde 25 <= X <= 53 se
entiende por un número de punto flotante de doble precisión.
DOUBLE PRECISION[(M,D)] [UNSIGNED] [ZEROFILL]REAL[(M,D)]
[UNSIGNED] [ZEROFILL].
Son sinónimos para DOUBLE.

DECIMAL[(M[,D])] [UNSIGNED] [ZEROFILL].


Un número de punto flotante sin empaquetar. Como en las columnas CHAR,
"sinempaquetar" significa que el número es almacenado como una cadena con un carácter
para cada dígito del valor. El punto decimal, y para números negativos el signo - no son
contados en M (sin embargo se les reserva espacio). Si D vale 0,los valores no tendrán punto
decimal. El máximo rango de valores es el mismo que para DOUBLE, pero el rango para una
columna DECIMAL puede ser restringido con la elección de valores en M y D. Si el atributo
UNSIGNED es usado, los valores negativos son deshabilitados. Si D es omitido, el valor por
default es 0. Si M es omitido el valor por default es 10.

Decimal, Dec, Numeric: Número en coma flotante desempaquetado. El número se almacena


como una cadena.

Tipos de Cadena
Char(n).
Almacena una cadena de longitud fija. La cadena podrá contener desde 0a 255 caracteres.

VarChar(n).
Almacena una cadena de longitud variable. La cadena podrá contener desde 0 a 255
caracteres. Dentro de los tipos de cadena se pueden distinguir otros dos subtipos, los tipos
Testy los tipo BLOB (Binary large Object).

La diferencia entre un tipo y otro es el tratamiento que reciben a la hora de realizar


ordenamientos y comparaciones. Mientras que el tipo test se ordena sin tener encuentra las
Mayúsculas y las minúsculas, el tipo BLOB se ordena teniéndolas encuentra.

Los tipos BLOB se utilizan para almacenar datos binarios como pueden ser ficheros.

TinyText y TinyBlob.
Columna con una longitud máxima de 255 caracteres.

Blob y Text.
Un texto con un máximo de 65535 caracteres.

MediumBlob y MediumText.
Un texto con un máximo de 16.777.215 caracteres

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 los paquetes pueden tener un máximo de 16 Mb.

Enum.
campo que puede tener un único valor de una lista que se especifica. El tipo Enum acepta
hasta 65535 valores distintos

Set.
un campo que puede contener ninguno, uno ó varios valores de una lista. La lista puede tener
un máximo de 64 valores.

Tipos de Fecha
A la hora de almacenar fechas, hay que tener en cuenta que Mysql no comprueba de
una manera estricta si una fecha es válida o no. Simplemente comprueba que el mes está
comprendido entre 0 y 12 y que el día está comprendido entre 0 y 31.

Date.
tipo fecha, almacena una fecha. El rango de valores va desde el 1 de enero del 1001 al 31 de
diciembre de 9999. El formato de almacenamiento es de año-mes-día.

DateTime.
Combinación de fecha y hora. El rango de valores va desde el 1 de enero del 1001 a las 0
horas, 0 minutos y 0 segundos al 31 de diciembre del 9999a las 23 horas, 59 minutos y 59
segundos. El formato de almacenamiento es de año-mes-dia horas:minutos:segundos.

TimeStamp.
Combinación de fecha y hora. El rango va desde el 1 de enero de1970 al año 2037. El formato
de almacenamiento depende del tamaño del campo:

Tamaño Formato
14 AñoMesDiaHoraMinutoSegundoaaaammddhhmmss
12 AñoMesDiaHoraMinutoSegundoaammddhhmmss
8 AñoMesDia aaaammdd
6 AñoMesDia aammdd
4 AñoMes aamm
2 Año aa

Tipos de Fecha
Time.
almacena una hora. El rango de horas va desde -838 horas, 59 minutos y59 segundos a 838,
59 minutos y 59 segundos. El formato de almacenamiento es de 'HH:MM:SS'.

Year.
almacena un año. El rango de valores permitidos va desde el año 1901 al año 2155. El campo
puede tener tamaño dos o tamaño 4 dependiendo de si queremos almacenar el año con dos o
cuatro dígitos:

Tipo de Campo Tamaño de Almacenamiento


DATE 3 bytes
DATETIME 8 bytes
TIMESTAMP 4 bytes
TIME 3 bytes
YEAR 1 byte

Alvarado, S. (2017, 01 16). Prezi. Retrieved from https://prezi.com/rcmkx_vtj0ju/tipos-de-datos-


mysql/

“Los tipos de datos numéricos por lo general son más rápidos al momento de realizar
consultas a la base de dato. Los tipos de datos numéricos son estáticos, por lo cual ocupan
más espacios en la memoria y en el disco duro. Los tipos de datos tipo texto por lo general
son más lentos al momento de realizar consultas a la base de datos Los tipos de datos tipo
texto por lo general son dinámicos (no todos) y eso hace que ocupen menos espacios en
memoria y en disco duro. No se aconseja dejar un campo texto como llave primaria (no
estrictamente hay excepciones). Evitar dejar campos que acepten valores nulos, hace más
lenta la consulta. Crear índices a los campos primarios o en su defecto a los campos que son
más consultados Saber elegir el motor de base de datos es fundamental.”

Engine en MySQL

Motores de almacenamiento compatibles con MySQL 5.5


(Anónimo, 2015) afirma que:

InnoDB.
El motor de almacenamiento predeterminado a partir de MySQL 5.5.5. InnoDBes un motor
de almacenamiento seguro para transacciones (compatible con ACID) para MySQL que tiene
capacidades de confirmación, reversión y recuperación de fallos para proteger los datos del
usuario. InnoDBel bloqueo a nivel de fila (sin escalar a bloqueos de granularidad más
gruesos) y las lecturas no bloqueadas consistentes al estilo de Oracle aumentan la
concurrencia y el rendimiento de múltiples usuarios. InnoDBalmacena los datos del usuario
en índices agrupados para reducir la E / S para consultas comunes basadas en claves
primarias. Para mantener la integridad de los datos, InnoDBtambién admite FOREIGN
KEYrestricciones de integridad referencial. Para obtener más información sobre InnoDB,
consulte el Capítulo 14, El motor de almacenamiento InnoDB .

MyISAM.
El motor de almacenamiento MySQL que más se usa en la Web, el almacenamiento de datos
y otros entornos de aplicaciones. MyISAMes compatible con todas las configuraciones de
MySQL y es el motor de almacenamiento predeterminado anterior a MySQL 5.5.5.

Memory.
Almacena todos los datos en la RAM para un acceso extremadamente rápido en entornos que
requieren búsquedas rápidas de referencia y otros datos similares. Este motor era conocido
anteriormente como el HEAP motor.
Merge.
Permite a un DBA o desarrollador de MySQL agrupar lógicamente una serie de
MyISAMtablas idénticas y hacer referencia a ellas como un objeto. Bueno para entornos
VLDB como el almacenamiento de datos.

Archive.
Proporciona la solución perfecta para almacenar y recuperar grandes cantidades de
información histórica, archivada o de auditoría de seguridad rara vez referenciada.

Federated.
Ofrece la posibilidad de vincular servidores MySQL separados para crear una base de datos
lógica desde muchos servidores físicos. Muy bueno para entornos distribuidos o data mart.

NDB(también conocido como NDBCLUSTER): este motor de base de datos agrupado es


particularmente adecuado para aplicaciones que requieren el mayor grado posible de
disponibilidad y disponibilidad.

Nota.
El NDBmotor de almacenamiento no es compatible con las versiones estándar de MySQL
5.5. Las versiones de NDB Cluster actualmente admitidas incluyen MySQL NDB Cluster
7.0 y MySQL NDB Cluster 7.1, que se basan en MySQL 5.1, y MySQL NDB Cluster 7.2,
que se basa en MySQL 5.5. Aunque se basan en el servidor MySQL, estas versiones también
contienen soporte para NDB.

CSV.
El motor de almacenamiento CSV almacena los datos en archivos de texto utilizando un
formato de valores separados por comas. Puede utilizar el motor CSV para intercambiar
fácilmente datos entre otro software y aplicaciones que pueden importar y exportar en
formato CSV.

Blackhole.
El motor de almacenamiento Blackhole acepta pero no almacena datos y las recuperaciones
siempre devuelven un conjunto vacío. La funcionalidad se puede usar en el diseño de bases
de datos distribuidas donde los datos se replican automáticamente, pero no se almacenan
localmente.

Example.
El motor Ejemplo de almacenamiento es “ trozo ” de motor que no hace nada. Puede crear
tablas con este motor, pero no se pueden almacenar datos en ellos ni recuperarlos. El
propósito de este motor es servir como un ejemplo en el código fuente de MySQL que ilustra
cómo comenzar a escribir nuevos motores de almacenamiento. Como tal, es principalmente
de interés para los desarrolladores.

Anónimo. (2015, 06 23). MySQÑ. Retrieved from


https://dev.mysql.com/doc/refman/5.5/en/storage-engines.html
“Los motores de almacenamiento son componentes MySQL que manejan las
operaciones SQL para diferentes tipos de tablas. Los motores de almacenamiento MySQL
incluyen tanto aquellos que manejan tablas seguras para transacciones como aquellos que
manejan tablas no seguras para transacciones. MySQL usa una arquitectura de motor de
almacenamiento conectable que permite que los motores de almacenamiento se carguen y
descarguen desde un servidor MySQL en ejecución.”

Elegir el motor adecuado


(Bodnar, 2017) Ningún motor de almacenamiento es ideal para todas las
circunstancias. Algunos se desempeñan mejor en ciertas condiciones y se desempeñan peor
en otras situaciones. Hay compensaciones que deben ser consideradas. Una solución más
segura requiere más recursos; podría ser más lento, tomar más tiempo de CPU y espacio en
disco. MySQL es muy flexible en el hecho de que proporciona varios motores de
almacenamiento diferentes. Algunos de ellos, como el motor de archivo, se crean para ser
utilizados en situaciones específicas.

En algunos casos la respuesta es clara. Cuando tratamos con algunos sistemas de pago,
estamos obligados a utilizar la solución más segura. No podemos permitirnos perder esos
datos confidenciales. InnoDB es el camino a seguir. Si queremos una búsqueda de texto
completo, entonces podemos elegir entre MyISAM o InnoDB. Solo InnoDB admite
restricciones de integridad referencial de clave externa y si planeamos usar esta restricción,
entonces la opción es clara.

Bodnar, J. (2017, 01 29). ZetCode. Retrieved from


http://zetcode.com/databases/mysqltutorial/storageengines/

“Los distintos motores de almacenamiento provistos con MySQL están diseñados


teniendo en cuenta diferentes casos de uso. La siguiente tabla proporciona una descripción
general de algunos motores de almacenamiento provistos con MySQL, con notas aclaratorias
a continuación de la tabla.”

Bibliografía
Alvarado, S. (16 de 01 de 2017). Prezi. Obtenido de https://prezi.com/rcmkx_vtj0ju/tipos-de-
datos-mysql/

Anónimo. (23 de 06 de 2015). MySQÑ. Obtenido de


https://dev.mysql.com/doc/refman/5.5/en/storage-engines.html

Bodnar, J. (29 de 01 de 2017). ZetCode. Obtenido de


http://zetcode.com/databases/mysqltutorial/storageengines/

Vous aimerez peut-être aussi