Sie sind auf Seite 1von 43

I.S.E.

P SAGRADO CORAZON DE JESUS COMPUTACIN E INFORMTICA

POSTGRESQL
Integrantes :

GRUPO N 4

Ciclo: IV

QU ES POSTGRESQL?

PostGreSQL es un sistema de gestin de bases de datos de cdigo abierto que es dirigido por una comunidad de desarrolladores que trabajan de forma desinteresada, altruista, libre apoyada por organizaciones comerciales. Dicha comunidad es denominada el PGDG (PostgreSQL Global Development Group).

CARACTERSTICAS
Soporta distintos tipos de datos: como: datos de tipo fecha, monetarios, elementos grficos, datos sobre redes, cadenas de bits, etc. Incorpora una estructura de datos array. Incorpora funciones de diversa ndole: manejo de fechas, geomtricas, orientadas a operaciones con redes, etc. Permite la declaracin de funciones propias, as como la definicin de disparadores.

CARACTERSTICAS

Soporta el uso de ndices, reglas y vistas. Incluye herencia entre tablas. Se le incluye entre los gestores objeto-relacionales. Permite la gestin de diferentes usuarios, como tambin los permisos asignados a cada uno de ellos. Se ejecuta en los principales sistemas operativos Linux, MAC, Windows.

LAS PRINCIPALES MEJORAS EN POSTGRESQL INCLUYEN:


Los bloqueos de tabla han sido sustituidos por el control de concurrencia multi-versin, el cual permite a los accesos de slo lectura continuar leyendo datos consistentes durante la actualizacin de registros, y permite copias de seguridad en caliente desde pg_dump mientras la base de datos permanece disponible para consultas. Se han implementado importantes caractersticas del motor de datos, incluyendo subconsultas, valores por defecto, restricciones a valores en los campos (constraints) y disparadores (triggers). Se han aadido funcionalidades en lnea con el estndar SQL92, incluyendo claves primarias, identificadores entrecomillados, forzado de tipos cadena literales, conversin de tipos y entrada de enteros binarios y hexadecimales. Los tipos internos han sido mejorados, incluyendo nuevos tipos de fecha/hora de rango amplio y soporte para tipos geomtricos adicionales. La velocidad del cdigo del motor de datos ha sido incrementada aproximadamente en un 20-40%, y su tiempo de arranque ha bajado el 80% desde que la versin 6.0 fue lanzada.

VENTAJAS Y DESVENTAJAS

VENTAJAS Ampliamente popular - Ideal para tecnologias Web. Fcil de Administrar. Su sintaxis SQL es estndar y fcil de aprender. Footprint bajo de memoria, bastante poderoso con una configuracin adecuada. Multiplataforma. Capacidades de replicacin de datos. Soporte empresarial disponible.

DESVENTAJAS Sin experticia, configurar llega a ser un caos. Es fcil de vulnerar sin proteccion adecuada. El motor MyISAM es instalado por defecto y carece de capacidades de integridad relacional. InnoDB genera mucho footprint en memoria al indizar. El toolset empresarial tiene un costo adicional por suscripcin anual. Realizar revisiones llegar a ser una labor manual y tediosa para el DBA. Reducida cantidad de tipos de datos.

LICENCIA ESTNDAR
Destinado a pequeas empresas y / o uso individual. Permite: Una instalacin del producto. Uso de un servidor. Limitaciones: El producto no puede ser utilizado mientras que la prestacin de servicios de recuperacin de datos a terceros. No hay soporte para lnea de comandos llamadas incluidas. Precio: 149

ENTERPRISE LICENSE
Dirigido a medianas y grandes empresas. Permite: Dos instalaciones de los productos; El uso de dos servidores; Soporte para el uso de recuperacin de PostgreSQL en los archivos de proceso por lotes proporcionando interfaz de lnea de comandos. Limitaciones: El producto no puede ser utilizado mientras que la prestacin de servicios de recuperacin a terceros. Precio: 223

SERVICIO DE LICENCIA
Destinado a empresas la prestacin de servicios a terceros Permite: Una instalacin del producto; Uso de un nmero ilimitado de servidores de terceros; Soporte para el uso de recuperacin de PostgreSQL en los archivos de proceso por lotes proporcionando interfaz de lnea de comandos. Limitaciones: La licencia terminar en un ao desde la fecha de compra. El certificado deber ser renovado cada ao. El producto adquirido bajo licencia de servicios no puede ser utilizado para la recuperacin de servidores internos de la empresa . Precio:253

