Anda di halaman 1dari 10

Organizacin Invertida

Esta tcnica de organizacin de archivos es un tanto similar a la organizacin Multilista con modificaciones que la hacen ms eficiente. La organizacin invertida es una de las estructuras fundamentales de muchos sistemas manejadores de Base de Dalos. El sistema TDMS (Time-Shared Data Management System) de la System Development Corporation fue el primer sistema comercial generalizado para manejo de datos a finales de los sesenta. La estructura bsica es la siguiente: Un archivo maestro. el cual ya no contiene campos apuntadores para cada campo considerado para realizar consultas; como en la organizacin multilista. Un ndice llamado diccionario invertido que contiene valores de los campos considerados para realizar consultas (caractersticas), cada uno de estos valores se denomina llave Invertida. Cada. una de las llaves invertidas lleva asociada una lista de direcciones relativas, que son las direcciones de los registros caracterizados precisamente por tal valor de la llave invertida. A tal lista se le denomina lista de acceso. Adicionalmente, con la intencin de facilitar la operaciones sobre archivos con tal tipo de organizacin, puede asociarse a cada llave invertida el atribulo al que le corresponde. Si la llave invertida fuera Informtica, posiblemente el atributo es ESCUELA. Nota: Los trminos atributo y caracterstica, ya han sido estudiados en la seccin anterior Veamos un ejemplo esquemtico:

a. Grado de Inversin: EI grado de inversin mide el nivel en que los campos referentes al archivo hayan sido invertidos. Por ejemplo, si un archivo considera para cada registro 6 campos, y si se han considerado como atributos en el directorio invertido los seis campos se dice que hay una inversin del 100% (mximo grado de inversin), 0% de inversin es simplemente las tcnicas que consideran una nica llave de indexacin (un nico campo, generalmente, la llave primaria). b. Ventajas: Una de las grandes ventajas de las organizaciones invertidas sobre otras organizaciones es la

habilidad para satisfacer varios tipos de consultas que involucran a los valores de los campos invertidos, sin tener que recuperar los registros mismos. Consultas como las que se ilustran a continuacin: Cuntos alumnos pertenecen a la escuela de Informtica? Listar los alumnos de Matemtica del V ciclo Cules son los alumnos de Informtica o Matemtica?

Estas consultas pueden ser efectuadas fcilmente accediendo a la lista de acceso referente a la llave invertida que es el valor correspondiente al campo invertido por el que se esta haciendo consultas. Con referente a la segunda consulta recuperaramos la lista de acceso de la llave invertida Matemtica y luego la lista de acceso de la llave invertida IV ciclo. Finalmente aplicamos una operacin AND a las dos listas. El resultado ser {5}. Lo nico que nos queda es acceder a los registros con las direcciones relativas obtenidas despus de la operacin AND. Para la tercera consulta deberamos aplicar la operacin OR. c. Desventajas: Una de las desventajas podra ser dificultad en el manejo de la lista de acceso. Pero esta dificultad puede mitigarse con la implementacin de mtodos apropiados para manejar listas (leer, insertar, ordenar, etc.) d. Operaciones: Insercin: Se almacena el registro secuencialmente y luego se toma en cuenta en el directorio invertido cada valor de campo del nuevo registro que corresponda a un campo invertido. Si el valor del campo ya existe como llave invertida, entonces la direccin relativa correspondiente al nuevo registro podra: 1. Agregarse al final de la lista de acceso asociada a tal llave invertida 2. Insertarse en una ubicacin adecuada de la lista de apuntadores, para mantener un orden y facilitar las operaciones AND y OR Si el valor de un campo invertido, no se encuentra como llave invertida, entonces se agrega tal llave al directorio invertido y se inicia su lista de acceso. Eliminacin:

Primeramente debe localizarse el o los registros que van a eliminare segn sea cualquier criterio. Por ejemplo: Eliminar lodos los alumnos donde Escuela = INFORMATICA o dicho en trminos de SQL: DELETE Alumnos WHERE Escuela = INFORMATICA En este caso cada apuntador a esos registros debe eliminarse de las listas donde aparece. Realmente este es un trabajo que tomara cierto tiempo. Una alternativa podra ser utilizar el eliminado 1gico, pero debemos trabajarlo con cuidado para no procesar registros 1ogicamente eliminados. Cuando eliminamos un registro, lo que hacemos es eliminar la direccin relativa de las listas de acceso correspondientes, es decir perdemos la referencia al registro. Sin embargo, los datos reales aun se mantienen en el archivo maestro, lo que trae como desventaja ocupar espacio innecesario. Por lo tanto, para mitigar este problema; las direcciones de los registros eliminados podran reutilizarse por nuevos registros. EI alumno debera analizar esta situacin y crear su algoritmo de reutilizacin. Modificacin: Al igual que en el caso anterior, deberamos acceder primero a los registro a actualizar, luego procedemos a modificarlos, y posteriormente debemos modificar la lista de acceso, si es que las modificaciones afectaron campos invertidos. Por ejemplo: Modificar Ciclo=IV de todos los alumnos del III ciclo de la Escuela de MATEMATICA o en SOL: UPDATE Alumnos SET Cicio = IV WHERE Escuela = INFORMATICA AND Ciclo = III En primer lugar deberamos conocer la direccin relativa de cada uno de los registros a modificar, en este caso de los alumnos del III ciclo de MATEMATICA. Estas son: {4, 9} Como el ciclo de ellos antes era III y ahora debera ser IV, entonces la lista de acceso asociada a la llave invertida III en el directorio invertido deber ser modificada, de modo que 4 y 9 desaparezcan de all y aparezcan ahora en la lista de acceso de la llave invertida VI. As el directorio invertido quedara como:

