Está en la página 1de 10

Introduccin

PostgreSQL es un potente sistema de Gestin de Bases de Datos

Es un tipo de software muy especfico, dedicado a servir de interfaz entre la base de datos y el usuario.

Este Sistemas Gestor de Bases de Datos proporcionan un interfaz entre aplicaciones y sistema operativo, consiguiendo, entre otras cosas, que el acceso a los datos se realice de una forma ms eficiente, ms fcil de implementar y, sobre todo, ms segura.

PostgreSQL es un potente sistema de base de datos objeto-relacional de cdigo abierto.


Cuenta con ms de 15 aos de desarrollo activo y una arquitectura probada que se ha ganado una slida reputacin de fiabilidad e integridad de datos. Se ejecuta en los principales sistemas operativos que existen en la actualidad como: Linux UNIX (AIX, BSD, HP-UX, SGI IRIX, Mac OS X, Solaris, Tru64) Windows

Base de datos
Una base de datos en un sistema relacional est compuesta por un conjunto de tablas, que corresponden a las relaciones del modelo relacional.

Crear base datos


En la terminologa usada en SQL no se alude a las relaciones, del mismo modo que no se usa el trmino atributo, pero s la palabra columna, y no se habla de tupla, sino de lnea. A continuacin se usarn indistintamente ambas terminologas, por lo que tabla estar en lugar de relacin, columna en el de atributo y lnea en el de tupla, y viceversa. Prcticamente, la creacin de la base de datos consiste en la creacin de las tablas que la componen. En realidad, antes de poder proceder a la creacin de las tablas, normalmente hay que crear la base de datos, lo que a menudo significa definir un espacio de nombres separado para cada conjunto de tablas. De esta manera, para una DBMS se pueden gestionar diferentes bases de datos independientes al mismo tiempo sin que se den conflictos con los nombres que se usan en cada una de ellas. El sistema previsto por el estndar para crear los espacios separados de nombres consiste en usar las instrucciones SQL "CREATE SCHEMA". A menudo, dicho sistema no se usa (o por lo menos no con los fines y el significado previstos por el estndar), pero cada DBMS prev un procedimiento propietario para crear una base de datos. Normalmente, se ampla el lenguaje SQL introduciendo una instruccin no prevista en el estndar: "CREATE DATABASE". La sintaxis empleada por PostgreSQL, pero tambin por las DBMS ms difundidas, es la siguiente: CREATE DATABASE nombre_base de datos

Con PostgreSQL est a disposicin una orden invocable por shell Unix (o por shell del sistema usado), que ejecuta la misma operacin: createdb nombre_base de datos

Para

crear

nuestra

base

de

datos

bibliogrfica,

usaremos

pues

la

orden:

createdb biblio

Editar base de datos


Si necesitamos editar una base de datos PostgreSQL, podemos hacerlo con el comando ALTER DATABASE. Los pasos que debemos dar son los siguientes: 1. Con psql o pgAdmin nos conectamos a una base de datos que no sea la que deseamos renombrar. 2. Nos aseguramos de que no existen usuarios conectados a la base de datos. Para ello ejecutamos el siguiente comando (debera mostrar 0 usuarios conectados): SELECT COUNT(*) datname='olddbname'; AS users_online FROM pg_stat_activity WHERE

3. Renombramos la base de datos con el comando ALTER DATABASE: ALTER DATABASE olddbname RENAME TO newdbname;

Borrar una base de datos


Si necesitamos borrar una base de datos PostgreSQL, podemos hacerlo con el DROP DATABASE. Los pasos que debemos dar son los siguientes: 1. Con psql o pgAdmin nos conectamos a una base de datos que no sea la que deseamos renombrar. 2. Nos aseguramos de que no existen usuarios conectados a la base de datos. Para ello ejecutamos el siguiente comando (debera mostrar 0 usuarios conectados):

postgres@GNU][~]$ dropdatadb Maritima Clase_Maritima=>drop database Maritima;

