Organización Invertida

Esta técnica de organización de archivos es un tanto similar a la organización Multilista con modificaciones que la hacen más eficiente. La organización 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 básica es la siguiente: • Un archivo maestro. el cual ya no contiene campos apuntadores para cada campo considerado para realizar consultas; como en la organización multilista. • Un índice llamado diccionario invertido que contiene valores de los campos considerados para realizar consultas (características), 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 intención de facilitar la operaciones sobre archivos con tal tipo de organización, puede asociarse a cada llave invertida el atribulo al que le corresponde. Si la llave invertida fuera Informática, posiblemente el atributo es ESCUELA. Nota: Los términos atributo y característica, ya han sido estudiados en la sección anterior Veamos un ejemplo esquemático:

Ventajas: Una de las grandes ventajas de las organizaciones invertidas sobre otras organizaciones es la . y si se han considerado como atributos en el directorio invertido los seis campos se dice que hay una inversión del 100% (máximo grado de inversión). b. 0% de inversión es simplemente las técnicas que consideran una única llave de indexación (un único campo. Por ejemplo. generalmente. si un archivo considera para cada registro 6 campos. Grado de Inversión: EI grado de inversión mide el nivel en que los campos referentes al archivo hayan sido invertidos.a. la llave primaria).

Con referente a la segunda consulta recuperaríamos la lista de acceso de la llave invertida Matemática y luego la lista de acceso de la llave invertida IV ciclo. El resultado será {5}. Insertarse en una ubicación adecuada de la lista de apuntadores. entonces la dirección relativa correspondiente al nuevo registro podría: 1. entonces se agrega tal llave al directorio invertido y se inicia su lista de acceso. Desventajas: Una de las desventajas podría ser dificultad en el manejo de la lista de acceso. Operaciones: • Inserción: 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. c. no se encuentra como llave invertida. Eliminación: • . sin tener que recuperar los registros mismos. Si el valor del campo ya existe como llave invertida. Consultas como las que se ilustran a continuación: • • • ¿Cuántos alumnos pertenecen a la escuela de Informática? Listar los alumnos de Matemática del V ciclo ¿Cuáles son los alumnos de Informática o Matemática? Estas consultas pueden ser efectuadas fácilmente 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.habilidad para satisfacer varios tipos de consultas que involucran a los valores de los campos invertidos. ordenar. Agregarse al final de la lista de acceso asociada a tal llave invertida 2. Pero esta dificultad puede mitigarse con la implementación de métodos apropiados para manejar listas (leer. para mantener un orden y facilitar las operaciones AND y OR Si el valor de un campo invertido. Para la tercera consulta deberíamos aplicar la operación OR.) d. Lo único que nos queda es acceder a los registros con las direcciones relativas obtenidas después de la operación AND. etc. insertar. Finalmente aplicamos una operación AND a las dos listas.