Organizacin Indexada con Mltiples Niveles


Cuando los niveles de inversin son altos, el directorio invertido se convierte en un archivo grande que puede presentar los mismos problemas para bsqueda que el maestro, La estrategia para mitigar este problema es invertir el propio directorio invertido, lo que resultar en un segundo ndice e invertir este segundo ndice, lo que a su vez resultar en un tercer ndice. Este tipo de estrategia se denomina organizacin indexada con niveles mltiples. Esta estrategia se puede aplicar a la organizacin secuencial indexada (en este caso con mltiples niveles). Veamos que forma tendra, con nuestro ejemplo: El primer ndice, almacenara el nombre de los campos invertidos (atributos) y los diseccionara a la primera ubicacin del bloque donde comienzan a almacenarse los valores de dicho campo, un segundo ndice. A su vez, cada uno de estos valores (llaves invertidas) apuntara a un tercer ndice, el que mantendr una lista de acceso para cada llave invertida, como en el caso anterior. Finalmente, cada lista mantendr las direcciones relativas asociadas, en el archivo maestro.

a. Ventaja: Mayor eficiencia en realizar consultas, al poder acceder a cada llave invertida con mayor facilidad. Por ejemplo con la siguiente consulta:

SELECT * FROM Alumnos WHERE ESCUELA = ESTADISTICA Para resolver este problema, debemos acceder en primer lugar al ndice que mantiene los nombres de los campos invertidos (atributos), y buscar el nombre correspondiente a ESCUELA. Luego de ubicar el nombre del campo correspondiente, obtenemos la direccin relativa que apunta al comienzo del bloque de sus correspondientes llaves invertidas, en el segundo ndice. As, en el segundo ndice buscaramos el valor ESTADISTICA, para obtener la direccin relativa, que har referencia a su lista de acceso, en el tercer ndice. Finalmente con esa lista de acceso accedemos a leer la informacin de cada registro respectiva en el archivo maestro. b. Desventajas: Las operaciones de eliminacin y mantenimiento se toman ms complejas.

Organizacin Indexada con Atributos Mltiples