Tabla
Una base de datos almacena su informacin en tablas. Una tabla es una estructura de datos que organiza los datos en columnas y filas; cada columna es un campo (o atributo) y cada fila, un registro. La interseccin de una columna con una fila, contiene un dato especfico, un solo valor.

Cada registro contiene un dato por cada columna de la tabla. Cada campo (columna) debe tener un nombre. El nombre del campo hace referencia a la informacin que almacenar. Cada campo (columna) tambin debe definir el tipo de dato que almacenar.

Las tablas forman parte de una base de datos.

Al crear una tabla debemos resolver qu campos (columnas) tendr y que tipo de datos almacenarn cada uno de ellos, es decir, su estructura.

Crear tabla
La sintaxis bsica y general para crear una tabla es la siguiente:

create table NOMBRETABLA( NOMBRECAMPO1 TIPODEDATO, ... NOMBRECAMPON TIPODEDATO ); La tabla debe ser definida con un nombre que la identifique y con el cual accederemos a ella.

Creamos una tabla llamada "usuarios" y entre parntesis definimos los campos y sus tipos:

create table usuarios (

nombre varchar(30), clave varchar(10) ); Cada campo con su tipo debe separarse con comas de los siguientes, excepto el ltimo.

Cuando se crea una tabla debemos indicar su nombre y definir al menos un campo con su tipo de dato. En esta tabla "usuarios" definimos 2 campos:

nombre: que contendr una cadena de caracteres de 30 caracteres de longitud, que almacenar el nombre de usuario y clave: otra cadena de caracteres de 10 de longitud, que guardar la clave de cada usuario. Cada usuario ocupar un registro de esta tabla, con su respectivo nombre y clave.

Para nombres de tablas, se puede utilizar cualquier carcter alfabtico o numrico, el primero debe ser un carcter alfabtico y no puede contener espacios en blanco.

Si intentamos crear una tabla con un nombre ya existente (existe otra tabla con ese nombre), mostrar un mensaje indicando que ya hay un objeto llamado 'usuarios' en la base de datos y la sentencia no se ejecutar. Para evitar problemas con otros usuarios de este sitio que creen tablas con el mismo nombre hemos creado una rutina que borra todas las tablas luego que ejecuta el ejercicio.

Para ver la estructura de una tabla consultaremos una tabla propia del PostgreSQL:

SELECT table_name,column_name,udt_name,character_maximum_length FROM information_schema.columns WHERE table_name = 'usuarios'; Aparece el nombre de la tabla, los nombres de columna y el largo mximo de cada campo.:

table_name usuarios usuarios

column_name clave nombre

udt_name varchar varchar

character_maximum_length 10 30

Para eliminar una tabla usamos "drop table" junto al nombre de la tabla a eliminar:

drop table usuarios; Si intentamos eliminar una tabla que no existe, aparece un mensaje de error indicando tal situacin y la sentencia no se ejecuta.

Editar tablas
Para editar un registro cuando modificamos alguno de sus valores.

Para modificar uno o varios datos de uno o varios registros utilizamos "update" (actualizar).

Por ejemplo, en nuestra tabla "usuarios", queremos cambiar los valores de todas las claves, por "RealMadrid":

update usuarios set clave='RealMadrid'; Utilizamos "update" junto al nombre de la tabla y "set" junto con el campo a modificar y su nuevo valor.

El cambio afectar a todos los registros.

Podemos modificar algunos registros, para ello debemos establecer condiciones de seleccin con "where". Por ejemplo, queremos cambiar el valor correspondiente a la clave de nuestro usuario llamado "Federicolopez", queremos como nueva clave "Boca", necesitamos una condicin "where" que afecte solamente a este registro:

update usuarios set clave='Boca' where nombre='Federicolopez'; Si PostgreSQL no encuentra registros que cumplan con la condicin del "where", no se modifica ninguno.

Las condiciones no son obligatorias, pero si omitimos la clusula "where", la actualizacin afectar a todos los registros.

