Skip to content

Clase 4 – Tipos de Datos en SQL

En el mundo de la administración de bases de datos, uno de los conceptos fundamentales que todo estudiante y profesional debe entender a fondo son los tipos de datos en SQL.

Los tipos de datos son esenciales para definir la estructura de las tablas y cómo se almacenan y manipulan los datos en una base de datos relacional.

En esta clase, exploraremos en detalle los tipos de datos en SQL, proporcionando explicaciones detalladas y ejemplos para ayudar a los estudiantes a comprender mejor este concepto crítico.

¿Qué son los Tipos de Datos en SQL?

Los tipos de datos en SQL son categorías que definen qué tipo de información se puede almacenar en una columna de una tabla.

Cada columna en una tabla debe tener un tipo de dato asociado que determine qué tipo de valores se pueden almacenar en esa columna. Los tipos de datos en SQL se utilizan para garantizar la integridad de los datos, mejorar la eficiencia y permitir la realización de operaciones específicas en los datos almacenados.

SQL admite varios tipos de datos, que se pueden clasificar en las siguientes categorías:

Tipos de Datos Numéricos

Estos tipos de datos se utilizan para almacenar valores numéricos. Los tipos de datos numéricos más comunes son INT (entero), DECIMAL (decimal), FLOAT (coma flotante) y NUMERIC (número decimal fijo).

Tipos de Datos de Caracteres

Se utilizan para almacenar datos de texto y caracteres. Los tipos de datos de caracteres más comunes son CHAR (cadena de caracteres de longitud fija) y VARCHAR (cadena de caracteres de longitud variable).

Tipos de Datos de Fecha y Hora

Estos tipos de datos se utilizan para almacenar valores de fecha y hora. Los tipos de datos de fecha y hora incluyen DATE (fecha), TIME (hora), DATETIME (fecha y hora) y TIMESTAMP (marca de tiempo).

Tipos de Datos Binarios

Se utilizan para almacenar datos binarios, como imágenes o archivos. Los tipos de datos binarios incluyen BLOB (objeto binario grande) y CLOB (objeto de caracteres grandes).

Tipos de Datos de Booleanos

Algunas bases de datos SQL admiten tipos de datos booleanos, como BOOLEAN o BIT, que representan valores verdaderos o falsos.

Tipos de Datos Compuestos

Estos tipos de datos permiten combinar varios valores en una sola columna. Ejemplos de tipos de datos compuestos son ARRAY (arreglo), STRUCT (estructura) y MAP (mapa).

Tipos de Datos Numéricos

INT (Entero)

El tipo de dato INT se utiliza para almacenar valores enteros. Puede contener números positivos y negativos. La precisión y el rango de valores dependen de la implementación específica de SQL.

Por lo general, se utiliza para representar cantidades enteras, como números de identificación.

Ejemplo:

CREATE TABLE Empleados (
    ID_empleado INT,
    Nombre VARCHAR(50),
    Edad INT
);

En este ejemplo, hemos creado una tabla llamada Empleados con una columna Edad de tipo INT para almacenar las edades de los empleados.

DECIMAL y NUMERIC (Decimal)

Los tipos de datos DECIMAL y NUMERIC se utilizan para almacenar números decimales o de punto flotante con precisión fija.

Estos tipos de datos son útiles cuando se requiere una alta precisión en cálculos financieros, por ejemplo.

Ejemplo:

CREATE TABLE Productos (
    Codigo_Producto INT,
    Descripcion VARCHAR(100),
    Precio_Unitario DECIMAL(10, 2)
);

En este ejemplo, hemos creado una tabla llamada Productos con una columna Precio_Unitario de tipo DECIMAL(10, 2), que significa que se pueden almacenar números con un total de 10 dígitos, 2 de los cuales son decimales.

FLOAT (Coma Flotante)

El tipo de dato FLOAT se utiliza para almacenar números de coma flotante.

Este tipo de dato es útil cuando se necesita una aproximación de un número real. Puede almacenar valores positivos y negativos.

Ejemplo:

CREATE TABLE Mediciones (
    ID_sensor INT,
    Temperatura FLOAT
);

En este ejemplo, hemos creado una tabla llamada Mediciones con una columna Temperatura de tipo FLOAT para almacenar mediciones de temperatura con decimales.

Tipos de Datos de Caracteres

CHAR (Cadena de Caracteres de Longitud Fija)

El tipo de dato CHAR se utiliza para almacenar cadenas de caracteres de longitud fija.

Esto significa que la columna siempre ocupará la misma cantidad de espacio en la base de datos, incluso si el valor almacenado es más corto.

Ejemplo:

CREATE TABLE Clientes (
    ID_cliente INT,
    Nombre CHAR(50),
    Direccion CHAR(100)
);

En este ejemplo, hemos creado una tabla llamada Clientes con columnas Nombre y Direccion, ambas de tipo CHAR, lo que garantiza que ocuparán 50 y 100 caracteres respectivamente, sin importar la longitud de los datos reales.

VARCHAR (Cadena de Caracteres de Longitud Variable)

El tipo de dato VARCHAR se utiliza para almacenar cadenas de caracteres de longitud variable.

Esto significa que la columna ocupará solo la cantidad de espacio necesaria para almacenar el valor real, lo que ahorra espacio en la base de datos.

Ejemplo:

CREATE TABLE Comentarios (
    ID_comentario INT,
    Autor VARCHAR(50),
    Texto VARCHAR(1000)
);

En este ejemplo, hemos creado una tabla llamada Comentarios con columnas Autor y Texto, ambas de tipo VARCHAR, lo que permite almacenar cadenas de caracteres de hasta 50 y 1000 caracteres respectivamente.

