Sunteți pe pagina 1din 25

PostgreSQL

Patricio Denzer pdenzer@elo.utfsm.cl

Introduccin

Qu es PostgreSQL?
Sistema de Bases de Datos Relacionales Open Source Orientado al Objeto Ideas bsicas acerca del funcionamiento
Modelo Cliente-Servidor Postmaster Backend Clientes

PostgreSQL v/s sus pares


MySQL Cumple con estndar SQL Velocidad Integridad de Datos Seguridad Soporte disparadores Replicacin Media Media/Alta No Alta No Si PostgreSQL Alta Media Si Media Si Si SAP DB Si Si -

Integridad Referencial
Transacciones Backups funcionando

No
Si Si

Si
Si Si

Si
-

Soporte Unicode

No

Si

Ventajas de PostgreSQL
Estable Alto Rendimiento Flexibilidad Se puede extender su funcionalidad Gran Compatibilidad Permite crear o migrar aplicaciones desde Access, Visual Basic, Visual Fox Pro, Visual C/C++, Delphi para usar PostgreSQL como servidor de DBs.

Varias Interfaces de Programacin: ODBC, JDBC, C/C++, SQL Embebido, Tcl/Tk, Perl, Python, PHP.

Instalacin de PostgreSQL
Requerimientos de HW
8 MB RAM 30 MB HDD - src 5 MB HDD - bin 1 MB HDD DBs bsicas.

Instalacin a Partir de los fuentes PostreSQL y las distribuciones de Linux

Introduccin a SQL

El Modelo de Datos Relacional


Punto de vista del usuario
Base de Datos Relacional=Conjunto de Tablas SN 2400 2401 2402 2403 Marca Asus Asus MSI PcChips Modelo P3V133 A7M266D MS6533 M841 Precio 70.000 183.717 78.967 45.641

Tabla 1: Motherboards

El Modelo de Datos Relacional


Definicin Formal
Teora de Conjuntos Relacin Relacin: subconjunto del producto cartesiano de una lista de dominios. Dominio: conjunto de valores.
D1 D2 ... Dk {v1 , v2 , v3 ...vk | v1 D1 v2 D2 ... vk Dk }

donde: v1 , v2 , v3 ...vk k - Tuplas

El Modelo de Datos Relacional


Ejemplo:

Regresando a la idea de la tabla, cada fila representa una tupla y cada columna un elemento de esta.

El Modelo de Datos Relacional


Un Esquema Relacional R es un conjunto finito de atributos A1,A2,,Ak. Hay un dominio Di para cada atributo Ai , 0 < i < k ,de donde se toman los valores de los atributos. Entonces escribimos el Esquema Relacional como: R(A1, A2,, Ak )

El Modelo de Datos Relacional


Operaciones en el Modelo de Datos Relacional
lgebra Relacional.
Es una notacin Algebraica que permite realizar consultas aplicando operadores especializados a las relaciones.

Clculo Relacional.
Es una notacin Lgica, donde las consultas se realizan mediante restricciones que las tuplas deben satisfacer.

El Modelo de Datos Relacional


lgebra Relacional
Consiste en una serie de operaciones con las relaciones. Algunas Operaciones:
SELECT PROJECT PRODUCT UNION INTERSEC DIFFERENCE JOIN

El Modelo de Datos Relacional


Clculo Relacional
Clculo Relacional de Tuplas. Clculo Relacional de Dominios.

El Modelo de Datos Relacional


Clculo Relacional de Tuplas TRC.
Es el que utilizan la mayor parte de los lenguajes relacionales. Las consultas se realizan con el siguiente formato: { x(A) | F(x) }
donde x es del tipo Tupla y A es el conjunto de atributos y F es una frmula. El resultado son todas las tuplas t(A) que satisfacen la relacin.

El Modelo de Datos Relacional


lgebra Relacional v/s Clculo Relacional
lgebra Relacional Clculo Relacional El Clculo Relacional es de ms alto nivel que el lgebra Relacional

El Lenguaje SQL
Est basado en el Clculo Relacional de Tuplas. Adems tiene otras capacidades que no pertenecen al Modelo de Datos Relacional.
Comandos para insertar, modificar y borrar datos Operaciones Aritmticas y comparaciones Asignacin y comandos de Impresin Funciones agregadas: promedio, suma, etc.

Empezando con PostgreSQL


Administrador de bases de datos Superuser Configuracin del entorno $PATH Usuario postgres Creacin de bases de datos Eliminacin de una base de datos Acceso a bases de datos
Mediante psql Mediante un programa en C usando LIBPQ.

Empezando con PostgreSQL


Interactuando con DBs mediante psql \q Ayuda? \g termina la ejecucin de una consulta \q sale del programa

El Lenguaje de Consultas de Postgres


Clases
Creacin Crear instancias Consultar una Clase Redireccionamiento de consultas SELECT Joins entre clases Actualizaciones Borrar Funciones de Conjuntos

Caractersticas Avanzadas
Herencia Valores no Atmicos Vectores

FIN

Preguntas?

???

S-ar putea să vă placă și