Sie sind auf Seite 1von 8

INTRODUCCION A LA BASE DE DATOS

Concepto y origen de las BD y SGBD

En los aos 60, las aplicaciones informticas se daban en lotes


(batch). Utilizaban ficheros de movimientos para actualizar y/o para
consultar uno o dos ficheros maestros. Cada fichero trataba como
mximo un fichero maestro, el cual estaba en una cinta magntica y
trabajaba con acceso secuencial.
Si se quera aadir una aplicacin con datos existentes y nuevos se
diseaba un nuevo fichero con estos datos, el cual provocaba
redundancia. Conforme aparecan los terminales y los discos, se
fueron escribiendo programas que permitan a los usuarios tener
control sobre los ficheros on-line, tambin surgieron las
actualizaciones.
Con la integracin de aplicaciones fue necesario eliminar la
redundancia. Para eso se deba disear un conjunto de ficheros que
estn interrelacionados, con esto las informaciones redundantes
deban estar en un solo lugar.
Este conjunto de ficheros interrelacionados, con estructuras
complejas y compartidos por varios procesos simultneos (on-line y
por lotes), recibieron el nombre de Data Banks, despus en los
aos setenta recibira el nombre de Data Bases.
El software de gestin de procesos era elemental para poder cumplir
con los requisitos de la Base de Datos, por lo que durante la mitad
de los aos setenta surgi un software ms sofisticado: Data Base
Management Systems o Sistema de gestin de BD.
Una base de datos es un conjunto estructurado de
datos
que
representa
entidades
y
sus
interrelaciones. Esta representacin ser nica e
integrada permitiendo utilizaciones varias y
simultneas.

Ficheros tradicionales y las BD


Fichero
s

BD

Entidades
tipo
Registra solo
una entidad
tipo.

Interrelaciones

Redundancia

Usuarios

El sistema
interrelaciona
ficheros.

Se crean ficheros a la
mediad de cada
aplicacin con los datos
necesarios.

Tienes datos
de varias
entidades
tipo.

Tiene
herramientas
para
interrelacionar
entidades.

Todas las aplicaciones


trabajan con la misma BD
y la integracin es bsica
por lo que no hay
redundancia.

Sirven para
un solo
usuario o
una sola
aplicacin.
Compartida
por muchos
usuarios de
distintos
tipos.

Evolucin de Los SGBD


Los aos sesenta y setenta: Sistemas centralizados

Los SGBD de los sesenta y setenta (IMS de IBM, IDS de


Bull, DMS de Univac, etc.) eran sistemas totalmente
centralizados.
En los aos sesenta, 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 (en la
industrias del automvil). Estos sistemas trabajaban por lotes.
Al aparecer los terminales de teclado, los SGBD estaban ligados al
software de comunicaciones y de gestin de instrucciones.
Se utilizaban lenguajes de alto nivel como Cobol o PL/I.
El diseo y la organizacin de la BD se deba modificar
continuamente debido a que los programas estaban relacionados
con el nivel fsico.
La preocupacin bsica era maximizar el rendimiento.
Los aos ochenta: SGBD relacionales

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
La estandarizacin, en el ao 1986, del lenguaje SQL produjo un
boom en los SGBD relacionales.
Los aos noventa: Distribucin, C/S y 4GL

En la actualidad, gracias principalmente a la estandarizacin del


lenguaje SQL, los SGBD de marcas diferentes pueden darse servicio
unos a otros y colaborar para dar servicio a un programa de
aplicacin. No obstante, en general, en los casos de heterogeneidad
no se llega a poder dar en el programa que los utiliza la apariencia
de que se trata de una nica BD.
Al querer tratar de forma integrada distintas BD preexistentes,
tambin se puede hacer una distribucin deseada, diseando
una BD distribuida fsicamente, y con ciertas partes replicadas en
diferentes sistemas. Las razones bsicas por las que interesa esta
distribucin son las siguientes:
Disponibilidad
Coste
La tecnologa que se utiliza habitualmente para
distribuir datos es la que se conoce como entorno (o
arquitectura) cliente/servidor (C/S). Todos los SGBD
relacionales del mercado han sido adaptados a este
entorno. La idea del C/S es sencilla. Dos procesos

diferentes, que se ejecutan en un mismo sistema o en


