PostgreSQL. El gestor de bases de datos relacionales más avanzado del mundo

Documentos relacionados
CTEs y Queries Recursivas. Álvaro Hernández Tortosa

Introducción SQL. Ges2ón y Modelación de Datos María Constanza Pabón

Introducción 1 Recuperación de Datos mediante la Sentencia SQL SELECT

Descriptor del curso. Nombre del curso: Haciendo consultas en SQL Server Descripción:

El Sistema Gestor de Base de Datos (DBMS)

SQL (DML) Carlos A. Olarte Gestión y Modelación de SQL Datos (DML)

Álvaro Herrera Modelamiento Avanzado de Datos con PostgreSQL

CONOCIMIENTOS DE CONCEPTOS BASES DE DATOS

ÍNDICE PRIMERA PARTE... 17

o SUM: suma los valores del campo que especifiquemos. Sólo se puede utilizar en columnas numéricas.

Administración y Análisis de Base de Datos con Microsoft SQL Server

Esteban Zapata Ing. Jenny León Base de Datos Distribuida

Bases de Datos SQL - Ejemplos

SQL: Lenguaje de Interrogación Estructurado

El SQL menos conocido

ÍNDICE. Introducción... Capítulo 1. Características, instalación, inicio y entorno de trabajo... 1

Aprende SQL en un fin de semana: El curso definitivo para crear y consultar bases de datos (Aprende en un fin de semana nº 1) (Spanish Edition)

SQL. Amparo López Gaona. México, D.F. Noviembre 2003

Lenguaje de manipulación de datos

CC BASES DE DATOS PRIMAVERA Clase 7: SQL (II) Aidan Hogan

SQL SERVER SQL Server 2005 permite tres tipos de operaciones con conjuntos: UNION, disponible en todas las versiones de SQL Server.

CC BASES DE DATOS OTOÑO 2018

ST31_Querying Microsoft SQL Server

Capítulo 4. Realización de consultas

CC BASES DE DATOS OTOÑO 2018

PROGRAMANDO BASES DE DATOS PostgreSQL INTRODUCCIÓN INTRODUCCIÓN A LAS BASES DE DATOS (L1)

BASES DE DATO TO I VISTAS curso 2008

Sql Basico. Seminar Introduction

CC BASES DE DATOS OTOÑO Clase 5: SQL (II) Aidan Hogan

Máster en Data Analytics SQL

Computación Web (Curso 2015/2016)

Bases de Datos Relacionales y SQL: Una Introducción

Programación de Base de Datos con SQL Duración: 25 Horas Código Sence:

ÍNDICE. Introducción... XVII. Capítulo 1. Oracle 10g y el Grid Computing... 1

Base de Datos Oracle 10g: Introducción a SQL Código: D Duración: 5 días (40 horas)

Índice. iii. Objetivos... 24

Bases de Datos Geográficos

Modelamiento y Diseño de Base de Datos

Objetivos: Descripción del curso. Curso: Dirigido a: INTRODUCCIÓN A SQL - ORACLE UNIVERSIDAD NACIONAL DE INGENIERÍA

Funciones y TriggersIntroducción, Ejemplos

ÍNDICE INTRODUCCIÓN...17

Guía de ejercicios de SQL Prof. Mauricio E. Fernández N. Semestre Agosto-Diciembre de 2012

8 SQL SERVER 2008 RA-MA

DISPARADORES EN SQL DISPARADORES EN SQL:1999 SINTAXIS GENERAL DE UN DISPARADOR EN SQL:1999 SINTAXIS GENERAL DE UN DISPARADOR EN SQL:1999

ESCUELA SUPERIOR POLITECNICA DEL LITORAL

