Download Presentación
Document related concepts
Transcript
PostgreSQL Patricio Denzer pdenzer@elo.utfsm.cl Introducción ¿Qué es PostgreSQL? • • • • Sistema de Bases de Datos Relacionales Open Source Orientado al Objeto Ideas básicas acerca del funcionamiento – – – – Modelo Cliente-Servidor Postmaster Backend Clientes PostgreSQL v/s sus pares MySQL PostgreSQL SAP DB Media Alta - Media/Alta Media - Integridad de Datos No Si Si Seguridad Alta Media - Soporte disparadores No Si Si Replicación Si Si - Integridad Referencial No Si Si Transacciones Si Si - Backups funcionando Si Si - Soporte Unicode No Si - Cumple con estándar SQL Velocidad 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 DB’s. • Varias Interfaces de Programación: ODBC, JDBC, C/C++, SQL Embebido, Tcl/Tk, Perl, Python, PHP. Instalación de PostgreSQL • Requerimientos de HW – – – – 8 MB RAM 30 MB HDD - src 5 MB HDD - bin 1 MB HDD – DB’s básicas. • Instalación a Partir de los fuentes • PostreSQL y las distribuciones de Linux Introducción 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 Tabla 1: Motherboards Precio 70.000 183.717 78.967 45.641 El Modelo de Datos Relacional Definición Formal • Teoría de Conjuntos Relación • Relación: 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 notación Algebraica que permite realizar consultas aplicando operadores especializados a las relaciones. – Cálculo Relacional. • Es una notación Lógica, 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 • Cálculo Relacional – Cálculo Relacional de Tuplas. – Cálculo Relacional de Dominios. El Modelo de Datos Relacional • Cálculo 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 fórmula. El resultado son todas las tuplas t(A) que satisfacen la relación. El Modelo de Datos Relacional • Álgebra Relacional v/s Cálculo Relacional – Álgebra Relacional Cálculo Relacional – El Cálculo Relacional es de más alto nivel que el Álgebra Relacional El Lenguaje SQL • Está basado en el Cálculo Relacional de Tuplas. • Además tiene otras capacidades que no pertenecen al Modelo de Datos Relacional. – – – – Comandos para insertar, modificar y borrar datos Operaciones Aritméticas y comparaciones Asignación y comandos de Impresión Funciones agregadas: promedio, suma, etc. Empezando con PostgreSQL • • • • • • Administrador de bases de datos Superuser Configuración del entorno $PATH Usuario postgres Creación de bases de datos Eliminación de una base de datos Acceso a bases de datos – Mediante psql – Mediante un programa en C usando LIBPQ. Empezando con PostgreSQL • • • • Interactuando con DB’s mediante psql \q ¿Ayuda? \g termina la ejecución de una consulta \q sale del programa El Lenguaje de Consultas de Postgres • Clases – – – – – – – – Creación Crear instancias Consultar una Clase Redireccionamiento de consultas SELECT Joins entre clases Actualizaciones Borrar Funciones de Conjuntos Características Avanzadas • Herencia • Valores no Atómicos • Vectores FIN ¿ Preguntas? ¿¿¿ ???