sistemas separados, actan de forma que uno tiene el
papel de cliente o peticionario de un servicio, y el otro
el de servidor o proveedor del servicio.

El motivo fundamental ha sido la flexibilidad para construir y hacer


crecer la configuracin informtica global de la empresa, as como
de hacer modificaciones en ella, mediante hardware y software muy
estndar y barato. El xito de las BD, incluso en sistemas
personales, ha llevado a la aparicin de los Fourth Generation
Languages (4GL), lenguajes muy fciles y potentes, especializados
en el desarrollo de aplicaciones fundamentadas en BD. Proporcionan
muchas facilidades en el momento de definir, generalmente de
forma visual, dilogos para introducir, modificar y consultar datos en
entornos C/S.
Tendencias actuales

Los SGBD relacionales estn en plena transformacin para adaptarse


a tres tecnologas de xito reciente, fuertemente relacionadas: La
multimedia, la de orientacin a objetos (OO) e Internet y la web.
Algunas aplicaciones no tienen suficiente con la incorporacin de
tipos especializados en multimedia. Necesitan tipos complejos que el
desarrollador pueda definir a medida de la aplicacin. En definitiva,
se necesitan tipos abstractos de datos: TAD.
Durante estos ltimos aos se ha empezado a extender un tipo de
aplicacin de las BD denominado Data Warehouse, o almacn de
datos.
Actualmente, los SGBD se adaptan a este tipo de aplicacin,
incorporando, por ejemplo, herramientas como las siguientes:
La creacin y el mantenimiento de rplicas, con una
cierta elaboracin de los datos.
La consolidacin de datos de orgenes diferentes.
La creacin de estructuras fsicas que soporten
eficientemente el anlisis multidimensional.

Objetivos y servicios de los SGBD

Consultas no predefinidas y complejas:


El objetivo fundamental de los SGBD es permitir que se
hagan consultas no predefinidas (ad hoc) y complejas.
La solucin estndar para alcanzar este doble objetivo
(consultas no predefinidas y complejas) es el lenguaje
SQL, que explicaremos en otro mdulo didctico.
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.
Independencia fsica de datos, no se necesita saber
nada sobre soporte fsico
Independencia lgica de datos, queremos que
diferentes procesos usuarios puedan tener diferentes
visiones lgicas de una misma BD, y que estas visiones
se puedan mantener lo ms independientes posibles de
la BD, y entre ellas mismas.
Problemas de la redundancia
Integridad de los datos: Los SGBD aseguran el mantenimiento de
la calidad de los datos.
Concurrencia de usuarios
Seguridad
Servir eficientemente los Data Warehouse.
Adaptarse al desarrollo orientado a objetos.
Incorporar el tiempo como un elemento de caracterizacin
de la informacin.
Adaptarse al mundo de Internet

Arquitectura de los SGBD

Esquemas y niveles
Los SGBD necesitan conocer el esquema de la BD, el cual
permite independizar el SGBD de la BD. Con esto se puede
cambiar el diseo (esquema) de la BD sin tocar el SGBD.
Nivel lgico, oculta detalles de cmo se almacenan,
mantienen y como se accede a los datos. Solo se habla de
entidades, atributos y reglas de integridad.
Nivel fsico, describe ndices y caractersticas de los registros.
1975-1982: El comit ANSI/SPARC propuso que los SGBD
tengan tres niveles de esquemas de descripcin (abstraccin):
o Nivel lgico Nivel externo y nivel
conceptual.
o Nivel fsico Nivel interno.
Nivel externo, se sitan las diferentes visiones
lgicas que los procesos usuarios tendrn de las
partes de la BD que utilizaran. Estas visiones se
denominan esquemas externos. En el que se
citaran solo atributos y entidades que interesen.
Nivel conceptual, hay una sola descripcin
lgica bsica, nica y global (esquema
conceptual). En el que se describirn las
entidades tipo, sus atributos, las interrelaciones y
las restricciones. Corresponde a las necesidades
del conjunto de la empresa.
Nivel fsico, descripcin fsica (esquema
interno). Contendr la descripcin de la
organizacin fsica de la BD: Caminos de acceso

(ndices, hashing, apuntadores, etc.), codificacin