Concepto de vista. (con ciertas limitaciones). nivel físico) Una vista es una tabla virtual (no tiene una correspondencia a

Sistemas de Datos Curso: Ernesto Chinkes. Subconsultas Stored Procedures - Triggers

Un proyecto de IBM llamado Sistem/R construye un prototipo simple llamado SQUARE que después se transformó en SQL.

SQL DML Select. Ges$ón y Modelación de Datos. María Constanza Pabón

Manual Aprendiendo Practicando Oracle SQL (Spanish Edition) Click here if your download doesn"t start automatically

BASES DE DATOS SQL MÁS S DE SQL (DML) OPERADOR UNION (L30) <SELECT1> UNION <SELECT2> UNION <SELECTN> Copyright 2006, 2007 Instituto Gala

GUÍA DE TRABAJO N 5 GRADO 11 Programación y Diseño de Articulación SENA Software Ing. Néstor Raúl Suarez Perpiñan Página 1 de 6

SQL: Lenguaje de Consulta Estructurado Prof. Jeand Duno

GUÍA DE TRABAJO N 7 GRADO 11. Ing. Néstor Raúl Suarez Perpiñan Página 1 de 6 GUIA N 7 COMANDOS MYSQL II. CREAR UNA TABLA

Base de Datos.

RESUMEN SQL. Tipo de coincidencia Modelo Planteado Coincide No coincide. Varios caracteres 'ab*' 'abcdefg', 'abc' 'cab', 'aab'

CONOCIMIENTOS, COMPRENSIONES Y RECOLECCIÓN DE Pacto Pedagógico

MATERIAL SOBRE SENTENCIAS SQL

SQL: Consultas Avanzadas. Bases de Datos

Tema 1. Introducción a MySQL. José Muñoz Jimeno Octubre 2015

DESCRIPCIÓN ESPECÍFICA NÚCLEO: Núcleo Sector Comercio y Servicios.

Aplicaciones de las vistas Concepto de vista Vistas en SQL Vistas en SQL.

m046a Curso Consultando SQL Server 2005/2008 con Transact-SQL, 15 h

Ejemplo de gestión de datos con SQL

8283: Administración y programación en Microsoft SQL Server 2012

Access SQL: DDL y DML. Una empresa de Ingeniería precisa una base de datos para la gestión de sus proyectos.

CC BASES DE DATOS PRIMAVERA Clase 6: Cálculo Relacional & SQL (I) Aidan Hogan

El SQL es un lenguaje estándar de programación para el acceso a bases de datos.

SINTAXIS DE SQL-92. <definición de esquema >::= CREATE SCHEMA <cláusula de nombre de esquema> [ <elemento de esquema>... ]

SQL. Carlos A. Olarte BDI

Formatos para prácticas de laboratorio

ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS E INFORMÁTICA

UNIDAD 1.- PARTE 1 MANIPULACIÓN AVANZADA DE DATOS CON SQL. BASES DE DATOS PARA APLICACIONES. Xochitl Clemente Parra Armando Méndez Morales

Postgresql 8.4 ~ Monitorización. Explorando las capacidades del servidor

Introducción a Bases de Datos. Pablo Zaidenvoren

8 MICROSOFT SQL SERVER 2008 R2. CURSO PRÁCTICO RA-MA

SECUENCIA DIDÁCTICA. Nombre de curso: Programación Avanzada de Base de Datos Clave de curso: COM0803A21. Módulo Competencia de Módulo:

Diseño de bases de datos

Postgres: La Base de Datos Empresarial de Software Libre

UNIVERSIDADE DE VIGO ESCOLA TÉCNICA SUPERIOR DE ENXEÑEIROS DE MINAS MÉTODOS COMPUTACIONALES. Transparencias

Bases de datos relacionales y SQL

: COMPUTACIÓN E INFORMATICA : Ingeniería de Software Ingeniería de Redes y Comunicaciones : Administración de Bases de Datos I : T-INF127

Lenguajes de definición y modificación de datos SQL.

UNIVERSIDAD NACIONAL DE ITAPUA U.N.I. Creada por Ley Nº:1.009/96 del 03/12/96 Facultad de Ingeniería PROGRAMA DE ESTUDIOS

5.1 Procedimientos y Funciones Almacenados. 5.2 Disparadores (Triggers).

1 2 3 ( /! 3 ) +, 1& 3 0))) % &! ( ) +,. / & 0)))

OpenOffice & Postgres

INTRODUCCIÓN A LAS BASES DE DATOS. L.I Gerardo Benavides Pérez

ÍNDICE INTRODUCCIÓN...13

Universidad Autónoma de Chihuahua Coordinación General de Tecnologías de Información Departamento de Sistemas de Información

Vistas en InformiX Sistemas de Bases de Datos II EMT CETP A/S Leonardo Carámbula

UNIVERSIDAD AUTÓNOMA DE CHIAPAS LICENCIATURA EN SISTEMAS COMPUTACIONALES

SQL (Structured Query Language)

Procedimientos almacenados en PL/SQL. Jonathan Medina Gómez Facultad de Ingeniería Universidad de Antioquia

Transcripción:

PostgreSQL El gestor de bases de datos relacionales más avanzado del mundo Álvaro Herrera 2ndQuadrant Ltd. http://www.2ndquadrant.com/ http://www.postgresql.org/ Congreso Nacional de Ciencias y Tecnologías de la Información Potosí 2013

Praga 2013

Praga 2013 (2)

Praga 2013 (3)

Qué es PostgreSQL Sistema de almacenamiento y manipulación de datos Interoperable con otros DBMS: lenguaje SQL estándar Confiable, consistente, robusto (ACID) Potente, flexible, extensible Excelente rendimiento, escalable a hardware muy grande

Estadísticas Git 2.5M Núm. líneas en repositorio Git 2M 1.5M 1M 500k 6.0 7.0 7.2 7.4 8.0 8.1 8.2 8.3 8.4 9.0 9.1 9.2

Características principales Gran soporte de lenguaje SQL Transacciones, savepoints INNER JOIN, OUTER JOIN UNION, INTERSECT, EXCEPT subconsultas agrupamiento, agregación INFORMATION_SCHEMA WITH RECURSIVE Window functions (LAG, LEAD,...) disparadores (triggers)