Tambin podemos actualizar varios campos en una sola instruccin:

update usuarios set nombre='Marceloduarte', clave='Marce' where nombre='Marcelo'; Para ello colocamos "update", el nombre de la tabla, "set" junto al nombre del campo y el nuevo valor y separado por coma, el otro nombre del campo con su nuevo valor.

Eliminar tablas
Para eliminar los registros de una tabla usamos el comando "delete": delete from usuarios; Si no queremos eliminar todos los registros, sino solamente algunos, debemos indicar cul o cules, para ello utilizamos el comando "delete" junto con la clausula "where" con la cual establecemos la condicin que deben cumplir los registros a borrar. Por ejemplo, queremos eliminar aquel registro cuyo nombre de usuario es "Marcelo": delete from usuarios where nombre='Marcelo'; Si solicitamos el borrado de un registro que no existe, es decir, ningn registro cumple con la condicin especificada, ningn registro ser eliminado.

Tenga en cuenta que si no colocamos una condicin, se eliminan todos los registros de la tabla nombrada.

Tipos de variables en postgre


Al crear una tabla debemos resolver qu campos (columnas) tendr y que tipo de datos almacenar cada uno de ellos, es decir, su estructura.

El tipo de dato especifica el tipo de informacin que puede guardar un campo: caracteres, nmeros, etc.

Estos son algunos tipos de datos bsicos de PostgreSQL (posteriormente veremos otros):

varchar: se usa para almacenar cadenas de caracteres. Una cadena es una secuencia de caracteres. Se coloca entre comillas (simples); ejemplo: 'Hola', 'Juan Perez'. El tipo "varchar" define una cadena de longitud variable en la cual determinamos el mximo de caracteres entre parntesis. Puede guardar hasta 10485760 caracteres. Por ejemplo, para almacenar cadenas de hasta 30 caracteres, definimos un campo de tipo varchar(30), es decir, entre parntesis, junto al nombre del campo colocamos la longitud. Si asignamos una cadena de caracteres de mayor longitud que la definida, la cadena no se carga, aparece un mensaje indicando tal situacin y la sentencia no se ejecuta (ERROR: value too long for type character varying(30)). Por ejemplo, si definimos un campo de tipo varchar(10) e intentamos asignarle la cadena 'Buenas tardes', aparece un mensaje de error y la sentencia no se ejecuta. integer: se usa para guardar valores numricos enteros, de -2000000000 a 2000000000 aprox. Definimos campos de este tipo cuando queremos representar, por ejemplo, cantidades. float: se usa para almacenar valores numricos con decimales. Se utiliza como separador el punto (.). Definimos campos de este tipo para precios, por ejemplo. Antes de crear una tabla debemos pensar en sus campos y optar por el tipo de dato adecuado para cada uno de ellos. Por ejemplo, si en un campo almacenaremos nmeros enteros, el tipo "float" sera una mala eleccin; si vamos a guardar precios, el tipo "float" es ms adecuado, no as "integer" que no tiene decimales. Otro ejemplo, si en un campo vamos a guardar un nmero telefnico o un nmero de documento, usamos "varchar", no "integer" porque si bien son dgitos, con ellos no realizamos operaciones matemticas.

Conclusin
En conclusin PostgreSQL aparte de ser un gestor de base de datos objeto-relacionar cabe destacar que sus diferentes capas le brindan una amplia versatilidad, y con su ilimitado almacenamiento, permite el manejo de muchas funciones en varios lenguajes de programacin, como c++, phyton entre otros, permite almacenamiento de valores numricos de mas de 10 cifras que otras bases de datos aun no permiten y cuenta con un desarrollo de ms de 15 aos y lo ms importante de todo es que es Software libre.

Bibliografa
http://www.htmlpoint.com/sql/sql_07.htm http://vjavierf.wordpress.com/category/bases-de-datos/postgresql/ http://www.postgresqlya.com.ar

También podría gustarte