SlideShare uma empresa Scribd logo
1 de 23
23




                   Universidad Veracruzana
        Lic. Sistemas Computacionales Administrativos.


                          Alumnos:
                 Díaz Rosas Marcos Alberto
                   Padilla Bautista Gisela
               Armas Molina Andrés Alejandro


                       Investigación:
       Sistemas manejadores de bases de datos (SMBD)


                          Materia:
                       Bases de datos.


                         Catedrático:
               Dr. Carlos Arturo Torres Gastelú.


                    30 de agosto de 2010.




SMBD                                   Equipo 1
Índice
Índice.........................................................................................................................2
Introducción...............................................................................................................3
   1.1.- El lenguaje de definición de datos (DDL)......................................................................4
   1.2.- El lenguaje de manipulación de datos (DML)...............................................................4
   1.3.- El lenguaje Estructurado de consulta (SQL).................................................................4
   1.4.-Objetivos de un SMBD..................................................................................................5

2.- Sistemas Manejadores de Bases de Datos de Código Abierto................................6                                                23
   2.1.- SQLite..........................................................................................................................6
   2.2.- MySQL.........................................................................................................................8
   2.3.- Firebird......................................................................................................................10
   2.4.- Postgre SQL................................................................................................................12

3.- Sistemas Manejadores de Bases de Datos Propietarios.......................................14
   3.1.- Microsoft SQL Server.................................................................................................14
   3.2.- Oracle........................................................................................................................16
   3.3.-Interbase....................................................................................................................17
   3.4.- PervasiveSQL.............................................................................................................18

4.- Sistemas Manejadores de Bases de Datos en Web..............................................19
   4.1.- Apache Derby.............................................................................................................19

5.- Sitios web que ofrecen versiones gratuitas y/o académicas................................20
Conclusión...............................................................................................................21
Bibliografía..............................................................................................................22




SMBD                                                                                Equipo 1
Introducción.

Después de los 60’s en las tecnologías de la información se dio un
giro en la manera en que los sistemas de archivos, los cuales se
limitaban a la estructuración del almacenamiento físico de los datos.
Con los sistemas manejadores de bases de datos se crea el
concepto de administración de los datos, por medio de actividades
integradas que permiten verlos físicamente en un solo
almacenamiento pero lógicamente se manipulan a través de
esquemas compuesto por estructuras donde se               establecen    23
vínculos de integridad, métodos de acceso y organización física
sobre los datos, permitiendo así obtener valores agregados de
utilización tales como: manejo de usuarios, seguridad, atomicidad e
independencia física y lógica de los datos, entre otros.
Las bases de datos son sistemas que guardan la información de
una o más empresas para que estas puedan ser utilizadas cuando
el usuario así lo desee, y son de gran relevancia porque
automatizan la prevención de errores y son eficaces en el tiempo.
Los sistemas manejadores de base de datos) se han incrementado
en los últimos años de forma drástica, pues claro está que cada vez
más empresas requieren de software para registrar sus datos.
Los sistemas manejadores de bases de datos presentan además
una interfaz razonable y comprensible para cualquier usuario,
debemos mencionar que hay distintos gestores de base de datos,
entre ellos se encuentran los de código libre, es decir, pueden ser
usados de forma gratuita, los que requieren una licencia comercial,
así como los que se pueden usar en forma de software de
instalación, u otros que su utilizan desde un navegador
predeterminado.
A continuación describiremos algunos de los sistemas manejadores
de bases de datos más relevantes.




SMBD                                      Equipo 1
1.-Sistemas Manejadores de Bases de Datos

El sistema manejador de bases de datos es esencial para el adecuado
funcionamiento y manipulación de los datos contenidos en la base. Se puede
definir como: "El Conjunto de programas, procedimientos, lenguajes, etc. que
suministra, tanto a los usuarios no informáticos como a los analistas,
programadores o al administrador, los medios necesarios para describir,
recuperar y manipular los datos almacenados en la base, manteniendo su
integridad, confidencialidad y seguridad".

Se compone de un lenguaje de definición de datos (DDL: Data Definition
Language), de un lenguaje de manipulación de datos (DML: Data Manipulation           23
Language) y de un lenguaje de consulta (SQL: Structured Query Language).

1.1.- El lenguaje de definición de datos (DDL)

Es utilizado para describir todas las estructuras de información y los programas
que se usan para construir, actualizar e introducir la información que contiene
una base de datos. El DDL permite al administrador de la base especificar los
elementos de datos que la integran , su estructura y las relaciones que existen
entre ellos, las reglas de integridad, los controles a efectuar antes de autorizar
el acceso a la base.

1.2.- El lenguaje de manipulación de datos (DML)

Es utilizado para escribir programas que crean, actualizan y extraen
información de las bases de datos. Siempre de acuerdo con las
especificaciones y las normas de seguridad dictadas por al administrador.
Un lenguaje de manipulación de datos es un lenguaje que permite a los
usuarios acceder o manipular los datos organizados mediante el modelo de
datos apropiado. Hay dos tipos básicamente:


   •   DMLs procedimentales. Requieren que el usuario especifique qué datos
       se necesitan y cómo obtener esos datos.
   •   DMLs declarativos (o no procedimentales). Requiere que el usuario
       especifique qué datos se necesitan sin especificar cómo obtener esos
       datos.

1.3.- El lenguaje Estructurado de consulta (SQL)

Sublenguaje de base de datos utilizado en la consulta, actualización y gestión
de base de datos relacionales. Es el estándar de facto para los productos de
base de datos.
Una consulta es una instrucción de solicitud para recuperar información. La
parte de un DML se llama lenguaje de consultas.

Ejemplo:

Select nombre, dirección


SMBD                                              Equipo 1
From cliente
Where id cliente = 2

La secuencia conceptual de operaciones que ocurren para acceder cierta
información que contiene una base de datos es la siguiente:}

   •   El usuario solicita cierta información contenida en la base de datos.
   •   El DBMS intercepta este requerimiento y lo interpreta.
   •   El DBMS realiza las operaciones necesarias para acceder y/o actualizar
       la información         solicitada.

El sistema manejador de bases de datos es la porción más importante del         23
software de un sistema de base de datos. Un SMBD es una colección de
numerosas rutinas de software interrelacionadas, cada una de las cuales es
responsable de alguna tarea específica.

1.4.-Objetivos de un SMBD.

   • 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 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.
También debe permitir:




SMBD                                           Equipo 1
•   Definir una base de datos: especificar tipos, estructuras y restricciones
       de datos.
   •   Construir la base de datos: guardar los datos en algún medio controlado
       por el mismo SGBD
   •   Manipular la base de datos: realizar consultas, actualizarla, generar
       informes.




                                                                                   23




2.- Sistemas Manejadores de Bases de Datos de Código Abierto.

2.1.- SQLite

                              SQLite es un sistema de gestión de bases de
                              datos relacional compatible con ACID, y que está



SMBD                                             Equipo 1
contenida en una relativamente pequeña (~225 kB1 ) 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 base 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   23
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.
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.




Autor(es)                 D. Richard Hipp
Versión estable           3.6.18 / 2009-09-11
Lenguaje               de C
programación
Sistema operativo           MULTIPLATAFORMA


SMBD                                            Equipo 1
Sitio web                   www.sqlite.org


2.2.- MySQL

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

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 (via dbExpress), Eiffel, Smalltalk, Java (con una
implementación nativa del driver de Java), Lisp, Perl, PHP, Python,
Ruby,Gambas, REALbasic (Mac), (x)Harbour (Eagle1), FreeBASIC, y Tcl; cada
uno de estos utiliza una API específica. También existe un 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.

Aplicaciones

MySQL es muy utilizado en aplicaciones web, como Drupal o phpBB, en
plataformas      (Linux/Windows-Apache-MySQL-PHP/Perl/Python),         y    por
herramientas de seguimiento de errores como Bugzilla. Su popularidad como
aplicación web está muy ligada a PHP, que a menudo aparece en combinación
con MySQL. MySQL es una base de datos muy rápida en la lectura cuando
utiliza el motor no transaccional MyISAM, pero puede provocar problemas de
integridad en entornos de alta concurrencia en la modificación. En aplicaciones


