Documente Academic
Documente Profesional
Documente Cultură
de Datos
2
ARCHIVOS E ÍNDICES 0
1
CLASE 5
9
• Secuencial o lineal
• Acceso a un archivo según el orden de
almacenamiento de los registros.
• El acceso a un registro implica haber pasado por los
que lo preceden en el orden físico.
• Asociativo o directo
• Acceso a un determinado registro por la dirección
obtenida a partir del valor de una clave de búsqueda
• No implica el acceso a los registros precedentes
ARCHIVOS DESORDENADOS
114 Estructura de AP 3
datos
ARCHIVOS ORDENADOS
Consultas: Si la clave de búsqueda es por el campo de ordenamiento,
entonces
para organización
búsqueda binaria (log2(cantidad de bloques)) secuancial de
bloques
SiNo
búsqueda lineal
Inserción: Operación costosa porque debe respetar el orden físico de
los registros, se debe encontrar la posición del registro y desplazar
Borrado: implica una búsqueda (como para consultas). eneralmente
se utilizan marcadores de eliminación (borrado lógico), y luego se
realiza una reorganización posterior
Modificación: idem que para borrado. Si el campo a modificar es el
campo de ordenamiento, entonces
eliminación e inserción
SiNo
modificar y reescribir
ARCHIVOS ORDENADOS
Estrategias para la inserción
• Mantener espacio libre en los bloques
• Crear un archivo no ordenado (archivo de desborde,
archivo diferencial) con las actualizaciones, para
volcarlas en bloque más tarde
• Los registros se insertan al final del archivo de
desborde
• Periódicamente se vuelcan en el archivo ordenado
(fusión)
• Aumenta la complejidad de búsqueda: ¿cómo
determinar si está en el Archivo ordenado o en el
diferencial?
ARCHIVOS DESORDENADOS
La operación de inserción de un registro es eficiente (a continuación
del último), ..pero…..la operación de borrado y modificación de un
registro implican una búsqueda por la clave de identificación,
entonces el acceso es lineal y cualquier acceso secuencial en un
orden determinado requiere de una estructura externa que provea
el ordenamiento.
IdCarrera NombreCarrera PlanEstudio
20 Ing. en Tec. de Información Plan2010
30 Lic. en Gerencia Informática Plan2015
60 Tec.Univ.Desar.de Aplic.Inf. Plan2015
50 Tec.Univ.Prog.y Adm.de Redes Plan2006
10 Ing. en Sistemas Plan2011
40 Ing. en Control y Cómputo Plan2009
ARCHIVOS DESORDENADOS
• Borrado
• Ineficiente, se debe buscar registro de manera lineal
• Borrado lógico (se señaliza el registro), se desperdicia
espacio.
• Aprovechar espacio desocupado previamente (requiere
conocer la localización del espacio libre)
• Se reorganiza periódicamente
• Modificación
• Acceso mediante búsqueda lineal
• Se sobreescribe el registro original
106
109 106 Pataballa Valli 1998-02-05 50
107 Lorentz Diana 1999-02-07 10
108 Greenberg Nancy 1994-08-17 10
Archivo de datos
ordenado por la clave 109 Faviet Daniel 1994-08-16 10
de la relación: 4 bloques
Desarrollado en clase
ÍNDICE DE AGRUPAMIENTO
Es un índice cuyo dominio estructurante es un atributo o
conjunto de ellos no identificatorio estando el archivo
ordenado por esos atributos.
● Dos alternativas:
◦ Campo indexación ES identificatorio
◦ Campo indexación NO ES identificatorio
● Un caso adicional:
◦ Si el archivo tiene un orden compuesto, dado por un conjunto de
campos (por ej. Sede, Facultad, Departamento) …
◦ que tipo de índices son los que surgen de considerar como campos
de indexación a subconjuntos de los campos de ordenamiento?
◦ El campo de indexación es o no identificatorio?
◦ Importa el orden en el que se toman los campos con respecto al que
estan ordenados en el archivo?
ÍNDICE SECUNDARIO
Campo de indexación NO identificatorio
3
111 Programación A 1 22344
Archivo Principal
ÍNDICE SECUNDARIO
Archivo Principal
ÍNDICE RALO
• <Campo de indexación, Puntero>, existen entradas en el índice sólo
para algunos valores de búsqueda, entonces varios registros del archivo
principal indexados por una misma entrada del índice. El archivo debe
estar ordenado.
ÍNDICE DENSO
• <Campo de indexación, Puntero> Existe una entrada en el índice por cada
registro del archivo principal
ÍNDICE DENSO: MANTENIMIENTO
• Añadir un nuevo registro al archivo
• Implica
• añadir una nueva entrada al archivo
• ingresar la entrada correspondiente en el
índice, manteniendo el orden del mismo
Alternativas:
• Archivo de desborde de índice
• Espacio libre en bloques del índice
ÍNDICE DENSO: MANTENIMIENTO
Eliminar un registro del archivo
Implica
• Eliminar el registro del archivo y
mantenerlo ordenado si es necesario.
• Eliminar la entrada correspondiente del
índice, manteniendo el orden del mismo
Alternativa:
• Borrado lógico
ÍNDICE DENSO: MANTENIMIENTO
Modificar un registro del archivo
Si cambia el valor del campo de indexación, cambia su
posición en el índice denso lo que significa lo mismo que realizar
una operación de borrado y otra de inserción.
1
1
null
2
2
1 2
2 2
3 2
desbordes
Índice
null
ÍNDICE DENSO VS. RALO
Índice Denso Índice Ralo
El archivo principal puede o no Ordenado según el orden físico del archivo
estar organizado principal
Ocupa el espacio necesario para Ocupa menos espacio, una entrada por cada
guardar tantos pares <valor, bloque de archivo (si se trata de un índice
puntero> como elementos tenga primario) o una entrada por cada valor
el archivo diferente de clave de indexación (si se trata de
un índice de agrupamiento)
Operaciones de inserción y Operaciones de inserción y borrado no
borrado implican actualizar el siempre se reflejan en el índice
índice
Aptos para hacer test de No aptos para hacer test de existencia
existencia (para verificar la
existencia de ciertos datos no se
requiere acceder al archivo)
ÍNDICES ORDENADOS (UN NIVEL)
RESUMEN Campo Campo no
identificatorio identificatorio
Campo de
ordenación del Índice primario Índice de
archivo principal agrupamiento
Campo que no es
clave de Índice secundario Índice secundario
(sobre la clave) (sobre atributo/s no
ordenación
claves)
PROPIEDADES DE ÍNDICES (UN NIVEL)
# de entradas del índice Conformación Ancla de
(Denso o ralo) bloque a
archivo
principal
210
130
132
139
Índice
El fo podría ser variable, según el nivel
ÍNDICES MULTINIVEL ESTÁTICOS
• Primer nivel o nivel base: archivo ordenado con un valor
distinto del campo de indexación. Sus registros apuntan a los
bloques o registros del archivo principal.
•Segundo nivel: índice primario del nivel base con punteros a
los bloques del nivel base
• N-ésimo nivel: índice que entra en un solo bloque,
denominado nivel superior o raíz
• Abanico o fan–out: número de punteros a bloques que sale
de cada nivel.
•Esquema multinivel puede ser usado para cualquier índice
(primario, secundario, agrupamiento) siempre que el nivel base
tenga distintos valores de claves de indexación.
ÍNDICES MULTINIVEL ESTÁTICOS
Ventajas
• Sirve para cualquier condición de búsqueda, no importa su
complejidad y la complejidad de la condición no aumenta el
costo !!!
• No necesita estructuras auxiliares
Desventajas
• Costo muy elevado al recorrer todo el archivo
• Impracticable para grandes volúmenes de información
• Las mejoras aportadas por el ordenamiento del archivo no cubren
todas las posibles combinaciones de campos que requieren las
búsquedas.
USANDO ÍNDICES SECUNDARIOS DE UNA SOLA CLAVE
Índices Dirección
Archivo principal
Física 3,5
Matemática 2 1 LU123, 2012, Profesorado
Profesorado 1,4,6 2 LU226, 2014, Matemática
……………. ……. 3 LU234, 2013, Física…..
4 LU079, 2013, Profesorado
5 LU876, 2011, Física
2011 5 6 LU789, 2013, Profesorado
2012 1
2013 3,4,6 ….. ……………
2014 2
Devolver los ingresantes 2013
…. …
al Profesorado
ÍNDICES COMPUESTOS
Índices basados en más de una clave
• Las claves tienen un orden lexicográfico:
Si (a1,a2,a3, …,an) < (b1,b2,b3, …,bn) entonces
Física
Matemática
2011
2012 Profesorado
2013 ……...
2014
Física
Matemática
LU079, 2013, Profesorado
Profesorado
……...
● Otras..