CONEXIN CON LA BASE DE DATOS

CONEXIN CON LA BASE DE DATOS

Damos doble clic en el servidor y saldr una ventana ingresamos nuestra contrasea.

CONEXIN CON LA BASE DE DATOS

Seleccionamos la base de datos postgres y luego sql

CONEXIN CON LA BASE DE DATOS

Luego se muestra la ventana creamos la base de datos y luego damos clic en Execute Query

CONEXIN CON LA BASE DE DATOS

Luego actualizamos damos clic en nuestra base para crear tablas y luego clic en sql.

CONEXIN CON LA BASE DE DATOS

Ejecutamos NetBeans y creamos una clase para la conexin con el siguiente cdigo.

package prueba; import java.sql.*; public class ConexionPostgres { public void consultar() { String cc = "jdbc:postgresql://127.0.0.1/prueba?" + "user=postgres&password=eureka"; try { Class.forName("org.postgresql.Driver"); Connection conexion = DriverManager.getConnection(cc); Statement comando = conexion.createStatement();

CONEXIN CON LA BASE DE DATOS

Ejecutamos NetBeans y creamos una clase para la conexin con el siguiente cdigo.

String sql = "SELECT nombre, apellido FROM clientes ORDER BY apellido"; ResultSet resultado = comando.executeQuery(sql); while(resultado.next()) { String n = resultado.getString("nombre"); String a = resultado.getString("apellido"); System.out.println(n + " " + a); } resultado.close(); comando.close(); conexion.close(); } catch(Exception e) { System.out.println(e.getMessage()); } } public static void main(String[] args) { ConexionPostgres cp = new ConexionPostgres(); cp.consultar(); } }

FUNCIONAMIENTO DE POSTGRESQL
El servidor, que maneja archivos de bases de datos, acepta conexiones a las aplicaciones cliente, y realiza acciones en la base de datos. El programa servidor de bases de datos se conoce como postmaster, la aplicacin cliente, que necesita realizar operaciones en la base de datos. Las aplicaciones cliente pueden ser de la ms diversa naturaleza: pueden ser aplicaciones de texto en una consola, aplicaciones grficas, un servidor web que accede a la base de datos para mostrar una pgina, o herramientas especializadas de mantenimiento de bases de datos.

FUNCIONAMIENTO DE POSTGRESQL
PostGreSQL tiene una arquitectura que involucra muchos estilos, en su nivel ms alto es un esquema clsico cliente-servidor, mientras que el acceso a la data es un esquema en capas.

CREACIN DE UNA BASE DE DATOS


1.

Para crear una base de datos en el sistema, se utiliza el comando createdb. Sintaxis a continuacin. createdb [opciones] [nombre_base_de_datos] [descripcin] Interesantemente el nombre de la base de datos puede ir en blanco, asumindose que esta tendra el mismo nombre que el usuario de sistema actual. Opciones Interesantes D Indica el tablespace de esta base de datos E Indica la codificacin de la base de datos. El detalle de los distintos juegos de caracteres que soporta Postgres O Indica el usuario dueo de la base de datos. De omitirse se asume postgres. Ejemplo de la creacin de la base de datos ejemplo cuyo dueo es el usuario ejemplo: postgres@debian:/etc/postgresql/8.1/main$ createdb -Oejemplo CREATE DATABASE Ejemplo de la creacin de la base de datos base1 cuyo dueo es el usuario ejemplo: postgres@debian:/etc/postgresql/8.1/main$ createdb -Oejemplo base1

SENTENCIAS DDL PARA CREACIN DE TABLAS SENTENCIAS DDL

CREACIN DE TABLAS Una vez conectados a una base de datos, la sentencia SQL create table permite crear las tablas que necesitemos: El comando drop table permite eliminar tablas: La tabla recin creada aparece ahora en la lista de tablas de la base de datos en uso: Podemos consultar su descripcin mediante el comando \d tabla: La tabla est lista para insertar en ella algunos registros. demo=# create table persona ( demo(# nombre varchar(30), demo(# direccion varchar(30) demo(# );

SENTENCIAS DDL PARA IMPLEMENTACIN DE REGLAS DE NEGOCIO