SMBD                                            Equipo 1
web hay baja concurrencia en la modificación de datos y en cambio el entorno
es intensivo en lectura de datos, lo que hace a MySQL ideal para este tipo de
aplicaciones.

Especificaciones
Plataformas

MySQL funciona sobre múltiples plataformas, incluyendo:
   AIX
   BSD
   FreeBSD
   HP-UX                                                                       23
   GNU/Linux
   Mac OS X
   NetBSD
   Novell Netware
   OpenBSD
   OS/2 Warp
   QNX
   SGI IRIX
   Solaris
   SunOS
   SCO OpenServer
   SCO UnixWare
   Tru64
   eBD
   Windows 95, Windows 98, Windows NT, Windows 2000, Windows
    XP, Windows Vista, Windows 7 y Windows Server (2000, 2003 y 2008).
   OpenVMS9



Windows 95, Windows 98, Windows NT, Windows 2000, Windows XP,
Windows Vista y otras versiones de Windows.
Características distintivas

Las siguientes características son implementadas únicamente por MySQL:

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.
Agrupación de transacciones, reuniendo múltiples transacciones de varias
conexiones para incrementar el número de transacciones por segundo.

Tipos de compilación del servidor

Hay tres tipos de compilación del servidor MySQL:
Estándar




SMBD                                           Equipo 1
Los binarios estándar de MySQL son los recomendados para la mayoría de los
usuarios, e incluyen el motor de almacenamiento InnoDB.

Max

Los binarios incluyen características adicionales que no han sido lo bastante
probadas o que normalmente no son necesarias.

MySQL-Debug

Son binarios que han sido compilados con información de depuración extra. No
debe ser usada en sistemas en producción porqué el código de depuración            23
puede reducir el rendimiento.




Autor(es)                   MySQL AB
Versión estable             5.1.38 (2009-09-04)
Lenguaje                 de C, C++
programación
Sistema operativo            MULTIPLATAFORMA
Sitio web                    www.mysql.com



2.3.- Firebird
                      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 y el 18 de abril de 2008 fue liberada la
                      versión 2.1.

A finales de la década de 1990, Borland decidió liberar el código de Interbase.
Diversos integrantes de la plantilla crearon una nueva empresa denominada
IBPhoenix, y junto a otros desarrolladores independientes, crearon el fork ahora
conocido como Firebird. Más tarde, Borland decidiría volver a privatizar
Interbase y comercializar sus licencias. Sin embargo, Firebird sigue siendo un
proyecto de código abierto bajo una licencia similar a la MPL (Mozilla Public
License).

Características principales de Firebird:




SMBD                                              Equipo 1
•   Es multiplataforma, y actualmente puede ejecutarse en los sistemas
       operativos: Linux, HP-UX, FreeBSD, Mac OS, Solaris y Microsoft
       Windows.
   •   Ejecutable pequeño, con requerimientos de hardware bajos.
   •   Arquitectura Cliente/Servidor sobre protocolo TCP/IP y otros (embedded).
   •   Soporte de transacciones ACID y claves foráneas.
   •   Es medianamente escalable.
   •   Buena seguridad basada en usuarios/roles.
   •   Diferentes arquitecturas, entre ellas el Firebird incrustado (embedded
       server) que permite ejecutar aplicaciones mono usuario en ordenadores
       sin instalar el software Firebird.
   •   Bases de datos de sólo lectura, para aplicaciones que corran desde           23
       dispositivos sin capacidad de escritura, como cd-roms.
   •   Existencia de controladores ODBC, OLEDB, JDBC, PHP, Perl, .net, etc.
   •   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.
   •   Pleno soporte del estándar SQL-92, tanto de sintaxis como de tipos de
       datos.
   •   Completo lenguaje para la escritura de disparadores y procedimientos
       almacenados denominado PSQL.
   •   Capacidad de almacenar elementos BLOB (Binary Large OBjects).
   •   Soporte de User-Defined Functions (UDFs).

Existen dos tipos de servidor Firebird para ser instalados: Classic y Super
server. Si bien tienen varias diferencias menores entre si, la principal consiste
en que el super server maneja hilos de ejecución individuales para cada
conexión. Por lo tanto para un número reducido de conexiones el recomendado
sería el classic porque consumirá menor cantidad de recursos.

En caso de arquitecturas SMP, se debe utilizar el servidor classic porque el
Supersever no tiene soporte para este tipo de arquitectura.

Los propios desarrolladores de Firebird recomiendan lo siguiente a la hora de
decidirse por uno de estos servidores:

          •   En plataformas Windows seleccionar el Superserver.
          •   En Linux simplemente elegir cualquiera, según las conexiones
              estimadas. En la mayoría de las situaciones no se notará
              diferencias en la ejecución.

Podría considerarse un tercer tipo, el Embedded. Éste consiste en una única
bibliotéca de enlace dinámico DLL (de unos 2 MB de tamaño) que contiene
todo el servidor. De esta forma se puede tener un DBMS completo disponible y
distribuíble junto con aplicaciones de usuario sin requerir que este se instale
por separado.

En abril de 2003, la Fundación Mozilla decidió renombrar su navegador web de
Phoenix a Firebird. Esta decisión causó gran preocupación en lo que se refería
al proyecto para bases de datos Firebird, debido a que se asumía que los


SMBD                                             Equipo 1
usuarios se confundirían entre la base de datos y el navegador web porque
estos llevarían el mismo nombre. La disputa continuó hasta que los
desarrolladores de Mozilla firmaron una constancia dejando en claro que el
nombre Firebird era en realidad Mozilla Firebird. La constancia también dejaba
en claro que el nombre Mozilla Firebird era el nombre código del proyecto. El 9
de febrero del 2004, Mozilla renombró a su navegador como Mozilla Firefox,
para así evitar cualquier tipo de confusión.




                                                                                   23

Autor(es)                 Firebird Project
Versión estable           2.1.3 / 2009-09-08
Lenguaje               de C++
programación
Sistema operativo           MULTIPLATAFORMA
Sitio web                   http://www.firebirdsql.org/



2.4.- Postgre SQL


                         PostgreSQL es un sistema de gestión de base de
                         datos relacional orientada a objetos de software libre,
                         publicado bajo la licencia BSD.

                      Como muchos otros proyectos open source, el
                      desarrollo de PostgreSQL no es manejado por una
                      sola compañía 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).

El uso de caracteres en mayúscula en el nombre PostgreSQL puede confundir
a algunas personas a primera vista. Las distintas pronunciaciones de "SQL"
pueden llevar a confusión. Los desarrolladores de PostgreSQL lo pronuncian
/poːst ɡɹɛs kjuː ɛl/;. Es también común oír abreviadamente como simplemente
"Postgres", el que fue su nombre original. Debido a su soporte del estándar
SQL entre la mayor parte de bases de datos relacionales, la comunidad
consideró cambiar el nombre al anterior Postgres. Sin embargo, el PostgreSQL
Core Team anunció en 2007 que el producto seguiría llamándose PostgreSQL.
El nombre hace referencia a los orígenes del proyecto como la base de datos
"post-Ingres", y los autores originales también desarrollaron la base de datos
Ingres.



SMBD                                             Equipo 1
PostgreSQL ha tenido una larga evolución, la cual se inicia en 1982 con el
proyecto Ingres en la Universidad de Berkeley. Este proyecto, liderado por
Michael Stonebraker, fue uno de los primeros intentos en implementar un motor
de base de datos relacional. Después de haber trabajado un largo tiempo en
Ingres y de haber tenido una experiencia comercial con el mismo, Michael
decidió volver a la Universidad en 1985 para trabajar en un nuevo proyecto
sobre la experiencia de Ingres, dicho proyecto fue llamado post-ingres o
simplemente POSTGRES.

El proyecto post-ingres pretendía resolver los problemas con el modelo de base
de datos relacional que habían sido aclarados a comienzos de los años 1980.
El principal de estos problemas era la incapacidad del modelo relacional de       23
comprender "tipos", es decir, combinaciones de datos simples que conforman
una única unidad. Actualmente estos son llamados objetos. Se esforzaron en
introducir la menor cantidad posible de funcionalidades para completar el
soporte de tipos. Estas funcionalidades incluían la habilidad de definir tipos,
pero también la habilidad de describir relaciones - las cuales hasta ese
momento eran ampliamente utilizadas pero mantenidas completamente por el
usuario. En Postgres la base de datos «comprendía» las relaciones y podía
obtener información de tablas relacionadas utilizando reglas. Postgres usó
muchas ideas de Ingres pero no su código.

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.

