Introducción
De acuerdo con la lectura, de manera breve e introductoria, relaciono a la base de
datos con el trabajo de los bibliotecarios, ya que tienen que catalogar una enorme
cantidad de libros, ya que son una gran cantidad de datos. Cabe mencionar que las
bases de datos son quienes dominan la tecnología y por decir el mundo también.
En pocas palabras, una base de datos es un conjunto de información almacenado
y consultado sistemáticamente. El libro empieza mencionando los objetivos de los
sistemas de gestión de las bases de datos (SGBD) y, más adelante
profundizaremos una visión general de la arquitectura, el funcionamiento y el
entorno de estos sistemas.
1. Concepto y origen de las BD y de los SGBD
Empezar mencionando que las bases de datos son el método preferido para el
almacenamiento estructurado de datos. Las aplicaciones informáticas de los años
60’s acostumbraros a darse totalmente por lotes (batch) y estaban pensados para
una tarea muy específica.
Los conjuntos de ficheros interrelacionados, con estructuras complejas y
compartidas por varios procesos de forma simultánea (unos on-line y otros por
lotes), recibieron al principio el nombre de Data Banks, y al inicio de los años 70’s,
a de Data Bases.
El software de gestión de ficheros era demasiado para dar satisfacción a todas estas
necesidades. Por ejemplo, el tratamiento de las interrelaciones no estaba previsto,
no era posible que varios usuarios actualizaran datos simultáneamente, etc.
Especialmente durante la segunda mitad de los años setenta, fue saliendo al
mercado software más sofisticado: los Data Base Management Systems, que aquí
denominamos sistemas de gestión de BD (SGBD).
Una base de datos es un conjunto estructurado de datos que representa entidades
y sus interrelaciones. La representación será única e integrada, a pesar de que debe
permitir utilizaciones varias y simultáneas.
2.- Evolución de las SGBD
Los años sesenta y setenta: sistemas centralizados
Los SGBD de los años sesenta y setenta (IMS de IBM, IDS de Bull, DMS de Univac,
etc.) eran sistemas totalmente centralizados, como corresponde a los sistemas
operativos de aquellos años, y al hardware para el que estaban hechos: un gran
ordenador para toda la empresa y una red de terminales sin inteligencia ni memoria.
Los primeros SGBD –en los años sesenta todavía no se les denominaba así–
estaban orientados a facilitar la utilización de grandes conjuntos de datos en los que
las interrelaciones eran complejas.
Los años ochenta: SGBD relacionales
La aparición de los SGBD relacionales* supone un avance importante para facilitar
la programación de aplicaciones con BD y para conseguir que los programas sean
independientes de los aspectos físicos de la BD.
Todos estos factores hacen que se extienda el uso de los SGBD. La
estandarización, en el año 1986, del lenguaje SQL produjo una auténtica explosión
de los SGBD relacionales.
Los años noventa: distribución, C/S y 4GL
Al acabar la década de los ochenta, los SGBD relacionales ya se utilizaban
prácticamente en todas las empresas. A pesar de todo, hasta la mitad de los
noventa, cuando se ha necesitado un rendimiento elevado se han seguido utilizando
los SGBD prerracionales.
La necesidad de tener una visión global de la empresa y de interrelacionar diferentes
aplicaciones que utilizan BD diferentes, junto con la facilidad que dan las redes para
la intercomunicación entre ordenadores, ha conducido a los SGBD actuales, que
permiten que un programa pueda trabajar con diferentes BD como si se tratase de
una sola. Es lo que se conoce como base de datos distribuida.
Tendencias Actuales:
Los tipos de datos que se pueden definir en los SGBD relacionales de los años
ochenta y noventa son muy limitados. La incorporación de tecnologías multimedia
–imagen y sonido– en los SI hace necesario que los SGBD relacionales acepten
atributos de estos tipos.
Hoy día, los SGBD relacionales están en plena transformación para adaptarse a
tres tecnologías de éxito reciente, fuertemente relacionadas: la multimedia, la de
orientación a objetos (OO) e Internet y la web.
3.-Objetivos y servicios de los SGBD
Los SGBD que actualmente están en el mercado pretenden satisfacer un conjunto
de objetivos directamente deducibles de lo que hemos explicado hasta ahora. A
continuación, los comentaremos, pero sin entrar en detalles que ya se verán más
adelante en otras asignaturas.
Consultas no predefinidas y complejas:
El objetivo fundamental de los SGBD es permitir que se hagan consultas no
predefinidas (ad hoc) y complejas.
Los usuarios podrán hacer consultas de cualquier tipo y complejidad directamente
al SGBD. El SGBD tendrá que responder inmediatamente sin que estas consultas
estén preestablecidas; es decir, sin que se tenga que escribir, compilar y ejecutar
un programa específico para cada consulta.
Flexibilidad e independencia
La complejidad de las BD y la necesidad de irlas adaptando a la evolución del SI
hacen que un objetivo básico de los SGBD sea dar flexibilidad a los cambios.
Interesa obtener la máxima independencia posible entre los datos y los procesos
usuarios para que se pueda llevar a cabo todo tipo de cambios tecnológicos y
variaciones en la descripción de la BD, sin que se deban modificar los programas
de aplicación ya escritos ni cambiar la forma de escribir las consultas (o
actualizaciones) directas.
Problemas de la redundancia
En el mundo de los ficheros tradicionales, cada aplicación utilizaba su fichero. Sin
embargo, puesto que se daba mucha coincidencia de datos entre aplicaciones, se
producía también mucha redundancia entre los ficheros. Uno de los objetivos de los
SGBD es facilitar la eliminación de la redundancia.
Seguridad
El término seguridad se ha utilizado en diferentes sentidos a lo largo de la historiade
la informática. Actualmente, en el campo de los SGBD, el término seguridad se
suele utilizar para hacer referencia a los temas relativos a la confidencialidad, las
autorizaciones, los derechos de acceso, etc.
4.- Arquitectura de los SGBD
Esquemas y niveles
El esquema de la BD es un elemento fundamental de la arquitectura de un SGBD
que permite independizar el SGBD de la BD; de este modo, se puede cambiar el
diseño de la BD (su esquema) sin tener que hacer ningún cambio en el SGBD.
Para trabajar con nuestras BD, los SGBD necesitan conocer su estructura (qué
entidades tipo habrá, qué atributos tendrán, etc.).
El nivel lógico nos oculta los detalles de cómo se almacenan los datos, cómo se
mantienen y cómo se accede físicamente a ellos. En este nivel sólo se habla de
entidades, atributos y reglas de integridad.
De acuerdo con la arquitectura ANSI/SPARC, debía haber tres niveles de esquemas
(tres niveles de abstracción). La idea básica de ANSI/SPARC consistía en
descomponer el nivel lógico en dos: el nivel externo y el nivel conceptual.
Denominábamos nivel interno lo que aquí hemos denominado nivel físico.
De este modo, de acuerdo con ANSI/SPARC, habría los tres niveles de esquemas
que mencionamos a continuación:
a) En el nivel externo se sitúan las diferentes visiones lógicas que los procesos
usuarios (programas de aplicación y usuarios directos) tendrán de las partes de la
BD que utilizarán. Estas visiones se denominan esquemas externos.
b) En el nivel conceptual hay una sola descripción lógica básica, única y global, que
denominamos esquema conceptual, y que sirve de referencia para el resto de los
esquemas.
c) En el nivel físico hay una sola descripción física, que denominamos esquema
interno.
Independencia de los datos
En este subapartado veremos cómo la arquitectura de tres niveles que acabamos
de presentar nos proporciona los dos tipos de independencia de los datos: la física
y la lógica.
Hay independencia física cuando los cambios en la organización física de la BD no
afectan al mundo exterior (es decir, los programas usuarios o los usuarios directos).
Flujo de datos y de control
Para entender el funcionamiento de un SGBD, a continuación, veremos los
principales pasos de la ejecución de una consulta sometida al SGBD por un
programa de aplicación. Explicaremos las líneas generales del flujo de datos y de
control entre el SGBD, los programas de usuario y la BD.
Conclusión
Para concluir con este reporte, mencionaré la diferencia entre el Gestor de Base de
Datos, el cual, es el software que se encargara de hacer toda la gestión de la base
de datos, y la base de datos como tal, es la información guardada ahí. Ya hemos
visto, como a través de los años este fue evolucionando. A través de esta lectura
puedo decir que no existe tecnología sin datos. De hecho, decir que la programación
es manipular datos y se tienen que almacenar en algún lugar, sino sería una
programación volátil, de momento y que luego desaparecerá y no sería práctica. Por
eso la suma importancia de la base de datos.