PostgreSQL
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?
???