Your SlideShare is downloading. ×
SMBD
SMBD
SMBD
SMBD
SMBD
SMBD
SMBD
SMBD
SMBD
SMBD
SMBD
SMBD
SMBD
SMBD
SMBD
SMBD
SMBD
SMBD
SMBD
SMBD
SMBD
SMBD
SMBD
SMBD
SMBD
SMBD
SMBD
SMBD
SMBD
SMBD
SMBD
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
743
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
26
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. 1 TITULO: Sistemas Manejadores de Bases de Datos EXPERIENCIA: Bases de Datos INTEGRANTES:  Martínez Moscoso Leonardo Daniel  Zarate Dánae CATEDRATICO: Dr. Carlos A. Torres Gastelú BASESDEDATOS FacultaddeadministraciónFacultaddeadministraciónFacultaddeadministraciónFacultaddeadministraciónFacultaddeadministración UNIVERSIDAD VERACRUZANA
  • 2. 2 INTRODUCCIÓN........................................................................................................................ 4 SISTEMAS MANEJADORES DE BASE DE DATOS................................................................... 5 DEFINICIÓN............................................................................................................................. 5 PROPÓSITO ............................................................................................................................ 5 OBJETIVO............................................................................................................................... 5 VENTAJAS .............................................................................................................................. 6 DESVENTAJAS......................................................................................................................... 6 PRODUCTOS DISPONIBLES EN EL MERCADO.................................................................................. 8 SMBD Propietarios............................................................................................................. 8 SMBD Libres ..................................................................................................................... 8 SMBD No libres y gratuitos ................................................................................................. 8 PROPUESTA DE ESTUDIO........................................................................................................... 9 SMBD Propietarios............................................................................................................. 9 Oracle............................................................................................................................ 9 Ficha Técnica ............................................................................................................. 9 Definición ................................................................................................................... 9 Licencia ..................................................................................................................... 9 Ediciones ................................................................................................................... 9 Lenguajes de programación .......................................................................................10 Plataformas...............................................................................................................10 Características ..........................................................................................................10 Microsoft SQL Server ....................................................................................................11 Ficha Técnica ............................................................................................................11 Definición ..................................................................................................................11 Licencia ....................................................................................................................11 Ediciones ..................................................................................................................11 Lenguajes de programación .......................................................................................11 Plataformas...............................................................................................................12 Características ..........................................................................................................12 Sybase ASE..................................................................................................................13 Ficha Técnica ............................................................................................................13 Definición ..................................................................................................................13 Licencia ....................................................................................................................13 Ediciones ..................................................................................................................13 Lenguajes de programación .......................................................................................14 Plataformas...............................................................................................................14 Características ..........................................................................................................14 Interbase ......................................................................................................................15 Ficha técnica .............................................................................................................15 Definición ..................................................................................................................15 Licencia ....................................................................................................................16 Ediciones ..................................................................................................................16 Plataformas...............................................................................................................16 Características ..........................................................................................................16 SMBD libres......................................................................................................................18 MySQL .........................................................................................................................18 Ficha técnica .............................................................................................................18 Definición ..................................................................................................................18
  • 3. 3 Licencia ....................................................................................................................18 Lenguajes de programación .......................................................................................19 Plataformas...............................................................................................................19 Características de la versión 5.0.22 ............................................................................19 Características adicionales.........................................................................................20 Características (versión 4.0) .......................................................................................21 Características distintivas...........................................................................................22 PostgreSQL ..................................................................................................................22 Ficha técnica .............................................................................................................22 Definición ..................................................................................................................22 Licencia ....................................................................................................................23 Lenguajes de programación .......................................................................................23 Plataformas...............................................................................................................23 Características ..........................................................................................................23 Otras características..................................................................................................24 Firebird .........................................................................................................................25 Ficha técnica .............................................................................................................25 Definición ..................................................................................................................25 Licencia ....................................................................................................................25 Lenguajes de programación .......................................................................................25 Plataformas...............................................................................................................26 Características ..........................................................................................................26 SQLite ..........................................................................................................................27 Ficha técnica .............................................................................................................27 Definición ..................................................................................................................27 Licencia ....................................................................................................................27 Lenguajes de programación .......................................................................................28 Plataformas...............................................................................................................28 Características ..........................................................................................................29 CONCLUSIÓN .........................................................................................................................30 BIBLIOGRAFÍA.........................................................................................................................31 Fuentes Electrónicas .........................................................................................................31
  • 4. 4 Introducción En la actualidad la oferta de sistemas manejadores de base de datos es muy amplia y muy compleja, en el presente trabajo trataremos de dar un repaso por los SMBD que a consideración de los autores, son los más importantes en el mercado. Como propuesta de estudio, escogimos 8 SMBD los cuales nombraremos a continuación: o Oracle o Microsoft SQL Server o Sybase ASE o Interbase o MySql o PostgreSQL o Firebird o SQLite La razón para escoger estos ocho SMBD fue que a lo largo de la realización del trabajo de investigación, destacaron ya sea por su gran base de usuarios, por su tecnología o por la importancia que tienen en el campo del desarrollo de software. A lo largo del desarrollo de este trabajo se mencionaran las características distintas de cada SMBD, sus empresas desarrolladoras, la tecnología que utilizan para llevar a cabo sus procesos, los lenguajes de programación utilizados, el tipo de licencia de la que hacen uso, así como la naturaleza de cada uno de ellos.
  • 5. 5 Sistemas manejadores de base de datos Definición Son un tipo de software muy específico, dedicado a servir de interfaz entre la base de datos, el usuario y las aplicaciones que la utilizan. Propósito Manejar de manera clara, sencilla y ordenada un conjunto de datos que posteriormente se convertirán en información relevante para una organización. Objetivo  Abstracción de la información. Los SGBD ahorran a los usuarios detalles acerca del almacenamiento físico de los datos. Da lo mismo si una base de datos ocupa uno o cientos de archivos, este hecho se hace transparente al usuario. Así, se definen varios niveles de abstracción.  Independencia. La independencia de los datos consiste en la capacidad de modificar el esquema (físico o lógico) de una base de datos sin tener que realizar cambios en las aplicaciones que se sirven de ella.  Consistencia. En aquellos casos en los que no se ha logrado eliminar la redundancia, será necesario vigilar que aquella información que aparece repetida se actualice de forma coherente, es decir, que todos los datos repetidos se actualicen de forma simultánea. Por otra parte, la base de datos representa una realidad determinada que tiene determinadas condiciones, por ejemplo que los menores de edad no pueden tener licencia de conducir. El sistema no debería aceptar datos de un conductor menor de edad. En los SGBD existen herramientas que facilitan la programación de este tipo de condiciones.  Seguridad. La información almacenada en una base de datos puede llegar a tener un gran valor. Los SGBD deben garantizar que esta información se encuentra segura de permisos a usuarios y grupos de usuarios, que permiten otorgar diversas categorías de permisos.  Manejo de Transacciones. Una Transacción es un programa que se ejecuta como una sola operación. Esto quiere decir que luego de una ejecución en la que se produce una falla es el mismo que se obtendría si el programa no
  • 6. 6 se hubiera ejecutado. Los SGBD proveen mecanismos para programar las modificaciones de los datos de una forma mucho más simple que si no se dispusiera de ellos.  Tiempo de respuesta. Lógicamente, es deseable minimizar el tiempo que el SGBD tarda en darnos la información solicitada y en almacenar los cambios realizados. Ventajas Proveen facilidades para la manipulación de grandes volúmenes de datos. 1. Simplifican la programación de equipos de consistencia. 2. Manejando las políticas de respaldo adecuadas, garantizan que los cambios de la base serán siempre consistentes sin importar si hay errores correctamente, etc. 3. Organizan los datos con un impacto mínimo en el código de los programas. 4. Bajan drásticamente los tiempos de desarrollo y aumentan la calidad del sistema desarrollado si son bien explotados por los desarrolladores. Usualmente, proveen interfaces y lenguajes de consulta que simplifican la recuperación de los datos. Desventajas o Es necesario disponer de una o más personas que administren de la base de datos, en la misma forma en que suele ser necesario en instalaciones de cierto porte disponer de una o más personas que administren de los sistemas operativos. Esto puede llegar a incrementar los costos de operación en una empresa. Sin embargo hay que balancear este aspecto con la calidad y confiabilidad del sistema que se obtiene. o Si se tienen muy pocos datos que son usados por un único usuario por vez y no hay que realizar consultas complejas sobre los datos, entonces es posible que sea mejor usar una planilla de cálculo. o Complejidad: El software muy complejo y las personas que vayan a usarlo deben tener conocimiento de las funcionalidades del mismo para poder aprovecharlo al máximo.
  • 7. 7 o Tamaño: La complejidad y la gran cantidad de funciones que tienen hacen que sea un software de gran tamaño, que requiere de gran cantidad de memoria para poder correr. o Coste del hardware adicional: los requisitos de hardware para correr un SGBD por lo general son relativamente altos, por lo que estos equipos pueden llegar a costar gran cantidad de dinero.
  • 8. 8 Productos disponiblesen el mercado SMBD Propietarios  Advantage Database  dBase  FileMaker  Fox Pro  IBM DB2 Universal Database (DB2 UDB)  IBM Informix  Interbase de CodeGear, filial de Borland  MAGIC  Microsoft Access  Microsoft SQL Server  NexusDB  Open Access  Oracle  Paradox  PervasiveSQL  Progress (DBMS)  Sybase ASE  Sybase ASA  Sybase IQ  WindowBase  IBM IMS Base de Datos Jerárquica  CA-IDMS SMBD Libres  MySQL  PostgreSQL  Firebird  SQLite  DB2 Express-C  Apache Derby SMBD No libres y gratuitos  Microsoft SQL Server Compact Edition Basic  Sybase ASE Express Edition para Linux  Oracle Express Edition 10
  • 9. 9 Propuesta deestudio SMBD Propietarios Oracle Ficha Técnica o Desarrollador : Oracle Corporation o Última versión estable : 11g Release 2: 11.2.0.1 o Sistema Operativo: Multiplataforma o Licencia: Privativa o Sitio web www.oracle.com Definición Oracle es básicamente un herramienta cliente/servidor para la gestión de base de datos, es un producto vendido a nivel mundial, aunque la gran potencia que tiene y su elevado precio hace que solo se vea en empresas muy grandes y multinacionales, por norma general. Se considera a Oracle como uno de los sistemas de bases de datos más completos, destacando: o Soporte de transacciones o Estabilidad o Escalabilidad o Soporte multiplataforma. Licencia Sistema Manejador de Base de Datos Privativo. Ediciones Oracle a partir de la versión 10g Release 2, cuenta con 6 ediciones: o Oracle Database Enterprise Edition (EE). o Oracle Database Standard Edition (SE).
  • 10. 10 o Oracle Database Standard Edition One (SE1). o Oracle Database Express Edition (XE). o Oracle Database Personal Edition (PE). o Oracle Database Lite Edition (LE). La única edición gratuita es la Express Edition, que es compatible con las demás ediciones de Oracle Database 10gR2 y Oracle Database 11g. Lenguajes de programación PL/SQL Plataformas o Windows o Linux o Sun Solaris Características o Oracle es el motor de base de datos relacional más usado a nivel mundial. o Puede ejecutarse en todas las plataformas, desde una Pc hasta un supercomputador. o Oracle soporta todas las funciones que se esperan de un servidor "serio": un lenguaje de diseño de bases de datos muy completo (PL/SQL) que permite implementar diseños "activos", con triggers y procedimientos almacenados, con una integridad referencial declarativa bastante potente. o Permite el uso de particiones para la mejora de la eficiencia, de replicación e incluso ciertas versiones admiten la administración de bases de datos distribuidas. o El software del servidor puede ejecutarse en multitud de sistemas operativos. Existe incluso una versión personal para Windows 9x, lo cual es un punto a favor para los desarrolladores que se llevan trabajo a casa. o Oracle es la base de datos con más orientación hacía INTERNET o Un aceptable soporte
  • 11. 11 Microsoft SQL Server Ficha Técnica o Desarrollador : Microsoft o Última versión estable : 2008 (10.00.1600.22) o Sistema Operativo: Microsoft Windows o Licencia Privativa o Sitio web www.microsoft.com/sql/ Definición Es un sistema para la gestión de bases de datos producido por Microsoft basado en el modelo relacional. Sus lenguajes para consultas son T-SQL y ANSI SQL. Microsoft SQL Server constituye la alternativa de Microsoft a otros potentes sistemas gestores de bases de datos como son Oracle, Sybase ASE, PostgreSQL, Interbase, Firebird o MySQL. Licencia Microsoft EULA Ediciones o Microsoft SQL Server (de pago no libre) o Microsoft SQL Server Express Edition (gratuito no libre) Lenguajes de programación T-SQL T-SQL (Transact-SQL) es el principal medio de programación y administración de SQL Server. Expone las palabras clave para las operaciones que pueden realizarse en SQL Server, incluyendo creación y modificación de esquemas de la base de datos, introducir y editar datos en la base de datos, así como supervisión y gestión del propio servidor. Las aplicaciones cliente, ya sea que consuman datos o administren el servidor, aprovechan la funcionalidad de SQL Server mediante el envío de consultas de T-SQL y declaraciones que son procesadas por el servidor y los resultados (o errores) regresan a la aplicación cliente. SQL Server permite que sean administrados mediante T-SQL. Para esto, expone tablas de sólo lectura
  • 12. 12 con estadísticas del servidor. La funcionalidad para la administración se expone a través de procedimientos almacenados definidos por el sistema que se pueden invocar desde las consultas de T-SQL para realizar la operación de administración. También es posible crear servidores vinculados (Linked Servers) mediante T-SQL. Los servidores vinculados permiten el funcionamiento entre múltiples servidores con una consulta. Cliente Nativo de SQL Cliente Nativo de SQL es la biblioteca de acceso a datos para los clientes de Microsoft SQL Server versión 2005 en adelante. Implementa nativamente soporte para las características de SQL Server, incluyendo la ejecución de la secuencia de datos tabular, soporte para bases de datos en espejo de SQL Server, soporte completo para todos los tipos de datos compatibles con SQL Server, conjuntos de operaciones asíncronas, las notificaciones de consulta, soporte para cifrado, así como recibir varios conjuntos de resultados en una sola sesión de base de datos. Cliente Nativo de SQL se utiliza como extensión de SQL Server plug-ins para otras tecnologías de acceso de datos, incluyendo ADO u OLE DB. Cliente Nativo de SQL puede también usarse directamente, pasando por alto las capas de acceso de datos genéricos. Plataformas Windows Características o Soporte de transacciones. o Escalabilidad, estabilidad y seguridad o Soporta procedimientos almacenados. o Incluye también un potente entorno gráfico de administración, que permite el uso de comandos DDL y DML gráficamente. o Permite trabajar en modo cliente-servidor, donde la información y datos se alojan en el servidor y los terminales o clientes de la red sólo acceden a la información. o Además permite administrar información de otros servidores de datos. Este sistema incluye una versión reducida, llamada MSDE con el mismo motor de base de datos pero orientado a proyectos más pequeños, que en sus versiones 2005 y 2008 pasa a ser el SQL Express Edition, que se distribuye en forma gratuita. Es común desarrollar completos proyectos complementando Microsoft SQL Server y Microsoft Access a través de los llamados ADP (Access Data Project). De esta forma se completa la base de datos (Microsoft SQL Server), con el entorno de desarrollo (VBA Access), a través de la implementación de aplicaciones de dos capas mediante el uso de formularios Windows.
  • 13. 13 En el manejo de SQL mediante líneas de comando se utiliza el SQLCMD. Para el desarrollo de aplicaciones más complejas (tres o más capas), Microsoft SQL Server incluye interfaces de acceso para varias plataformas de desarrollo, entre ellas .NET, pero el servidor sólo está disponible para Sistemas Operativos Windows. Sybase ASE Ficha Técnica o Desarrollador: Sybase Inc. o Última versión estable : ASE 15 o Sistema Operativo: Multiplataforma o Licencia: Privativa o Sitio web http://www.sybase.com/ Definición Adaptive Server Enterprise (ASE) es el motor de bases de datos (RDBMS) insignia de la compañía Sybase. ASE es un sistema de gestión de datos, altamente escalable, de alto rendimiento, con soporte a grandes volúmenes de datos, transacciones y usuarios, y de bajo costo, que permite: o Almacenar datos de manera segura o Tener acceso y procesar datos de manera inteligente o Movilizar datos Licencia Privativa Ediciones En la actualidad Sybase ASE se ofrece en cinco ediciones diferentes: o ASE Enterprise Edition -- No tiene límites desde el punto de vista de escalabilidad y puede correr todas las opciones que se adquieren por separado. o ASE Small Business Edition -- Tiene algunos límites en escalabilidad y puede correr un conjunto limitado de las opciones que se adquieren por separado.
  • 14. 14 o ASE Developer's Edition (edición gratuita para desarrolladores) -- Tiene límites de escalabilidad e incluye un número mínimo de opciones. o ASE Express Edition para Linux (edición gratuita para Linux) -- Tiene algunos límites de escalabilidad y almacenamiento, pero se puede usar libremente para desarrollo y producción. o ASE Cluster Edition -- Permite aprovechar los recursos computacionales, brindando escalabilidad horizontal en clusters de hasta 32 nodos. A la fecha, ASE Cluster Edition está disponible sólo para las plataformas Linux y Sun Solaris. Lenguajes de programación o PowerBuilder o Visual Basic o Java o C o PHP Plataformas ASE está soportado para la mayoría de plataformas comerciales, incluyendo: o Windows o Linux o Sun Solaris o IBM AIX o HP-UX o Mac OS o Silicon Graphics IRIX o Silicon Graphics IRIX2 Características La versión 15 de ASE incluye características nuevas como: o Un optimizador de consultas completamente renovado y más inteligente o Técnicas de particionamiento semántico de tablas que aumentan la velocidad de acceso a los datos. o Columnas cifradas para mayor seguridad de los datos. o Columnas computadas "virtuales" y materializadas, e índices funcionales, que brindan mayor rendimiento.
  • 15. 15 o Mejoras al lenguaje Transact-SQL, para mayor productividad. o Mejoras a los servicios de Java y XML en la base de datos. o Mejoras a los servicios para consumo y publicación de Servicios Web o Herramientas mejoradas para la administración y el monitoreo o Más rendimiento y menor costo total de propiedad Otras características generales: o Arquitectura VSA de Sybase o Administrador lógico de recursos y tareas o Múltiples esquemas de bloqueo de datos o Copias de respaldo en línea y de alto rendimiento o Integración transparente con orígenes de datos remotos o Programador de tareas. o Conexiones seguras con SSL o Soporte a LDAP para autenticación de usuarios y conectividad cliente/servidor o Soporte a múltiples herramientas de desarrollo y lenguajes de programación, como PowerBuilder, Visual Basic, Java, C, PHP, etc. o Soporte a múltiples protocolos de conectividad, como Open Client (propio de Sybase), ODBC, OLE DB, ADO.NET y JDBC. Interbase Ficha técnica o Desarrollador : Embarcadero Technologies o Última versión estable : Interbase 2009 o Sistema Operativo: Multiplataforma o Licencia: Propietaria o Sitio web http://www.embarcadero.com/products/interbase Definición Interbase es un Sistema de Administración y gestión de Base de Datos Relacionales (RDBMS) desarrollado y comercializado por la compañía Borland Software Corporation y actualmente desarrollado por su ex-filial CodeGear. Interbase se destaca de otros DBMS's por su bajo consumo de recursos, su casi nula necesidad de administración y su arquitectura multi-generacional. InterBase corre en plataformas Linux, Microsoft Windows y Solaris.
  • 16. 16 Licencia Propietario Ediciones o InterBase Server Edition. Esta versión está desarrollada para su despliegue en un servidor Windows, Linux o Solaris. o InterBase Desktop Edition. Esta versión está desarrollada para el usuario local en un entorno Windows de escritorio. o InterBase Developer Edition. Esta versión estará incluida en BDS, Delphi, C++Builder y JBuilder. Estará destinada al desarrollo de aplicaciones usando InterBase. Plataformas o Windows o Linux o Mac OS X o Solaris Características Interbase es un RDBMS que acepta el estándar SQL-92 y soporta varias interfaces de acceso como JDBC, ODBC y ADO.NET. Sin embargo, ciertas características técnicas lo distinguen de otros productos. Bajo consumo de recursos Una instalación completa del servidor de Interbase 7 requiere aproximadamente 40Mb en disco. Esto es significativamente más pequeño que la instalación del cliente de muchos servidores de base de datos de otras compañías. El servidor usa muy poca memoria mientras está ocioso. Una instalación mínima de un cliente InterBase requiere aproximadamente 400Kb de espacio en disco. Administración mínima Los servidores Interbase normalmente no requieren de administrador a tiempo completo.
  • 17. 17 Control de concurrencia Considere una simple aplicación bancaria en la que dos usuarios tienen acceso al dinero depositado en una cuenta dada. Juan lee la cuenta y encuentra que hay depositado en ella 1000 dólares, entonces saca 500 para él. Pedro lee la misma cuenta antes de que Juan la haya cambiado, él ve 1000 dólares, y saca 800 para su uso. Está de más decir que cualquier sistema de base de datos que permita el acceso a múltiples usuarios, necesita algún tipo de sistema que solucione este tipo de problemas. Las técnicas usadas para resolver este y otros problemas por el estilo son conocidos en la industria de las bases de datos como control de concurrencia. Los productos tradicionales utilizan trancas las cuales conocen cuando una transacción en particular va a modificar un registro dado. Una vez que se establece una tranca, ninguna otra transacción puede leer o modificar el dato hasta que se quite la tranca. La tranca puede bloquear un registro, una página (un conjunto de registros almacenados juntos en un mismo disco) de registros, o incluso todos los registros que necesite una transacción dada, dependiendo en la granularidad de la tranca elegida. La granularidad de una tranca se maneja entre un buen desempeño y la precisión (bloqueando toda una página de que sea actualizada, puede llevar a que se bloqueen algunos registros que otras transacciones querían actualizar y que sin embargo no van a ser utilizados por la transacción que bloqueó la página, pero el desempeño será mucho mejor al logrado con trancas al nivel de registros). Las trancas se transforman en un problema mayor cuando se combinan con otra característica común a todos los sistemas, el aislamiento de transacciones. Esto ocurre debido a que las transacciones normalmente realizan tanto lectura como escritura (en este ejemplo, para leer el valor de la cuenta y luego cambiarlo. Para poder mostrar una vista aislada de los datos, toda la transacción, incluyendo los registros leídos pero nunca escritos, debe ser trancada en muchos servidores de base de datos). Recuperación Interbase también utiliza su arquitectura multi-generacional para implementar la recuperación frente a fallas (rollback). La mayoría de los DBMS's utilizan logs para realizar esta operación, lo que puede tomar mucho tiempo e incluso necesitar de intervención manual. En cambio, la recuperación en Interbase es casi instantánea y nunca falla. Desventajas Ciertas operaciones son más difíciles de implementar en una arquitectura multi- generacional, y por lo tanto se ejecutan más lentas en comparación a otras implementaciones tradicionales. Un ejemplo es la operación de SQL COUNT. Aun
  • 18. 18 cuando esté disponible un indicie de la/las columnas incluidas en el COUNT, todos los registros deben ser visitados para comprobar si son visibles para la transacción en ejecución. SMBD libres MySQL Ficha técnica o Desarrollador : Sun Microsystems o Última versión estable : 5.1.48 o Sistema Operativo: Multiplataforma o Licencia: GPL o uso comercial o Sitio web: www.mysql.com Definición MySQL es un sistema de gestión de base de datos relacional, multihilo y multiusuario con más de seis millones de instalaciones. MySQL AB —desde enero de 2008 una subsidiaria de Sun Microsystems y ésta a su vez de Oracle Corporation desde abril de 2009— desarrolla MySQL como software libre en un esquema de licenciamiento dual. Por un lado se ofrece bajo la GNU GPL para cualquier uso compatible con esta licencia, pero para aquellas empresas que quieran incorporarlo en productos privativos deben comprar a la empresa una licencia específica que les permita este uso. Está desarrollado en su mayor parte en ANSI C. Al contrario de proyectos como Apache, donde el software es desarrollado por una comunidad pública y el copyright del código está en poder del autor individual, MySQL es propietario y está patrocinado por una empresa privada, que posee el copyright de la mayor parte del código. Esto es lo que posibilita el esquema de licenciamiento anteriormente mencionado. Además de la venta de licencias privativas, la compañía ofrece soporte y servicios. Para sus operaciones contratan trabajadores alrededor del mundo que colaboran vía Internet. MySQL AB fue fundado por David Axmark, Allan Larsson y Michael Widenius. Licencia La licencia GNU GPL de MySQL obliga a que la distribución de cualquier producto derivado (aplicación) se haga bajo esa misma licencia. Si un desarrollador desea
  • 19. 19 incorporar MySQL en su producto pero desea distribuirlo bajo otra licencia que no sea la GNU GPL, puede adquirir una licencia comercial de MySQL que le permite hacer justamente eso. Lenguajes de programación Existen varias APIs que permiten, a aplicaciones escritas en diversos lenguajes de programación, acceder a las bases de datos MySQL, incluyendo C, C++, C#, Pascal, Delphi (vía dbExpress), Eiffel, Smalltalk, Java (con una implementación nativa del driver de Java), Lisp, Perl, PHP, Python, Ruby, Gambas, REALbasic (Mac y Linux), (x) Harbour (Eagle1), FreeBASIC, y Tcl; cada uno de estos utiliza una API específica. También existe una interfaz ODBC, llamado MyODBC que permite a cualquier lenguaje de programación que soporte ODBC comunicarse con las bases de datos MySQL. También se puede acceder desde el sistema SAP, lenguaje ABAP. Plataformas MySQL funciona sobre múltiples plataformas, incluyendo: o AIX o BSD o FreeBSD o HP-UX o GNU/Linux o Mac OS X o NetBSD o Novell Netware o OpenBSD o OS/2 Warp o QNX o SGI IRIX o Solaris o SunOS o SCO OpenServer o SCO UnixWare o Tru64 o eBD o Windows o OpenVMS Características de la versión 5.0.22
  • 20. 20 o Un amplio subconjunto de ANSI SQL 99, y varias extensiones. o Soporte a multiplataforma. o Procedimientos almacenados o Disparadores (triggers). o Cursores o Vistas actualizables. o Soporte a VARCHAR o INFORMATION_SCHEMA o Modo Strict o Soporte X/Open XA de transacciones distribuidas; transacción en dos fases como parte de esto, utilizando el motor InnoDB de Oracle. o Motores de almacenamiento independientes (MyISAM para lecturas rápidas, InnoDB para transacciones e integridad referencial). o Transacciones con los motores de almacenamiento InnoDB, BDB Y Cluster; puntos de recuperación (savepoints) con InnoDB. o Soporte para SSL. o Query caching. o Sub-SELECTs (o SELECTs anidados). o Réplica con un maestro por esclavo, varios esclavos por maestro, sin soporte automático para múltiples maestros por esclavo. o indexing y búsqueda de campos de texto completos usando el motor de almacenamiento MyISAM. o Embedded database library. o Soporte completo para Unicode. o Conforme a las reglas ACID usando los motores InnoDB, BDB y Cluster. o Shared-nothing clustering through MySQL Cluster. Características adicionales o Usa GNU Automake, Autoconf, y Libtool para portabilidad. o Uso de multihilos mediante hilos del kernel. o Usa tablas en disco b-tree para búsquedas rápidas con compresión de índice o Tablas hash en memoria temporales o El código MySQL se prueba con Purify (un detector de memoria perdida comercial) así como con Valgrind, una herramienta GPL o Completo soporte para operadores y funciones en cláusulas select y where. o Completo soporte para cláusulas group by y order by, soporte de funciones de agrupación o Seguridad: ofrece un sistema de contraseñas y privilegios seguro mediante verificación basada en el host y el tráfico de contraseñas está cifrado al conectarse a un servidor. o Soporta gran cantidad de datos. MySQL Server tiene bases de datos de hasta 50 millones de registros.
  • 21. 21 o Se permiten hasta 64 índices por tabla (32 antes de MySQL 4.1.2). Cada índice puede consistir desde 1 hasta 16 columnas o partes de columnas. El máximo ancho de límite son 1000 bytes (500 antes de MySQL 4.1.2). o Los clientes se conectan al servidor MySQL usando sockets TCP/IP en cualquier plataforma. En sistemas Windows se pueden conectar usando named pipes y en sistemas Unix usando ficheros socket Unix. o En MySQL 5.0, los clientes y servidores Windows se pueden conectar usando memoria compartida. o MySQL contiene su propio paquete de pruebas de rendimiento proporcionado con el código fuente de la distribución de MySQL. Características (versión 4.0) Inicialmente, MySQL carecía de elementos considerados esenciales en las bases de datos relacionales, tales como integridad referencial y transacciones. A pesar de ello, atrajo a los desarrolladores de páginas web con contenido dinámico, justamente por su simplicidad. Poco a poco los elementos de los que carecía MySQL están siendo incorporados tanto por desarrollos internos, como por desarrolladores de software libre. Entre las características disponibles en las últimas versiones se puede destacar: o Amplio subconjunto del lenguaje SQL. Algunas extensiones son incluidas igualmente. o Disponibilidad en gran cantidad de plataformas y sistemas. o Diferentes opciones de almacenamiento según si se desea velocidad en las operaciones o el mayor número de operaciones disponibles. o Transacciones y claves foráneas. o Conectividad segura. o Replicación. o Búsqueda e indexación de campos de texto. MySQL es un sistema de administración de bases de datos. Una base de datos es una colección estructurada de tablas que contienen datos. Esta puede ser desde una simple lista de compras a una galería de pinturas o el vasto volumen de información en una red corporativa. Para agregar, acceder a y procesar datos guardados en un computador, usted necesita un administrador como MySQL Server. Dado que los computadores son muy buenos manejando grandes cantidades de información, los administradores de bases de datos juegan un papel central en computación, como aplicaciones independientes o como parte de otras aplicaciones.
  • 22. 22 MySQL es un sistema de administración relacional de bases de datos. Una base de datos relacional archiva datos en tablas separadas en vez de colocar todos los datos en un gran archivo. Esto permite velocidad y flexibilidad. Las tablas están conectadas por relaciones definidas que hacen posible combinar datos de diferentes tablas sobre pedido. MySQL es software de fuente abierta. Fuente abierta significa que es posible para cualquier persona usarlo y modificarlo. Cualquier persona puede bajar el código fuente de MySQL y usarlo sin pagar. Cualquier interesado puede estudiar el código fuente y ajustarlo a sus necesidades. MySQL usa el GPL (GNU General Public License) para definir qué puede hacer y que no puede hacer con el software en diferentes situaciones. Si usted no se ajusta al GPL o requiere introducir código MySQL en aplicaciones comerciales, usted puede comprar una versión comercial licenciada. Características distintivas Las siguientes características son implementadas únicamente por MySQL: o Múltiples motores de almacenamiento (MyISAM, Merge, InnoDB, BDB, Memory/heap, MySQL Cluster, Federated, Archive, CSV, Blackhole y Example en 5.x), permitiendo al usuario escoger la que sea más adecuada para cada tabla de la base de datos. o Agrupación de transacciones, reuniendo múltiples transacciones de varias conexiones para incrementar el número de transacciones por segundo. PostgreSQL Ficha técnica o Desarrollador : PostgreSQL Global Development Group o Última versión estable : 8.4 o Sistema Operativo: Multiplataforma o Licencia: BSD o Sitio web: www.postgresql.org Definición PostgreSQL es un sistema de gestión de base de datos relacional orientada a objetos y libre, publicado bajo la licencia BSD.
  • 23. 23 Como muchos otros proyectos de código abierto, el desarrollo de PostgreSQL no es manejado por una sola empresa sino que es dirigido por una comunidad de desarrolladores y organizaciones comerciales las cuales trabajan en su desarrollo. Dicha comunidad es denominada el PGDG (PostgreSQL Global Development Group). Licencia BSD Lenguajes de programación Algunos de los lenguajes que se pueden usar son los siguientes: o Un lenguaje propio llamado PL/PgSQL (similar al PL/SQL de Oracle). o C. o C++. o Java PL/Java web. o PL/Perl. o Pl/PHP. o PL/Python. o PL/Ruby. o PL/sh. o PL/Tcl. o PL/Scheme. o Lenguaje para aplicaciones estadísticas R por medio de PL/R. Plataformas Se puede ejecutar en la gran mayoría de sistemas operativos existentes en la actualidad, entre ellos Linux y UNIX en todas sus variantes (AIX, BSD, HP-UX, SGI IRIX, Mac OS X, Solaris, Tru64) y Windows. Características Algunas de sus principales características son, entre otras: 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. Cada usuario
  • 24. 24 obtiene una visión consistente de lo último a lo que se le hizo commit. Esta estrategia es superior al uso de bloqueos por tabla o por filas común en otras bases, eliminando la necesidad del uso de bloqueos explícitos. Amplia variedad de tipos nativos: PostgreSQL provee nativamente soporte para: o Números de precisión arbitraria. o Texto de largo ilimitado. o Figuras geométricas (con una variedad de funciones asociadas) o Direcciones IP (IPv4 e IPv6). o Bloques de direcciones estilo CIDR. o Direcciones MAC. o Arrays. Adicionalmente los usuarios pueden crear sus propios tipos de datos, los que pueden ser por completo indexables gracias a la infraestructura GiST de PostgreSQL. Algunos ejemplos son los tipos de datos GIS creados por el proyecto PostGIS. Otras características  Claves ajenas también denominadas Llaves ajenas o Claves Foráneas (foreign keys).  Disparadores (triggers): Un disparador o trigger se define en una acción específica basada en algo ocurrente dentro de la base de datos. En PostgreSQL esto significa la ejecución de un procedimiento almacenado basado en una determinada acción sobre una tabla específica. Ahora todos los disparadores se definen por seis características: o El nombre del disparador o trigger o El momento en que el disparador debe arrancar o El evento del disparador deberá activarse sobre... o La tabla donde el disparador se activará o La frecuencia de la ejecución o La función que podría ser llamada Entonces combinando estas seis características, PostgreSQL le permitirá crear una amplia funcionalidad a través de su sistema de activación de disparadores (triggers). o Vistas. o Integridad transaccional. o Herencia de tablas. o Tipos de datos y operaciones geométricas. o Soporte para transacciones distribuidas
  • 25. 25 Firebird Ficha técnica o Desarrollador : Firebird Project o Última versión estable : 2.1.3 o Sistema Operativo: Multiplataforma o Licencia: IPL, IDPL o Sitio web: www.firebirdsql.org Definición Firebird es un sistema de administración de base de datos relacional (o RDBMS) (Lenguaje consultas: SQL) de código abierto, basado en la versión 6 de Interbase, cuyo código fue liberado por Borland en 2000. Su código fue reescrito de C a C++. El proyecto se desarrolla activamente, el 18 de abril de 2008 fue liberada la versión 2.1 y el 26 de diciembre de 2009 fue liberada la versión 2.5.0 RC1. Los objetivos de la Fundación FirebirdSQL son: o Apoyar y lograr el avance del manejador de base de datos relacional Firebird o Proveer los mecanismos e infraestructura no comerciales para aceptar y administrar los fondos recaudados, e invertir tales fondos para promover el esfuerzo del desarrollo de esta base de datos o Fomentar la cooperación y la afiliación de individuos, organizaciones sin fines de lucro y compañías comerciales involucradas o que estén planeando estar involucradas en el desarrollo, apoyo y promoción de los proyectos de software de Firebird y sus productos y actividades asociadas. Licencia IPL: Es una licencia de software libre que es esencialmente igual a la Licencia Pública de Mozilla, versión 1.1. Al igual que ésta, la IPL tiene algunas restricciones complejas que la hacen incompatible con la GNU GPL. IDPL: Initial Developer's PUBLIC LICENSE. Lenguajes de programación o PHP o Phyton
  • 26. 26 o Perl o C++ o .Net Provider o Java Plataformas Firebird soporta un número grande de plataformas de software y hardware: Windows, Linux, MacOS, HP-UX, AIX, Solaris y más. Funciona en x386, x64 y PowerPC, Sparc y otras plataformas de hardware, y cuenta con un mecanismo de fácil migración entre tales plataformas. Una de las características claves de Firebird es su arquitectura multigeneracional, que permite el desarrollo y soporte de aplicaciones híbridas OLTP y OLAP. Características o Ejecutable pequeño, con requerimientos de hardware bajos. o Arquitectura Cliente/Servidor sobre protocolo TCP/IP y otros (embedded). o Soporte de transacciones ACID y claves foráneas. o Es medianamente escalable. o Buena seguridad basada en usuarios/roles. o Diferentes arquitecturas, entre ellas el Servidor Embebido (embedded server) que permite ejecutar aplicaciones monousuario en ordenadores sin instalar el software Firebird. o Bases de datos de sólo lectura, para aplicaciones que corran desde dispositivos sin capacidad de escritura, como cd-roms. o Existencia de controladores ODBC, OLEDB, JDBC, PHP, Perl, .net, etc. o Requisitos de administración bajos, siendo considerada como una base de datos libre de mantenimiento, al margen de la realización de copias de seguridad. o Pleno soporte del estándar SQL-92, tanto de sintaxis como de tipos de datos. o Completo lenguaje para la escritura de disparadores y procedimientos almacenados denominado PSQL. o Capacidad de almacenar elementos BLOB (Binary Large OBjects). o Soporte de User-Defined Functions (UDFs). o Versión autoejecutable, sin instalación, excelente para la creación de catálogos en CD-Rom y para crear versiones de evaluación de algunas aplicaciones.
  • 27. 27 SQLite Ficha técnica o Desarrollador : D. Richard Hipp o Última versión estable : 3.7.2 o Sistema Operativo: Multiplataforma o Licencia: Dominio público o Sitio web: http://www.sqlite.org/ Definición SQLite es un sistema de gestión de bases de datos relacional compatible con ACID, contenida en una relativamente pequeña (~275 kiB) biblioteca en C. SQLite es un proyecto de dominio público creado por D. Richard Hipp. A diferencia de los sistemas 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. El conjunto de la base de datos (definiciones, tablas, índices, y los propios datos), son guardados como un sólo fichero estándar en la máquina host. Este diseño simple se logra bloqueando todo el fichero de base de datos al principio de cada transacción. En su versión 3, SQLite permite bases de datos de hasta 2 Terabytes de tamaño, y también permite la inclusión de campos tipo BLOB. El autor de SQLite ofrece formación, contratos de soporte técnico y características adicionales como compresión y cifrado. Licencia Estar en el dominio público no es una licencia. Al contrario, esto significa que el contenido en cuestión no está protegido y no necesita licencia. En la práctica, si un trabajo está en el dominio público, es como si tuviera una licencia de software libre totalmente permisiva y sin copyleft. La presencia en el dominio público es compatible con la GNU GPL.
  • 28. 28 Lenguajes de programación o La biblioteca puede ser usada desde programas en C/C++, aunque enlaces para Tcl y muchos otros lenguajes de programación interpretado están disponibles. o 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. o Existe un módulo DBI/DBD para Perl disponible en CPAN, DBD: SQLite, no es una interface para SQLite, sino que incluye el motor completo de SQLite en sí mismo por lo cual no necesita ningún software adicional. o Hay también un módulo para Python llamado PySQLite. o Hay otro módulo para Visual Basic 6 llamado VBSqlite. o Desde Delphi se puede usar SQLite a través de los componentes libres ZeosLib. o PHP incluye SQLite, desde la versión 5. SQLite también funciona con PHP 4 pero no viene incluido en él. Para más detalles vea el manual y PECL info. o Desde Java se puede acceder mediante el driver de SQLiteJDBC. o Desde Lazarus 0.9.8 y Free Pascal 2.0.0, SQLite está disponibles para programadores de Pascal. o Mac OS X v10.4 incluye SQLite, y es una de las opciones en la Core Data API de Apple. AppleScript puede abrir, crear, y manipular base de datos SQLite por medio de la aplicación de ayuda "Database Events" de Mac OS X 10.4. o BlitzMAX posee un MOD que permite trabajar con bases de datos SQLite. o El componente de base de datos (gb.db) de Gambas soporta SQLite en sus versiones 1, 2 y 3 o El lenguaje de programación de vídeo juegos Bennu tiene un mod de SQlite disponible Plataformas o Windows o Linux o Mac OS X o BSD
  • 29. 29 Características La biblioteca implementa la mayor parte del estándar SQL-92, incluyendo transacciones de base de datos atómicas, consistencia de base de datos, aislamiento, y durabilidad (ACID), triggers y la mayor parte de las consultas complejas. 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, sobre todo al ser utilizada desde un lenguaje de scripting de tipos dinámicos. 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. Un acceso de escritura sólo puede ser servido si no se está sirviendo ningún otro acceso concurrentemente. En caso contrario, el acceso de escritura falla devolviendo un código de error (o puede automáticamente reintentarse hasta que expira un timeout configurable). Esta situación de acceso concurrente podría cambiar cuando se está trabajando con tablas temporales. Sin embargo, podría producirse un deadlock debido al multithread. Este punto fue tratado en la versión 3.3.4, desarrollada el 11 de febrero de 2006. Existe un programa independiente de nombre sqlite que puede ser utilizado para consultar y gestionar los ficheros de base de datos SQLite. También sirve como ejemplo para la escritura de aplicaciones utilizando la biblioteca SQLite.
  • 30. 30 Conclusión Los SMBD son herramientas muy útiles y potentes para el manejo y resguardo de la información de las organizaciones. Con esto nos percatamos que existe una gran variedad de SMBD, tanto propietarios como libres, además de las fortalezas y debilidades de estos. Nos pudimos dar cuenta que no hay grandes diferencias entre los SMBD propietarios y los libres y que ambas opciones pueden ser viables para cualquier proyecto, ya sea grande o pequeño.
  • 31. 31 Bibliografía  Cohen, Daniel. Sistemas de información para la toma de decisiones. McGraw Hill Fuentes Electrónicas  http://es.wikipedia.org/wiki/Base_de_datos_relacional#Manejadores_de_ba se_de_datos_relacionales  http://es.wikipedia.org/wiki/C%C3%B3digo_abierto  http://es.wikipedia.org/wiki/Firebird  http://es.wikipedia.org/wiki/Interbase  http://es.wikipedia.org/wiki/Microsoft_SQL_Server  http://es.wikipedia.org/wiki/MySQL  http://es.wikipedia.org/wiki/Oracle  http://es.wikipedia.org/wiki/PostgreSQL  http://sistemas.itlp.edu.mx/tutoriales/basedat1/tema1_9.htm  http://www.mailxmail.com/curso-procesamiento-datos-oracle/sistema- manejador-base-datos  http://www.monografias.com/trabajos12/basdat/basdat.shtml  http://www.monografias.com/trabajos24/oracle/oracle.shtml  http://www.unalmed.edu.co/~mstabare/Dbms.htm

×