PostgreSQL provee nativamente soporte para:

   •   Números de precisión arbitraria.
   •   Texto de largo ilimitado.
   •   Figuras geométricas (con una variedad de funciones asociadas)
   •   Direcciones IP (IPv4 e IPv6).
   •   Bloques de direcciones estilo CIDR.
   •   Direcciones MAC.
   •   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.




SMBD                                            Equipo 1
Autor(es)                PostgreSQL Global Development Group
Versión estable          8.4.1 / 2009-09-08
Lenguaje              de C
programación
Sistema operativo         MULTIPLATAFORMA
Sitio web                 http://www.postgresql.org/                          23




3.- Sistemas Manejadores de Bases de Datos Propietarios.

3.1.- Microsoft SQL Server.

                                 Microsoft SQL Server 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.


SMBD                                          Equipo 1
Características de Microsoft SQL Server

   •   Soporte de transacciones.
   •   Escalabilidad, estabilidad y seguridad.
   •   Soporta procedimientos almacenados.
   •   Incluye también un potente entorno gráfico de administración, que
       permite el uso de comandos DDL y DML gráficamente.
    • 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   23
       a la información.
    • 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
versiónes 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.
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.




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



SMBD                                              Equipo 1
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 asincrónas, 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       23
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.

Desventajas

   •   MSSQL usa Address Windowing Extensión (AWE) para hacer el
       direccionamiento de 64-bit. Esto le impide usar la administración
       dinámica de memoria y sólo le permite alojar un máximo de 64GB de
       memoria compartida.
   •   MSSQL no maneja compresión de datos (en SQL Server 2005 y 2000,
       solamente la versión 2008 Enterprise Edition incluye esta característica),
       por lo que ocupa mucho espacio en disco.
   •   MSSQL está atado a la plataforma del sistema operativo sobre la cual se
       instala.




3.2.- Oracle




Oracle es un sistema de gestión de base de datos relacional (o RDBMS por el
acrónimo en inglés de Relational Data Base Management System),
desarrollado por Oracle Corporation.
Se considera a Oracle como uno de los sistemas de bases de datos más
completos,[cita requerida] destacando:
    • soporte de transacciones,
    • estabilidad,
    • escalabilidad y
    • Soporte multiplataforma.
Ha sido criticada por algunos especialistas la seguridad de la plataforma, y las
políticas de suministro de parches de seguridad, modificadas a comienzos de


SMBD                                             Equipo 1
2005 y que incrementan el nivel de exposición de los usuarios. En los parches
de actualización provistos durante el primer semestre de 2005 fueron
corregidas 22 vulnerabilidades públicamente conocidas, algunas de ellas con
una antigüedad de más de 2 años.
Aunque su dominio en el mercado de servidores empresariales ha sido casi
total hasta hace poco, recientemente sufre la competencia del Microsoft SQL
Server de Microsoft y de la oferta de otros RDBMS con licencia libre como
PostgreSQL, MySql o Firebird. Las últimas versiones de Oracle han sido
certificadas para poder trabajar bajo GNU/Linux.
Oracle surge a finales de los 70 bajo el nombre de Relational Software a partir
de un estudio sobre SGBD (Sistemas Gestores de Base de Datos) de George
Koch. Computer World definió este estudio como uno de los más completos            23
jamás escritos sobre bases de datos. Este artículo incluía una comparativa de
productos que erigía a Relational Software como el más completo desde el
punto de vista técnico. Esto se debía a que usaba la filosofía de las bases de
datos relacionales, algo que por aquella época era todavía desconocido.
En la actualidad, Oracle (Nasdaq: ORCL) todavía encabeza la lista. La
tecnología Oracle se encuentra prácticamente en todas las industrias alrededor
del mundo y en las oficinas de 98 de las 100 empresas Fortune 100. Oracle es
la primera compañía de software que desarrolla e implementa software para
empresas 100 por ciento activado por Internet a través de toda su línea de
productos: base de datos, aplicaciones comerciales y herramientas de
desarrollo de aplicaciones y soporte de decisiones. Oracle es el proveedor
mundial líder de software para administración de información, y la segunda
empresa de software.
Oracle a partir de la versión 10g Release 2, cuenta con 6 ediciones:
    • Oracle Database Enterprise Edition (EE).
    • Oracle Database Standard Edition (SE).
    • Oracle Database Standard Edition One (SE1).
    • Oracle Database Express Edition (XE).
    • Oracle Database Personal Edition (PE).
    • 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.


3.3.-Interbase

                      InterBase es un Sistema de Administración de Base de
                      Datos      Relacionales     (RDBMS)      desarrollado    y
                      comercializado por la compañía Borland Software
Corporation y actualmente desarrollado por su 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.
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.
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

SMBD                                             Equipo 1
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.
Entre 1986 y 1991 el producto fue gradualmente vendido a Ashton-Tate,
creadores del famoso dBASE, quienes en ese entonces se encontraban
comprando varias compañías de base de datos con el fin de ampliar su
catálogo. La compañía cayó rápidamente y Borland la compró en 1991,
adquiriendo InterBase como parte del trato.
A principios del año 2000, la compañía Borland anunció que el código de
InterBase sería liberado (código libre) en la versión 6.0 y comenzó las
negociaciones para que una empresa separada se encargara del nuevo
producto. Cuando los responsables de esta nueva empresa y Borland no                23
llegaron a un acuerdo de separación, InterBase permaneció como un producto
de Borland y el código fuente de InterBase 6 se liberó bajo una variante de la
“Mozilla Public License” a mediados del 2000.
Con la división de InterBase en Borland, la compañía liberó una versión
propietaria de InterBase 6 y luego 6.5. Borland liberó varias actualizaciones
para la versión libre antes de anunciar que ya no participaría activamente en el
desarrollo de este proyecto. De aquí nació una nueva rama de desarrollo libre
basada en el código abierto de InterBase 6 conocida como Firebird, que aún se
encuentra en desarrollo activo.
A finales de 2002, Borland lanzó InterBase versión 7, incluyendo soporte para
SMP, soporte mejorado para monitorear y controlar los servidores, y más.
Borland lanzó la versión 7.1 en junio de 2003, 7.5 en diciembre de 2004 y 7.5.1
el 1 de junio de 2005.

3.4.- PervasiveSQL.

Motor de base de datos embebible que sustenta la integridad de los datos, el
alto rendimiento, flexibilidad, escalabilidad y un bajo coste total de propiedad.

Resumen de características

   •   Rendimiento de Btrieve - API transactional para un acceso más rápido a
       los datos.
   •   Optimizador de SQL - proporciona un mayor rendimiento SQL. ODBC,
       JDBC, ADO / OLE DB y PDAC... todos se aprovechan de estas mejoras.
   •   Turbo Write Accelerator - maximiza la eficacia de las E/S del disco.
   •   Compatibilidad retroactiva completa - aplicaciones y bases de datos
       heredadas.
   •   Capacidad de incrustación: Biblioteca de desarrollo de clase.
   •   Caja de herramientas de instalación completa
   •   Operaciones continuas.-
   •   Tecnología de reconexión automática. Evita problemas menores de red
       porque es capaz de reconectar perfectamente puestos de trabajo a un
       motor de servidor cuando se produce un error en la red
   •   Parámetros dinámicos en plataformas cruzadas - no es necesario volver
       a actualizar el entorno de la base de datos en cada plataforma.




SMBD                                             Equipo 1
•   Integridad en plataformas cruzadas - el comportamiento igual en todas
       las versiones y plataformas simplifica la distribución y administración en
       plataformas cruzadas.
   •   Independencia de versión de servidor y cliente - Simplifica de forma
       extraordinaria las tareas de distribución.

Evolución

