ORGANIZACION MULTILISTA DE ARCHIVOS

Anuncio
ORGANIZACION MULTILISTA DE ARCHIVOS
- Consiste de diversas Listas Enlazadas Entre Si.
- Los Registros Indice son de Longitud Fija en vez de Variable.
- Es Menos Eficaz que un File Inverso para las Recuperaciones .
1. ESTRUCTURA DE LISTA ENLAZADA :
Consiste en una Lista de REGISTROS o Datos Ligados entre si Via Señaladores
Los Records estan Aleatoriamente Dispersos en una Unidad de Almacenamiento
Auxiliar, Guardandose los Records por el S.O. en cualquier Espacio Libre, y
manteniendose su Secuencia via Señaladores. ( En contraste a los Files Secuenciales: la
Secuencia L6gica coincide con la Contiguidad de los Records. ). (ver figura….)
Cada Record en este tipo de Estructura incluye un Campo Señalador dirigido al
siguiente Record en la Secuencia Logica.
En una lista enlazada el campo señalador esta dentro de cada record, señalando el
siguiente record en la secuencia 1ogica.
Un Señalador puede Consistir en una Direccion Relativa, un Valor Principal o Direccion
Fisica Real.
La Lista Enlazada es una Estructura Practica para Mantener la Secuencia Logica de un
File en el que se Efectuan Frecuentes Operaciones de Actualización.
La Insercion y Eliminacion se llevan a cabo sin Reorganizar el File pudiendose lnsertar
un Record en la Lista Enlazada en cualquier Espacio Libre del File , ajustandose los
señaladores de los record ( nodos ) afectados para reflejar la secuencia 1ógica deseada.
Se elimina cuando el registro queda desconectado del enlace
(ver figura………)
La flexibilidad en la insercion o disminucion de records compensa la mayor necesidad
de almacenamiento extra y el trabajo de mantener el sistema de Señaladores.
2. Estructura Multilista ( Lista con Enlaces Multiples )
En una Multilista cada Lista Enlazada se Establece con Base en un Valor de
Clave en un Campo Clave. (ver figura 3-10 a)
Se Establece una Estructura Multilista en un Archivo de Datos por una Clave
Principal y una Clave Secundaria , basada en diferentes Valores de Claves en
el Campo Clave Secundaria, creandose tantas Listas Enlazadas como
Valores Diferentes tenga la Clave Secundaria. (ver figura 3-10b)
Los Records dentro de una misma Lista Enlazada se ordenan de acuerdo al
Orden Ascendente de la Clave Principal.
La Organización Multilista en su Representación Lógica consta de un Indice y
un Archivo de Datos con Señaladores Internos. Una Entrada Indice Incluye 3
Campos:
. Un Valor de Clave Secundaria.
. Un Señalador hacia el 1° Record en una Lista Enlazada cuyos Miembros
Contienen el Mismo Valor asociado a la Clave Secundaria.
. Un Contador de Campos para indicar el Numero de Records en la Lista
Enlazada.
(ver figura 3-10 c)
Cada Entrada en la Estructura Multilista tiene solo un Valor de Señalador
Orientado hacia el Principio de la Lista Enlazada.
En esta Organización Multilista se Establece una Lista Enlazada para cada
Valor Clave Secundaria.
El indice de un archivo multilista es de longitud fija ya que cada campo
señalador contiene un solo valor (.versus variable en archivo inverso)
Se Puede Establecer un Indice para mas de un Campo Clave Secundaria.
En el Indice se incluye un contador para llevar el numero de records en la lista
enlazada. Usandose el contador para consultas conjuntivas.
EXAMINANDO UNA MULTILISTA PARA CONSULTAS EN CLAVES
MULTIPLES
-
Multilista Opera eficientemente para Consultas Simples. Ej:
List Name where AGE=20 (clave secundaria con un solo valor clave)
- Resulta Ineficiente para Consultas que llevan mas de una Clave Secundaria.
- Consulta Conjuntiva: Une condiciones de consulta por medio de un Operador
Relacional AND Ejem : list name, where AGE=20 and CLASS=541
La Consulta puede Responderse Buscando la Lista AGE = 20 o la CLASS = 541
Ahora : Que Lista debe seguirse para obtener la respuesta mas Rapida ?
Como una Lista debe recorrerse de principio a fin, ==> Se debe Escoger la
Mas Corta, se escoje CLASS 541 con longitud=3 y se examina buscando
AGE=20.
Si asi Ocurre, se visualiza el contenido NAME.
- Consulta Disjuntiva : Une Condiciones de Consulta por medio de un Operador
Relacional OR. Ejem : List NAME, where AGE=20 or CLASS=541, los
Records que Satisfaga una o ambas condiciones califican. (3 records 541 y 4
records 205 records en la listaMinimizar Recuperaciones Repetitivas
Se recorren ambas Listas, Evitandose Recuperaciones Repetidas de
Records que Aparecen en las dos Listas. (ver figura 3-11)
Las Estrategias para Minimizar Recuperaciones Repetitivas son:(fig.3-13)
-
Creacion de Tabla Interna de Referencia : Toma en cuenta los Records que… ..…
ya han Sido Procesados, a Fin de Responder Correctamente a una Consulta………
en un Numero de Accesos de E/S sin dar Respuestas Duplicadas. Se recorren……….
las Listas de Una en Una, recuperandose el registroCLASS541 y examinandose……….
el campo AGE, si coinciden direccion de CLASS y señalador de………….
AGE(señala al sig. registro en la lista AGE=20) se registran en la tabla(fig.3-12)
Si la Condicion de Consulta Involucra N Claves Indexadas (Clave 1, Clave 2, ...., Clave N)
Habran N Listas por Recorrer. Iniciandose el Recorrido con el Acceso de …………
todos los Records de la Lista 1. Si cualquiera de los campos clave Contiene un…. …..
…… valor de clave que coincide con el valor especificado por la consulta la … … ….
Direccion y el… Contenido del Campo …Señalador seran …registrados …en la Tabla … … ..
de Referencia. ==> La Tabla de Referencia Contendrá una Direccion de Registro.. … .. ..
. y un Señalador para cada una de las Listas clave-2, slave-3 ………….... clave-n
Travesia Paralela : Usada para Consultas Disyuntivas, Se Requiere que los Records
En una Lista Individual se Enlacen en Orden Ascendente a sus Direcciones. Ejem : Si
La Direccion Relativa se usa en el Campo Señalador, el Inicio de una Lista debe ser el
Registro con el Numero de Registro Mas Pequeño. Las listas se procesan en paralelo.
Actualizacion de Multilistas
Los Records de Cada Sublista de una Multilista Puede Estar o no Ordenados
En una Lista sin Orden, se Insertan los Records al Principio de la Lista sin Recorrerlas,
Luego se Reorganizan
En una Lista Ordenada la Insercion Requiere la Revision de toda la Lista para Insertar
el Record en la Secuencia Logica Apropiada.
Las Inserciones y Eliminaciones de un Archivo en Multilista envuelve Operaciones
estandar de Ajuste de los Señaladores Afectados, Las Entradas de los Indices se
Modifican solo cuando Ocurren las Siguientes Condiciones:
1. Se Actualiza en Record con un Nuevo Valor Clave que no Existe en la Entrada
del Indice.
2. Un Record Insertado Contiene Uno o Mas Valores Claves Nuevos (Que no
habian Ocurrido Previamente).
3. Esta por Insertarse un Record Nuevo a la Cabeza de la Lista.
4. Se Borra un Record del Principio de la Lista.
Descargar