Modificación: Al igual que en el caso anterior. Así el directorio invertido quedaría como: • . es decir perdemos la referencia al registro. 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 deberíamos conocer la dirección relativa de cada uno de los registros a modificar. entonces la lista de acceso asociada a la llave invertida III en el directorio invertido deberá ser modificada. lo que hacemos es eliminar la dirección relativa de las listas de acceso correspondientes. Sin embargo. de modo que 4 y 9 desaparezcan de allí y aparezcan ahora en la lista de acceso de la llave invertida VI. 9} Como el ciclo de ellos antes era III y ahora debería ser IV. Por lo tanto. las direcciones de los registros eliminados podrían reutilizarse por nuevos registros. si es que las modificaciones afectaron campos invertidos. pero debemos trabajarlo con cuidado para no procesar registros 1ogicamente eliminados. Estas son: {4. Por ejemplo: Eliminar lodos los alumnos donde Escuela = INFORMATICA o dicho en términos de SQL: DELETE Alumnos WHERE Escuela = INFORMATICA En este caso cada apuntador a esos registros debe eliminarse de las listas donde aparece. para mitigar este problema. luego procedemos a modificarlos. y posteriormente debemos modificar la lista de acceso. Una alternativa podría ser utilizar el eliminado 1ógico. lo que trae como desventaja ocupar espacio innecesario. en este caso de los alumnos del III ciclo de MATEMATICA. Realmente este es un trabajo que tomara cierto tiempo. deberíamos acceder primero a los registro a actualizar. los datos reales aun se mantienen en el archivo maestro. Cuando eliminamos un registro. EI alumno debería analizar esta situación y crear su algoritmo de reutilización.Primeramente debe localizarse el o los registros que van a eliminare según sea cualquier criterio.

La estrategia para mitigar este problema es invertir el propio directorio invertido. Esta estrategia se puede aplicar a la organización secuencial indexada (en este caso con múltiples niveles). Finalmente. en el archivo maestro. lo que resultará en un segundo índice e invertir este segundo índice.Organización Indexada con Múltiples Niveles Cuando los niveles de inversión son altos. almacenaría el nombre de los campos invertidos (atributos) y los diseccionaría a la primera ubicación del bloque donde comienzan a almacenarse los valores de dicho campo. como en el caso anterior. el directorio invertido se convierte en un archivo grande que puede presentar los mismos problemas para búsqueda que el maestro. un segundo índice. Este tipo de estrategia se denomina organización indexada con niveles múltiples. . Veamos que forma tendría. lo que a su vez resultará en un tercer í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. con nuestro ejemplo: El primer Índice. cada lista mantendrá las direcciones relativas asociadas.

Ventaja: Mayor eficiencia en realizar consultas. . y buscar el nombre correspondiente a ESCUELA. b. en el segundo Índice buscaríamos el valor ESTADISTICA.a. Finalmente con esa lista de acceso accedemos a leer la información de cada registro respectiva en el archivo maestro. que hará referencia a su lista de acceso. 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). en el segundo Índice. Desventajas: Las operaciones de eliminación y mantenimiento se toman más complejas. obtenemos la dirección relativa que apunta al comienzo del bloque de sus correspondientes llaves invertidas. en el tercer Índice. Luego de ubicar el nombre del campo correspondiente. para obtener la dirección relativa. Así.