Pervasive SQL ha crecido en el tiempo desde las raíces del motor Btrieve, del
cual aún se mantiene el soporte técnico para sus bibliotecas API. Aún en la
última versión lanzada se garantiza la compatibilidad de funcionamiento con
todas las versiones anteriores incluso con Btrieve 6.15 capacidad de lectura de     23
archivos Btrieve 5.x. Esto significa que la reciente versión de PSQL es
compatible con aplicaciones y datos creados hace más de diez años.
Quienes hayan invertido en adquirir las nuevas versiones podrán fácilmente
ganar en rendimiento convirtiendo sus archivos desde 6.x a la última versión,
con un simple programa asistente.




4.- Sistemas Manejadores de Bases de Datos en Web.

Muchos de los SMBD presentan su interfaz por medio de un navegador web,
tal es el caso de los ya mencionados Oracle, Microsoft SQL Server, MySQL,
PostgreSQL, Firebird, SQLite, pero para fines didácticos dejamos a Apache
Derby para esta sección.

4.1.- Apache Derby

                              Apache Derby es un sistema gestor de base de
                              datos relacional escrito en Java que puede ser
                              embebido en aplicaciones Java y utilizado para
                              procesos de transacciones online. Tiene un
tamaño de 2 MB de espacio en disco. Inicialmente distribuido como IBM
Cloudscape, Apache Derby es un proyecto open source licenciado bajo la
Apache 2.0 License. Actualmente se distribuye como Sun Java DB.
Apache Derby tiene su origen en la empresa Cloudscape Inc, en Oakland,
California que se fundó en 1996 para desarrollar una tecnología de base de
datos para Java. La primera versión del motor de base de datos, que por
entonces se llamó JBMS, tuvo lugar en 1997. Posteriormente el producto fue
renombrado como Cloudscape y aparecieron versiones nuevas cada seis
meses. En 1999 Informix Software, Inc., adquirió Cloudscape, Inc. En 2001 IBM
adquirió los activos de Informix Software, incluyendo Cloudscape. El motor de

SMBD                                             Equipo 1
base de datos fue renombrado a IBM Cloudscape y continuaron apareciendo
versiones, enfocadas principalmente a usos embebidos en productos Java de
IBM y middleware.
En agosto de 2004 IBM cedió el código a la Apache Software Foundation para
Derby, un proyecto patrocinado por el proyecto Apache DB. En julio de 2005 el
proyecto Derby continuó desarrollándose como subproyecto base de datos de
alto nivel en Apache. Sun se unió al proyecto Derby con el objetivo de utilizar
como componente en sus propios productos, y con el lanzamiento de Java 6 en
diciembre de 2006, Sun comenzó a empaquetar Derby en el JDK llamado Java
DB.
En marzo de 2007 IBM anunció que podría comenzar a hacer marketing y dar
soporte para el producto Cloudscape, pero que continuaría contribuyendo con        23
el proyecto Apache Derby.
Derby está escrito en Java y no tiene bindings para otros lenguajes (no tendría
mucho sentido) por lo que limita al programador a utilizarlo mediante la
máquina virtual de Java y en programas escritos en ese lenguaje o lenguajes
de scripting que se ejecuten sobre JVM (Jython, JRuby, Jacl, etc.). Esto por
otro lado hace que las aplicaciones sean altamente portables.
Derby hace uso de una mayor cantidad de memoria y su rendimiento y
compatibilidad SQL es inferior que otras alternativas como puede ser la base
de datos gratuita y de código libre H2 por lo que su uso carece de poco sentido.
En su modo embebido sólo soporta un único proceso que tenga abierta la base
de datos. Sin embargo en su modo de cliente/servidor soporta el acceso de
varios procesos simultáneos mediante bloqueo de filas.




5.- Sitios web que ofrecen versiones gratuitas y/o académicas.

http://www.zonagratuita.com/a-
programacion/bases_de_datos_programacion.htm
http://www.microsoft.com/mexico/academicos/
http://www.programas-gratis.net/descargar-bajar/programas-base-
de-datos
http://www.softonic.com/windows/programacion-bases-de-datos-
gratis
http://www.oracle.com/webapps/dialogue/dlgpage.jsp?
p_ext=Y&p_dlg_id=7837545&src=6817296&Act=5&sckw=LADMK0
9057554MPP002.GCM.8081.100
http://www.geomundos.com/descargas/desarrollo-base-de-
datos_10.html
http://es.software.emule.com/sc/bases-de-datos/
http://es.kioskea.net/telecharger/logiciel-20-base-de-datos




SMBD                                             Equipo 1
23




Conclusión.

En la elaboración de este trabajo se planteó principalmente la
investigación de algunos sistemas manejadores de bases de datos
(SMBD), sin embargo no se podía comenzar a hacer mención de
estos sin primero especificar que es un SMBD, cuales son las
características que deben de tener y con qué objetivo se utilizan en
la elaboración de una base de datos. También se hizo una breve
explicación sobre los lenguajes a los que recurren la mayoría de
estos como son el lenguaje de definición de datos, el lenguaje de
manipulación de datos y el lenguaje estructurado de consulta.

Una vez que se dio una breve explicación sobre lo que son los
SMBD se continuo a describir algunos de estos, y se clasificaron en
los que son de código abierto y los que necesitan licencia, así como
sus ventajas y desventajas ya que algunos presentan mejor entorno
gráfico, pero hay otro que presenta una mejor estructura lógica, sin
embargo puede existir uno que tenga ambas, pero como cada


SMBD                                     Equipo 1
usuario tiene necesidades diferentes existe una amplia gama de
SMBD con diferentes características de las cuales podemos elegir.

Finalmente nos gustaría concluir nuestro trabajo recordando que un
sistema manejador        de bases de datos es la porción más
importante del software de un sistema de base de datos.



                                                                     23




Bibliografía.

http://www.cavsi.com
http://www.monografias.com
http://www.mailxmail.com
http://www.error500.net
http://es.wikipedia.org




SMBD                                    Equipo 1
23




SMBD   Equipo 1

Mais conteúdo relacionado

Mais procurados

Semana 2: Administración de base de datos: conceptos básicos y su aplicación
Semana 2: Administración de base de datos: conceptos básicos y su aplicaciónSemana 2: Administración de base de datos: conceptos básicos y su aplicación
Semana 2: Administración de base de datos: conceptos básicos y su aplicaciónremyor09
 
Sistema GestióN De Bases De Datos
Sistema GestióN De Bases De DatosSistema GestióN De Bases De Datos
Sistema GestióN De Bases De Datoshugofern
 
Manual de administración BD
Manual de administración BDManual de administración BD
Manual de administración BDAnderson Rubio
 
BDA- Unidad 1- Perspectiva práctica de la administración de bases de datos
BDA- Unidad 1- Perspectiva práctica de la administración de bases de datosBDA- Unidad 1- Perspectiva práctica de la administración de bases de datos
BDA- Unidad 1- Perspectiva práctica de la administración de bases de datosYael_21
 
Material de lectura administración de base de datos
Material de lectura administración de base de datosMaterial de lectura administración de base de datos
Material de lectura administración de base de datosArturo Coronado
 
Investigacion De Smdb
Investigacion De SmdbInvestigacion De Smdb
Investigacion De Smdbmarie526
 
Taller 1
Taller 1Taller 1
Taller 1fredy
 
2.2 funciones de los sistemas de bd
2.2 funciones de los sistemas de bd2.2 funciones de los sistemas de bd
2.2 funciones de los sistemas de bdjuanguido
 
Funciones de un administrador de base de datos
Funciones de un administrador de base de datosFunciones de un administrador de base de datos
Funciones de un administrador de base de datosRodolfo Kuman Chi
 

Mais procurados (13)

S M B D
S M B DS M B D
S M B D
 
Semana 2: Administración de base de datos: conceptos básicos y su aplicación
Semana 2: Administración de base de datos: conceptos básicos y su aplicaciónSemana 2: Administración de base de datos: conceptos básicos y su aplicación
Semana 2: Administración de base de datos: conceptos básicos y su aplicación
 
Sistema GestióN De Bases De Datos
Sistema GestióN De Bases De DatosSistema GestióN De Bases De Datos
Sistema GestióN De Bases De Datos
 
Presentacion de fundamentos de bd
Presentacion de fundamentos de bdPresentacion de fundamentos de bd
Presentacion de fundamentos de bd
 
Manual de administración BD
Manual de administración BDManual de administración BD
Manual de administración BD
 
