Sei sulla pagina 1di 5

UNIDAD I.

FUNDAMENTOS DE BASES DE DATOS


1.1 Conceptos Bsicos
1.1.1 Definicin
Coleccin organizada de datos, relativa a un problema concreto, que puede ser compartida por un
conjunto de usuarios/aplicaciones.
1.1.2 Historia
Las aplicaciones informticas de los aos sesenta acostumbraban a darse totalmente por lotes
(batch) y estaban pensadas para una tarea muy especfica relacionada con muy pocas entidades
tipo.
A medida que se integraban las aplicaciones, se tuvieron que interrelacionar sus ficheros y fue
necesario eliminar la redundancia. El nuevo conjunto de fi- cheros se deba disear de modo que
estuviesen interrelacionados; al mismo tiempo, las informaciones redundantes (como por ejemplo,
el nombre y la direccin de los clientes o el nombre y el precio de los productos), que figuraban en
los ficheros de ms de una de las aplicaciones, deban estar ahora en un solo lugar.
El software de gestin de ficheros era demasiado elemental para dar satisfaccin a todas estas
necesidades. Por ejemplo, el tratamiento de las interrelaciones no estaba previsto, no era posible
que varios usuarios actualizaran datos simultneamente, etc. La utilizacin de estos conjuntos de
ficheros por parte de los programas de aplicacin era excesivamente compleja, de modo que,
especial- mente durante la segunda mitad de los aos setenta, fue saliendo al mercado software
ms sofisticado: los Data Base Management Systems, que aqu denominamos sistemas de gestin
de BD (SGBD).
Los SGBD de los aos 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 aos, 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 aos sesenta todava no se les denominaba as estaban orientados a
facilitar la utilizacin de grandes conjuntos de datos en los que las interrelaciones eran complejas.
El arquetipo de aplicacin era el Bill of materials o Parts explosion, tpica en las industrias del
automvil, en la construccin de naves espaciales y en campos similares. Estos sistemas trabajaban
exclusivamente por lotes (batch).
Los ordenadores minis, en primer lugar, y despus los ordenadores micros, extendieron la
informtica a prcticamente todas las empresas e instituciones.
Esto exiga que el desarrollo de aplicaciones fuese ms sencillo. Los SGBD de los aos setenta eran
demasiado complejos e inflexibles, y slo los poda utilizar un personal muy cualificado.
La aparicin de los SGBD relacionales supone un avance importante para facilitar la programacin
de aplicaciones con BD y para conseguir que los programas sean independientes de los aspectos
fsicos de la BD.
Todos estos factores hacen que se extienda el uso de los SGBD. La estandarizacin, en el ao 1986,
del lenguaje SQL produjo una autntica explosin de los SGBD relacionales.
Al acabar la dcada de los ochenta, los SGBD relacionales ya se utilizaban prcticamente en todas
las empresas.
A finales de los ochenta y principios de los noventa, las empresas se han encontrado con el hecho
de que sus departamentos han ido comprando ordenadores departamentales y personales, y han
ido haciendo aplicaciones con BD. El resultado ha sido que en el seno de la empresa hay numerosas
BD y varios SGBD de diferentes tipos o proveedores. Este fenmeno de multiplicacin de las BD y
de los SGBD se ha visto incrementado por la fiebre de las fusiones de empresas.
La necesidad de tener una visin global de la empresa y de interrelacionar diferentes aplicaciones
que utilizan BD diferentes, junto con la facilidad que dan las redes para la intercomunicacin 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.
1.1.3 Tipos de Modelos
a) Jerrquico
Sus estructuras son registros interrelacionados en forma de rboles. El SGBD clsico de este modelo
es el IMS/DL1 de IBM.
b) Red
A principios de los setenta surgieron SGBD basados en un modelo en red.
Como en el modelo jerrquico, hay registros e interrelaciones, pero un registro ya no est
limitado a ser hijo de un solo registro tipo.
c) Relacional
Durante los aos ochenta apareci una gran cantidad de SGBD basados en el modelo relacional
propuesto en 1969 por E.F. Codd, de IBM, y prcticamente todos utilizaban como lenguaje nativo el
SQL. El modelo relacional se basa en el concepto matemtico de relacin, que aqu podemos
considerar de momento equivalente al trmino tabla (formada por filas y columnas). La mayor parte
de los SI que actualmente estn en funcionamiento utilizan SGBD relacionales, pero algunos siguen
utilizando los jerrquicos o en red (especialmente en SI antiguos muy grandes).


d) Orientada a Objetos
Las Bases de datos orientados a objetos se propusieron con la idea de satisfacer las necesidades de
las aplicaciones ms complejas. El enfoque orientado a objetos ofrece la flexibilidad para cumplir
con algunos de estos requerimientos sin estar limitado por los tipos de datos y los lenguajes de
consulta disponibles en los sistemas de bases de datos tradicionales.
Como cualquier Bases de Datos programable, una Base de Datos Orientada a Objetos (BDOO)
proporciona un ambiente para el desarrollo de aplicaciones y un depsito persistente listo para su
explotacin. Una BDOO almacena y manipula informacin que puede ser digitalizada (presentada)
como objetos, adems proporciona un acceso gil y permite una gran capacidad de manipulacin.
e) Documental
Una base de datos documental est constituida por un conjunto de programas que almacenan,
recuperan y gestionan datos de documentos o datos de algn modo estructurados. Este tipo de
bases de datos constituyen una de las principales subcategoras dentro de las denominadas bases
de datos no SQL. A diferencia de las bases de datos relacionales, estas bases de datos estn
diseadas alrededor de una nocin abstracta de "Documento".
1.1.4 Actores
Administrador de la base de datos: se encarga del diseo fsico de la base de datos y de
su implementacin, realiza el control de la seguridad y de la concurrencia, mantiene el
sistema para que siempre se encuentre operativo y se encarga de que los usuarios y las
aplicaciones obtengan buenas prestaciones. El administrador debe conocer muy bien el
SGBD que se est utilizando, as como el equipo informtico sobre el que est
funcionando.
Programadores de aplicaciones o de base de datos: se encargan de implementar los
programas de aplicacin que servirn a los usuarios finales. Estos programas de aplicacin
son los que permiten consultar datos, insertarlos, actualizarlos y eliminarlos. Estos
programas se escriben mediante lenguajes de tercera generacin o de cuarta generacin.
Usuarios finales: consultan, actualizan y generan reportes de la base de datos. A los
usuarios finales tambin se les llama clientes de la base de datos o usuarios generales.

