41
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ú 1 UNIVERSIDAD VERACRUZANA

SMBD

  • Upload
    danyg88

  • View
    757

  • Download
    0

Embed Size (px)

Citation preview

Page 1: SMBD

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ú

1

UNIVERSIDAD VERACRUZANA

Page 2: SMBD

INTRODUCCIÓN................................................................................................................................. 4

SISTEMAS MANEJADORES DE BASE DE DATOS........................................................................5

DEFINICIÓN...................................................................................................................................... 5PROPÓSITO...................................................................................................................................... 5OBJETIVO......................................................................................................................................... 5VENTAJAS........................................................................................................................................ 6DESVENTAJAS.................................................................................................................................. 6PRODUCTOS DISPONIBLES EN EL MERCADO.......................................................................................8

SMBD Propietarios.....................................................................................................................8SMBD Libres.............................................................................................................................. 8SMBD No libres y gratuitos........................................................................................................8

PROPUESTA DE ESTUDIO..................................................................................................................9SMBD Propietarios.....................................................................................................................9

Oracle..................................................................................................................................... 9Ficha Técnica..................................................................................................................... 9Definición............................................................................................................................ 9Licencia.............................................................................................................................. 9Ediciones............................................................................................................................ 9Lenguajes de programación.............................................................................................10Plataformas...................................................................................................................... 10Características.................................................................................................................. 10

Microsoft SQL Server...........................................................................................................11Ficha Técnica...................................................................................................................11Definición.......................................................................................................................... 11Licencia............................................................................................................................ 11Ediciones.......................................................................................................................... 11Lenguajes de programación.............................................................................................11Plataformas...................................................................................................................... 12Características.................................................................................................................. 12

Sybase ASE......................................................................................................................... 13Ficha Técnica...................................................................................................................13Definición.......................................................................................................................... 13Licencia............................................................................................................................ 13Ediciones.......................................................................................................................... 13Lenguajes de programación.............................................................................................14Plataformas...................................................................................................................... 14Características.................................................................................................................. 14

Interbase............................................................................................................................... 15Ficha técnica.................................................................................................................... 15Definición.......................................................................................................................... 15Licencia............................................................................................................................ 16Ediciones.......................................................................................................................... 16Plataformas...................................................................................................................... 16Características.................................................................................................................. 16

SMBD libres............................................................................................................................. 18MySQL................................................................................................................................. 18

Ficha técnica.................................................................................................................... 18Definición.......................................................................................................................... 18

2

Page 3: SMBD

Licencia............................................................................................................................ 18Lenguajes de programación.............................................................................................19Plataformas...................................................................................................................... 19Características de la versión 5.0.22..................................................................................19Características adicionales...............................................................................................20Características (versión 4.0).............................................................................................21Características distintivas.................................................................................................22

PostgreSQL.......................................................................................................................... 22Ficha técnica.................................................................................................................... 22Definición.......................................................................................................................... 22Licencia............................................................................................................................ 23Lenguajes de programación.............................................................................................23Plataformas...................................................................................................................... 23Características.................................................................................................................. 23Otras características.........................................................................................................24

Firebird................................................................................................................................. 25Ficha técnica.................................................................................................................... 25Definición.......................................................................................................................... 25Licencia............................................................................................................................ 25Lenguajes de programación.............................................................................................25Plataformas...................................................................................................................... 26Características.................................................................................................................. 26

SQLite.................................................................................................................................. 27Ficha técnica.................................................................................................................... 27Definición.......................................................................................................................... 27Licencia............................................................................................................................ 27Lenguajes de programación.............................................................................................27Plataformas...................................................................................................................... 28Características.................................................................................................................. 28

CONCLUSIÓN.................................................................................................................................. 30BIBLIOGRAFÍA................................................................................................................................. 31

Fuentes Electrónicas................................................................................................................31

3

Page 4: SMBD

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 Oracleo Microsoft SQL Server o Sybase ASEo Interbaseo MySqlo PostgreSQLo 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.

4

Page 5: SMBD

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

5

Page 6: SMBD

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.

6

Page 7: SMBD

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.

7

Page 8: SMBD

Productos disponibles en 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

8

Page 9: SMBD

Propuesta de estudio

SMBD Propietarios

Oracle

Ficha Técnica