Smbd
SmbdSmbd
Smbd
 
BDA- Unidad 1- Perspectiva práctica de la administración de bases de datos
BDA- Unidad 1- Perspectiva práctica de la administración de bases de datosBDA- Unidad 1- Perspectiva práctica de la administración de bases de datos
BDA- Unidad 1- Perspectiva práctica de la administración de bases de datos
 
Material de lectura administración de base de datos
Material de lectura administración de base de datosMaterial de lectura administración de base de datos
Material de lectura administración de base de datos
 
Investigacion De Smdb
Investigacion De SmdbInvestigacion De Smdb
Investigacion De Smdb
 
Sistema de Gestión de Base de Datos
Sistema de Gestión de Base de DatosSistema de Gestión de Base de Datos
Sistema de Gestión de Base de Datos
 
Taller 1
Taller 1Taller 1
Taller 1
 
2.2 funciones de los sistemas de bd
2.2 funciones de los sistemas de bd2.2 funciones de los sistemas de bd
2.2 funciones de los sistemas de bd
 
Funciones de un administrador de base de datos
Funciones de un administrador de base de datosFunciones de un administrador de base de datos
Funciones de un administrador de base de datos
 

Semelhante a SMBD - Sistemas manejadores de bases de datos

Semelhante a SMBD - Sistemas manejadores de bases de datos (20)

Smdb Equipo11
Smdb Equipo11Smdb Equipo11
Smdb Equipo11
 
Smdb Equipo11
Smdb Equipo11Smdb Equipo11
Smdb Equipo11
 
Smdb Equipo11
Smdb Equipo11Smdb Equipo11
Smdb Equipo11
 
Smdb Equipo11
Smdb Equipo11Smdb Equipo11
Smdb Equipo11
 
Smbd.
Smbd.Smbd.
Smbd.
 
Investigacion De Smdb
Investigacion De SmdbInvestigacion De Smdb
Investigacion De Smdb
 
Investigacion De S M D B
Investigacion De  S M D BInvestigacion De  S M D B
Investigacion De S M D B
 
Fase1 BD avanzada
Fase1 BD avanzada Fase1 BD avanzada
Fase1 BD avanzada
 
Actividad2uni3
Actividad2uni3Actividad2uni3
Actividad2uni3
 
Base de datos y sistemas de gestion de datos
Base de datos y sistemas de gestion de datosBase de datos y sistemas de gestion de datos
Base de datos y sistemas de gestion de datos
 
Investigacion De Smdb
Investigacion De SmdbInvestigacion De Smdb
Investigacion De Smdb
 
S M B D
S M B DS M B D
S M B D
 
Smbd
SmbdSmbd
Smbd
 
Sistemas manejadores de base de datos
Sistemas manejadores de base de datosSistemas manejadores de base de datos
Sistemas manejadores de base de datos
 
Sistemas manejadores de base de datos
Sistemas manejadores de base de datosSistemas manejadores de base de datos
Sistemas manejadores de base de datos
 
Sistemas manejadores de base de datos
Sistemas manejadores de base de datosSistemas manejadores de base de datos
Sistemas manejadores de base de datos
 
Base de datos
Base de datosBase de datos
Base de datos
 
Diapositivas base de datos...
Diapositivas base de datos...Diapositivas base de datos...
Diapositivas base de datos...
 
Smbd.
Smbd.Smbd.
Smbd.
 
Arki sbd
Arki sbdArki sbd
Arki sbd
 

Mais de albusscorpio

Mais de albusscorpio (7)

Actividad1
Actividad1Actividad1
Actividad1
 
Actividad1
Actividad1Actividad1
Actividad1
 
Mr
MrMr
Mr
 
Evidencia instalacion
Evidencia instalacionEvidencia instalacion
Evidencia instalacion
 
Universidad veracruzana
Universidad veracruzanaUniversidad veracruzana
Universidad veracruzana
 
Smbd
SmbdSmbd
Smbd
 
Sistemas Manejadores de Bases de Datos
Sistemas Manejadores de Bases de DatosSistemas Manejadores de Bases de Datos
Sistemas Manejadores de Bases de Datos
 