Características principales (cont.) resistencia a fallas frente a cortes abruptos de energía (WAL) Replicación usando archivos WAL (9.0) Replicación en flujo (9.1) Replicación en cascada (9.2) hot standby Respaldos en caliente, respaldos continuos

Historia 1977 1985: Ingres Michael Stonebraker, University of California, Berkeley 1986 1994: Postgres M. Stonebraker, University of California, Berkeley 1994 1995: Postgres95 Jolly Chen, Andrew Yu 1996 presente: PostgreSQL Global Development Group Inicialmente, siete miembros en cinco países

PostgreSQL Global Development Group core team de 7 personas 38 major developers 16 empresas contribuyendo activamente RedHat, 2ndQuadrant, EnterpriseDB, VMWare, Redpill Linpro, Cybertec, Aster Data, SRA, NTT, Dalibo, End Point, OmniTI, Afilias, PGExperts, Credativ, Command Prompt

Ejemplos simples CREATE TABLE meteorologicas ( ciudad varchar(80), temp_min int, temp_max int, precip real, fecha date ); INSERT INTO meteorologicas VALUES ('Sucre', 25, 27, 0.25, '1994-11-27'); CREATE TABLE ciudades ( nombre varchar(80), ubicacion point ); INSERT INTO ciudades VALUES ('Sucre', '(-63.0, 10.6)');

Ejemplos simples (2) SELECT ciudad, temp_min AS min, temp_max AS max, precip, fecha, ubicacion FROM meteorologicas, ciudades WHERE ciudad = nombre; ciudad min max precip fecha ubicacion Sucre 25 27 0.25 1994-11-27 (-63.0,10.6)

Ejemplos avanzados Rangos (1)

Ejemplos avanzados Rangos (2) Presupuesto de $13.000 $15.000, autos en ese rango SELECT * FROM autos WHERE ( autos.precio_min <= 13000 AND autos.precio_min <= 15000 AND autos.precio_max >= 13000 AND autos.precio_max <= 15000 ) OR ( autos.precio_min <= 13000 AND autos.precio_min <= 15000 AND autos.precio_max >= 13000 AND autos.precio_max >= 15000 ) OR ( autos.precio_min >= 13000 AND autos.precio_min <= 15000 AND autos.precio_max >= 13000 AND autos.precio_max <= 15000 ) OR ( autos.precio_min >= 13000 AND autos.precio_min <= 15000 AND autos.precio_max >= 13000 AND autos.precio_max >= 15000 ) ORDER BY autos.precio_min;

Ejemplos avanzados Rangos (3) Presupuesto de $13.000 $15.000, autos en ese rango SELECT * FROM autos WHERE autos.rango_precio && int4range(13000, 15000, '[]') ORDER BY lower(autos.rango_precio) id nombre rango_precio 5 Suzuki Grand Nomade [11.000,15.001) 6 Mitsubishi Lancer [12.000,14.001)

Ejemplos avanzados jerarquías de datos WITH RECURSIVE x AS ( SELECT * FROM empleados WHERE empleado_id = 2 UNION ALL SELECT empleados.* FROM x JOIN empleados ON (empleados.jefe = x.empleado_id) ) SELECT * FROM x; empleado_id nombre jefe 2 Andrés 1 3 José 2 5 Felipe 2 4 Cecilia 3

Funciones ventana SELECT depto, empno, salario, avg(salario) OVER (PARTITION BY depto)::int AS prom, salario - avg(salario) OVER (PARTITION BY depto)::int AS dif FROM salarios ORDER BY dif DESC depto empno salario prom dif desarrollo 8 6000 5020 980 ventas 6 5500 5025 475 personal 2 3900 3700 200 desarrollo 11 5200 5020 180 desarrollo 10 5200 5020 180 ventas 1 5000 5025-25 personal 5 3500 3700-200 ventas 4 4800 5025-225 ventas 3 4800 5025-225 desarrollo 9 4500 5020-520 desarrollo 7 4200 5020-820

CTEs de escritura WITH eliminados AS ( ) DELETE FROM ONLY registro WHERE fecha >= '2009-01-01' AND fecha < '2009-02-01' RETURNING * INSERT INTO registro_200901 SELECT * FROM eliminados;

Comunidad Modelo de desarrollo Soporte informal listas de correo http://www.postgresql.org/list IRC (#postgresql-es, #postgresql en freenode.net) StackOverflow.com Proyectos relacionados contrib, github, PgFoundry Soporte comercial consultoría, soporte, capacitación, hosting,...

Comunidad

2ndQuadrant http://www.2ndquadrant.com/

Preguntas

Material de otras charlas Roland Sonnenschein, Three success stories, Praga 2013 Jonathan Katz, Range Types: your life will never be the same, Praga 2013 Greg Stark, Recursive Queries, Ottawa 2009 Hitoshi Harada, Windowing Functions, Ottawa 2009 David Fetter, Writable CTEs (the next big thing), Paris 2009