Dungeon of Bits
Aprendiendo informática.
Dungeon of Bits
Tipos de datos definidos por usuario en PostgreSQL

En este tutorial vamos a crear tipos de datos definidos por el usuario o la usuario en PostgreSQL.

PostgreSQL

Requisitos:

Para realizar esta práctica necesitamos un sistema operativo Linux, nosotros usaremos Ubuntu 22.04 LTS, además habremos instalado el gestor de bases de datos PostgreSQL, tutorial para instalar PostgreSQL.

Gestor PostgreSQL:

El Sistema Gestor de Bases de Datos PostgreSQL tiene web oficial y documentación en inglés PostgreSQL.

1.-Tipos de datos definidos por usuario en PostgreSQL:

1.1.- Crear un tipo de datos personalizado:

En PostgreSQL podemos crear tipos de datos complejos con atributos, para ello utilizamos la expresión CREATE TYPE.

Vamos a ver un ejemplo en el que crearemos un tipo de datos llamada persona, la cual contará con los siguientes atributos: id, nombre, primer apellido, segundo apellido y fecha de necimiento, la instrucción en PostgreSQL será:

CREATE TYPE persona AS (
    id INT, nombre VARCHAR, 
    primer_apellido VARCHAR, 
    segundo_apellido VARCHAR, 
    fecha_nacimiento DATE
);

Para ver el listado de tipos de un esquema de la base de datos usaremos el comando de Postgres dT:

\dT

PostgreSQL

Para ver los atributos de un tipo de datos de un esquema de la base de datos usamos el comando \d nombre de clase:

\d persona

PostgreSQL

1.2.- Modificar un tipo de datos personalizado:

1.2.1.- Cambiar nombre de tipo de datos:

Para cambiar el nombre de tipo usamos la sentencia RENAME, por ejemplo vamos a cambiar el combre del tipo persona por el de cliente:

ALTER TYPE persona RENAME TO cliente;

PostgreSQL

Y la volvemos a cambiar con la sentencia:

ALTER TYPE cliente RENAME TO persona;

1.2.2.- Añadir o quitar atributos:

Para añadir un atributo a un tipo usamos la sentencia ADD ATTRIBUTE, por ejemplo vamos a añadir el atributo dni a persona:

ALTER TYPE persona ADD ATTRIBUTE dni VARCHAR;

PostgreSQL

Para eliminar un atributo de un tipo usamos la sentencia DROP ATTRIBUTE, por ejemplo vamos a eliminar el atributo dni de persona:

ALTER TYPE persona DROP ATTRIBUTE dni;

PostgreSQL

1.2.3.- Cambiar el nombre de un atributo:

Para cambiar el nombre de un atributo usamos la sentencia RENAME ATTRIBUTE, por ejemplo vamos a cambiar el nombre de los atributos primer_apellido y segundo_apellido a los de apellido1 y apellido2:

ALTER TYPE persona RENAME ATTRIBUTE primer_apellido TO apellido1;
ALTER TYPE persona RENAME ATTRIBUTE segundo_apellido TO apellido2;

PostgreSQL

1.3.- Eliminar un tipo:

Para eliminar una clase usamos la sentencia DROP TYPE:

DROP TYPE persona;

PostgreSQL

2.- Tablas que utilizan tipos de datos definidos por el usuario:

2.1 Crear una tabla que contenga tipos definidos por el usuario:

Vamos a aprovechar que tenemos el tipo persona para crear una tabla que lo utilice, como hemos borrado el tipo persona lo volvemos a crear:

CREATE TYPE persona AS (
    nombre VARCHAR, 
    apellido VARCHAR    
);

Crearemos una tabla que tenga simplemente un campo id y un campo persona, la tabla se llamará personas.

CREATE TABLE personas (
    id int PRIMARY KEY, individuo persona
);

Insertamos un registro en el campo:

INSERT INTO personas VALUES (1, ('Tom','Selleck'));

Seleccionar solo los datos de tipo persona de la tabla:

SELECT individuo FROM personas;

Seleccionar solamente el campo nombre del tipo persona:

SELECT (individuo).nombre FROM personas;

Introducción a PostgreSQL

En este tutorial vamos a instalar el gestor de Bases de Datos PostgreSQL en un sistema con Ubuntu 22.04 LTS

Requisitos: Para realizar esta práctica necesitamos un sistema operativo Linux, nosotros usaremos Ubuntu 22.04 LTS. Gestor PostgreSQL: El Sistema Gestor de Bases de Datos PostgreSQL tiene web oficial y documentación en inglés PostgreSQL. 1.-Instalación de PostgreSQL: Existen varias versiones de PostgreSQL, en el momento de hacer este tutorial la versión que está disponible en el repositorio de Ubuntu es la 14, eso lo podemos saber buscando en apt: apt search postgresql Instalamos dicha versión: apt-get...

Leer más...