1.1.3 Manejadores y Sistema de Gestión de Base de
Datos
• Conceptos
• Utilidad
• SMBD
o Aspectos Generales
o MySql
o Oracle
o Sybase
o My SQL Server
• Diferencia entre u SGBD y una BD
Sistemas de bases de datos
Los inconvenientes de los sistemas de ficheros se
pueden atribuir a dos factores:
Para trabajar de un modo más efectivo, surgieron
las bases de datos y los sistemas de gestión de bases de datos (SGBD).
Una base de datos es un conjunto de datos
almacenados entre los que existen relaciones lógicas y ha sido diseñada para
satisfacer los requerimientos de información de una empresa u organización. En
una base de datos, además de los datos, también se almacena su descripción.
La base de datos es un gran almacén de datos que se
define una sola vez y que se utiliza al mismo tiempo por muchos departamentos y
usuarios. En lugar de trabajar con ficheros desconectados e información
redundante, todos los datos se integran con una mínima cantidad de duplicidad.
La base de datos no pertenece a un departamento, se comparte por toda la
organización. Además, la base de datos no sólo contiene los datos de la
organización, también almacena una descripción de dichos datos. Esta
descripción es lo que se denomina metadatos, se almacena en el diccionario
de datos o catálogo y es lo que permite que exista independencia de datos
lógica-física.
El modelo seguido con los sistemas de bases de
datos, en donde se separa la definición de los datos de los programas de
aplicación, es muy similar al modelo que se sigue en la actualidad para el
desarrollo de programas, en donde se da una definición interna de un objeto y
una definición externa separada. Los usuarios del objeto sólo ven la definición
externa y no se deben preocupar de cómo se define internamente el objeto y cómo
funciona. Una ventaja de este modelo, conocido como abstracción de datos, es
que se puede cambiar la definición interna de un objeto sin afectar a sus
usuarios ya que la definición externa no se ve alterada. Del mismo modo, los
sistemas de bases de datos separan la definición de la estructura de los datos,
de los programas de aplicación y almacenan esta definición en la base de datos.
Si se añaden nuevas estructuras de datos o se modifican las ya existentes, los
programas de aplicación no se ven afectados ya que no dependen directamente de
aquello que se ha modificado.
El sistema de gestión de la base de datos (SGBD)
es una aplicación que permite a los usuarios definir, crear y mantener la base
de datos, y proporciona acceso controlado a la misma.
El SGBD es la aplicación que interacciona con los
usuarios de los programas de aplicación y la base de datos. En general, un SGBD
proporciona los siguientes servicios:
Hay dos
tipos de lenguajes de manejo de datos: los procedurales
y los no procedurales. Estos dos tipos se
distinguen por el modo en que acceden a los datos. Los lenguajes procedurales manipulan la base de datos registro a
registro, mientras que los no procedurales operan
sobre conjuntos de registros. En los lenguajes procedurales
se especifica qué operaciones se deben realizar para obtener los
datos resultado, mientras que en los lenguajes no procedurales
se especifica qué datos deben obtenerse sin decir cómo hacerlo. El lenguaje no procedural más utilizado es el SQL (Structured
Query Language) que, de
hecho, es un estándar y es el lenguaje de los SGBD relacionales.
A diferencia de los sistemas de ficheros, el SGBD
gestiona la estructura física de los datos y su almacenamiento. Con esta
funcionalidad, el SGBD se convierte en una herramienta de gran utilidad. Sin
embargo, desde el punto de vista del usuario, se podría discutir que los SGBD
han hecho las cosas más complicadas, ya que ahora los usuarios ven más datos de
los que realmente quieren o necesitan, puesto que ven la base de datos
completa. Conscientes de este problema, los SGBD proporcionan un mecanismo de vistas
que permite que cada usuario tenga su propia vista o visión de la base de
datos. El lenguaje de definición de datos permite definir vistas como
subconjuntos de la base de datos.
Las vistas, además de reducir la complejidad
permitiendo que cada usuario vea sólo la parte de la base de datos que
necesita, tienen otras ventajas:
Todos los SGBD no presentan la misma funcionalidad,
depende de cada producto. En general, los grandes SGBD multiusuario ofrecen
todas las funciones que se acaban de citar y muchas más. Los sistemas modernos
son conjuntos de programas extremadamente complejos y sofisticados, con
millones de líneas de código y con una documentación consistente en varios
volúmenes. Lo que se pretende es proporcionar un sistema que permita gestionar
cualquier tipo de requisitos y que tenga un 100% de fiabilidad ante cualquier
fallo hardware o software. Los SGBD están en continua evolución,
tratando de satisfacer los requerimientos de todo tipo de usuarios. Por
ejemplo, muchas aplicaciones de hoy en día necesitan almacenar imágenes, vídeo,
sonido, etc. Para satisfacer a este mercado, los SGBD deben cambiar. Conforme
vaya pasando el tiempo irán surgiendo nuevos requisitos, por lo que los SGBD
nunca permanecerán estáticos.
MySQL
MySQL es la
base de datos open source más popular y,
posiblemente, mejor del mundo. Su continuo desarrollo y su creciente
popularidad está haciendo de MySQL
un competidor cada vez más directo de gigantes en la materia de las bases de
datos como Oracl
MySQL es un
sistema de administración de bases de datos (Database
Management System, DBMS) para bases de datos
relacionales. Así, MySQL no es más que una aplicación
que permite gestionar archivos llamados de bases de datos o ,
lo que es lo mismo, u
Existen muchos tipos de bases de datos, desde un simple archivo hasta sistemas
relacionales orientados a objetos. MySQL, como base
de datos relacional, utiliza multiples tablas para
almacenar y organizar la información.
MySQL fue escrito en C y C++ y destaca por su gran
adaptación a diferentes entornos de desarrollo, permitiendo su interactuación
con los lenguajes de programación más utilizados como PHP, Perl y Java y su integración
en distintos sistemas operativos.
También es muy destacable, la condición de open source
de MySQL, que hace que su utilización sea gratuita e
incluso se pueda modificar con total libertad, pudiendo descargar su código
fuente. Esto ha favorecido muy positivamente en su desarrollo y continuas
actualizaciones, para hacer de MySQL una de las
herramientas más utilizadas por los programadores orientados a Internet.
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, destacando su:
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 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 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 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.
Sybase Inc. (NYSE: SY)
es una compañía líder en el desarrollo y expansión de tecnología innovadora
para la movilización de información. Desde su fundación en Berkeley, California
(EE.UU.),
en 1984,
Sybase se ha ganado la confianza de muchas de las
compañías más importantes del mundo por su habilidad en la gestión de
información.
Con una base global y leal
de clientes y una fuerte presencia en mercados verticales clave, como servicios
financieros, telecomunicaciones, salud y gobierno, Sybase
ha permitido materializar, a clientes de todos los tamaños, la “Empresa
Desconectada”, en donde la información fluye libremente y de manera segura
dentro de una organización, así los empleados lleven a cabo sus negocios dentro
de la oficina, o fuera de ella.
Hoy, Sybase
es la compañía de software empresarial más grande enfocada exclusivamente a la
gestión y movilización de información, desde el centro de datos, hasta el punto
de acción. Sus soluciones abiertas y multiplataforma
entregan la información de manera segura, en cualquier momento y lugar,
permitiendo que los clientes creen una “ventaja de información”. Con las
soluciones de software
Sybase, los clientes pueden optimizar y mejorar sus
inversiones, relacionar sus recursos de información y extender el alcance de
sus aplicaciones de negocio.
My SQL SERVER
En la actualidad, las
compañías demandan una clase diferente de solución de base de datos. El
rendimiento, la escalabilidad y la confiabilidad son esenciales y la
anticipación al mercado es crítica. Aparte de estas cualidades empresariales
fundamentales, SQL Server 2000 proporciona agilidad a sus operaciones de
análisis y administración de datos al permitir a su organización adaptarse
rápida y fácilmente para obtener ventaja competitiva en un entorno de cambios
constantes. Desde una perspectiva de administración de datos y análisis,
resulta crítico transformar los datos sin procesar en inteligencia empresarial
y aprovechar las oportunidades que presenta el Web. SQL Server 2000 es un
paquete completo de base de datos y análisis de datos que abre las puertas al
rápido desarrollo de una nueva generación de aplicaciones comerciales de nivel
empresarial, que pueden proporcionar a su compañía una ventaja competitiva
crítica. SQL Server 2000 ha obtenido importantes galardones en pruebas de referencia
por su escalabilidad y velocidad. Es un producto de base de datos totalmente
habilitado para Web que proporciona una compatibilidad fundamental con el
Lenguaje de marcado extensible (XML, Extensible Markup
Language) y la capacidad para realizar consultas
en Internet y por encima del servidor de seguridad.
SQL
SERVER
Microsoft SQL Server 7.0
constituye un lanzamiento determinante para los productos de bases de datos de
Microsoft, continuando con la base sólida establecida por SQL Server 6.5. Como
la mejor base de datos para Windows NT,
SQL Server es el RDBMS de elección para una amplia gama de clientes
corporativos y Proveedores
Independientes de Software (ISVs) que construyen
aplicaciones de negocios. Las necesidades y requerimientos de los clientes han
llevado a la creación de innovaciones de producto significativas para facilitar
la utilización, escalabilidad, confiabilidad y almacenamiento
de datos.
DIFERENCIA ENTRE U SGBD Y
UNA BD
¿Qué es una Base de Datos y un Sistema de Gestión
de Bases de Datos?
Una base de datos (en adelante BD) es
un conjunto de datos no redundantes, almacenados en un soporte informático,
organizados de forma independiente de su utilización y accesibles
simultáneamente por distintos usuarios y aplicaciones.
Es decir, la diferencia de una BD respecto a otro
sistema de almacenamiento de datos es que éstos se almacenan de forma que
cumplan tres requisitos básicos:
Arquitectura de un SGBD
La mayoría de los SGBDs
actuales están inspirados en una arquitectura sugerida en 1978 por un grupo de
trabajo de ANSI. Es conocida como ANSI/X3/SPARC "DBMS Framework"
y es una arquitectura adecuada para construir BDs que
cumplan los requisitos señalados en la definición y además sean portables entre
distintas máquinas y sistemas operativos.
Esta arquitectura divide la base de datos en tres niveles :
Un Sistema de Gestión de Bases de Datos (SGBD)
es el conjunto de programas que permiten definir, manipular y utilizar la
información que contienen las bases de datos, realizar todas las tareas de
administración necesarias para mantenerlas operativas, mantener su integridad,
confidencialidad y seguridad. Una BD nunca se accede o manipula directamente
sino a través del SGBD. Se puede considerar al SGBD como el interfaz entre el
usuario y la BD.
El funcionamiento del SGBD está muy
interrelacionado con el del Sistema Operativo, especialmente con el sistema de
comunicaciones. El SGBD utilizará las facilidades del sistema de comunicaciones
para recibir las peticiones del usuario (que puede estar utilizando un terminal
físicamente remoto) y para devolverle los resultados.
Funciones de un SGBD
Un SGBD debe proporcionar un amplio surtido de
funcionalidades para poder cumplir adecuadamente su misión. Normalmente se
clasifican en definición, manipulación y utilización.