Database management system (DBMS) SISTEMA GESTORES DE BASE DE DATOS (SGBD) EXPOSITOR JORGE LUIS CARBALLO LACAYO Base de datos Es un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemáticamente para su posterior uso. Actualmente, y debido al desarrollo tecnológico de campos como la informática y la electrónica, la mayoría de las bases de datos están en formato digital(electrónico) . Sistemas gestores de bases de datos Existen programas denominados DBMS, que permiten almacenar y posteriormente acceder a los datos de forma rápida y estructurada que interactúan con el usuario. El propósito general de DBMS es el de ser un sistema de software diseñado que permita la definición, creación, consulta, actualización y administración de la Base de datos . Software comerciales & libres (DBMS) Ventajas & Desventajas Software Comercial Es un software comercializado, es decir, que las compañías que lo producen, cobran dinero por el producto, su distribución y soporte. Posee restricciones en el uso, copia o modificación y su código casi siempre es cerrado. Cuenta con más opciones de soporte de terceros y soporte en general , ofrece beneficios en construcción de aplicaciones a medida . Software Libre Respeta la libertad de los usuarios sobre su producto adquirido y por tanto, a su vez ser copiado, usado, estudiado, modificado y distribuido libremente, tienden a ser muy eficiente . Son incompatibles con software comercial, crea riesgos legales, no tiene garantía proveniente del autor . Áreas de Aplicación de los sistemas de BD Banco Para información de los clientes, cuentas, préstamos y transacciones bancarias. Líneas Áreas Para reservas e información de planificación. Las líneas aereas fueron las primeras en usar las bases de datos de forma distribuida geográficamente (las terminales situados en todo el mundo accedían al sistema de bases de datos centralizado a través de las líneas telefónicas y otras redes de datos. Universidades Para información de los estudiantes, matriculas de las asignaturas y cursos. Transacciones de tarjetas de crédito Para compras con tarjeta de crédito y generación mensual de extractos. Telecomunicaciones Para guardar un registro de las llamadas realizadas, generación mensual de facturas, manteniendo el saldo de las tarjetas telefónicas de prepago y para almacenar información sobre las redes de comunicaciones. Finanzas Para almacenar información sobre grandes empresas, ventas y compras de documentos formales financieros, como bolsa y bonos. Ventas Para información de clientes, productos y compras. Producción Para la gestión de la cadena de producción y para el seguimiento de la producción de elementos en las factorías, inventarios de elementos en almacenes y pedidos de elementos. Recursos Humanos Para información sobre los empleados, salarios, impuestos y beneficios, y para la generación de las nóminas. Documentales Orientadas a objetos Jerárquicas Modelos de bases de datos Red Multidimensionales Transaccionales Relacionales Ejemplos de Sistemas Gestores de Bases de Datos (SGBD) PostgreSQL ha tenido una larga evolución, la cual se inicia en 1982 con el proyecto ingres en la universidad de Berkeley, liderado por Michael Stonebraker, fue uno de los primeros intentos en implementar un motor de base de datos relacional. Actualmente Es un SGBD relacional orientado a objetos y libre, publicado bajo la licencia BSD. Desarrollador : PostgreSQL Global Development Group Ultima Versión estable : 9.3.3 (20 de febrero de 2014) Escrito en : Lenguaje C Genero : ORDBMS Sistema Operativo : Multiplataforma Licencia : BSD Características Alta concurrencia Mediante un sistema denominado MVCC (Acceso concurrente multiversión, por sus siglas en inglés) PostgreSQL permite que mientras un proceso escribe en una tabla, otros accedan a la misma tabla sin necesidad de bloqueos. Algunos de los lenguajes que se pueden usar son los siguientes: •Un lenguaje propio llamado PL/PgSQL (similar al PL/SQL de oracle). •C •C++ •Java PL/Java web •PL/Perl. Amplia variedad de tipos nativos •plPHP PostgreSQL provee nativamente soporte para: •PL/Python • Números de precisión arbitraria. •PL/Ruby • Texto de largo ilimitado. •PL/sh • Figuras geométricas (con una variedad de •PL/Tcl funciones asociadas). •PL/Scheme • Direcciones IP (IPv4 e IPv6). •Lenguaje para aplicaciones estadísticas R por medio • Bloques de direcciones estilo CIDR. de PL/R. • Direcciones MAC. • Arrays. Apache Derby tiene su origen en la empresa Cloudscape Inc, en Oakland, California que se fundó en 1996 para desarrollar una tecnología de base de datos para Java. Es un sistema gestor de base de datos relacional escrito en Java que puede ser empotrado en aplicaciones Java y utilizado para procesos de transacciones online. Tiene un tamaño de 2 MB de espacio en disco. Inicialmente distribuido como IBM Cloudscape, Apache Derby es un proyecto open source licenciado bajo la Apache 2.0 License. Actualmente se distribuye como Sun Java DB. Desarrollador : Apache Software Foundation Ultima versión estable : 10.8.2.2 28 de octubre de 2011 Escrito en : Java Género : RDBMS Programado en : Java Sistema Operativo : Multiplataforma Licencia : Apache License 2.0 Oracle Database es un sistema de gestión de base de datos objeto-relacional ( ORDBMS por el acrónimo en inglés de ObjectRelational Data Base Management System), desarrollado por Oracle Corporation. Se considera a Oracle Database como uno de los sistemas de bases de datos más completos, destacando: • • • • soporte de transacciones. estabilidad. escalabilidad. soporte multiplataforma. Su dominio en el mercado de servidores empresariales ha sido casi total hasta hace poco; recientemente sufre la competencia del Microsoft SQL Server de Microsoft y de la oferta de otros RDBMS con licencia libre como PostgreSQL, MySQL o Firebird. Las últimas versiones de Oracle han sido certificadas para poder trabajar bajo GNU/Linux. Desarrollador : Oracle Corporation Última versión estable : 12.1.0.1.0 Escrito en : Lenguaje ensamblador , C, C++ Género : ORDBMS Sistema Operativo : Multiplataforma Licencia : Privada SQLite es un sistema de gestión de bases de datos relacional compatible con ACID, contenida en una relativamente pequeña (~275 kiB)2 biblioteca escrita en C. SQLite es un proyecto de dominio público1 creado por D. Richard Hipp. A diferencia de los sistema de gestión de bases de datos cliente-servidor, el motor de SQLite no es un proceso independiente con el que el programa principal se comunica. En lugar de eso, la biblioteca SQLite se enlaza con el programa pasando a ser parte integral del mismo. El programa utiliza la funcionalidad de SQLite a través de llamadas simples a subrutinas y funciones. Esto reduce la latencia en el acceso a la base de datos, debido a que las llamadas a funciones son más eficientes que la comunicación entre procesos. Diseñador D Richard Hipp Lanzamiento inicial 17 de agosto de 2000 Ultima versión estable 3.8.4.3 3 de abril de 2014 Género RDBMS Programado en C Sistema Operativo Multiplataforma Licencia Dominio Publico Características SQLite usa un sistema de tipos inusual. En lugar de asignar un tipo a una columna como en la mayor parte de los sistemas de bases de datos SQL, los tipos se asignan a los valores individuales. Por ejemplo, se puede insertar un string en una columna de tipo entero (a pesar de que SQLite tratará en primera instancia de convertir la cadena en un entero). Algunos usuarios consideran esto como una innovación que hace que la base de datos sea mucho más útil. Otros usuarios lo ven como un gran inconveniente, ya que la técnica no es portable a otras bases de datos SQL. SQLite no trataba de transformar los datos al tipo de la columna hasta la versión 3. Varios procesos o hilos pueden acceder a la misma base de datos sin problemas. Varios accesos de lectura pueden ser servidos en paralelo. Debido a su pequeño tamaño, SQLite es muy adecuado para los sistemas integrados, y también está incluido en: •Android •BlackBerry •Windows Phone 8 •Google Chrome •iOS •Maemo •MeeGo •Symbian OS •webOS Lenguajes de programación • La biblioteca puede ser usada desde programas en C/C++, aunque están disponibles enlaces para Tcl y muchos otros lenguajes de programación interpretado • SQLite se encuentra embebido en el REALbasic framework, haciendo posible que aplicaciones desarrolladas en REALbasic para Windows, Linux o Mac OS X usen la base de datos SQLite. • Desde Delphi se puede usar SQLite a través de los componentes libres ZeosLib. • PHP incluye SQLite, desde la versión 5. SQLite • Desde Java se puede acceder mediante el driver de SQLite JDBC • Desde .NET se puede acceder usando el proyecto de código abierto System.Data.SQLite Software que utiliza SQLite SQLite es utilizado en un gran variedad de aplicaciones, destacando las siguientes: • El navegador web Opera usa SQLite para la gestión de bases de datos WebSQL. • Adobe Photoshop Elements utiliza SQLite como motor de base de datos • Skype es otra aplicación de gran despliegue que utiliza SQLite. • Clementine usa SQLite para guardar su • SQLFilter, un plugin para OmniPeek, usa SQLite colección de datos por defecto. para indexar paquetes en una base de datos • Mozilla Firefox usa SQLite para para poder se consultada por medio de SQL. almacenar, entre otros, las cookies, los favoritos, el historial y las direcciones de • The New Yorker guarda el índice para un set de red válidas. DVD conteniendo todos los números publicados • Varias aplicaciones de Apple utilizan SQLite, por la revista. incluyendo Apple Mail y el gestor de RSS que se distribuye con Mac OS X. El software Aperture de Apple guarda la información de las imágenes en una base de datos SQLite Gracias Por su atención