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