Download Presentación

Document related concepts

Modelo relacional wikipedia , lookup

Cálculo relacional basado en tuplas wikipedia , lookup

Cálculo relacional wikipedia , lookup

Base de datos relacional wikipedia , lookup

Base de datos objeto wikipedia , lookup

Transcript
PostgreSQL
Patricio Denzer
[email protected]
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?
¿¿¿ ???