Definición de Tipos de Datos Personalizados en Bases de Datos

Clase 17 de 34Curso de PostgreSQL Aplicado a Ciencia de Datos

Resumen

¿Cómo crear tipos de datos personalizados en bases de datos relacionales?

Crear tipos de datos personalizados es una poderosa herramienta que no todos los manejadores de bases de datos proporcionan. Este enfoque permite mayor control sobre los datos, limitando las entradas a ciertas opciones predefinidas. Aquí te enseñaré cómo definir tipos de datos en PostgreSQL, una habilidad que potenciará tus capacidades como desarrollador o administrador de bases de datos.

¿Qué son los tipos de datos personalizados?

Los tipos de datos personalizados permiten definir listas concretas de valores que se pueden almacenar en un campo específico de una tabla. En particular, los tipos de datos como enum ayudan a restringir las entradas a un conjunto definido, lo que evita errores como la entrada de datos no válidos.

¿Cómo se definen los tipos de datos en PostgreSQL?

Para crear un tipo de dato personalizado en PostgreSQL, usamos la sentencia CREATE TYPE. A continuación, te muestro un ejemplo práctico:

CREATE TYPE mood AS ENUM ('triste', 'neutral', 'feliz');

En este ejemplo, se define un tipo de dato llamado mood que solo permite tres posibilidades: triste, neutral y feliz.

¿Cómo usar un tipo de dato personalizado en una tabla?

Una vez definido el tipo de dato, se puede utilizar en las tablas de la base de datos. Aquí te muestro cómo:

CREATE TABLE persona_prueba (
  nombre TEXT,
  humor_actual mood
);

La tabla persona_prueba tiene dos campos: nombre, de tipo texto, y humor_actual, que usa el tipo de dato personalizado mood.

¿Qué sucede al insertar datos no válidos?

Al intentar insertar un valor que no está en la lista definida, PostgreSQL arrojará un error, previniendo la adición de datos no válidos.

INSERT INTO persona_prueba (nombre, humor_actual) VALUES ('Pablo', 'molesto');

Este intento de inserción fallará con un error, ya que molesto no es un valor permitido en el tipo de dato mood.

¿Cómo insertar valores válidos?

Para realizar inserciones exitosas, simplemente asegúrate de que los valores estén dentro del conjunto permitido:

INSERT INTO persona_prueba (nombre, humor_actual) VALUES ('Pablo', 'feliz');

En este caso, el registro se insertará correctamente, ya que feliz es un valor permitido.

¿Cuándo es útil usar tipos de datos personalizados?

Estos tipos de datos son ideales cuando necesitas limitar las entradas a un conjunto específico de valores permitidos. Un ejemplo común es un sistema de clasificación de películas, donde la clasificación se limita a categorías estándar como G, PG, PG-13, etc., proporcionadas por asociaciones de clasificación de contenidos.

Los tipos de datos personalizados no solo mejoran la integridad de tus datos, sino que también facilitan el mantenimiento y actualización de tu sistema al minimizar los errores de entrada. Atrévete a experimentar con ellos en tus próximos proyectos para experimentar sus beneficios de primera mano.