de datos, gestin del espacio, tamao de la
pagina, etc. Responde a las cuestiones de
rendimiento.
De acuerdo con la arquitectura ANSI/SPARC, para crear
una BD hace falta definir previamente su esquema
conceptual, definir como mnimo un esquema externo
y, de forma eventual, definir su esquema interno. Si
este ltimo esquema no se define, el mismo SGBD
tendr que decidir los detalles de la organizacin fsica.
El SGBD se encargar de hacer las correspondencias
(mappings) entre los tres niveles de esquemas.

Independencia de los datos


Hay independencia fsica cuando los cambios en la
organizacin fsica de la BD no afectan al mundo exterior
(es decir, los programas usuarios o los usuarios directos).
Hay independencia lgica cuando los usuarios no se ven
afectados por los cambios en el nivel lgico
Los SGBD actuales proporcionan bastante independencia
lgica, pero menos de la que hara falta, ya que las
exigencias de cambios constantes en el SI piden grados
muy elevados de flexibilidad. Los sistemas de ficheros
tradicionales,
en
cambio,
no
ofrecen
ninguna
independencia lgica.
Flujo de datos y control
A continuacin veremos los principales pasos de la ejecucin
de una consulta sometida al SGBD por un programa de
aplicacin:
o Empieza con una llamada del programa a la SGBD, se
verifica basndose en el esquema externo y el
esquema conceptual del programa.
o Si la consulta es vlida, el SGBD determina,
consultando el esquema interno, que mecanismo
debe seguir para responderla.
o El SGBD comprobar si esta pgina se encuentra en el
rea de los buffers. Si no est, el SGBD, con la ayuda
del SO, la busca en disco y la carga en los buffers.
o El SGBD extrae el registro buscado e interpreta la
codificacin y el resultado segn lo que diga el
esquema interno.
o El SGBD aplica a los datos las eventuales
transformaciones lgicas que implica el esquema
externo y las llevara al rea de trabajo retornando el
control al programa y termina la consulta.

Modelos de BD
o
o
o
o

Modelo
Modelo
Modelo
Modelo

relacional.
jerrquico.
en red.
relacional con objetos.

Todos nos proporcionan tres tipos de herramientas:


a) Estructuras de datos con las que se puede construir una BD.
b) Diferentes tipos de restricciones.
c) Una serie de operaciones para trabajar con los datos.
Evolucin de los modelos de BD
El que apareci primero, a principios de los aos sesenta, fue el
modelo jerrquico. Sus estructuras son registros interrelacionados en
forma de rboles. El SGBD clsico de este modelo es el IMS/DL1 de IBM.
A principios de los setenta surgieron SGBD basados en un modelo en
red.
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.
Estos ltimos aos se est extendiendo el modelo de BD relacional
con objetos. Se trata de ampliar el modelo relacional, aadindole la
posibilidad de que los tipos de datos sean tipos abstractos de datos,
TAD. Los primeros SGBD relacionales que dieron esta posibilidad fueron
Oracle (versin 8), Informix (versin 9) e IBM/DB2/UDB (versin 5).

Lenguajes y usuarios
Lenguaje DDL, especializado en la escritura de esquemas
(descripcin de la BD).
Lenguaje DML, especializado en la utilizacin de la BD.
Lenguaje SQL, utilizado en las BD relacionales.
Lenguajes 4GL, facilitan el tratamiento de la BD, la definicin de
mens, pantallas y dilogos.
Herramientas o interfaces visuales, permiten usar las BD
siguiendo el estilo de dilogos con ventanas, iconos y ratn;
permiten consultar y actualizar la BD.

Administracin de BD
Los administradores de BD son los responsables del correcto
funcionamiento de la BD y velan para que siempre se mantenga til.
Intervienen en situaciones problemticas o de emergencia, pero su
responsabilidad fundamental es velar para que no se produzcan
incidentes.

Mantenimiento, administracin y control de los esquemas.


Comunicacin de los cambios a los usuarios.
Asegurar la mxima disponibilidad de los datos; por ejemplo,
haciendo copias (back-ups), administrando diarios (journals o
logs), reconstruyendo la BD, etc.
Resolucin de emergencias.
Vigilancia de la integridad y de la calidad de los datos.
Diseo fsico, estrategia de caminos de acceso y
reestructuraciones.
Control del rendimiento y decisiones relativas a las
modificaciones en los esquemas y/o en los parmetros del
SGBD y del SO, para mejorarlo.
Normativa y asesoramiento a los programadores y a los
usuarios finales sobre la utilizacin de la BD.
Control y administracin de la seguridad: autorizaciones,
restricciones, etc.