La indexacin de atributos mltiples se refiere a la indexacin sobre varios campos combinados, proporcionando as las rutas de acceso de resolucin superior. Se escuchan con frecuencia varios trminos confusos referentes a esta prctica. Para ilustrar la indexacin de atributos mltiples considrense consultas que hagan usa de las llaves de acceso K1, K2, K3. En algunos casos especficos el acceso puede resultar rpido al invertirse sobre tres llaves combinadas (por ejemplo mantener una lista de acceso que apunte a los registros que mantengan los tres valores K1, K2, K3, para cada uno de sus campos bajo los que se desea invertir. A esta practica se le denomina indexacin con atributos mltiples. a. Ventaja: Mayor acceso a consultas ya fijados. Resulta eficiente en sistemas estticos, en el que no haya alto nivel de operaciones sobre el archivo b. Desventajas: Mayor acceso a consultas ya fijados. D En la realidad los archivos estn en constante cambio, lo que dificulta el mantenimiento de estos archivos, debido a su complejidad de evaluar mas de un valor de campo para cada lista de acceso

Evaluacin General de Sistemas de Archivos


Es importante elegir una adecuada organizacin de archivos de acuerdo a nuestro entorno de trabajo, o en otras palabras de acuerdo a las caractersticas del sistema que vamos a implementar. La evaluacin y el anlisis de los sistemas de archivos est frecuentemente relacionado con: Almacenamiento necesario de datos Tiempo esperado de respuesta(Tiempo en localizar datos y mostrarlos) Tiempo esperado de actualizacin Tiempo necesario para las organizaciones

a. Estimacin del uso del Sistema : Los beneficios que pueden obtenerse con el sistema, la efectividad con la cual se obtengan, y el costo de operaciones sobre los datos estn relacionados con la carga colocada sobre el sistema. La carga consiste en las demandas de almacenamiento de datos y en las operaciones solicitadas por las transacciones. A continuacin veremos algunos factores relacionados con el uso del sistema: Volumen de Datos La estimacin de la carga colocada en el sistema de archivos, en trminos de volumen, se controla de acuerdo con el nmero de registros n, nmero total de campos t, y el tamao de cada campo v. Carga de Recuperacin de Informacin: La recuperacin de datos es uno de los objetivos centrales del sistema de archivos. La recuperacin de datos se refiere al obtener informacin en base a nuestros datos almacenados por medio de reportes o consultas. Una transaccin puede solicitar datos provenientes de ms de un archivo. EI objetivo principal de las bases de datos es la sntesis de datos y por lo tanto la creacin de informacin. Antes de decidirnos por una organizacin de archivos en particular es importante hacer un estudio de la carga de peticiones y del tipo de estas. Es decir debemos conocer que peticiones se harn al sistema y cuantas peticiones pueden darse como mximo en un periodo especfico (da, semana, mes) . A este tipo de carga se denomina carga operativa. La recuperacin de la informacin es un punto crtico o esencial que tenemos que considerar, y esta relacionado con: Solicitud de localizacin Solicitud de registro siguiente Bsqueda exhaustiva

Carga de Actualizacin Tambin es importante conocer la frecuencia de actualizaciones que afectar a nuestro sistema. En este punto es recomendable descomponer las frecuencias de actualizaciones de acuerdo con los tipos de tareas que representan : Adicin de un nuevo registro Cambio de un campo en un registro Eliminacin de un registro

b. Anlisis de los beneficios del sistema: Los beneficios de tener datos surgen del uso de estos. La disponibilidad de los datos almacenados es un prerrequisito para el uso de un sistema En la mayora de los casos el beneficio del uso de un sistema tiene un valor financiero. Es decir cuanto, en trminos econmicos, estoy ahorrando con el uso del sistema. En muchos casos tambin el beneficio se espera a mediano o largo plazo, es decir talvez no podamos notar los beneficios en unos pocos das, pero el sistema ayudar a cumplir con los objetivos trazados en un periodo mayor. El sistema es parte de una estrategia de negocio. Los beneficios tambin estn relacionados con el tiempo de respuesta del sistema, si este tiempo se dilata, entonces el sistema no provocara los efectos esperados. Ejemplo: Imagnense, una pequea entidad de ventas, que necesita un implementar un sistema, de forma que pueda atender a la mayor cantidad de clientes. Si el tiempo de actualizaciones es lento, entonces el sistema ser un arma contra la propia institucin, es posible que el cliente diga: "Antes de usar este sistema, el negocio de ventas andaba mejor" Utilizacin del sistema EI esfuerzo del operador, necesario para usar el sistema disminuye sus beneficios. Un sistema lento o torpe aumentar el costa bsico de transaccin Las medidas directas de tiempo del esfuerzo para utilizar el sistema incluyen : EI tiempo necesario para plantear consultas EI tiempo necesario para introducir en el sistema parmetros de bsqueda EI tiempo necesario para el procesamiento real de la solicitud. EI tiempo para visualizar la infamacin solicitada. Costo de Personal EI efecto de un sistema en los costos de personal es una parte importante del diseo adecuado de sistemas. Si un sistema no responde con rapidez se desperdiciar tiempo del operador. Si los retrasos son significativos, se da un pretexto al operador para descuidar sus labores (salir a comprar) mientras el sistema procesa la informacin. Costo de Captacin de Datos En la evaluacin de los costos de captacin de datos no es posible considerar solo cuanto cuesta introducir o captar un elemento (dato). Lo correcto es determinar cuanto cuesta introducir en forma correcta un elemento (dato). EI costo de detecci y correccin de un elemento introducido

en forma incorrecta, as como el costo de los daos que el valor equivocado podra haber ocasionado mientras fue parte de la base de datos, deben agregarse al costo de captacin de datos. Es imprescindible que apliquemos diversa tcnicas y mtodos para mitigar la captura de datos incorrectos. Por ejemplo. Cada vez que eliminemos un registro presentar la informacin del registro que se eliminar para confirmar la accin Eliminar. Mientras el error se detecte ms prximo a su origen el costo ser mucho menor, que si lo detectamos luego de mucho tiempo. Ejemplo: Que pasara si en un sistema que almacena datos de los pacientes de un medico, ingresamos o eliminamos cierta informacin errnea, involuntariamente. Posiblemente, el mdico en base a la informacin almacenada (supuestamente fidedigna) podra prescribir medicamentos inadecuados, ya que la informacin de sus pacientes podran haberse alterado. En este caso los costos pueden ser muy altos. Otra forma de mitigar estos problemas es realizar un reporte constante de la informacin almacenada en nuestro sistema, de tal forma que podamos encontrar errores o inconsistencia en forma temprana.

Anda mungkin juga menyukai