SMBD - Sistemas manejadores de bases de datos

  • 1. 23 Universidad Veracruzana Lic. Sistemas Computacionales Administrativos. Alumnos: Díaz Rosas Marcos Alberto Padilla Bautista Gisela Armas Molina Andrés Alejandro Investigación: Sistemas manejadores de bases de datos (SMBD) Materia: Bases de datos. Catedrático: Dr. Carlos Arturo Torres Gastelú. 30 de agosto de 2010. SMBD Equipo 1
  • 2. Índice Índice.........................................................................................................................2 Introducción...............................................................................................................3 1.1.- El lenguaje de definición de datos (DDL)......................................................................4 1.2.- El lenguaje de manipulación de datos (DML)...............................................................4 1.3.- El lenguaje Estructurado de consulta (SQL).................................................................4 1.4.-Objetivos de un SMBD..................................................................................................5 2.- Sistemas Manejadores de Bases de Datos de Código Abierto................................6 23 2.1.- SQLite..........................................................................................................................6 2.2.- MySQL.........................................................................................................................8 2.3.- Firebird......................................................................................................................10 2.4.- Postgre SQL................................................................................................................12 3.- Sistemas Manejadores de Bases de Datos Propietarios.......................................14 3.1.- Microsoft SQL Server.................................................................................................14 3.2.- Oracle........................................................................................................................16 3.3.-Interbase....................................................................................................................17 3.4.- PervasiveSQL.............................................................................................................18 4.- Sistemas Manejadores de Bases de Datos en Web..............................................19 4.1.- Apache Derby.............................................................................................................19 5.- Sitios web que ofrecen versiones gratuitas y/o académicas................................20 Conclusión...............................................................................................................21 Bibliografía..............................................................................................................22 SMBD Equipo 1
  • 3. Introducción. Después de los 60’s en las tecnologías de la información se dio un giro en la manera en que los sistemas de archivos, los cuales se limitaban a la estructuración del almacenamiento físico de los datos. Con los sistemas manejadores de bases de datos se crea el concepto de administración de los datos, por medio de actividades integradas que permiten verlos físicamente en un solo almacenamiento pero lógicamente se manipulan a través de esquemas compuesto por estructuras donde se establecen 23 vínculos de integridad, métodos de acceso y organización física sobre los datos, permitiendo así obtener valores agregados de utilización tales como: manejo de usuarios, seguridad, atomicidad e independencia física y lógica de los datos, entre otros. Las bases de datos son sistemas que guardan la información de una o más empresas para que estas puedan ser utilizadas cuando el usuario así lo desee, y son de gran relevancia porque automatizan la prevención de errores y son eficaces en el tiempo. Los sistemas manejadores de base de datos) se han incrementado en los últimos años de forma drástica, pues claro está que cada vez más empresas requieren de software para registrar sus datos. Los sistemas manejadores de bases de datos presentan además una interfaz razonable y comprensible para cualquier usuario, debemos mencionar que hay distintos gestores de base de datos, entre ellos se encuentran los de código libre, es decir, pueden ser usados de forma gratuita, los que requieren una licencia comercial, así como los que se pueden usar en forma de software de instalación, u otros que su utilizan desde un navegador predeterminado. A continuación describiremos algunos de los sistemas manejadores de bases de datos más relevantes. SMBD Equipo 1
  • 4. 1.-Sistemas Manejadores de Bases de Datos El sistema manejador de bases de datos es esencial para el adecuado funcionamiento y manipulación de los datos contenidos en la base. Se puede definir como: "El Conjunto de programas, procedimientos, lenguajes, etc. que suministra, tanto a los usuarios no informáticos como a los analistas, programadores o al administrador, los medios necesarios para describir, recuperar y manipular los datos almacenados en la base, manteniendo su integridad, confidencialidad y seguridad". Se compone de un lenguaje de definición de datos (DDL: Data Definition Language), de un lenguaje de manipulación de datos (DML: Data Manipulation 23 Language) y de un lenguaje de consulta (SQL: Structured Query Language). 1.1.- El lenguaje de definición de datos (DDL) Es utilizado para describir todas las estructuras de información y los programas que se usan para construir, actualizar e introducir la información que contiene una base de datos. El DDL permite al administrador de la base especificar los elementos de datos que la integran , su estructura y las relaciones que existen entre ellos, las reglas de integridad, los controles a efectuar antes de autorizar el acceso a la base. 1.2.- El lenguaje de manipulación de datos (DML) Es utilizado para escribir programas que crean, actualizan y extraen información de las bases de datos. Siempre de acuerdo con las especificaciones y las normas de seguridad dictadas por al administrador. Un lenguaje de manipulación de datos es un lenguaje que permite a los usuarios acceder o manipular los datos organizados mediante el modelo de datos apropiado. Hay dos tipos básicamente: • DMLs procedimentales. Requieren que el usuario especifique qué datos se necesitan y cómo obtener esos datos. • DMLs declarativos (o no procedimentales). Requiere que el usuario especifique qué datos se necesitan sin especificar cómo obtener esos datos. 1.3.- El lenguaje Estructurado de consulta (SQL) Sublenguaje de base de datos utilizado en la consulta, actualización y gestión de base de datos relacionales. Es el estándar de facto para los productos de base de datos. Una consulta es una instrucción de solicitud para recuperar información. La parte de un DML se llama lenguaje de consultas. Ejemplo: Select nombre, dirección SMBD Equipo 1
  • 5. From cliente Where id cliente = 2 La secuencia conceptual de operaciones que ocurren para acceder cierta información que contiene una base de datos es la siguiente:} • El usuario solicita cierta información contenida en la base de datos. • El DBMS intercepta este requerimiento y lo interpreta. • El DBMS realiza las operaciones necesarias para acceder y/o actualizar la información solicitada. El sistema manejador de bases de datos es la porción más importante del 23 software de un sistema de base de datos. Un SMBD es una colección de numerosas rutinas de software interrelacionadas, cada una de las cuales es responsable de alguna tarea específica. 1.4.-Objetivos de un SMBD. • 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 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. También debe permitir: SMBD Equipo 1
  • 6. Definir una base de datos: especificar tipos, estructuras y restricciones de datos. • Construir la base de datos: guardar los datos en algún medio controlado por el mismo SGBD • Manipular la base de datos: realizar consultas, actualizarla, generar informes. 23 2.- Sistemas Manejadores de Bases de Datos de Código Abierto. 2.1.- SQLite SQLite es un sistema de gestión de bases de datos relacional compatible con ACID, y que está SMBD Equipo 1
  • 7. contenida en una relativamente pequeña (~225 kB1 ) 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 base 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 23 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. 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. Autor(es) D. Richard Hipp Versión estable 3.6.18 / 2009-09-11 Lenguaje de C programación Sistema operativo MULTIPLATAFORMA SMBD Equipo 1
  • 8. Sitio web www.sqlite.org 2.2.- MySQL 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 23 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. 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 (via dbExpress), Eiffel, Smalltalk, Java (con una implementación nativa del driver de Java), Lisp, Perl, PHP, Python, Ruby,Gambas, REALbasic (Mac), (x)Harbour (Eagle1), FreeBASIC, y Tcl; cada uno de estos utiliza una API específica. También existe un 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. Aplicaciones MySQL es muy utilizado en aplicaciones web, como Drupal o phpBB, en plataformas (Linux/Windows-Apache-MySQL-PHP/Perl/Python), y por herramientas de seguimiento de errores como Bugzilla. Su popularidad como aplicación web está muy ligada a PHP, que a menudo aparece en combinación con MySQL. MySQL es una base de datos muy rápida en la lectura cuando utiliza el motor no transaccional MyISAM, pero puede provocar problemas de integridad en entornos de alta concurrencia en la modificación. En aplicaciones SMBD Equipo 1
  • 9. web hay baja concurrencia en la modificación de datos y en cambio el entorno es intensivo en lectura de datos, lo que hace a MySQL ideal para este tipo de aplicaciones. Especificaciones Plataformas MySQL funciona sobre múltiples plataformas, incluyendo:  AIX  BSD  FreeBSD  HP-UX 23  GNU/Linux  Mac OS X  NetBSD  Novell Netware  OpenBSD  OS/2 Warp  QNX  SGI IRIX  Solaris  SunOS  SCO OpenServer  SCO UnixWare  Tru64  eBD  Windows 95, Windows 98, Windows NT, Windows 2000, Windows XP, Windows Vista, Windows 7 y Windows Server (2000, 2003 y 2008).  OpenVMS9 Windows 95, Windows 98, Windows NT, Windows 2000, Windows XP, Windows Vista y otras versiones de Windows. Características distintivas Las siguientes características son implementadas únicamente por MySQL: 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. Agrupación de transacciones, reuniendo múltiples transacciones de varias conexiones para incrementar el número de transacciones por segundo. Tipos de compilación del servidor Hay tres tipos de compilación del servidor MySQL: Estándar SMBD Equipo 1
  • 10. Los binarios estándar de MySQL son los recomendados para la mayoría de los usuarios, e incluyen el motor de almacenamiento InnoDB. Max Los binarios incluyen características adicionales que no han sido lo bastante probadas o que normalmente no son necesarias. MySQL-Debug Son binarios que han sido compilados con información de depuración extra. No debe ser usada en sistemas en producción porqué el código de depuración 23 puede reducir el rendimiento. Autor(es) MySQL AB Versión estable 5.1.38 (2009-09-04) Lenguaje de C, C++ programación Sistema operativo MULTIPLATAFORMA Sitio web www.mysql.com 2.3.- Firebird 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 y el 18 de abril de 2008 fue liberada la versión 2.1. A finales de la década de 1990, Borland decidió liberar el código de Interbase. Diversos integrantes de la plantilla crearon una nueva empresa denominada IBPhoenix, y junto a otros desarrolladores independientes, crearon el fork ahora conocido como Firebird. Más tarde, Borland decidiría volver a privatizar Interbase y comercializar sus licencias. Sin embargo, Firebird sigue siendo un proyecto de código abierto bajo una licencia similar a la MPL (Mozilla Public License). Características principales de Firebird: SMBD Equipo 1
  • 11. Es multiplataforma, y actualmente puede ejecutarse en los sistemas operativos: Linux, HP-UX, FreeBSD, Mac OS, Solaris y Microsoft Windows. • Ejecutable pequeño, con requerimientos de hardware bajos. • Arquitectura Cliente/Servidor sobre protocolo TCP/IP y otros (embedded). • Soporte de transacciones ACID y claves foráneas. • Es medianamente escalable. • Buena seguridad basada en usuarios/roles. • Diferentes arquitecturas, entre ellas el Firebird incrustado (embedded server) que permite ejecutar aplicaciones mono usuario en ordenadores sin instalar el software Firebird. • Bases de datos de sólo lectura, para aplicaciones que corran desde 23 dispositivos sin capacidad de escritura, como cd-roms. • Existencia de controladores ODBC, OLEDB, JDBC, PHP, Perl, .net, etc. • 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. • Pleno soporte del estándar SQL-92, tanto de sintaxis como de tipos de datos. • Completo lenguaje para la escritura de disparadores y procedimientos almacenados denominado PSQL. • Capacidad de almacenar elementos BLOB (Binary Large OBjects). • Soporte de User-Defined Functions (UDFs). Existen dos tipos de servidor Firebird para ser instalados: Classic y Super server. Si bien tienen varias diferencias menores entre si, la principal consiste en que el super server maneja hilos de ejecución individuales para cada conexión. Por lo tanto para un número reducido de conexiones el recomendado sería el classic porque consumirá menor cantidad de recursos. En caso de arquitecturas SMP, se debe utilizar el servidor classic porque el Supersever no tiene soporte para este tipo de arquitectura. Los propios desarrolladores de Firebird recomiendan lo siguiente a la hora de decidirse por uno de estos servidores: • En plataformas Windows seleccionar el Superserver. • En Linux simplemente elegir cualquiera, según las conexiones estimadas. En la mayoría de las situaciones no se notará diferencias en la ejecución. Podría considerarse un tercer tipo, el Embedded. Éste consiste en una única bibliotéca de enlace dinámico DLL (de unos 2 MB de tamaño) que contiene todo el servidor. De esta forma se puede tener un DBMS completo disponible y distribuíble junto con aplicaciones de usuario sin requerir que este se instale por separado. En abril de 2003, la Fundación Mozilla decidió renombrar su navegador web de Phoenix a Firebird. Esta decisión causó gran preocupación en lo que se refería al proyecto para bases de datos Firebird, debido a que se asumía que los SMBD Equipo 1
  • 12. usuarios se confundirían entre la base de datos y el navegador web porque estos llevarían el mismo nombre. La disputa continuó hasta que los desarrolladores de Mozilla firmaron una constancia dejando en claro que el nombre Firebird era en realidad Mozilla Firebird. La constancia también dejaba en claro que el nombre Mozilla Firebird era el nombre código del proyecto. El 9 de febrero del 2004, Mozilla renombró a su navegador como Mozilla Firefox, para así evitar cualquier tipo de confusión. 23 Autor(es) Firebird Project Versión estable 2.1.3 / 2009-09-08 Lenguaje de C++ programación Sistema operativo MULTIPLATAFORMA Sitio web http://www.firebirdsql.org/ 2.4.- Postgre SQL PostgreSQL es un sistema de gestión de base de datos relacional orientada a objetos de software libre, publicado bajo la licencia BSD. Como muchos otros proyectos open source, el desarrollo de PostgreSQL no es manejado por una sola compañía 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). El uso de caracteres en mayúscula en el nombre PostgreSQL puede confundir a algunas personas a primera vista. Las distintas pronunciaciones de "SQL" pueden llevar a confusión. Los desarrolladores de PostgreSQL lo pronuncian /poːst ɡɹɛs kjuː ɛl/;. Es también común oír abreviadamente como simplemente "Postgres", el que fue su nombre original. Debido a su soporte del estándar SQL entre la mayor parte de bases de datos relacionales, la comunidad consideró cambiar el nombre al anterior Postgres. Sin embargo, el PostgreSQL Core Team anunció en 2007 que el producto seguiría llamándose PostgreSQL. El nombre hace referencia a los orígenes del proyecto como la base de datos "post-Ingres", y los autores originales también desarrollaron la base de datos Ingres. SMBD Equipo 1
  • 13. PostgreSQL ha tenido una larga evolución, la cual se inicia en 1982 con el proyecto Ingres en la Universidad de Berkeley. Este proyecto, liderado por Michael Stonebraker, fue uno de los primeros intentos en implementar un motor de base de datos relacional. Después de haber trabajado un largo tiempo en Ingres y de haber tenido una experiencia comercial con el mismo, Michael decidió volver a la Universidad en 1985 para trabajar en un nuevo proyecto sobre la experiencia de Ingres, dicho proyecto fue llamado post-ingres o simplemente POSTGRES. El proyecto post-ingres pretendía resolver los problemas con el modelo de base de datos relacional que habían sido aclarados a comienzos de los años 1980. El principal de estos problemas era la incapacidad del modelo relacional de 23 comprender "tipos", es decir, combinaciones de datos simples que conforman una única unidad. Actualmente estos son llamados objetos. Se esforzaron en introducir la menor cantidad posible de funcionalidades para completar el soporte de tipos. Estas funcionalidades incluían la habilidad de definir tipos, pero también la habilidad de describir relaciones - las cuales hasta ese momento eran ampliamente utilizadas pero mantenidas completamente por el usuario. En Postgres la base de datos «comprendía» las relaciones y podía obtener información de tablas relacionadas utilizando reglas. Postgres usó muchas ideas de Ingres pero no su código. 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. PostgreSQL provee nativamente soporte para: • Números de precisión arbitraria. • Texto de largo ilimitado. • Figuras geométricas (con una variedad de funciones asociadas) • Direcciones IP (IPv4 e IPv6). • Bloques de direcciones estilo CIDR. • Direcciones MAC. • 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. SMBD Equipo 1
  • 14. Autor(es) PostgreSQL Global Development Group Versión estable 8.4.1 / 2009-09-08 Lenguaje de C programación Sistema operativo MULTIPLATAFORMA Sitio web http://www.postgresql.org/ 23 3.- Sistemas Manejadores de Bases de Datos Propietarios. 3.1.- Microsoft SQL Server. Microsoft SQL Server 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. SMBD Equipo 1
  • 15. Características de Microsoft SQL Server • Soporte de transacciones. • Escalabilidad, estabilidad y seguridad. • Soporta procedimientos almacenados. • Incluye también un potente entorno gráfico de administración, que permite el uso de comandos DDL y DML gráficamente. • 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 23 a la información. • 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 versiónes 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. 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. 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 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 SMBD Equipo 1
  • 16. 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 asincrónas, 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 23 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. Desventajas • MSSQL usa Address Windowing Extensión (AWE) para hacer el direccionamiento de 64-bit. Esto le impide usar la administración dinámica de memoria y sólo le permite alojar un máximo de 64GB de memoria compartida. • MSSQL no maneja compresión de datos (en SQL Server 2005 y 2000, solamente la versión 2008 Enterprise Edition incluye esta característica), por lo que ocupa mucho espacio en disco. • MSSQL está atado a la plataforma del sistema operativo sobre la cual se instala. 3.2.- Oracle Oracle es un sistema de gestión de base de datos relacional (o RDBMS por el acrónimo en inglés de Relational Data Base Management System), desarrollado por Oracle Corporation. Se considera a Oracle como uno de los sistemas de bases de datos más completos,[cita requerida] destacando: • soporte de transacciones, • estabilidad, • escalabilidad y • Soporte multiplataforma. Ha sido criticada por algunos especialistas la seguridad de la plataforma, y las políticas de suministro de parches de seguridad, modificadas a comienzos de SMBD Equipo 1
  • 17. 2005 y que incrementan el nivel de exposición de los usuarios. En los parches de actualización provistos durante el primer semestre de 2005 fueron corregidas 22 vulnerabilidades públicamente conocidas, algunas de ellas con una antigüedad de más de 2 años. Aunque su dominio en el mercado de servidores empresariales ha sido casi total hasta hace poco, recientemente sufre la competencia del Microsoft SQL Server de Microsoft y de la oferta de otros RDBMS con licencia libre como PostgreSQL, MySql o Firebird. Las últimas versiones de Oracle han sido certificadas para poder trabajar bajo GNU/Linux. Oracle surge a finales de los 70 bajo el nombre de Relational Software a partir de un estudio sobre SGBD (Sistemas Gestores de Base de Datos) de George Koch. Computer World definió este estudio como uno de los más completos 23 jamás escritos sobre bases de datos. Este artículo incluía una comparativa de productos que erigía a Relational Software como el más completo desde el punto de vista técnico. Esto se debía a que usaba la filosofía de las bases de datos relacionales, algo que por aquella época era todavía desconocido. En la actualidad, Oracle (Nasdaq: ORCL) todavía encabeza la lista. La tecnología Oracle se encuentra prácticamente en todas las industrias alrededor del mundo y en las oficinas de 98 de las 100 empresas Fortune 100. Oracle es la primera compañía de software que desarrolla e implementa software para empresas 100 por ciento activado por Internet a través de toda su línea de productos: base de datos, aplicaciones comerciales y herramientas de desarrollo de aplicaciones y soporte de decisiones. Oracle es el proveedor mundial líder de software para administración de información, y la segunda empresa de software. Oracle a partir de la versión 10g Release 2, cuenta con 6 ediciones: • Oracle Database Enterprise Edition (EE). • Oracle Database Standard Edition (SE). • Oracle Database Standard Edition One (SE1). • Oracle Database Express Edition (XE). • Oracle Database Personal Edition (PE). • 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. 3.3.-Interbase InterBase es un Sistema de Administración de Base de Datos Relacionales (RDBMS) desarrollado y comercializado por la compañía Borland Software Corporation y actualmente desarrollado por su 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. 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. 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 SMBD Equipo 1
  • 18. 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. Entre 1986 y 1991 el producto fue gradualmente vendido a Ashton-Tate, creadores del famoso dBASE, quienes en ese entonces se encontraban comprando varias compañías de base de datos con el fin de ampliar su catálogo. La compañía cayó rápidamente y Borland la compró en 1991, adquiriendo InterBase como parte del trato. A principios del año 2000, la compañía Borland anunció que el código de InterBase sería liberado (código libre) en la versión 6.0 y comenzó las negociaciones para que una empresa separada se encargara del nuevo producto. Cuando los responsables de esta nueva empresa y Borland no 23 llegaron a un acuerdo de separación, InterBase permaneció como un producto de Borland y el código fuente de InterBase 6 se liberó bajo una variante de la “Mozilla Public License” a mediados del 2000. Con la división de InterBase en Borland, la compañía liberó una versión propietaria de InterBase 6 y luego 6.5. Borland liberó varias actualizaciones para la versión libre antes de anunciar que ya no participaría activamente en el desarrollo de este proyecto. De aquí nació una nueva rama de desarrollo libre basada en el código abierto de InterBase 6 conocida como Firebird, que aún se encuentra en desarrollo activo. A finales de 2002, Borland lanzó InterBase versión 7, incluyendo soporte para SMP, soporte mejorado para monitorear y controlar los servidores, y más. Borland lanzó la versión 7.1 en junio de 2003, 7.5 en diciembre de 2004 y 7.5.1 el 1 de junio de 2005. 3.4.- PervasiveSQL. Motor de base de datos embebible que sustenta la integridad de los datos, el alto rendimiento, flexibilidad, escalabilidad y un bajo coste total de propiedad. Resumen de características • Rendimiento de Btrieve - API transactional para un acceso más rápido a los datos. • Optimizador de SQL - proporciona un mayor rendimiento SQL. ODBC, JDBC, ADO / OLE DB y PDAC... todos se aprovechan de estas mejoras. • Turbo Write Accelerator - maximiza la eficacia de las E/S del disco. • Compatibilidad retroactiva completa - aplicaciones y bases de datos heredadas. • Capacidad de incrustación: Biblioteca de desarrollo de clase. • Caja de herramientas de instalación completa • Operaciones continuas.- • Tecnología de reconexión automática. Evita problemas menores de red porque es capaz de reconectar perfectamente puestos de trabajo a un motor de servidor cuando se produce un error en la red • Parámetros dinámicos en plataformas cruzadas - no es necesario volver a actualizar el entorno de la base de datos en cada plataforma. SMBD Equipo 1
  • 19. Integridad en plataformas cruzadas - el comportamiento igual en todas las versiones y plataformas simplifica la distribución y administración en plataformas cruzadas. • Independencia de versión de servidor y cliente - Simplifica de forma extraordinaria las tareas de distribución. Evolución Pervasive SQL ha crecido en el tiempo desde las raíces del motor Btrieve, del cual aún se mantiene el soporte técnico para sus bibliotecas API. Aún en la última versión lanzada se garantiza la compatibilidad de funcionamiento con todas las versiones anteriores incluso con Btrieve 6.15 capacidad de lectura de 23 archivos Btrieve 5.x. Esto significa que la reciente versión de PSQL es compatible con aplicaciones y datos creados hace más de diez años. Quienes hayan invertido en adquirir las nuevas versiones podrán fácilmente ganar en rendimiento convirtiendo sus archivos desde 6.x a la última versión, con un simple programa asistente. 4.- Sistemas Manejadores de Bases de Datos en Web. Muchos de los SMBD presentan su interfaz por medio de un navegador web, tal es el caso de los ya mencionados Oracle, Microsoft SQL Server, MySQL, PostgreSQL, Firebird, SQLite, pero para fines didácticos dejamos a Apache Derby para esta sección. 4.1.- Apache Derby Apache Derby es un sistema gestor de base de datos relacional escrito en Java que puede ser embebido en aplicaciones Java y utilizado para procesos de transacciones online. Tiene un tamaño de 2 MB de espacio en disco. Inicialmente distribuido como IBM Cloudscape, Apache Derby es un proyecto open source licenciado bajo la Apache 2.0 License. Actualmente se distribuye como Sun Java DB. Apache Derby tiene su origen en la empresa Cloudscape Inc, en Oakland, California que se fundó en 1996 para desarrollar una tecnología de base de datos para Java. La primera versión del motor de base de datos, que por entonces se llamó JBMS, tuvo lugar en 1997. Posteriormente el producto fue renombrado como Cloudscape y aparecieron versiones nuevas cada seis meses. En 1999 Informix Software, Inc., adquirió Cloudscape, Inc. En 2001 IBM adquirió los activos de Informix Software, incluyendo Cloudscape. El motor de SMBD Equipo 1
  • 20. base de datos fue renombrado a IBM Cloudscape y continuaron apareciendo versiones, enfocadas principalmente a usos embebidos en productos Java de IBM y middleware. En agosto de 2004 IBM cedió el código a la Apache Software Foundation para Derby, un proyecto patrocinado por el proyecto Apache DB. En julio de 2005 el proyecto Derby continuó desarrollándose como subproyecto base de datos de alto nivel en Apache. Sun se unió al proyecto Derby con el objetivo de utilizar como componente en sus propios productos, y con el lanzamiento de Java 6 en diciembre de 2006, Sun comenzó a empaquetar Derby en el JDK llamado Java DB. En marzo de 2007 IBM anunció que podría comenzar a hacer marketing y dar soporte para el producto Cloudscape, pero que continuaría contribuyendo con 23 el proyecto Apache Derby. Derby está escrito en Java y no tiene bindings para otros lenguajes (no tendría mucho sentido) por lo que limita al programador a utilizarlo mediante la máquina virtual de Java y en programas escritos en ese lenguaje o lenguajes de scripting que se ejecuten sobre JVM (Jython, JRuby, Jacl, etc.). Esto por otro lado hace que las aplicaciones sean altamente portables. Derby hace uso de una mayor cantidad de memoria y su rendimiento y compatibilidad SQL es inferior que otras alternativas como puede ser la base de datos gratuita y de código libre H2 por lo que su uso carece de poco sentido. En su modo embebido sólo soporta un único proceso que tenga abierta la base de datos. Sin embargo en su modo de cliente/servidor soporta el acceso de varios procesos simultáneos mediante bloqueo de filas. 5.- Sitios web que ofrecen versiones gratuitas y/o académicas. http://www.zonagratuita.com/a- programacion/bases_de_datos_programacion.htm http://www.microsoft.com/mexico/academicos/ http://www.programas-gratis.net/descargar-bajar/programas-base- de-datos http://www.softonic.com/windows/programacion-bases-de-datos- gratis http://www.oracle.com/webapps/dialogue/dlgpage.jsp? p_ext=Y&p_dlg_id=7837545&src=6817296&Act=5&sckw=LADMK0 9057554MPP002.GCM.8081.100 http://www.geomundos.com/descargas/desarrollo-base-de- datos_10.html http://es.software.emule.com/sc/bases-de-datos/ http://es.kioskea.net/telecharger/logiciel-20-base-de-datos SMBD Equipo 1
  • 21. 23 Conclusión. En la elaboración de este trabajo se planteó principalmente la investigación de algunos sistemas manejadores de bases de datos (SMBD), sin embargo no se podía comenzar a hacer mención de estos sin primero especificar que es un SMBD, cuales son las características que deben de tener y con qué objetivo se utilizan en la elaboración de una base de datos. También se hizo una breve explicación sobre los lenguajes a los que recurren la mayoría de estos como son el lenguaje de definición de datos, el lenguaje de manipulación de datos y el lenguaje estructurado de consulta. Una vez que se dio una breve explicación sobre lo que son los SMBD se continuo a describir algunos de estos, y se clasificaron en los que son de código abierto y los que necesitan licencia, así como sus ventajas y desventajas ya que algunos presentan mejor entorno gráfico, pero hay otro que presenta una mejor estructura lógica, sin embargo puede existir uno que tenga ambas, pero como cada SMBD Equipo 1
  • 22. usuario tiene necesidades diferentes existe una amplia gama de SMBD con diferentes características de las cuales podemos elegir. Finalmente nos gustaría concluir nuestro trabajo recordando que un sistema manejador de bases de datos es la porción más importante del software de un sistema de base de datos. 23 Bibliografía. http://www.cavsi.com http://www.monografias.com http://www.mailxmail.com http://www.error500.net http://es.wikipedia.org SMBD Equipo 1
  • 23. 23 SMBD Equipo 1