Cargando



PostgreSQL - Tablas

En este tutorial estaremos viendo cómo se crea cada uno de los tipos de tabla que nos brinda PostgreSQL, además de explicar la función de cada una de ellas.


oct 24 2013 22:19
Profesional
oct 24 2013 22:21
PostgreSQL aparte de las tablas de datos que son las más comunes y que se encuentran en otros manejadores y motores de bases de datos también ofrece tipos de tablas exclusivos y únicos, como lo son las tablas temporales, las tablas unlogged, las tablas heredadas y las tablas tipadas.

Creación de una tabla

Antes de adentrarnos en los diferentes tipos de tablas que nos ofrece PostgreSQL, vamos a ver como se debe crear una tabla normal, esto puede tener bastante similaridad a como se crean las tablas en otros manejadores de Bases de Datos, sin embargo vamos a sentar las bases de como se hace en PostgreSQL.

En la siguiente imagen vemos el código de cómo hacerlo, luego explicaremos paso a paso cada detalle:

  • El tipo serial es el tipo de datos que se utiliza cuando se quiere crear un campo auto numérico, él crea un objeto de secuencia acompañante y define esa columna como un entero con el valor por defecto configurado para tomar el próximo valor del objeto secuencia, usualmente se utiliza como llave primaria.
  • El tipo varchar es un tipo de cadena de longitud variable similar a lo que utilizamos en otros motores de bases de datos, también puede ser escrito como character varying(50).
  • El tipo text es un tipo de dato ilimitado, nunca se le coloca un tamaño.
  • El tipo timestamp con zona horaria es un tipo de fecha y hora que siempre se almacena en UTC, por defecto mostrara la fecha y hora utilizando como referencia la zona horaria propia del servidor a menos que se le indique lo contrario.
Tablas Heredadas

De momento solo soportadas por PostgreSQL, este tipo de tablas nos permite heredar todas las columnas de la tabla padre ademas de poder crear columnas propias en la tabla hija, todos los cambios que se hagan en la tabla padre serán trasladadas a las tablas hijas, lo único que no se hereda son las llaves primarias y las llaves foráneas, cuando hacemos una consulta contra el padre también nos incluirá las columnas de los hijos.

Veamos un ejemplo de cómo crear una tabla heredada:

pg_tablas2.jpg


Tablas Unlogged

Este tipo de tablas se crean cuando necesitamos mucha velocidad de escritura y que los datos que se almacenan en dicha tabla no sean de vital importancia, ya que este tipo cuando hay una falla del motor no se restaura sino que se hace un truncate de la tabla; la mayor ventaja que tiene es que posee 15 veces mas velocidad de escritura que los otros tipos de tablas.

Veamos como creamos este tipo de tablas en la siguiente imagen:

pg_tablas3.jpg


Tablas Tipadas

Este tipo de tablas obtiene su estructura de un tipo de datos compuesto, con lo que podemos ahorrar tiempo al momento de generarlas, la desventaja es que no podemos luego agregar columnas adicionales de la manera tradicional.

La ventaja es que si tenemos muchas tablas con este tipo podemos cambiar la estructura y esto se propagará a todas las tablas.

Para utilizarlas debemos seguir estos pasos:

Primero creamos el tipo de datos:

CREATE TYPE app_user AS (user_name varchar(50), email varchar(75), pwd varchar(50));


Luego creamos la tabla tipada:

CREATE TABLE super_users OF app_user(CONSTRAINT pk_super_users PRIMARY KEY (user_name));


Cómo vemos definimos las llaves en la definición de la tabla.

Sí queremos agregar un campo más a nuestras tablas lo podemos hacer de la siguiente manera:

ALTER TYPE app_user ADD ATTRIBUTE main_phone varchar(18) CASCADE;


Con el argumento CASCADE que se coloca, este cambio es aceptado por todas las tablas.

Con esto finalizamos este tutorial, dejando una cantidad de herramientas que harán que nuestras tablas se acerquen de mejor manera a nuestros requerimientos y necesidades.

¿Te ayudó este Tutorial?


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X