Muy buenos días a todas las Postgreseras y Postgreseros que nos siguen cada semana. Hoy tenemos nueva entrada y hablaremos una vez de los tipos de datos soportados por PostgreSQL, pero esta vez hablaremos de los tipos de datos especiales que soporta PostgreSQL. Dependiendo de nuestro puesto de trabajo, la frecuencia de uso de este tipo de datos puede variar, así que quizá no sabías aún de su existencia.
PostgreSQL soporta una gran variedad de tipos nativos de datos, o como usualmente se suele llamar, Data Types. En la entrada anterior vimos los tipos de datos más utilizados que disponemos para almacenar valores con nuestro nuestro Motor de Bases de Datos favorito. También se nombraron unos Data Types que no son típicos y suelen ser utilizados puntualmente, hablo de los tipos geométricos, arrays, binarios, JSONs, Network Address, enumeradores, email entre otros. Estos tipos pueden ser etiquetados como tipos de datos especiales, puesto que su frecuencia de uso es diferente a los tipos de datos ‘normales’.
Además, recordemos tenemos la posibilidad de crear nuestro propio tipo de dato personalizado con un sencillo comando (CREATE TYPE).
En la entrada de hoy veremos algunos de estos tipos de datos utilizados puntualemente .
Tipos Geométricos (Geometric Types)
Éste tipo de datos hace referencia a los objetos espaciales bidimensionales que podemos disponer en nuestro Servidor con PostgreSQL. Cuanto instalamos la extensión PostGIS, se implementa éste Data Types y un amplio conjunto de funciones y operadores para realizar diversas operaciones geométricas, como escalado, traslación, rotación y determinación de intersecciones. A continuación veremos una tabla con los tipos geométricos.
Tipos de direcciones de red (Network Address Types)
En PostgreSQL disponemos de tipos de datos para almacenar direcciones IP y MAC (IPv4 y IPv6). Este tipos de datos es el apropiado para almacenar las direcciones de red, ya que ofrecen verificación de errores de entradas, operadores y funciones especiales. Alternativamente en su lugar se puede utilizar un tipo de texto plano sin formato.
Tipos Enumerados (Enumeradores Types)
Los tipos enumerados, comúnmente llamados Enum Types en varios lenguaje de programación, contienen un conjunto de valores estático y ordenado. Por ejemplo si queremos almacenar los meses del año lo ideal es crear un Enum Types.
Para crear un Enum Types utilizamos el comando CREATE TYPES. En la siguiente línea os dejo la sintaxis de como crear el ejemplo anterior.
CREATE TYPES meses AS ENUM ('enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre');
Tipos de Matriz (Array Types)
En Postgres también disponemos de los Array Types, esto permite que las columnas de una tabla se definan como matrices multidimensionales de longitud variables. Podemos crear matrices de cualquier tipo de datos ya incorporado en la Base de Datos o creados por nosotros mismo. Para definir una matriz le añadimos corchetes “[ ]” al nombre del Data Types, si tiene un corchete es un Array unidimensional y si le añadimos dos corchetes es una matriz bidimensional.
Esto ha sido todo por esta semana. A partir de ahora ten en cuenta a estos tipos de datos especiales con los que cuenta PostgreSQL, quizá te pueden ser de mucha utilidad en tu próximo proyecto.
¡Te esperamos la semana que viene!