o Desarrollador : Oracle Corporationo Última versión estable : 11g Release 2: 11.2.0.1o 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 transaccioneso Estabilidado Escalabilidado 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).

9

Page 10: SMBD

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 Windowso Linuxo 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

10

Page 11: SMBD

Microsoft SQL Server

Ficha Técnica

o Desarrollador : Microsofto Ú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

11

Page 12: SMBD

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 seguridado 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

12

Page 13: SMBD

desarrollo (VBA Access), a través de la implementación de aplicaciones de dos capas mediante el uso de formularios Windows.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: Multiplataformao 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 segurao Tener acceso y procesar datos de manera inteligenteo 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.

13

Page 14: SMBD

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.

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 PowerBuildero Visual Basico Javao Co PHP

Plataformas

ASE está soportado para la mayoría de plataformas comerciales, incluyendo:

o Windowso Linuxo Sun Solariso IBM AIXo HP-UXo Mac OSo Silicon Graphics IRIXo 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

14

Page 15: SMBD

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.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 Webo Herramientas mejoradas para la administración y el monitoreoo Más rendimiento y menor costo total de propiedad

Otras características generales:

o Arquitectura VSA de Sybaseo Administrador lógico de recursos y tareaso Múltiples esquemas de bloqueo de datoso Copias de respaldo en línea y de alto rendimientoo Integración transparente con orígenes de datos remotoso Programador de tareas.o Conexiones seguras con SSLo Soporte a LDAP para autenticación de usuarios y conectividad

cliente/servidoro 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 Technologieso Última versión estable : Interbase 2009o Sistema Operativo: Multiplataformao Licencia: Propietariao Sitio web http://www.embarcadero.com/products/interbase

Definición

15

Page 16: SMBD

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.

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 Windowso Linuxo Mac OS Xo 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

16

Page 17: SMBD

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.

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

17

Page 18: SMBD

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 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 Microsystemso Última versión estable : 5.1.48o Sistema Operativo: Multiplataformao Licencia: GPL o uso comercialo 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.

18

Page 19: SMBD

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 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 AIXo BSDo FreeBSDo HP-UXo GNU/Linuxo Mac OS Xo NetBSDo Novell Netwareo OpenBSDo OS/2 Warpo QNXo SGI IRIXo Solariso SunOS

19

Page 20: SMBD

o SCO OpenServero SCO UnixWareo Tru64o eBDo Windowso OpenVMS

Características de la versión 5.0.22

o Un amplio subconjunto de ANSI SQL 99, y varias extensiones.o Soporte a multiplataforma.o Procedimientos almacenadoso Disparadores (triggers).o Cursoreso Vistas actualizables.o Soporte a VARCHARo INFORMATION_SCHEMAo Modo Stricto 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.

20

Page 21: SMBD

o Usa tablas en disco b-tree para búsquedas rápidas con compresión de índice

o Tablas hash en memoria temporaleso El código MySQL se prueba con Purify (un detector de memoria perdida

comercial) así como con Valgrind, una herramienta GPLo 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óno 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.

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.

21

Page 22: SMBD

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.

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

22

Page 23: SMBD

o Desarrollador : PostgreSQL Global Development Groupo Última versión estable : 8.4o Sistema Operativo: Multiplataformao Licencia: BSDo 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.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.

23

Page 24: SMBD

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

24

Page 25: SMBD

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 triggero El momento en que el disparador debe arrancaro El evento del disparador deberá activarse sobre...o La tabla donde el disparador se activaráo La frecuencia de la ejecucióno 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

Firebird

Ficha técnica

o Desarrollador : Firebird Projecto Última versión estable : 2.1.3o Sistema Operativo: Multiplataformao Licencia: IPL, IDPLo 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

25

Page 26: SMBD

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 PHPo Phytono Perlo C++o .Net Providero 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.

26

Page 27: SMBD

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.

SQLite

Ficha técnica

o Desarrollador : D. Richard Hippo Última versión estable : 3.7.2o Sistema Operativo: Multiplataformao Licencia: Dominio públicoo 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

27

Page 28: SMBD

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.

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.

28

Page 29: SMBD

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 3o El lenguaje de programación de vídeo juegos Bennu tiene un mod de SQlite

disponible

Plataformas

o Windowso Linuxo Mac OS Xo BSD

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

29

Page 30: SMBD

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.

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.

30

Page 31: SMBD

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

31

Page 32: SMBD

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

32