postgresql

Document Sample
postgresql Powered By Docstoc
					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
Cumple con estándar SQL     Media         Alta        -
Velocidad                 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         -
        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      Marca      Modelo        Precio
        2400   Asus       P3V133        70.000
        2401   Asus       A7M266D       183.717
        2402   MSI        MS6533        78.967
        2403   PcChips    M841          45.641

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



  ¿¿¿ ???

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:14
posted:9/24/2011
language:Spanish
pages:25