Documentos de Académico
Documentos de Profesional
Documentos de Cultura
22
Para trabajar con nuestras BD, los SGBD necesitan conocer su estructura (qu
entidades tipo habr, qu atributos tendrn, etc.).
Anteriormente, ya hemos hablado de la distincin entre dos niveles de representacin informtica: el nivel lgico y el fsico.
El nivel lgico nos oculta los detalles de cmo se almacenan los datos, cmo
se mantienen y cmo se accede fsicamente a ellos. En este nivel slo se habla
de entidades, atributos y reglas de integridad.
Por cuestiones de rendimiento, nos podr interesar describir elementos de nivel fsico como, por ejemplo, qu ndices tendremos y qu caractersticas presentarn, cmo y dnde (en qu espacio fsico) queremos que se agrupen
fsicamente los registros, de qu tamao deben ser las pginas, etc.
En el periodo 1975-1982, ANSI intentaba establecer las bases para crear estndares en el campo de las BD. El comit conocido como ANSI/SPARC recomend que la arquitectura de los SGBD previese tres niveles de descripcin de la
BD, no slo dos*.
* De hecho, en el ao 1971,
el comit CODASYL ya haba
propuesto los tres niveles
de esquemas.
FUOC 71Z799014MO
23
De este modo, de acuerdo con ANSI/SPARC, habra los tres niveles de esquemas que mencionamos a continuacin:
a) En el nivel externo se sitan las diferentes visiones lgicas que los procesos
usuarios (programas de aplicacin y usuarios directos) tendrn de las partes de
la BD que utilizarn. Estas visiones se denominan esquemas externos.
b) En el nivel conceptual hay una sola descripcin lgica bsica, nica y global, que denominamos esquema conceptual, y que sirve de referencia para el
resto de los esquemas.
c) En el nivel fsico hay una sola descripcin fsica, que denominamos esquema interno.
Figura 4
En el esquema conceptual se describirn las entidades tipo, sus atributos, las interrelaciones y las restricciones o reglas de integridad.
El esquema conceptual corresponde a las necesidades del conjunto de la empresa o del SI, por lo que se escribir de forma centralizada durante el denominado diseo lgico de la BD.
Sin embargo, cada aplicacin podr tener su visin particular, y seguramente
parcial, del esquema conceptual. Los usuarios (programas o usuarios directos)
vern la BD mediante esquemas externos apropiados a sus necesidades. Estos
esquemas se pueden considerar redefiniciones del esquema conceptual, con
las partes y los trminos que convengan para las necesidades de las aplicaciones (o grupos de aplicaciones). Algunos sistemas los denominan subesquemas.
Nota
Es preciso ir con cuidado para
no confundir los niveles que
se describen aqu con los
descritos en el caso de los
ficheros, aunque reciban
el mismo nombre.
En el caso de las BD, el esquema
interno corresponde a la parte
fsica, y el externo a la lgica;
en el caso de los ficheros,
sucede lo contrario.
FUOC 71Z799014MO
24
El esquema interno o fsico contendr la descripcin de la organizacin fsica de la BD: caminos de acceso (ndices, hashing, apuntadores, etc.), codificacin de los datos, gestin del espacio, tamao de la
pgina, etc.
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.
FUOC 71Z799014MO
25
la fsica y la lgica.
De acuerdo con la arquitectura ANSI/SPARC, habr independencia fsica cuando los cambios en el esquema interno no afecten al esquema conceptual ni a
los esquemas externos.
Figura 5
Es obvio que cuando cambiemos unos datos de un soporte a otro, o los cambiemos de lugar dentro de un soporte, no se vern afectados ni los programas
de aplicacin ni los usuarios directos, ya que no se modificar el esquema conceptual ni el externo. Sin embargo, tampoco tendran que verse afectados si
cambisemos, por ejemplo, el mtodo de acceso a unos registros determinados*, el formato o la codificacin, etc. Ninguno de estos casos debera afectar
al mundo exterior, sino slo a la BD fsica, el esquema interno, etc.
Si hay independencia fsica de los datos, lo nico que variar al cambiar el esquema interno son las correspondencias entre el esquema conceptual y el interno. Obviamente, la mayora de los cambios del esquema interno obligarn
a rehacer la BD real (la fsica).
FUOC 71Z799014MO
26
* Programas de aplicacin
o usuarios directos.
Figura 6
Si eliminamos...
... el atributo apellido, por
ejemplo, no se vern afectados
los esquemas externos (ni los
usuarios) que no hagan
referencia a este atributo.
Si se alarga el atributo direccin
al esquema conceptual,
no ser necesario modificar
el esquema externo donde
se ha definido la direccin
y obviamente, tampoco
resultarn afectados los
programas y los usuarios
que la utilicen.
FUOC 71Z799014MO
27
Figura 7
FUOC 71Z799014MO
28
recibida sea correcta, que el usuario del programa est autorizado a hacerla,
etc. Para poder llevar a cabo todo esto, el SGBD se basa (2) en el esquema externo con el que trabaja el programa y en el esquema conceptual.
b) Si la consulta es vlida, el SGBD determina, consultando el esquema interno
(3), qu mecanismo debe seguir para responderla. Ya sabemos que el programa
usuario no dice nada respecto a cmo se debe hacer fsicamente la consulta. Es
el SGBD el que lo debe determinar. Casi siempre hay varias formas y diferentes
caminos para responder a una consulta*. Supongamos que ha elegido aplicar un
hashing al valor del DNI, que es el parmetro de la consulta, y el resultado es la
FUOC 71Z799014MO
29
5. Modelos de BD
Cuidado
con las confusiones!
Popularmente, en especial
en el campo de la informtica
personal, se denomina BD a lo
que aqu denominamos SGBD.
Tampoco se debe confundir
la BD considerada como
modelo de la realidad con lo
que aqu denominamos modelo de BD. El modelo de BD es el
conjunto de herramientas
conceptuales (piezas) que se
utilizan para construir el
modelo de la realidad.
b) Diferentes tipos de restricciones (o reglas) de integridad que el SGBD tendr que hacer cumplir a los datos: dominios, claves, etc.
c) Una serie de operaciones para trabajar con los datos. Un ejemplo de ello,
en el modelo relacional, es la operacin SELECT, que sirve para seleccionar (o
leer) las filas que cumplen alguna condicin. Un ejemplo de operacin tpica
del modelo jerrquico y del modelo en red podra ser la que nos dice si un determinado registro tiene hijos o no.
Evolucin de los modelos de BD
De los cuatro modelos de BD que hemos citado, 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.
Como en el modelo jerrquico, hay registros e interrelaciones, pero un registro
ya no est limitado a ser hijo de un solo registro tipo. El comit CODASYLDBTG propuso un estndar basado en este modelo, que fue adoptado por muchos constructores de SGBD*. Sin embargo, encontr la oposicin de IBM, la
empresa entonces dominante. La propuesta de CODASYL-DBTG ya defina
tres niveles de esquemas.
FUOC 71Z799014MO
30
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
FUOC 71Z799014MO
31
que dieron esta posibilidad fueron Oracle (versin 8), Informix (versin 9) e
IBM/DB2/UDB (versin 5).
Hablamos de modelos de BD, pero de hecho se acostumbran a denominar
modelos de datos, ya que permiten modelarlos. Sin embargo, hay modelos de
datos que no son utilizados por los SGBD del mercado: slo se usan durante el
proceso de anlisis y diseo, pero no en las realizaciones.
Los ms conocidos de estos tipos de modelos son los modelos semnticos y
los funcionales. stos nos proporcionan herramientas muy potentes para describir las estructuras de la informacin del mundo real, la semntica y las interrelaciones, pero normalmente no disponen de operaciones para tratarlas. Se
limitan a ser herramientas de descripcin lgica. Son muy utilizados en la etapa del diseo de BD y en herramientas CASE. El ms extendido de estos modelos es el conocido como modelo ER (entity-relationship), que estudiaremos
ms adelante.
Actualmente, la prctica ms extendida en el mundo profesional de los desarrolladores de SI es la utilizacin del modelo ER durante el anlisis y las primeras etapas del diseo de los datos, y la utilizacin del modelo relacional para
acabar el diseo y construir la BD con un SGBD.
En esta asignatura hablamos slo de BD con modelos de datos estructurados,
que son los que normalmente se utilizan en los SI empresariales. Sin embargo,
hay SGBD especializados en tipos de aplicaciones concretas que no siguen
ninguno de estos modelos. Por ejemplo, los SGBD documentales o los de BD
geogrficas.
La evolucin
de los modelos...
... a lo largo de los aos los
ha ido alejando del mundo
fsico y los ha acercado al
mundo lgico; es decir, se han
alejado de las mquinas y se
han acercado a las personas.