Tipos de Datos de Fecha y Hora

DATE (Fecha)

El tipo de dato DATE se utiliza para almacenar fechas.

Los valores de fecha se almacenan en formato ‘AAAA-MM-DD’.

Ejemplo:

CREATE TABLE Tareas (
    ID_tarea INT,
    Descripcion VARCHAR(100),
    Fecha_Entrega DATE
);

En este ejemplo, hemos creado una tabla llamada Tareas con una columna Fecha_Entrega de tipo DATE para almacenar fechas de entrega de tareas.

TIME (Hora)

El tipo de dato TIME se utiliza para almacenar valores de hora.

Los valores de hora se almacenan en formato ‘HH:MM:SS’.

Ejemplo:

CREATE TABLE Eventos (
    ID_evento INT,
    Nombre VARCHAR(100),
    Hora_Inicio TIME
);

En este ejemplo, hemos creado una tabla llamada Eventos con una columna Hora_Inicio de tipo TIME para almacenar la hora de inicio de eventos.

DATETIME (Fecha y Hora)

El tipo de dato DATETIME se utiliza para almacenar valores de fecha y hora en un solo campo.

Los valores se almacenan en formato ‘AAAA-MM-DD HH:MM:SS’.

Ejemplo:

CREATE TABLE Reservas (
    ID_reserva INT,
    Cliente VARCHAR(100),
    Fecha_Hora DATETIME
);

En este ejemplo, hemos creado una tabla llamada Reservas con una columna Fecha_Hora de tipo DATETIME para almacenar la fecha y hora de las reservas.

TIMESTAMP (Marca de Tiempo)

El tipo de dato TIMESTAMP se utiliza para almacenar marcas de tiempo que representan un punto en el tiempo.

Se utiliza a menudo para registrar cuándo se creó o modificó un registro.

Ejemplo:

CREATE TABLE Empleados (
    ID_empleado INT,
    Nombre VARCHAR(100),
    Fecha_Registro TIMESTAMP
);

En este ejemplo, hemos creado una tabla llamada Empleados con una columna Fecha_Registro de tipo TIMESTAMP para almacenar la marca de tiempo en la que se registró cada empleado.

Tipos de Datos Binarios

BLOB (Objeto Binario Grande)

El tipo de dato BLOB se utiliza para almacenar datos binarios de gran tamaño, como imágenes, audio o archivos.

Los valores BLOB se almacenan como secuencias de bytes.

Ejemplo:

CREATE TABLE Archivos (
    ID_archivo INT,
    Nombre VARCHAR(100),
    Datos BLOB
);

En este ejemplo, hemos creado una tabla llamada Archivos con una columna Datos de tipo BLOB para almacenar archivos binarios.

Tipos de Datos de Booleanos

BOOLEAN (Booleano)

Algunas bases de datos SQL admiten tipos de datos booleanos, como BOOLEAN o BIT.

Estos tipos de datos se utilizan para representar valores verdaderos o falsos.

Ejemplo:

CREATE TABLE Tareas (
    ID_tarea INT,
    Descripcion VARCHAR(100),
    Completada BOOLEAN
);

En este ejemplo, hemos creado una tabla llamada Tareas con una columna Completada de tipo BOOLEAN para indicar si una tarea está completada o no.

Tipos de Datos Compuestos

ARRAY (Arreglo)

El tipo de dato ARRAY se utiliza para almacenar una colección de valores del mismo tipo en una sola columna.

Ejemplo:

CREATE TABLE Productos (
    ID_producto INT,
    Etiquetas ARRAY(VARCHAR(50))
);

En este ejemplo, hemos creado una tabla llamada Productos con una columna Etiquetas de tipo ARRAY, que almacena una lista de etiquetas asociadas a cada producto.

STRUCT (Estructura)

El tipo de dato STRUCT se utiliza para definir una estructura que contiene varios campos con tipos de datos diferentes.

Ejemplo:

CREATE TABLE Empleados (
    ID_empleado INT,
    Datos_personales STRUCT(
        Nombre VARCHAR(50),
        Apellido VARCHAR(50)
    )
);

En este ejemplo, hemos creado una tabla llamada Empleados con una columna Datos_personales de tipo STRUCT, que contiene campos para el nombre y el apellido del empleado.

MAP (Mapa)

El tipo de dato MAP se utiliza para almacenar pares clave-valor.

Cada par clave-valor se asocia con un tipo de dato específico.

Ejemplo:

CREATE TABLE Notas (
    ID_estudiante INT,
    Calificaciones MAP(VARCHAR(50), INT)
);

En este ejemplo, hemos creado una tabla llamada Notas con una columna Calificaciones de tipo MAP, que almacena las calificaciones de los estudiantes asociadas a materias representadas como claves de tipo VARCHAR(50).

Los tipos de datos en SQL son una parte fundamental de la gestión de bases de datos relacionales. Elegir el tipo de dato correcto para cada columna es esencial para garantizar la integridad y el rendimiento de la base de datos. Además, comprender cómo se almacenan y manipulan los datos es esencial para trabajar eficazmente con SQL.

En esta clase, hemos explorado una variedad de tipos de datos en SQL, desde los numéricos hasta los de fecha y hora, pasando por los tipos de datos de caracteres, binarios, booleanos y compuestos. Cada uno de estos tipos de datos tiene sus propias aplicaciones y consideraciones.

A medida que avances en tu carrera en la administración de bases de datos y el desarrollo de software, el conocimiento de los tipos de datos en SQL te servirá como base sólida para diseñar bases de datos eficientes y aplicaciones robustas que gestionen datos de manera efectiva.