TRIGGER O DISPARADOR Un Disparador o Trigger es una rutina autnoma asociada con una tabla o vista que automticamente realiza una accin cuando una fila en la tabla o la vista se inserta (INSERT), se actualiza (UPDATE), o borra (DELETE). Un Disparador nunca se llama directamente, en cambio, cuando una aplicacin o usuario intenta insertar, actualizar, o anular una fila en una tabla, la accin definida en el disparador se ejecuta automticamente (se dispara).

UN DISPARADOR SE PUEDE DEFINIR DE LAS SIGUIENTES MANERAS:


Para que ocurra ANTES de cualquier INSERT,UPDATE DELETE Para que ocurra DESPUES de cualquier INSERT,UPDATE DELETE Para que se ejecute una sola vez por comando SQL (statement-level trigger) Para que se ejecute por cada linea afectada por un comando SQL (row-level trigger)

LAS VENTAJAS Y DESVENTAJAS DE USAR LOS DISPARADORES SON


1.

2.

3.

4.

5. 6.

VENTAJAS Seguridad de los datos mejorada Ofrecen chequeos de seguridad basada en valores ,Integridad de los datos mejorada Fuerzan restricciones dinmicas de integridad de datos yde integridad referencial. Aseguran que las operaciones relacionadas se realizan juntas de forma implcita Respuesta instantnea ante un evento auditado Ofrece un mayor control sobre la B.D.

DESVENTAJAS Hay que definir con anticipacin la tarea que realizara el trigger 1. Peligro de prdida en Reorganizaciones 2. Hay que programarlos para cada DBMS 3. Un Trigger nunca se llama directamente 4. Los triggers no se desarrollan pensando en un solo registro, los mismos deben funcionar en conjunto con los datos ya que se disparan por operacin y no por registro 5. Por funcionalidad, no hay que poner en uno solo las funciones de INSERT, UPDATE y DELETE. 6. Utilizar moderadamente los triggers 7. No se pueden utilizar en tablas temporales.

CREACIN DE PROCEDIMIENTOS ALMACENADOS CONTENIENDO SENTENCIAS DML PARA INSERCIN DE REGISTROS

permite a los usuarios llevar a cabo las tareas de consulta o manipulacin de los datos, organizados por el modelo de datos adecuado.

INSERT

Una sentencia INSERT de SQL agrega uno o ms registros a una (y slo una) tabla en una base de datos relacional. Forma bsica INSERT INTO ''tabla'' (''columna1'', [''columna2,... '']) VALUES (''valor1'', [''valor2,...''])

Ejemplo INSERT INTO agenda_telefonica (nombre, numero) VALUES ('Roberto Jeldrez', 4886850); Cuando se especifican todos los valores de una tabla, se puede utilizar la sentencia acortada: INSERT INTO ''tabla'' VALUES (''valor1'', [''valor2,...'']) Ejemplo (asumiendo que nombre y nmero son las nicas columnas de la tabla agenda_telefonica): INSERT INTO agenda_telefonica VALUES ('Roberto Jeldrez', 080473968);

CREACIN DE PROCEDIMIENTOS ALMACENADOS CONTENIENDO CURSORES O TABLAS TEMPORALES PARA EMISIN DE REPORTES

Un procedimiento almacenado es un conjunto de comandos SQL que pueden almacenarse en el servidor. Una vez que se hace, los clientes no necesitan relanzar los comandos individuales pero pueden en su lugar referirse al procedimiento almacenado.

ALGUNAS SITUACIONES EN QUE LOS PROCEDIMIENTOS ALMACENADOS PUEDEN SER PARTICULARMENTE TILES:

Cuando mltiples aplicaciones cliente se escriben en distintos lenguajes o funcionan en distintas plataformas, pero necesitan realizar la misma operacin en la base de datos. Cuando la seguridad es muy importante. Los bancos, por ejemplo, usan procedimientos almacenados para todas las operaciones comunes. Esto proporciona un entorno seguro y consistente, y los procedimientos pueden asegurar que cada operacin se loguea apropiadamente. En tal entorno, las aplicaciones y los usuarios no obtendran ningn acceso directo a las tablas de la base de datos, slo pueden ejectuar algunos procedimientos almacenados.

VENTAJAS