1.1.5 Objetivos
Los SGBD que actualmente estn en el mercado pretenden satisfacer un conjunto de objetivos
directamente deducibles de lo que hemos explicado hasta ahora. A continuacin los comentaremos,
pero sin entrar en detalles que ya se vern ms adelante en otras asignaturas.
a) Consultas no predefinidas o complejas:
El objetivo fundamental de los SGBD es permitir que se hagan consultas no predefinidas (ad hoc) y
complejas.
Consultas que afectan a ms de una entidad:
Se quiere conocer el nmero de alumnos de ms de veinticinco aos y con nota media
superior a siete que estn matriculados actualmente en la asignatura Bases de datos I.
De cada alumno matriculado en menos de tres asignaturas, se quiere obtener el nombre, el
nmero de matrcula, el nombre de las asignaturas y el nombre de profesores de estas
asignaturas.
Los usuarios podrn hacer consultas de cualquier tipo y complejidad directamente al SGBD. El SGBD
tendr que responder inmediatamente sin que estas consultas estn preestablecidas; es decir, sin
que se tenga que escribir, compilar y ejecutar un programa especfico para cada consulta.
El usuario debe formular la consulta con un lenguaje sencillo (que se quede, obviamente, en el nivel
lgico), que el sistema debe interpretar directamente. Sin embargo, esto no significa que no se
puedan escribir programas con consultas incorporadas (por ejemplo, para procesos repetitivos).
La solucin estndar para alcanzar este doble objetivo (consultas no predefinidas y complejas) es el
lenguaje SQL, que explicaremos en otro mdulo didctico.
b) Flexibilidad e independencia
La complejidad de las BD y la necesidad de irlas adaptando a la evolucin del SI hacen que un
objetivo bsico de los SGBD sea dar flexibilidad a los cambios.
Interesa obtener la mxima independencia posible entre los datos y los procesos usuarios para que
se pueda llevar a cabo todo tipo de cambios tecnolgicos y variaciones en la descripcin de la BD,
sin que se deban modificar los programas de aplicacin ya escritos ni cambiar la forma de escribir
las consultas (o actualizaciones) directas.
Para conseguir esta independencia, tanto los usuarios que hacen consultas (o actualizaciones)
directas como los profesionales informticos que escriben programas que las llevan incorporadas,
deben poder des- conocer las caractersticas fsicas de la BD con que trabajan. No necesitan saber
nada sobre el soporte fsico, ni estar al corriente de qu SO se utiliza, qu ndices hay, la compresin
o no compresin de datos, etc.
De este modo, se pueden hacer cambios de tecnologa y cambios fsicos para mejorar el rendimiento
sin afectar a nadie. Este tipo de independencia recibe el nombre de independencia fsica de los
datos.
c) Problemas de la redundancia
En el mundo de los ficheros tradicionales, cada aplicacin utilizaba su fichero. Sin embargo, puesto
que se daba mucha coincidencia de datos entre aplicaciones, se produca tambin mucha
redundancia entre los ficheros. Ya hemos dicho que uno de los objetivos de los SGBD es facilitar la
eliminacin de la redundancia.
Seguramente pensis que el problema de la redundancia es el espacio perdido. Antiguamente,
cuando el precio del byte de disco era muy elevado, esto era un problema grave, pero actualmente
prcticamente nunca lo es. Qu problema hay, entonces? Simplemente, lo que todos hemos
sufrido ms de una vez; si tenemos algo apuntado en dos lugares diferentes no pasar demasiado
tiempo hasta que las dos anotaciones dejen de ser coherentes, porque habremos modificado la
anotacin en uno de los lugares y nos habremos olvidado de hacer- lo en el otro.
As pues, el verdadero problema es el grave riesgo de inconsistencia o incoherencia de los datos; es
decir, la prdida de integridad que las actualizaciones pueden provocar cuando existe redundancia.
Por lo tanto, convendra evitar la redundancia. En principio, nos conviene hacer que un dato slo
figure una vez en la BD. Sin embargo, esto no siempre ser cierto. Por ejemplo, para representar
una interrelacin entre dos entidades, se suele repetir un mismo atributo en las dos, para que una
haga referencia a la otra.
d) Concurrencia de usuarios
Un objetivo fundamental de los SGBD es permitir que varios usuarios puedan acceder
concurrentemente a la misma BD.
Cuando un usuario o ms de uno estn actualizando los datos, se pueden producir problemas de
interferencia que tengan como consecuencia la obtencin de datos errneos y la prdida de
integridad de la BD.
Para tratar los accesos concurrentes, los SGBD utilizan el concepto de transaccin de BD, concepto
de especial utilidad para todo aquello que hace referencia a la integridad de los datos, como
veremos a continuacin.
1.2 Anlisis de requerimientos
Ver diapositivas Requerimientos.ptx