Ejercicios de autoevaluacin
1. Qu ventajas aportaron los SGBD relacionales con respecto a los prerrelacionales?
2. Para mejorar la disponibilidad y el coste, hemos decidido que una cierta parte de una BD que
est situada en el ordenador central de la empresa estar duplicada (replicada) en un ordenador
situado en una oficina alejada (conectado permanentemente por va telefnica). Los programas que
actualizan la BD, tendran que preocuparse de actualizar tambin la rplica? Por qu?
3. Hemos programado una transaccin para consultar cuntos alumnos cursan una asignatura.
Si este nmero es inferior a quince, se nos informar de cuntos hay y en una lista, en una hoja de
papel o en la pantalla nos aparecern todos ellos. Sin embargo, si es superior o igual a quince,
simplemente dir cuntos hay. Supongamos que de forma concurrente con esta transaccin se
podrn estar ejecutando otras que inserten nuevos alumnos o que los supriman. Qu problema se
podr producir si el SGBD no asla totalmente las transacciones?
4. De las siguientes afirmaciones, decid cules son ciertas y cules son falsas:
a) El modelo ER es ms conocido como modelo relacional.
b) Los SGBD no permiten la redundancia.
c) El DML es un lenguaje declarativo.
d) El DDL es un lenguaje pensado para escribir programas de consulta y actualizacin de BD.
e) En un ordenador que acta como servidor de BD, con dos RAID y tres discos duros y con un
SGBD actual, no es necesario que los encargados de realizar los programas para consultar esta BD
sepan en qu discos est.
f) Cuando un programa quiere acceder a unos datos mediante un ndice, lo debe decir al SGBD.
1. Los SGBD relacionales aportaron una programacin ms sencilla: los lenguajes son ms sencillos
y no dependen tanto de las caractersticas fsicas de la BD. Se da ms flexibilidad a los cambios
(ms independencia fsica de los datos). El programador se debe preocupar mucho menos de las
cuestiones de rendimiento, pues de ello ya se ocupa el SGBD. Incluyen lenguajes declarativos de
consulta para usuarios no informticos.
2. Si la actualizacin no se hace en los dos lugares, la redundancia nos puede comportar problemas
de consistencia de los datos. El administrador de la BD debera poder describir qu quiere que est
replicado y cmo quiere que se haga el mantenimiento de la rplica. El SGBD debera encargarse
de mantener la rplica actualizada correctamente. Si la actualizacin de la rplica la tuviesen que
hacer los programas de aplicacin, podra suceder que alguno de ellos no lo hiciese, o incluso que
la actualizacin la hiciese (mal) un usuario directo, sin escribir un programa.
Y todava ms, los programas de aplicacin y los usuarios directos deberan ser totalmente ajenos a
estos temas fsicos (rendimiento, disponibilidad, etc.), ya que de este modo se podran cambiar las
decisiones, como por ejemplo variar la poltica de rplicas, sin que se tuviesen que modificar los
programas ni avisar a nadie. Simplemente debe intervenir el ABD mediante el lenguaje de
descripcin del nivel fsico. Actualmente, los SGBD del mercado ya dan este nivel de
independencia.
3. Supongamos que la transaccin consulta al SGBD cuntos alumnos hay, y el SGBD cuenta trece.
El programa preparar una lnea de cabecera de lista que indique que hay trece alumnos, y a
continuacin los mostrar. Sin embargo, entre el momento en que fabrica esta cabecera y el
momento de empezar a leer a los alumnos uno por uno para mostrarlos, otras transacciones (que
se ejecutan concurrentemente con sta) eliminan a dos alumnos. Entonces, el programa nos
mostrar slo a once, a pesar de que haba anunciado trece.
Y si las transacciones concurrentes que hacen actualizaciones hubiesen insertado tres alumnos, la
cabecera dira que hay trece, y mostrara en realidad diecisis (y no tendra que mostrar nunca
ms de quince!).
Estos problemas de concurrencia pueden surgir si el SGBD no lleva un control que evite las
interferencias.
4. a) Falsa, b) Falsa, c) Falsa, d) Falsa, e) Cierta, f) Falsa.

Das könnte Ihnen auch gefallen