Niveles de Transparencia SGBDD
Niveles de Transparencia SGBDD
Niveles de Transparencia SGBDD
El propsito de establecer una arquitectura de un sistema de bases de datos distribuidas es ofrecer un nivel de transparencia adecuado para el manejo de la informacin. La transparencia se puede entender como la separacin de la semntica de alto nivel de un sistema de los aspectos de bajo nivel relacionados a la implementacin del mismo. Un nivel de transparencia adecuado permite ocultar los detalles de implementacin a las capas de alto nivel de un sistema y a otros usuarios. En sistemas de bases de datos distribuidos el propsito fundamental de la transparencia es proporcionar independencia de datos en el ambiente distribuido. Se pueden encontrar diferentes aspectos relacionados con la transparencia. Por ejemplo, puede existir transparencia en el manejo de la red de comunicacin, transparencia en el manejo de copias repetidas o transparencia en la distribucin o fragmentacin de la informacin. La independencia de datos es la inmunidad de las aplicaciones de usuario a los cambios en la definicin y/u organizacin de los datos y viceversa. La independencia de datos se puede dar en dos aspectos: lgica y fsica. 1. Independencia lgica de datos. Se refiere a la inmunidad de las aplicaciones de usuario a los cambios en la estructura lgica de la base de datos. Esto permite que un cambio en la definicin de un esquema no debe afectar a las aplicaciones de usuario. Por ejemplo, el agregar un nuevo atributo a una relacin, la creacin de una nueva relacin, el reordenamiento lgico de algunos atributos. 2. Independencia fsica de datos. Se refiere al ocultamiento de los detalles sobre las estructuras de almacenamiento a las aplicaciones de usuario. Esto es, la descripcin fsica de datos puede cambiar sin afectar a las aplicaciones de usuario. Por ejemplo, los datos pueden ser movidos de un disco a otro, o la organizacin de los datos puede cambiar. La transparencia al nivel de red se refiere a que los datos en un SBDD se acceden sobre una red de computadoras, sin embargo, las aplicaciones no deben notar su existencia. La transparencia al nivel de red conlleva a dos cosas: 1. Transparencia sobre la localizacin de datos. Esto es, el comando que se usa es independiente de la ubicacin de los datos en la red y del lugar en donde la operacin se lleve a cabo. Por ejemplo, en Unix existen dos comandos para hacer una copia de archivo. CP se utiliza para copias locales y RCP se utiliza para copias remotas. En este caso no existe transparencia sobre la localizacin. 2. Transparencia sobre el esquema de nombramiento. Lo anterior se logra proporcionando un nombre nico a cada objeto en el sistema distribuido. As, no se debe mezclar la informacin de la localizacin con en el nombre de un objeto.
La transparencia sobre replicacin de datos se refiere a que si existen rplicas de objetos de la base de datos, su existencia debe ser controlada por el sistema no por el usuario. Se debe tener en cuenta que al cuando el usuario se encarga de manejar las rplicas en un sistema, el trabajo de ste es mnimo por lo que se puede obtener una eficiencia mayor. Sin embargo, el usuario puede olvidarse de mantener la consistencia de las rplicas teniendo as datos diferentes. La transparencia a nivel de fragmentacin de datos permite que cuando los objetos de la bases de datos estn fragmentados, el sistema tiene que manejar la conversin de consultas de usuario definidas sobre relaciones globales a consultas definidas sobre fragmentos. As tambin, ser necesario mezclar las respuestas a consultas fragmentadas para obtener una sola respuesta a una consulta global. El acceso a una base de datos distribuida debe hacerse en forma transparente. Ejemplo 2.1. Como un ejemplo se utilizar a lo largo de estas notas una base de datos que modela una compaa de ingeniera. Las entidades a ser modeladas son ingenieros y proyectos. Para cada ingeniero, se desea conocer su nmero de empleado (ENO), su nombre (ENOMBRE), el puesto ocupado en compaa (TITULO), el salario (SAL), la identificacin de los nombres de proyectos en los cuales est trabajando (JNO), la responsabilidad que tiene dentro del proyecto (RESP) y la duracin de su responsabilidad en meses (DUR). Similarmente, para cada proyecto se desea conocer el nmero de proyecto (JNO), el nombre del proyecto (JNOMBRE), el presupuesto asignado al proyecto (PRESUPUESTO) y el lugar en donde se desarrolla el proyecto (LUGAR). Un ingeniero puede participar en ms de un proyecto pero su salario corresponde nicamente al puesto que ocupa en la compaa. As, despus de aplicar normalizacin se obtienen las relaciones E para ingenieros, J para proyectos, S para los salarios asignados a los puestos y G para los ingenieros asignados a cada proyecto. Un ejemplo de las instancias para cada relacin se presenta en la Figura 2.1. E = Ingenieros
ENO E1 E2 E3 E4 E5 E6 E7 E8 ENOMBRE Juan Rodrguez Miguel Snchez Armando Legarreta Beatriz Molleda Jorge Castaeda Luis Chvez Roberto Dvila Julia Jimnez TITULO Ingeniero Elctrico Analista de Sistemas Ingeniero Mecnico Programador Analista de Sistemas Ingeniero Elctrico Ingeniero Mecnico Analista de Sistemas
ENO E1 E2 E2 E3 E3 E4 E5 E6 E7 E7 E8
JNO J1 J1 J2 J3 J4 J2 J2 J4 J3 J5 J3
PUESTO Administrador Analista Analista Consultor Ingeniero Programador Administrador Administrador Ingeniero Ingeniero Administrador
DUR 12 24 6 10 48 18 24 48 36 23 40
J = Trabajos
JNO J1 J2 J3 J4 J5 JNOMBRE Instrumentacin Desarrollo de bases de datos CAD/CAM Mantenimiento CAD/CAM PRESUPUESTO 150000 135000 250000 310000 500000 LUGAR Monterrey Mxico Puebla Mxico Monterrey
S = Salario
TITULO Ingeniero Elctrico Analista de Sistemas Ingeniero Mecnico Programador SALARIO 40000 34000 27000 24000
Si se quisiera obtener todos los empleados y sus salarios en la corporacin quienes han trabajado ms de 12 meses se hara la consulta siguiente en SQL:
SELECT ENOMBRE, SALARIO FROM E, G, S WHERE JORNADA > 12 AND E.ENO = G.ENO AND E.TILE = S.TITLE
Se debe tener en cuenta que en cada sitio de la corporacin puede haber esquemas diferentes o repetidos. Por ejemplo, en la Figura 2.2 se presentan esquemas diferentes
para el manejo de proyectos, empleados y puestos en cada sitio de la bases de datos del Ejemplo 2.1.
En resumen, la transparencia tiene como punto central la independencia de datos. Los diferentes niveles de transparencia se pueden organizar en capas como se muestra en la Figura 2.3. En el primer nivel se soporta la transparencia de red. En el segundo nivel se permite la transparencia de replicacin de datos. En el tercer nivel se permite la transparencia de la fragmentacin. Finalmente, en el ltimo nivel se permite la transparencia de acceso (por medio de lenguaje de manipulacin de datos). La responsabilidad sobre el manejo de transparencia debe estar compartida tanto por el sistema operativo, el sistema de manejo de bases de datos y el lenguaje de acceso a la base de datos distribuida. Entre estos tres mdulos se deben resolver los aspectos sobre el procesamiento distribuido de consultas y sobre el manejo de nombres de objetos distribuidos.