Seguridad Es mucho mejor usar Stored procedure por seguridad. Los procedimientos almacenados facilitan algunas tareas de administracin de seguridad y asignacin de permisos. Centralizacin de la definicin Al formar parte de la base de datos los procedimientos almacenados estn en un lugar centralizado y pueden ser ejecutados por cualquier aplicacin que tenga acceso a la misma. Reduccin del trfico de red: una sentencia formada por decenas, cientos o incluso miles de lneas de cdigo SQL puede escribirse como un procedimiento almacenado en el servidor y ejecutarse simplemente mediante el nombre de dicho procedimiento. Encapsulamiento: los procedimientos almacenados encapsulan gran parte de la lgica del negocio a las aplicaciones que los utilizan. Por ejemplo, una aplicacin puede llamar al procedimiento almacenado sin conocer cmo funciona internamente este proceso.

EJEMPLO EN POSTGRESQL:

CREATE FUNCTION consulta(id1 int) RETURNS TABLE(name1 CHARACTER VARYING(30), carrera1 INT) AS $$ BEGIN RETURN QUERY SELECT name,carrera FROM alumno WHERE id = id1; END; $$ LANGUAGE plpgsql; Llamada del procedimiento: SELECT consulta(3); SELECT * FROM consulta(3);

USO DE TRANSACCIONES PARA ASEGURAR LA INTEGRIDAD DE LOS DATOS

Una transaccin tiene cuatro caractersticas esenciales conocidas como el acrnimo ACID: Atomicity (Atomicidad): Una transaccin es una unidad atmica o se ejecutan las operaciones mltiples por completo o no se ejecuta absolutamente nada, cualquier cambio parcial es revertido para asegurar la consistencia en la base de datos.

LAS TRANSACCIONES EN POSTGRESQL UTILIZAN LAS SIGUIENTES PALABRAS RESERVADAS:

BEGIN: Empieza la transaccin SAVEPOINT [name]: Le dice al DBMS la localizacin de un punto de retorno en la transaccin si una parte de la transaccin es cancelada. El DBMS guarda el estado de la transaccin hasta este punto. COMMIT: Todos los cambios realizados por las transacciones deben ser permanentes y accesibles a las dems operaciones del DBMS. ROLLBACK [savepoint]: Aborta la actual transaccin todos los cambios realizados deben ser revertidos.

TODO SISTEMA GESTOR DE BASES DE DATOS MANEJA LOS SIGUIENTES CONCEPTOS SOBRE LAS TRANSACCIONES: Son un conjunto de acciones que altera el estado original de los datos y forman una sola unidad. Todo lenguaje que manipula los datos (DML) son administrador por las transacciones. Las transacciones pueden interrumpir un conjunto de acciones o hacerlas permanentes. Mantiene la integridad de los datos cuando alguna accin falla.

COMANDOS UTILIZADOS
BEGIN COMMIT ROLLBACK SAVEPOINT ROLLBACK TO RELEASE SAVEPOINT Se inicia un conjunto de transacciones mediante el comando BEGIN; Luego se procede a utilizar cualquier comando de tipo DML (INSERT, UPDATE y/o DELETE) para manipular los datos. Por ultimo, se finaliza las transacciones haciendo los cambios permanentes con el comando COMMIT;.

DEFINICIN E IMPLEMENTACIN DE POLTICAS DE SEGURIDAD A NIVEL DE SERVIDOR

Servidor de Base de Datos PostgreSQL PostgreSQL es un servidor de base de datos relacional orientada a objeto publicado bajo licencia libre BSD, una buena alternativa a MySQL. Instalacin ilimitada. Con PostgreSQL, nadie puede demandarlo por violar acuerdos de licencia, puesto que no hay costo asociado a la licencia del software. Modelos de negocios ms rentables con instalaciones a gran escala. No existe la posibilidad de ser auditado para verificar cumplimiento de licencia en ningn momento. Flexibilidad para hacer investigacin y desarrollo sin necesidad de incurrir en costos adicionales de licenciamiento. Existen varias herramientas grficas de alta calidad para administrar las bases de datos y para hacer diseo de bases de datos.

SERVIDORES DE BASES DE DATOS RELACIONALES

Un servidor de bases de datos relacionales es un sistema bajo arquitectura cliente/servidor que proporciona servicios de gestin, administracin y proteccin de la informacin (datos) a travs de conexiones de redDichos servidores solucionan los problemas de las empresas al manejar grandes volmenes de informacin de una manera estable, fiable, coherente y segura en un entorno heterogneo de trabajo y de necesidades de informacin. La informacin se almacenar de modo lgico de una manera relacional, como ya se ha visto, en la que un conjunto de almacenamientos que llamaremos tablas. Una de las responsabilidades del sistema y del diseo de la base de datos, ser el que sea posible mostrar aquella informacin requerida a travs de conjuntos de datos planos (que llamaremos cursores). Para proteger la informacin el sistema contar con mecanismos de control de transacciones basados en reglas que denominaremos disparadores. y como un factor muy importante de cara al diseo de bases de datos, los sistemas deben proporcionar la posibilidad de automatizar operaciones de acceso, filtrado y control de los datos, a travs de los procedimientos almacenados.

