260 likes | 674 Views
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.
E N D
PostgreSQL Patricio Denzer pdenzer@elo.utfsm.cl
¿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
Ventajas de PostgreSQL • Estable • Alto Rendimiento • Flexibilidad • Se puede extender su funcionalidad • Gran CompatibilidadPermite 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
El Modelo de Datos Relacional Punto de vista del usuario • Base de Datos Relacional=Conjunto de Tablas Tabla 1: Motherboards
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. donde:
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 Dipara 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 xes 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
¿ Preguntas? ¿¿¿ ???