Post on 11-Jun-2015
Lenguaje SQL para PostgreSQL
Bernardo A. Robelo Jirón
web: bernardorobelo.comemail: bernardo.robelo@gmail.com
BernardoRobelo.com
Presentación Personal. Ocupación Actual. Experiencia con el uso de PostgreSQL Expectativas. Metodología del curso.
Expectativas
BernardoRobelo.com
¿Qué es PostgreSQL? Breve Historia de PostgreSQL` Ventajas de PostgreSQL Características de PostgreSQL Herramientas de Administración Demo
Agenda
BernardoRobelo.com
PostgreSQL es un Sistema de Gestión de Bases de Datos Objeto-Relacionales (ORDBMS) que ha sido desarrollado de varias formas desde la década de 1980.
El proyecto PostgreSQL sigue actualmente un activo proceso de desarrollo a nivel mundial gracias a un equipo de desarrolladores y contribuidores de código abierto.
PostgreSQL está ampliamente considerado como el Sistema de Gestión de Bases de Datos de código abierto (gratuito y con código fuente disponible) más avanzado del mundo. Posee las características de los más potentes sistemas comerciales como Oracle o SQL Server.
PostgreSQL es software libre. Concretamente está liberado bajo la licencia BSD, que permite redistribuir el código modificado o no como software cerrado, en contra posición a la licencia GPL que fuerza a que las modificaciones sean publicadas también bajo la GPL.
¿Qué es PostgreSQL?
BernardoRobelo.com
Ingres (1977-1985) Universidad de Berkeley. Ejercicio de aplicación de las teorías de las RDBMS.
Postgres (1986–1994) Posterior a Ingres, Michael Stonebraker
Postgres95 (1995) Andrew Yu & Jolly Chen publican el código en Internet.
PostgreSQL 6 (1996–1999) PostgreSQL Global Development Group. Se integra al mundo Open Source
PostgreSQL 7 (1999–2004) Adopción en el mundo comercial, se le califico como la 5ta DBMS mas popular en USA
PostgreSQL 8 (2005) paso el test de Coverty Inspected encontrando solo 20 errores en 775,000 líneas de código.
Historia de PostgreSQL
BernardoRobelo.com
Instalación IlimitadaCon PostgreSQL, nadie puede demandarlo por violar acuerdos de licencia, puesto que no hay costo asociado a la licencia del software. PostgreSQL esta bajo licencia BSD.
SoporteExiste una importante comunidad de profesionales y entusiastas de PostgreSQL de los que su compañía puede obtener beneficios y contribuir. PGDG (PostgreSQL Global Development Group)
Ventajas de PostgreSQL
BernardoRobelo.com
Ahorros considerables en costos de operación
PostgreSQL ha sido diseñado y creado para tener un mantenimiento y ajuste mucho menor que otros productos, conservando todas las características, estabilidad y rendimiento.
Estabilidad y Confiabilidad Legendarias
Es extremadamente común que compañías reporten que PostgreSQL nunca ha presentado caídas en varios años deoperación de alta actividad. Ni una sola vez. Simplementefunciona.
Ventajas de PostgreSQL
BernardoRobelo.com
ExtensibleEl código fuente está disponible para todos sin costo. Si su equipo necesita extender o personalizar PostgreSQL de alguna manera, pueden hacerlo con un mínimo esfuerzo, sin costos adicionales.
Esto es complementado por la comunidad de profesionales y entusiastas de PostgreSQL alrededor del mundo que también extienden PostgreSQL todos los días.
MultiplataformaPostgreSQL está disponible en casi cualquier Unix (34 plataformas en la última versión estable), y ahora en versión nativa para Windows.
Ventajas de PostgreSQL
BernardoRobelo.com
Soporte SQL92/SQL99 PostgreSQL implementa un subconjunto extendido de los
standares SQL92 y SQL99
Transacciones Permiten el paso entre dos estados consistentes
manteniendo la integridad de los datos.BEGIN WORK;.......Sentencias SQL;.......COMMIT WORK;
Características
BernardoRobelo.com
Postgres es Full ACID compliant (Atomicity, Consistency, Isolation and Durability) Atomicidad es la propiedad que asegura que la operación se ha
realizado o no, y por lo tanto ante un fallo del sistema no puede quedar a medias.
Consistencia es la propiedad que asegura que sólo se empieza aquello que se puede acabar. Por lo tanto se ejecutan aquellas operaciones que no van a romper la reglas y directrices de integridad de la base de datos.
Aislamiento es la propiedad que asegura que una operación no puede afectar a otras. Esto asegura que dos transacciones sobre la misma información nunca generará ningún tipo de error.
Durabilidad es la propiedad que asegura que una vez realizada la operación, ésta persistirá y no se podrá deshacer aunque falle el sistema.
Características
BernardoRobelo.com
Integridad referencial PostgreSQL soporta integridad referencial, la cual es utilizada
para garantizar la validez de los datos de la base de datos PK y FK
Bloqueos de tabla y filas Postgres ofrece varios modos de bloqueo para controlar el
acceso concurrente a los datos en tablas. Algunos de estos modos de bloqueo los adquiere PostgreSQL
automáticamente antes de la ejecución de una declaración, mientras que otros son proporcionados para ser usados por las aplicaciones.
Características
BernardoRobelo.com
Constraints y triggers Tienen la función de mantener la integridad y
consistencia en la BD. Ejecución de acciones antes o después de un evento
de BD.
Multiples tipos de datos predefinidos Como todos los manejadores de bases de datos,
PostgreSQL implementa los tipos de datos definidos para el estándar SQL3 y aumenta algunos otros.
Características
BernardoRobelo.com
Soporte de tipos y funciones de usuario PostgreSQL soporta operadores, funciones
métodos de acceso y tipos de datos definidos por el usuario.
Conectividad TCP/IP, JDBC y ODBCInterfaz con diversos lenguajes C, C++, Java, Delphi, Python, Perl, PHP,
Bash, .....
Características
BernardoRobelo.com
Máximo de base de datos : ILIMITADO Máximo de tamaño de tabla : 32TB Máximo de tamaño de registro : 1.6TB Máximo de tamaño de campo : 1GB Máximo de registros por Tabla : ILIMITADO Máximo de campos por tabla : 250 a 1600 (depende de
los tipos usados) Máximo de índices por tabla : ILIMITADO Numero de lenguajes en los que se puede programar
funciones : aproximadamente 10 (pl/pgsql, pl/java, pl/perl, pl/python, tcl, pl/php, C, C++, Ruby, etc.)
Los Limites de PostgreSQL
BernardoRobelo.com
PHPPgAdmin PHPPgAdmin es un poderosa herramienta de administración
basada en un interfaz Web para bases de datos PostgreSQL.
Además de la funcionalidad básica, dispone de soporte para procedimientos almacenados, triggers y vistas.
Las versiones de punta van mano a mano con el desarrollo del servidor PostgreSQL.
Esta versión es una de la mas famosa de los administradores GUI para PostgreSQL
Herramientas paraAdministración
BernardoRobelo.com
PSQL Es la herramienta natural para la ejecución de sentencias SQL a través
del shell del SO
Es una herramienta de tipo frontend que permite describir sentencias SQL, ejecutarlas y visualizar sus resultados
El método de ingreso puede ser mediante la inserción directa del código en la consola, o la ejecución de sentencias dentro de un archivo de texto
Provee de diversos meta-comandos para la ejecución de las sentencias, así como diversas opciones tipo shell propias de la herramienta
Herramientas paraAdministración
BernardoRobelo.com
PgAdmin3 Es una interfaz comprensible para el diseño y
administración de una base de datos PostgreSQL, diseñada para ejecutarse en la mayoría de los Sistemas Operativos.
La aplicación corre bajo GNU/Linux, FreeBSD y Windows 2000/XP
La interfaz gráfica soporta todas las características de PostgreSQL y facilita la administración.
Herramientas paraAdministración
BernardoRobelo.com
eCommerce: WhitePages.com Educacion: Univ. California, Univ. Sidney, Univ.
Oslo Entes Estado: National Physical Lab (India), U.S.
State Dept. Media: Creative Commons, Macworld Open Source: Sourceforge, Gforge Tecnologia: Apple, Fujitsu, Sony Telecomunicaciones: Cisco, Skype
Casos de exito
BernardoRobelo.com
Sony Online Entertainment Replaces Oracle with EnterpriseDB
El portal de compras públicas del gobierno Ecuatoriano trabaja con PostgreSQL, la tabla mas grande de hecho esta particionada porque ya eran mas de 96millones de registros.
Alfa Software 8.0 ERP Es un producto desarrollado en Base de Datos Postgres y Lazzaru totalmente en software libre dirigido por un grupo de empresas Venezolana con fuerte experiencia en las tecnologías y que decidieron adoptar y migrar sus aplicaciones a Tecnologias libre.
Casos de exito
BernardoRobelo.com
La Mejor Base de Datos Open Source del Mundo
PostgreSQL