PostgreSQL

1. Ciclo de vida

2. Tipología

3. Ámbito de aplicación

4. Lenguaje de programación

Descripción

PostgreSQL constituye uno de los sistemas gestores de bases de datos relacionales de software libre más potente del mercado. Sus orígenes se remontan a 1986 como parte del proyecto POSTGRES en la Universidad de California en Berkeley. Tras PostgreSQL existe una comunidad de código abierto que entrega de forma constante soluciones eficientes e innovadoras.

La creación, consulta y manipulación de las bases de datos creadas en PostgreSQL se realiza mediante el lenguaje SQL. No obstante, PostgreSQL permite utilizar otros lenguajes para implementar los procedimientos almacenados y disparadores (triggers), como por ejemplo C++, C, Java, Perl o incluso una variante procedural de R. Otra extensión interesante de PostgreSQL es PostGIS, que permite trabajar con datos geoespaciales. Adicionalmente, PostgreSQL es capaz de almacenar de forma fiable y eficiente grandes volúmenes de datos. Desde 2001 soporta un modelo de transacciones ACID.

Existen distintas opciones para instalar PostgreSQL. La opción más fácil y recomendada es utilizar los instaladores (paquetes binarios) definidos para instalar de forma fácil y rápida el sistema gestor de bases de datos en distintos entornos. Actualmente, existen instaladores para los entornos Windows, Mac, FreeBSD, Linux y Solaris.

Enlace al recurso

https://www.postgresql.org/

Ejemplo de uso

En este ejemplo veremos cómo se puede crear una tabla, realizar una inserción y posteriormente, una consulta en PostgreSQL.

En primer lugar, tras estudiar la información que queremos almacenar, realizamos la creación de la tabla de empleado con cada uno de los campos necesarios. El código, en lenguaje SQL, incorpora numeración en las líneas para mejorar su lectura:

1     CREATE TABLE EMPLEADO (           
2           ID_EMPLEADO INT PRIMARY KEY,      
3           NOMBRE TEXT NOT NULL,
4           APELLIDOS TEXT NOT NULL,
5           EDAD INT NOT NULL,
6           EMAIL TEXT,
7           SALARIO REAL
8     );

La tabla de empleado contendrá la siguiente información: nombre, apellidos, edad, e-mail y salario, adicionalmente incorporamos un identificador único de empleado ID_EMPLEADO, que será la clave primaria, de manera que no pueden existir elementos repetidos. Los campos obligatorios son el nombre, apellidos y la edad, por ese motivo los hemos establecido como NOT NULL.

A continuación, realizaremos la inserción de datos en la tabla:

1     INSERT INTO EMPLEADO (ID_EMPLEADO, NOMBRE, APELLIDOS, EDAD) VALUES (1, 'ALBERTO','ROBLES', 33,'2001-07-13');
2     INSERT INTO EMPLEADO (ID_EMPLEADO, NOMBRE, APELLIDOS, EDAD, EMAIL) VALUES (2, 'ANA','BERNARDEZ', 54,'anabernardez@acme.es');
3     INSERT INTO EMPLEADO (ID_EMPLEADO, NOMBRE, APELLIDOS, EDAD) VALUES (3, 'RAUL','GRANDIO', 43);

Por último, procederemos a realizar una consulta para obtener el nombre, apellidos y edad de alguno de los empleados registrados, concretamente aquellos cuyo nombre comience por A de la información almacenada:

1     SELECT NOMBRE, APELLIDOS, EDAD          
2     FROM EMPLEADO          
3     WHERE NOMBRE LIKE ‘A%’;

En la fila 1 hemos indicado la selección de campos que queremos recuperar, en este caso, nombre, apellidos y edad. Posteriormente, en la línea 2, indicamos el origen de la información, que en este caso será la tabla EMPLEADO. Para finalizar establecemos una condición en la cláusula WHERE indicando que queremos limitar la consulta a aquellos empleados cuyo nombre comience por la letra A, para esto nos valemos del operador LIKE, utilizando el carácter % que indica cualquier valor o valores. Como resultado de la consulta obtendremos lo siguiente:

1     NOMBRE  | APELLIDOS | EDAD        
2     ALBERTO | ROBLES    | 33           
3     ANA    | BERNARDEZ | 54

Enlaces relacionados

Características: https://www.postgresql.org/about/

Descargas: https://www.postgresql.org/download/

Documentación: https://www.postgresql.org/docs/

Variante procedural de R: http://www.joeconway.com/plr/

Más información sobre PostgreSQL y sus orígenes: https://en.wikipedia.org/wiki/PostgreSQL