SlideShare ist ein Scribd-Unternehmen logo
1 von 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!

Weitere ähnliche Inhalte

Was ist angesagt?

Sql DDL Lenguaje de definición de datos
Sql DDL Lenguaje de definición de datosSql DDL Lenguaje de definición de datos
Sql DDL Lenguaje de definición de datosjosecuartas
 
Diapositivas base de datos
Diapositivas base de datosDiapositivas base de datos
Diapositivas base de datoscatherine4ad
 
Registros de la cpu
Registros de la cpuRegistros de la cpu
Registros de la cpujomapuga
 
Calidad esquemas
Calidad esquemasCalidad esquemas
Calidad esquemasgines
 
Herramientas De Control, Monitoreo Y Acceso A Base De Datos
Herramientas De Control, Monitoreo Y Acceso A Base De DatosHerramientas De Control, Monitoreo Y Acceso A Base De Datos
Herramientas De Control, Monitoreo Y Acceso A Base De DatosYazmin Ibarra
 
Manual de instalacion de Mongo db
Manual de instalacion de Mongo dbManual de instalacion de Mongo db
Manual de instalacion de Mongo dbRuby B. Blanca
 
Diagramas de objetos
Diagramas de objetosDiagramas de objetos
Diagramas de objetosstill01
 
sistema gestor BD PostgreSql
sistema gestor BD PostgreSqlsistema gestor BD PostgreSql
sistema gestor BD PostgreSqlJr. Serrano
 
PROCEDIMIENTOS ALMACNEADOS Y DISPARADORES - Informe de los videos
PROCEDIMIENTOS ALMACNEADOS Y DISPARADORES - Informe de los videosPROCEDIMIENTOS ALMACNEADOS Y DISPARADORES - Informe de los videos
PROCEDIMIENTOS ALMACNEADOS Y DISPARADORES - Informe de los videosJuanMiguelCustodioMo
 
Base de datos ventajas y desventajas
Base de datos ventajas y desventajasBase de datos ventajas y desventajas
Base de datos ventajas y desventajasMartin Macario
 

Was ist angesagt? (20)

TIPOS DE BASE DE DATOS
TIPOS DE BASE DE DATOSTIPOS DE BASE DE DATOS
TIPOS DE BASE DE DATOS
 
NoSQL: Introducción a las Bases de Datos no estructuradas
NoSQL: Introducción a las Bases de Datos no estructuradasNoSQL: Introducción a las Bases de Datos no estructuradas
NoSQL: Introducción a las Bases de Datos no estructuradas
 
Presentacion BD NoSQL
Presentacion  BD NoSQLPresentacion  BD NoSQL
Presentacion BD NoSQL
 
Cuadro comparativo sgbd
Cuadro comparativo sgbdCuadro comparativo sgbd
Cuadro comparativo sgbd
 
Sql DDL Lenguaje de definición de datos
Sql DDL Lenguaje de definición de datosSql DDL Lenguaje de definición de datos
Sql DDL Lenguaje de definición de datos
 
Diapositivas base de datos
Diapositivas base de datosDiapositivas base de datos
Diapositivas base de datos
 
Lenguaje SQL
Lenguaje SQLLenguaje SQL
Lenguaje SQL
 
Registros de la cpu
Registros de la cpuRegistros de la cpu
Registros de la cpu
 
Calidad esquemas
Calidad esquemasCalidad esquemas
Calidad esquemas
 
Herramientas De Control, Monitoreo Y Acceso A Base De Datos
Herramientas De Control, Monitoreo Y Acceso A Base De DatosHerramientas De Control, Monitoreo Y Acceso A Base De Datos
Herramientas De Control, Monitoreo Y Acceso A Base De Datos
 
Bases de datos orientadas a objetos
Bases de datos orientadas a objetosBases de datos orientadas a objetos
Bases de datos orientadas a objetos
 
Sql
SqlSql
Sql
 
MongoDB
MongoDBMongoDB
MongoDB
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
Manual de instalacion de Mongo db
Manual de instalacion de Mongo dbManual de instalacion de Mongo db
Manual de instalacion de Mongo db
 
Ventajas vs Desventajas se SGBD
Ventajas vs Desventajas se SGBDVentajas vs Desventajas se SGBD
Ventajas vs Desventajas se SGBD
 
Diagramas de objetos
Diagramas de objetosDiagramas de objetos
Diagramas de objetos
 
sistema gestor BD PostgreSql
sistema gestor BD PostgreSqlsistema gestor BD PostgreSql
sistema gestor BD PostgreSql
 
PROCEDIMIENTOS ALMACNEADOS Y DISPARADORES - Informe de los videos
PROCEDIMIENTOS ALMACNEADOS Y DISPARADORES - Informe de los videosPROCEDIMIENTOS ALMACNEADOS Y DISPARADORES - Informe de los videos
PROCEDIMIENTOS ALMACNEADOS Y DISPARADORES - Informe de los videos
 
Base de datos ventajas y desventajas
Base de datos ventajas y desventajasBase de datos ventajas y desventajas
Base de datos ventajas y desventajas
 

Andere mochten auch

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
 

Andere mochten auch (20)

Postgresql
PostgresqlPostgresql
Postgresql
 
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
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Mehr von David M. Martín García

Mehr von 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!