SlideShare una empresa de Scribd logo
1 de 13
1. Introducción a PostgreSQL.
2. Características principales.
3. ¿Postgres o MySQL?.
4. Manejo con PostgreSQL.
5. Conclusiones.
POSTGRESQL
1. Introducción
• Nace en 1982 bajo el proyecto Ingres de la
Universidad de Berkeley, este proyecto es
liderado por Michael Stonebreaker (pionero en
intentar crear SGBD relacionales).
• Tras su experiencia comercial con Ingres,
Stonebraker vuelve en 1985 para retomar el
proyecto con el nombre ‘Post-Ingres’ o Postgres.
2. Características principales
- Modelo Orientado a Objetos.
- 100% ACID.
- Alta concurrencia.
- Amplia variedad de tipos de datos.
- Copias de seguridad en caliente.
- Funciones.
- Claves foráneas (Integridad Referencial).
- Triggers.
- Acceso encriptado vía SSL.
- Múltiples métodos de autenticación.
- Copias de seguridad en caliente.
3. ¿MySQL o Postgres?
• MySQL aporta mayor velocidad en procesos
simples y menor consumo de recursos.
• PostgreSQL aporta mayor eficiencia, rapidez y
fiabilidad en procesos complejos.
¿VELOCIDAD O POTENCIA?
4. Manejo con PostgreSQL
4.1. Lenguaje de definición de datos
4.2. Operadores
4.3. Lenguaje de manipulación de datos
4.4. Triggers y procedimientos
4.1. Lenguaje de definición de datos
• Inclusión de tipos de datos como SERIAL, Money o Array.
CREATE TABLE Comprador(
nombre text,
apellidos text,
plazos money[],
Fecha_pagos text[][],
id_comprador SERIAL primary key
);
• Herencia entre tablas (INHERITS)
CREATE TABLE Coche ( CREATE TABLE CocheStock (
marca text, rebaja money,
modelo text, id_cocheStock text primary key
cilindrada text, ) INHERITS (Coche);
color text,
precio money CREATE TABLE CocheNuevo (
); rebaja money,
extras integer[],
id_cocheNuevo text primary key
) INHERITS (Coche);
CREATE TABLE Ventas ( CREATE TABLE VentasStock (
id_venta SERIAL primary key, fid_cocheStock text references CocheStock(id_cocheStock)
fecha_Venta date, ) INHERITS (Ventas);
fid_vendedor integer
references Vendedor(id_vendedor), CREATE TABLE VentasNuevo (
fid_comprador integer fid_cocheNuevo text references CocheNuevo(id_cocheNuevo)
references Comprador(id_comprador) ) INHERITS (Ventas);
);
4.2. Operadores
• En postgreSQL se incluyen operadores como
EXCEPT e INTERSECT útiles para trabajar con
conjuntos tal de forma similar al álgebra
relacional sin necesidad de recurrir a los
operadores IN y NOT IN.
4.3. Lenguaje de manipulación de
datos
• Postgres permite la inserción de varios
registros a través de una única sentencia
INSERT.
INSERT INTO Extras (descripcion) VALUES
('Control de crucero'),
('Climatizador bizona'),
('LLantas 17“ ');
4.4. Triggers y procedimientos
• Crear triggers a nivel de columna.
• Permite devolver funciones tipo void o tipo trigger.
• Se puede crear más de un trigger para un mismo evento en una
misma tabla.
• Hace uso de la condición WHEN para ejecutar el trigger bajo dichas
circunstancias.
• Permite ejecutar la función asociada al trigger mediante EXECUTE
PROCEDURE cuando este sea disparado.
• Sustituye la cláusula de MYSQL:
-SIGNAL SQLSTATE ‘45000’ SET MESSAGE_TEXT = ‘ ‘ por
-RAISE EXCEPTION permitiendo parametrizar literales.
Función
CREATE FUNCTION AlertaVendedorSinNombre()
RETURNS trigger
AS $$
BEGIN
RAISE EXCEPTION 'nombre del vendedor sin nombre (%)', NEW.id_vendedor;
END;
$$ LANGUAGE plpgsql;
Trigger
CREATE TRIGGER VendedorSinNombre BEFORE INSERT ON Vendedor
FOR EACH ROW
WHEN (New.nombre=‘ ')
EXECUTE PROCEDURE AlertaVendedorSinNombre();
Inserción de prueba
INSERT INTO Vendedor (nombre, apellidos, salario) VALUES
('','Martín García', '1500');
Resultado
5. Conclusiones
¡No existe una decisión Salomónica!

Más contenido relacionado

La actualidad más candente

Diccionario De Datos
Diccionario De DatosDiccionario De Datos
Diccionario De Datosnahun1385
 
Introducción a las bases de datos
Introducción a las bases de datosIntroducción a las bases de datos
Introducción a las bases de datosMaria Garcia
 
Descripcion Caso De Uso
Descripcion Caso De UsoDescripcion Caso De Uso
Descripcion Caso De Usoucpr
 
3.1 inserción, eliminación y modificación de registros
3.1 inserción, eliminación y modificación de registros3.1 inserción, eliminación y modificación de registros
3.1 inserción, eliminación y modificación de registrosMeztli Valeriano Orozco
 
INDICES EN SQL SERVER
INDICES EN SQL SERVERINDICES EN SQL SERVER
INDICES EN SQL SERVERDarwin Durand
 
Cuadro comparativo de manejadores de la base de datos
Cuadro comparativo de manejadores de la base de datos Cuadro comparativo de manejadores de la base de datos
Cuadro comparativo de manejadores de la base de datos Maria Garcia
 
Introducción a los Frameworks PHP
Introducción a los Frameworks PHP  Introducción a los Frameworks PHP
Introducción a los Frameworks PHP Aprende PHP
 
Comprensión de los Requerimientos
Comprensión de los Requerimientos Comprensión de los Requerimientos
Comprensión de los Requerimientos Mauricio Blandon
 
Desarrollo basado en patrones
Desarrollo basado en patronesDesarrollo basado en patrones
Desarrollo basado en patronesMarvin Zumbado
 
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS Infomania pro
 
Escuela de ingeniería de sistemas
Escuela de ingeniería de sistemasEscuela de ingeniería de sistemas
Escuela de ingeniería de sistemasCarlos Silva Cruz
 

La actualidad más candente (20)

Cuadro comparativo sgbd
Cuadro comparativo sgbdCuadro comparativo sgbd
Cuadro comparativo sgbd
 
Diccionario De Datos
Diccionario De DatosDiccionario De Datos
Diccionario De Datos
 
Consultas base de datos en SQL
Consultas base de datos en SQLConsultas base de datos en SQL
Consultas base de datos en SQL
 
Como Documentar Casos De Uso
Como Documentar Casos De UsoComo Documentar Casos De Uso
Como Documentar Casos De Uso
 
Arquitectura fisica y logica
Arquitectura fisica y logicaArquitectura fisica y logica
Arquitectura fisica y logica
 
Introducción a las bases de datos
Introducción a las bases de datosIntroducción a las bases de datos
Introducción a las bases de datos
 
Descripcion Caso De Uso
Descripcion Caso De UsoDescripcion Caso De Uso
Descripcion Caso De Uso
 
Diagrama de casos de usos
Diagrama de casos de usosDiagrama de casos de usos
Diagrama de casos de usos
 
3.1 inserción, eliminación y modificación de registros
3.1 inserción, eliminación y modificación de registros3.1 inserción, eliminación y modificación de registros
3.1 inserción, eliminación y modificación de registros
 
INDICES EN SQL SERVER
INDICES EN SQL SERVERINDICES EN SQL SERVER
INDICES EN SQL SERVER
 
Cuadro comparativo de manejadores de la base de datos
Cuadro comparativo de manejadores de la base de datos Cuadro comparativo de manejadores de la base de datos
Cuadro comparativo de manejadores de la base de datos
 
Objeto SqlDataReader
Objeto SqlDataReaderObjeto SqlDataReader
Objeto SqlDataReader
 
Introducción a los Frameworks PHP
Introducción a los Frameworks PHP  Introducción a los Frameworks PHP
Introducción a los Frameworks PHP
 
Modelo jerárquico
Modelo jerárquicoModelo jerárquico
Modelo jerárquico
 
Comprensión de los Requerimientos
Comprensión de los Requerimientos Comprensión de los Requerimientos
Comprensión de los Requerimientos
 
Presentacion BD NoSQL
Presentacion  BD NoSQLPresentacion  BD NoSQL
Presentacion BD NoSQL
 
Desarrollo basado en patrones
Desarrollo basado en patronesDesarrollo basado en patrones
Desarrollo basado en patrones
 
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
 
Escuela de ingeniería de sistemas
Escuela de ingeniería de sistemasEscuela de ingeniería de sistemas
Escuela de ingeniería de sistemas
 
Diagramas uml
Diagramas umlDiagramas uml
Diagramas uml
 

Destacado

Características MONGO DB
Características MONGO DBCaracterísticas MONGO DB
Características MONGO DBmaxfontana90
 
Características realidad aumentada
Características realidad aumentadaCaracterísticas realidad aumentada
Características realidad aumentadaprofesoradilsa
 
mongoDB - Arquitectura y Componentes
mongoDB - Arquitectura y ComponentesmongoDB - Arquitectura y Componentes
mongoDB - Arquitectura y Componentesomenar
 
Requerimientos de instalacion de SQL
Requerimientos de instalacion de SQL Requerimientos de instalacion de SQL
Requerimientos de instalacion de SQL rumus1000
 
Tipos De Realidad Virtual
Tipos De Realidad VirtualTipos De Realidad Virtual
Tipos De Realidad Virtualcarlosbarrosb
 
Sistemas de gestión de base de datos
Sistemas de gestión de base de datosSistemas de gestión de base de datos
Sistemas de gestión de base de datosjudithmore16
 
Factibilidad administrativa y legal
Factibilidad administrativa y legalFactibilidad administrativa y legal
Factibilidad administrativa y legaltutor03770
 
PostgreSQL vs MySQL: PostgreSQL como alternativa.
PostgreSQL vs MySQL: PostgreSQL como alternativa.PostgreSQL vs MySQL: PostgreSQL como alternativa.
PostgreSQL vs MySQL: PostgreSQL como alternativa.Arturo Espinosa
 
Sistemas de gestores de base de datos
Sistemas de gestores de base de datosSistemas de gestores de base de datos
Sistemas de gestores de base de datosHernan Okamura
 
Requerimientos de instalacion
Requerimientos de instalacionRequerimientos de instalacion
Requerimientos de instalacionjosebunbury
 

Destacado (20)

Postgresql
PostgresqlPostgresql
Postgresql
 
Requerimientos de PostgreSQL
Requerimientos de PostgreSQLRequerimientos de PostgreSQL
Requerimientos de PostgreSQL
 
Proyecto final-eq1
Proyecto final-eq1Proyecto final-eq1
Proyecto final-eq1
 
PostgreSQL and MySQL
PostgreSQL and MySQLPostgreSQL and MySQL
PostgreSQL and MySQL
 
Simbolos logisticos militares
Simbolos logisticos militaresSimbolos logisticos militares
Simbolos logisticos militares
 
Características MONGO DB
Características MONGO DBCaracterísticas MONGO DB
Características MONGO DB
 
Características realidad aumentada
Características realidad aumentadaCaracterísticas realidad aumentada
Características realidad aumentada
 
mongoDB - Arquitectura y Componentes
mongoDB - Arquitectura y ComponentesmongoDB - Arquitectura y Componentes
mongoDB - Arquitectura y Componentes
 
Introducción a PostgreSql
Introducción a PostgreSqlIntroducción a PostgreSql
Introducción a PostgreSql
 
Requerimientos de instalacion de SQL
Requerimientos de instalacion de SQL Requerimientos de instalacion de SQL
Requerimientos de instalacion de SQL
 
Tipos De Realidad Virtual
Tipos De Realidad VirtualTipos De Realidad Virtual
Tipos De Realidad Virtual
 
Sistemas de gestión de base de datos
Sistemas de gestión de base de datosSistemas de gestión de base de datos
Sistemas de gestión de base de datos
 
Factibilidad administrativa y legal
Factibilidad administrativa y legalFactibilidad administrativa y legal
Factibilidad administrativa y legal
 
Ventajas desventajas sgbd
Ventajas desventajas sgbdVentajas desventajas sgbd
Ventajas desventajas sgbd
 
PostgreSQL vs MySQL: PostgreSQL como alternativa.
PostgreSQL vs MySQL: PostgreSQL como alternativa.PostgreSQL vs MySQL: PostgreSQL como alternativa.
PostgreSQL vs MySQL: PostgreSQL como alternativa.
 
Introduccion A La Simbologia Militar
Introduccion A La Simbologia MilitarIntroduccion A La Simbologia Militar
Introduccion A La Simbologia Militar
 
Factibilidad operativa
Factibilidad operativaFactibilidad operativa
Factibilidad operativa
 
Sistemas de gestores de base de datos
Sistemas de gestores de base de datosSistemas de gestores de base de datos
Sistemas de gestores de base de datos
 
Requerimientos de instalacion
Requerimientos de instalacionRequerimientos de instalacion
Requerimientos de instalacion
 
Fabricacion del Papel
Fabricacion del PapelFabricacion del Papel
Fabricacion del Papel
 

Similar a Principales características de PostgreSQL

Database fundamental itprosdc_chapter2
Database fundamental itprosdc_chapter2Database fundamental itprosdc_chapter2
Database fundamental itprosdc_chapter2Julián Castiblanco
 
Migrando de MSSQL a PostgreSQL
Migrando de MSSQL a PostgreSQLMigrando de MSSQL a PostgreSQL
Migrando de MSSQL a PostgreSQLscastell77
 
Sql server 2005_para_desarrolladores_madrid
Sql server 2005_para_desarrolladores_madridSql server 2005_para_desarrolladores_madrid
Sql server 2005_para_desarrolladores_madridgermanjimenez1977
 
Presentacion sobre cassandra
Presentacion sobre cassandraPresentacion sobre cassandra
Presentacion sobre cassandrajesusnoseq
 
Motor de base de datos
Motor de base de datos Motor de base de datos
Motor de base de datos maryciprian05
 
Sql dinamico14042011
Sql dinamico14042011Sql dinamico14042011
Sql dinamico14042011josecuartas
 
Documentacion postgresql
Documentacion postgresqlDocumentacion postgresql
Documentacion postgresqlCesar Martinez
 
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration ServicesSolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration ServicesSolidQ
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datosALYTS
 
LSWC PostgreSQL 9.1 (2011)
LSWC PostgreSQL 9.1 (2011)LSWC PostgreSQL 9.1 (2011)
LSWC PostgreSQL 9.1 (2011)Emanuel Calvo
 
Base de datos_-_material_didactico
Base de datos_-_material_didacticoBase de datos_-_material_didactico
Base de datos_-_material_didacticoenriquehot
 
Framework GSM para Pruebas Automatizadas
Framework GSM para Pruebas AutomatizadasFramework GSM para Pruebas Automatizadas
Framework GSM para Pruebas AutomatizadasSoftware Guru
 

Similar a Principales características de PostgreSQL (20)

Database fundamental itprosdc_chapter2
Database fundamental itprosdc_chapter2Database fundamental itprosdc_chapter2
Database fundamental itprosdc_chapter2
 
(25/02) Desarrollador@S Invita - Introducción y novedades de SQL Server 2008
(25/02) Desarrollador@S Invita - Introducción y novedades de SQL Server 2008(25/02) Desarrollador@S Invita - Introducción y novedades de SQL Server 2008
(25/02) Desarrollador@S Invita - Introducción y novedades de SQL Server 2008
 
Migrando de MSSQL a PostgreSQL
Migrando de MSSQL a PostgreSQLMigrando de MSSQL a PostgreSQL
Migrando de MSSQL a PostgreSQL
 
Posgres Sql2
Posgres Sql2Posgres Sql2
Posgres Sql2
 
Postgree603
Postgree603Postgree603
Postgree603
 
trabajo numero 3
trabajo numero 3trabajo numero 3
trabajo numero 3
 
Sql server 2005_para_desarrolladores_madrid
Sql server 2005_para_desarrolladores_madridSql server 2005_para_desarrolladores_madrid
Sql server 2005_para_desarrolladores_madrid
 
Presentacion sobre cassandra
Presentacion sobre cassandraPresentacion sobre cassandra
Presentacion sobre cassandra
 
Motor de base de datos
Motor de base de datos Motor de base de datos
Motor de base de datos
 
Tema 4 5_1_acceso_datos
Tema 4 5_1_acceso_datosTema 4 5_1_acceso_datos
Tema 4 5_1_acceso_datos
 
Sql dinamico14042011
Sql dinamico14042011Sql dinamico14042011
Sql dinamico14042011
 
SQL avanzado
SQL avanzadoSQL avanzado
SQL avanzado
 
Documentacion postgresql
Documentacion postgresqlDocumentacion postgresql
Documentacion postgresql
 
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration ServicesSolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
Tema 4.7 Acceso a datos
Tema 4.7 Acceso a datosTema 4.7 Acceso a datos
Tema 4.7 Acceso a datos
 
LSWC PostgreSQL 9.1 (2011)
LSWC PostgreSQL 9.1 (2011)LSWC PostgreSQL 9.1 (2011)
LSWC PostgreSQL 9.1 (2011)
 
Base de datos_-_material_didactico
Base de datos_-_material_didacticoBase de datos_-_material_didactico
Base de datos_-_material_didactico
 
Benchmarking
BenchmarkingBenchmarking
Benchmarking
 
Framework GSM para Pruebas Automatizadas
Framework GSM para Pruebas AutomatizadasFramework GSM para Pruebas Automatizadas
Framework GSM para Pruebas Automatizadas
 

Más de David M. Martín García

Más de David M. Martín García (7)

Reverse Engineering in Java: Metaclases
Reverse Engineering in Java: MetaclasesReverse Engineering in Java: Metaclases
Reverse Engineering in Java: Metaclases
 
Anti-patterns in software: Orgía de objetos
Anti-patterns in software: Orgía de objetosAnti-patterns in software: Orgía de objetos
Anti-patterns in software: Orgía de objetos
 
Modelo de vistas de Kruchten - Software Architecture
Modelo de vistas de Kruchten - Software ArchitectureModelo de vistas de Kruchten - Software Architecture
Modelo de vistas de Kruchten - Software Architecture
 
MS DSL Tools - Metamodelo de la prototool
MS DSL Tools - Metamodelo de la prototoolMS DSL Tools - Metamodelo de la prototool
MS DSL Tools - Metamodelo de la prototool
 
Estilos arquitéctonicos en el software
Estilos arquitéctonicos en el softwareEstilos arquitéctonicos en el software
Estilos arquitéctonicos en el software
 
Documentación en el software
Documentación en el softwareDocumentación en el software
Documentación en el software
 
Diseño de software
Diseño de softwareDiseño de software
Diseño de software
 

Principales características de PostgreSQL

  • 1. 1. Introducción a PostgreSQL. 2. Características principales. 3. ¿Postgres o MySQL?. 4. Manejo con PostgreSQL. 5. Conclusiones. POSTGRESQL
  • 2. 1. Introducción • Nace en 1982 bajo el proyecto Ingres de la Universidad de Berkeley, este proyecto es liderado por Michael Stonebreaker (pionero en intentar crear SGBD relacionales). • Tras su experiencia comercial con Ingres, Stonebraker vuelve en 1985 para retomar el proyecto con el nombre ‘Post-Ingres’ o Postgres.
  • 3. 2. Características principales - Modelo Orientado a Objetos. - 100% ACID. - Alta concurrencia. - Amplia variedad de tipos de datos. - Copias de seguridad en caliente. - Funciones. - Claves foráneas (Integridad Referencial). - Triggers. - Acceso encriptado vía SSL. - Múltiples métodos de autenticación. - Copias de seguridad en caliente.
  • 4. 3. ¿MySQL o Postgres? • MySQL aporta mayor velocidad en procesos simples y menor consumo de recursos. • PostgreSQL aporta mayor eficiencia, rapidez y fiabilidad en procesos complejos. ¿VELOCIDAD O POTENCIA?
  • 5. 4. Manejo con PostgreSQL 4.1. Lenguaje de definición de datos 4.2. Operadores 4.3. Lenguaje de manipulación de datos 4.4. Triggers y procedimientos
  • 6. 4.1. Lenguaje de definición de datos • Inclusión de tipos de datos como SERIAL, Money o Array. CREATE TABLE Comprador( nombre text, apellidos text, plazos money[], Fecha_pagos text[][], id_comprador SERIAL primary key );
  • 7. • Herencia entre tablas (INHERITS) CREATE TABLE Coche ( CREATE TABLE CocheStock ( marca text, rebaja money, modelo text, id_cocheStock text primary key cilindrada text, ) INHERITS (Coche); color text, precio money CREATE TABLE CocheNuevo ( ); rebaja money, extras integer[], id_cocheNuevo text primary key ) INHERITS (Coche); CREATE TABLE Ventas ( CREATE TABLE VentasStock ( id_venta SERIAL primary key, fid_cocheStock text references CocheStock(id_cocheStock) fecha_Venta date, ) INHERITS (Ventas); fid_vendedor integer references Vendedor(id_vendedor), CREATE TABLE VentasNuevo ( fid_comprador integer fid_cocheNuevo text references CocheNuevo(id_cocheNuevo) references Comprador(id_comprador) ) INHERITS (Ventas); );
  • 8.
  • 9. 4.2. Operadores • En postgreSQL se incluyen operadores como EXCEPT e INTERSECT útiles para trabajar con conjuntos tal de forma similar al álgebra relacional sin necesidad de recurrir a los operadores IN y NOT IN.
  • 10. 4.3. Lenguaje de manipulación de datos • Postgres permite la inserción de varios registros a través de una única sentencia INSERT. INSERT INTO Extras (descripcion) VALUES ('Control de crucero'), ('Climatizador bizona'), ('LLantas 17“ ');
  • 11. 4.4. Triggers y procedimientos • Crear triggers a nivel de columna. • Permite devolver funciones tipo void o tipo trigger. • Se puede crear más de un trigger para un mismo evento en una misma tabla. • Hace uso de la condición WHEN para ejecutar el trigger bajo dichas circunstancias. • Permite ejecutar la función asociada al trigger mediante EXECUTE PROCEDURE cuando este sea disparado. • Sustituye la cláusula de MYSQL: -SIGNAL SQLSTATE ‘45000’ SET MESSAGE_TEXT = ‘ ‘ por -RAISE EXCEPTION permitiendo parametrizar literales.
  • 12. Función CREATE FUNCTION AlertaVendedorSinNombre() RETURNS trigger AS $$ BEGIN RAISE EXCEPTION 'nombre del vendedor sin nombre (%)', NEW.id_vendedor; END; $$ LANGUAGE plpgsql; Trigger CREATE TRIGGER VendedorSinNombre BEFORE INSERT ON Vendedor FOR EACH ROW WHEN (New.nombre=‘ ') EXECUTE PROCEDURE AlertaVendedorSinNombre(); Inserción de prueba INSERT INTO Vendedor (nombre, apellidos, salario) VALUES ('','Martín García', '1500'); Resultado
  • 13. 5. Conclusiones ¡No existe una decisión Salomónica!