Los modelos se utilizan en todo tipo de ciencias. Su finalidad es la de simbolizar una
parte del mundo real de forma que sea m谩s f谩cilmente manipulable. En definitiva es un
esquema mental (conceptual) en el que se intentan reproducir las caracter铆sticas de una
realidad espec铆fica.
En el caso de los modelos de datos, lo que intentan reproducir es una informaci贸n
real que deseamos almacenar en un sistema inform谩tico.
Se denomina esquema a una descripci贸n espec铆fica en t茅rminos de un modelo de
datos. El conjunto de datos representados por el esquema forma la base de datos.
clasificaci贸n de los modelos de datos
Esquema
Conceptual
Mundo
real Esquema
can贸nico
Esquema
interno BD
F铆sical
Modelo
Conceptual
Modelo
L贸gico
Modelo
Interno
DBMS
Ilustraci贸n 5, Clasificaci贸n de los modelos de datos
En la ilustraci贸n anterior aparecen los distintos esquemas que llevan desde el mundo real
a la base de datos f铆sica. Como se ve aparecen varios esquemas intermedios. Los que est谩n
m谩s a la izquierda se alejan m谩s de las caracter铆sticas f铆sicas. Los elementos de ese
esquema son:
Mundo real. Contiene la informaci贸n tal cual la percibimos como seres humanos.
Es el punto de partida
Esquema conceptual. Representa el modelo de datos de forma independiente del
DBMS que se utilizar谩.
Esquema can贸nico (o de base de datos). Representa los datos en un formato
m谩s cercano al del ordenador
Esquema interno. Representa los datos seg煤n el modelo concreto de un sistema
gestor de bases de datos (por ejemplo Oracle)
Base de datos f铆sica. Los datos tal cual son almacenados en disco. Dise帽o conceptual de bases de datos
modelado de datos
<16>
Para conseguir estos esquemas se utilizan modelos de datos. El paso entre cada esquema
se sigue con unas directrices concretas. Estas directrices permiten adaptar un esquema
hacia otro.
Los dos modelos fundamentales de datos son el conceptual y el l贸gico. Ambos son
conceptuales en el sentido de que convierten par谩metros del mundo real en abstracciones
que permiten entender los datos sin tener en cuenta la f铆sica de los mismos.
diferencias entre el modelo l贸gico y el conceptual
El modelo conceptual es independiente del DBMS que se vaya a utilizar. El l贸gico
depende de un tipo de SGBD en particular
El modelo l贸gico es m谩s cercano al ordenador
Es m谩s cercano al usuario el modelo conceptual, el l贸gico forma el paso entre el
inform谩tico y el sistema.
Algunos ejemplos de modelos conceptuales son:
Modelo E/R
Modelo RM/T
Modelos sem谩ntico
Ejemplos de modelos l贸gicos son:
Modelo relacional
Codasyl
Jer谩rquic
1- ETAPAS DE UNA METODOLOG脥A DE DISE脩O
En los 煤ltimos a帽os venimos asistiendo, gracias al avance tecnol贸gico, a una gran difusi贸n de los SGBDR, cuyos productos se soportan en cualquier plataforma, desde los superordenadores a los ordenadores personales. Sin embargo, y a pesar del esfuerzo realizado por numerosos investigadores y estudiosos del tema, la concepci贸n de una BD sigue siendo una tarea larga y costosa.
Estas dificultades inherentes al dise帽o de una base de datos han de afrontarse con procedimientos ordenados y met贸dicos en el marco de una metodolog铆a de dise帽o de bases de datos.
En el proceso de dise帽o de una base de datos hemos de distinguir tres grandes fases:
- Dise帽o conceptual: cuyo objetivo es obtener una buena representaci贸n de los recursos de informaci贸n de la empresa, con independencia de usuarios o aplicaciones en particular, y fuera de consideraciones sobre eficiencia del ordenador.
- Dise帽o l贸gico: cuyo objetivo es transformar el esquema conceptual obtenido en la etapa anterior, adapt谩ndolo al modelo de datos en el que se apoya el SGBD que se va a utilizar. Nosotros nos vamos a referir al modelo relacional, pero de forma an谩loga se podr铆a adaptar esta etapa de dise帽o l贸gico a otros modelos de datos, como el Jer谩rquico o el Codasyl.
- Dise帽o f铆sico: cuyo objetivo es conseguir una instrumentaci贸n, lo m谩s eficiente posible, del esquema l贸gico.
Cuando estudiamos el papel de los modelos de datos en el dise帽o de las bases de datos, ya se帽alamos las ventajas de obtener, en una primera fase del dise帽o, un esquema conceptual independiente de las caracter铆sticas de los modelos convencionales, como el modelo relacional, y que recogiese la sem谩ntica del mundo real.
Un problema que se suele presentar en el dise帽o de bases de datos es la comunicaci贸n entre el dise帽ador y el usuario; este 煤ltimo conoce bien el dominio de aplicaci贸n, lo que en general no ocurre con el dise帽ador, pero muchas veces no sabe expresarlo de forma correcta y, menos aun, precisa. La utilizaci贸n del modelo E/R, en una primera fase del dise帽o, facilita el dialogo entre el inform谩tico, conocedor de las t茅cnicas de estructuraci贸n de los datos pero ajeno al dominio de la aplicaci贸n, y el usuario, que suele conocer bien su mundo real pero que no es capaz de describirlo bajo las premisas que impone un modelo convencional.
El modelo E/R sencillo, pero a la vez suficientemente potente, permite entablar un di谩logo entre el usuario y el dise帽ador que facilitara que se despejen dudas y aclaren aspectos del universo del discurso a modelar. Se facilita as铆 la colaboraci贸n de los especialistas con los usuarios, de manera que estos 煤ltimos pueden participar activamente, e incluso ser protagonistas, en el dise帽o.
Podemos representar esquem谩ticamente las dos primeras fases (dise帽o conceptual y dise帽o l贸gico) de la metodolog铆a, en este ejemplo, en el cual aparece el proceso de dise帽o de una biblioteca; el dise帽ador observa el mundo real bajo unos ciertos objetivos (universo del discurso) y, apoy谩ndose en una primera etapa en el modelo E/R, llega a un esquema conceptual, al cual se le aplicara un conjunto de reglas a fin de transformarlo en una estructura relacional (conjunto de tablas).
2- TRANSFORMACI脫N DEL ESQUEMA CONCEPTUAL AL RELACIONAL
El paso de un esquema en el modelo E/R al relacional est谩 basado en los tres principios siguientes:
- Todo tipo de entidad se convierte en una relaci贸n.
- Todo tipo de interrelaci贸n N:M se transforma en una relaci贸n.
- Todo tipo de interrelaci贸n 1:N se traduce en el fen贸meno de propagaci贸n de clave o bien se crea una nueva relaci贸n.
A primera vista se puede observar que en el paso del modelo E/R al relacional pierde sem谩ntica, puesto que tanto las entidades como las interrelaciones se transforman en relaciones, de forma que ya no es posible distinguir entre unas y otras (en el modelo relacional) solo existe la relaci贸n para presentar ambos tipos de objetos).
Tambi茅n se constata que la perdida de sem谩ntica es a煤n mayor en el caso de la propagaci贸n de clave, donde desaparece incluso el nombre de la interrelaci贸n. Es preciso destacar que la perdida de sem谩ntica no implica, necesariamente, un peligro para la integridad de la base de datos, ya que, si la transformaci贸n se ha realizado correctamente, se habr谩n definido las necesarias restricciones (muy en especial las claves ajenas con sus opciones) que aseguraran la consistencia de los datos.
En el ejemplo, puede observarse que las tres entidades EDITORIAL, LIBRO y AUTOR se transforman en otras tantas relaciones. La interrelaci贸n N:M Escribe da lugar a una nueva relaci贸n ESCRIBE cuya clave primaria es la concatenaci贸n de los atributos identificadores de las entidades que participan en ella (nombre de AUTOR y c贸digo de LIBRO), siendo adem谩s estos claves ajenas de ESCRIBE que referencian a las relaciones AUTOR yLIBRO, respectivamente. La interrelaci贸n 1:N edita se transforma en la relaci贸n LIBRO la clave de la relaci贸nEDITORIAL ( a la que llamamos Editorial); atributo que ser谩 clave ajena de la relaci贸n LIBRO referenciando aEDITORIAL.
Las opciones de clave ajena en la transformaci贸n del ME/R al relacional
Si bien, insistimos, el paso del ME/R al relacional implica una cierta p茅rdida de sem谩ntica, se debe procurar que est谩 perdida sea lo menor posible, adem谩s de asegurar al m谩ximo la consistencia de los datos, es decir, la integridad de la base de datos en las operaciones de actualizaci贸n. Las opciones de clave ajena, cuando se borran o modifican ocurrencias de la relaci贸n referenciada (“NO ACTION”,”SET NULL”,”CASCADE, y “SET DEFAULT”), nos pueden ayudar a cumplir este objetivo de mantener la integridad. Seguidamente analizaremos las posibles opciones de borrado y modificaci贸n asociada a las claves ajenas en los casos de propagaci贸n de clave y de creaci贸n de una nueva relaci贸n.