Organización Indexada con Atributos Múltiples La indexación de atributos múltiples se refiere a la indexación sobre varios campos combinados. Resulta eficiente en sistemas estáticos. debido a su complejidad de evaluar mas de un valor de campo para cada lista de acceso Evaluación General de Sistemas de Archivos Es importante elegir una adecuada organización de archivos de acuerdo a nuestro entorno de trabajo. La evaluación y el análisis 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 actualización Tiempo necesario para las organizaciones . para cada uno de sus campos bajo los que se desea invertir. K3. D En la realidad los archivos están en constante cambio. proporcionando así las rutas de acceso de resolución superior. A esta practica se le denomina indexación con atributos múltiples. K3. a. Para ilustrar la indexación de atributos múltiples considérense consultas que hagan usa de las llaves de acceso K1. K2. En algunos casos específicos el acceso puede resultar rápido al invertirse sobre tres llaves combinadas (por ejemplo mantener una lista de acceso que apunte a los registros que mantengan los tres valores K1. Desventajas: • • Mayor acceso a consultas ya fijados. Ventaja: • • Mayor acceso a consultas ya fijados. o en otras palabras de acuerdo a las características del sistema que vamos a implementar. lo que dificulta el mantenimiento de estos archivos. en el que no haya alto nivel de operaciones sobre el archivo b. K2. Se escuchan con frecuencia varios términos confusos referentes a esta práctica.

a. semana. A este tipo de carga se denomina carga operativa. y el costo de operaciones sobre los datos están relacionados con la carga colocada sobre el sistema. La recuperación de datos se refiere al obtener información en base a nuestros datos almacenados por medio de reportes o consultas. la efectividad con la cual se obtengan. Antes de decidirnos por una organización de archivos en particular es importante hacer un estudio de la carga de peticiones y del tipo de estas. Una transacción puede solicitar datos provenientes de más de un archivo. En este punto es recomendable descomponer las frecuencias de actualizaciones de acuerdo con los tipos de tareas que representan : Adición de un nuevo registro Cambio de un campo en un registro Eliminación de un registro • • • . y esta relacionado con: • • • Solicitud de localización Solicitud de registro siguiente Búsqueda exhaustiva Carga de Actualización También es importante conocer la frecuencia de actualizaciones que afectará a nuestro sistema. La recuperación de la información es un punto crítico o esencial que tenemos que considerar. se controla de acuerdo con el número de registros n. La carga consiste en las demandas de almacenamiento de datos y en las operaciones solicitadas por las transacciones. y el tamaño de cada campo v. A continuación veremos algunos factores relacionados con el uso del sistema: Volumen de Datos La estimación de la carga colocada en el sistema de archivos. Estimación del uso del Sistema : Los beneficios que pueden obtenerse con el sistema. Es decir debemos conocer que peticiones se harán al sistema y cuantas peticiones pueden darse como máximo en un periodo específico (día. mes) . en términos de volumen. EI objetivo principal de las bases de datos es la síntesis de datos y por lo tanto la creación de información. Carga de Recuperación de Información: La recuperación de datos es uno de los objetivos centrales del sistema de archivos. número total de campos t.

pero el sistema ayudará a cumplir con los objetivos trazados en un periodo mayor. • Los beneficios también están relacionados con el tiempo de respuesta del sistema. Si los retrasos son significativos. Análisis de los beneficios del sistema: • • • Los beneficios de tener datos surgen del uso de estos. El sistema es parte de una estrategia de negocio. en términos económicos. Si un sistema no responde con rapidez se desperdiciará tiempo del operador. de forma que pueda atender a la mayor cantidad de clientes. si este tiempo se dilata. • En muchos casos también el beneficio se espera a mediano o largo plazo. es posible que el cliente diga: "Antes de usar este sistema. estoy ahorrando con el uso del sistema. necesario para usar el sistema disminuye sus beneficios. el negocio de ventas andaba mejor" Utilización del sistema • • • EI esfuerzo del operador. es decir talvez no podamos notar los beneficios en unos pocos días. Es decir cuanto. Ejemplo: Imagínense. entonces el sistema será un arma contra la propia institución. se da un pretexto al operador para descuidar sus labores (salir a comprar) mientras el sistema procesa la información. una pequeña entidad de ventas. Costo de Personal EI efecto de un sistema en los costos de personal es una parte importante del diseño adecuado de sistemas. entonces el sistema no provocara los efectos esperados. Si el tiempo de actualizaciones es lento. EI costo de detecció y corrección de un elemento introducido . Lo correcto es determinar cuanto cuesta introducir en forma correcta un elemento (dato). EI tiempo para visualizar la infamación solicitada. que necesita un implementar un sistema. La disponibilidad de los datos almacenados es un prerrequisito para el uso de un sistema En la mayoría de los casos el beneficio del uso de un sistema tiene un valor financiero. Costo de Captación de Datos En la evaluación de los costos de captación de datos no es posible considerar solo cuanto cuesta introducir o captar un elemento (dato). Un sistema lento o torpe aumentará el costa básico de transacción 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 parámetros de búsqueda EI tiempo necesario para el procesamiento real de la solicitud.b.

En este caso los costos pueden ser muy altos. Por ejemplo. de tal forma que podamos encontrar errores o inconsistencia en forma temprana. que si lo detectamos luego de mucho tiempo. el médico en base a la información almacenada (supuestamente fidedigna) podría prescribir medicamentos inadecuados. Ejemplo: Que pasaría si en un sistema que almacena datos de los pacientes de un medico. involuntariamente. . así como el costo de los daños que el valor equivocado podría haber ocasionado mientras fue parte de la base de datos. Posiblemente. Mientras el error se detecte más próximo a su origen el costo será mucho menor. Cada vez que eliminemos un registro presentar la información del registro que se eliminará para confirmar la acción “Eliminar”. ingresamos o eliminamos cierta información errónea. Es imprescindible que apliquemos diversa técnicas y métodos para mitigar la captura de datos incorrectos. deben agregarse al costo de captación de datos. Otra forma de mitigar estos problemas es realizar un reporte constante de la información almacenada en nuestro sistema.en forma incorrecta. ya que la información de sus pacientes podrían haberse alterado.

Sign up to vote on this title
UsefulNot useful