LA SEGURIDAD

1. 2.

3.
4.

En todo sistema abierto, debe proporcionarse un potente mecanismo de seguridad que garantice que ningn intruso pueda acceder o corromper la integridad del sistema. En servidores de bases de datos hablaremos de la seguridad a 4 niveles bsicos: seguridad de acceso al sistema, seguridad a nivel de objetos de datos, seguridad a nivel de datos y seguridad en cuanto a proteccin de los almacenamientos fsicos de los datos.

EL SOPORTE DE RED

Puesto que se est implementando una solucin cliente/servidor, es un elemento fundamental para la conexin entre los distintos clientes y el servidor un canal apropiado para la comunicacin, que posibilite el intercambio de informacin. Todos los sistemas gestores analizados cuentan con mltiples configuraciones de protocolos, adaptndose a los protocolos existentes y estandarizados de la actualidad

DEFINICIN E IMPLEMENTACIN DE POLTICAS DE SEGURIDAD A NIVEL DE BASE DE DATOS a) Restricciones propias del entorno de red para su acceso remoto. Esto puede implicar limitar la cantidad de servicios en el servidor y los protocolos por los cuales se pueda tener acceso a l. b) Dentro de una aplicacin Web tambin se pueden imponer ciertas medidas de seguridad. c) Restricciones de seguridad impuestas por el propio gestor de postgresql: En determinado momento la base de datos puede ser accesible para varios usuarios.

CONCLUSIN

PostgreSQL estn apto y conveniente como Microsoft SQL Server Oracle, pero con la gran ventaja del costo. Las caractersticas que se buscan estn ah y trabajan tal y como se esperaran. El motor de interno es muy estable y hace un buen desempeo ante una gran gama de volmenes de datos. Corre en el hardware y Sistema Operativo de tu eleccin, es decir no solo en el sistema que cualquier otro vendedor recomienda para usar tu base de datos La seguridad de base de datos, consiste en las acciones que toma el diseador de la misma al momento de crear la base de datos. Debemos tomar en cuenta, que mientras ms acciones realicemos en pro de hacer menos vulnerable la base de datos, los riesgos de acciones en su contra se minimizaran. Con esto no se quiere decir que ser una base de datos 100% segura, pero las perdidas de datos y accesos no autorizados sern mucho menores.

RECOMENDACIONES

Para evitar problemas de funcionamiento de PostgreSQL se debe leer detenidamente el manual de instalacin y saber distinguir el tipoi de licencia que se desea aplicar. Se recomienda que para la manipulacin correcta de datos se tenga conocimientos bsicos de base de datos. Se recomienda que para realizar los reportes se detallen cada una de las consultas de manera que el compilador pueda interpretar las cadenas de consulta. Se recomienda que para la creacin de base de datos se tenga a la mano un documento con las principales funciones y palabras claves de PostgreSQL.

BIBLIOGRAFIA

LPEZ YEPES, J. (coord.): Manual de Informacin y Documentacin. Madrid: Pirmide, 1996. SALVADOR OLIVN, J.A.; ANGS ULLATE, J.M.: Tcnicas de recuperacin de informacin. Aplicacin con Dialog. Gijn: Trea, 2000 CORDN GARCA, J.A.; LPEZ LUCAS, J.; VAQUERO PULIDO, J.R.: Manual de bsqueda documental y prctica bibliogrfica. Madrid: Pirmide, 1999. PAGINAS VIRTUALES http://es.scribd.com/doc/6581871/SQL1Vistas http://www.balearsinnovacio.com/blog/wp-content/uploads/2008/03/5otros-objetos-de-la-base-de-datos.pdf http://www.oracleyyo.com/index.php/2009/09/03/oracle11gr2-nuevacaracteristica-de-los http://www.youtube.com/watch?v=t2PJrRfz6ko http://es.scribd.com/doc/80723690/EXPOSICION-POSTGRESQL http://www.youtube.com/watch?v=zW1eNGiET1g