Sunteți pe pagina 1din 55

Estructuras de Almacenamiento

de Datos

2
ARCHIVOS E ÍNDICES 0
1
CLASE 5
9

INGENIERÍA DE SISTEMAS - Fac.Cs.Exactas - UNICEN


ORGANIZACIÓN DE ARCHIVOS
• Existen diferentes formas de organizar lógicamente los datos
en los archivos; cada una de ellas más o menos apropiada
para resolver eficientemente cada necesidad de gestión de
datos en particular.
• Desordenado: datos alojados en forma secuencial
(consecutivos), sin un orden específico, los registros se
agregan a medida que llegan.
• Ordenado: datos alojados en forma secuencial
(consecutivos), de acuerdo a un orden específico.
• Disperso: datos alojados según una dirección obtenida
mediante una función.
• Arborescente: datos alojados en forma de arboles n-arios, B
y B+
ORGANIZACIÓN DE ARCHIVOS
La organización de un archivo por su ordenamiento y los métodos de acceso
(búsqueda) son conceptos distintos pero relacionados
Organización consecutiva
• Archivos desordenados (orden lógico: los registros no tienen un orden
visible)
• Archivos ordenados (orden lógico: los registros están ordenados por el
valor de uno o más campos, tomados en conjunto)
Organización direccionada
• Archivos dispersos (orden lógico: ninguno, los registros se distribuyen
‘aleatoriamente’ según indique el valor de una función)
Organización dinámica
• Archivos arborescentes (orden lógico: los registros se vinculan entre sí
mediante punteros definiendo conceptualmente un árbol)
MÉTODOS DE ACCESO A ARCHIVOS
El método de acceso a (o de búsqueda en) un archivo es el
modo de alojar o localizar los registros en un archivo

• 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

• También llamados seriales, montículos o heaps


• Los registros se colocan en el archivo en el orden en
que van llegando, en el último bloque, en una
organización consecutiva, sin orden.
• El método de acceso es secuencial o lineal.
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 ORDENADOS
Organización de los registros alojados en forma consecutiva,
ordenados por el valor de uno o más campos de ordenación
tomados en conjunto (que pueden ser identificatorios o no)
IdMat NbreMat régimen año
111 Programación A 1 MATERIA
112 Arquitectura C 1
114 Estructura de AP 3
datos
Clave de ordenamiento – y
115 Algoritmos CP 2
atributo secundario

IdMat NbreMat régimen año


Clave de ordenamiento – 111 Programación A 1
Y clave de la relación
112 Arquitectura C 1
115 Algoritmos CP 2

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

¿Y si hay que garantizar unicidad de los registros?


ARCHIVOS DESORDENADOS
•Fácil acceso bajo ciertas condiciones:
• Registros de longitud fija
• Bloques con asignación contigua comenzando en 0
• Numeración de registros de cada bloque: 0, 1, …..FB-1

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
10 Cedr 10.9 0
o 9
40 Pino Azul 25.9 1
9
–El i-esimo registro estará 90 Aca 25.9 2
en el ⎦i/FB bloque cia 9
60 Arce plateado 15.9 3
y será el 9
50 Fres 22.9 4
(i mod FB) – ésimo no 9
registro del bloque
81 Ceib 25.9 5
o 9
95 Cere 15.9 6
zo 9
70 Ála 10.9 7
mo 9
20 Abe 12.9 8
FB(factor bloqueo)= 5 dul 9
80 Eucalipto 26.9 9
Ubicación Registro 7 9
Bloque: ⎦ 7/5 = 1
Pos: (7 mod 5) = 2
ARCHIVOS ORDENADOS vs. DESORDENADOS
• Eficiencia en la búsqueda si el campo de búsqueda
coincide con el campo de ordenamiento.
• Acceder al registro siguiente al actual no requiere
acceso adicional a bloque (excepto para el último de
cada bloque)
ÍNDICES
Un índice para un archivo funciona como el índice
de un libro. Al buscar un tema en un libro, se puede
buscar en el índice del libro, encontrar las páginas
en las que aparece y después leer esas páginas para
encontrar la información buscada.
Las palabras del índice están ordenadas, lo que
hace fácil la búsqueda. Además, el índice es mucho
más pequeño que el libro completo, esto hace que
se reduzca aún más el esfuerzo necesario para
encontrar las palabras en cuestión.
ÍNDICES
Estructura auxiliar, que permite localizar registros de un archivo
por caminos de acceso alternativos según un atributo específico
(o conjunto de ellos); será el campo de indexación y sin
depender del ordenamiento físico del archivo.
Un índice es un archivo especial. Cada registro lógico del índice
(denominado ‘entrada de índice’) contiene la dupla:
<Campo de indexación, Puntero>
• Campo de indexación: atributo o conjunto de atributos de los registros
de un archivo de datos sobre el que se quiere establecer una vía de
acceso rápido (cualquier campo/s de un archivo puede ser campo de
indexación). Al campo de indexación también se lo puede denominar
dominio estructurante del índice o clave de indexación.
• Puntero: indica dónde se encuentra la información para dicha clave, en
el archivo de datos, (puede existir uno o más registros asociados a un
valor del campo de indexación). Puede ser físico o lógico
PUNTERO FÍSICO VS. LÓGICO
El índice se denomina una ruta de acceso en el campo. Puntero:
indica la localización.

Los punteros físicos son rápidos, pero dependientes del


dispositivo de almacenamiento.

Los punteros lógicos son independientes, pero más lentos (el


costo de búsqueda es el costo de búsqueda asociado a la
estructura de almacenamiento que soporta el archivo)
PUNTERO FÍSICO
PUNTERO LÓGICO
CLASIFICACIÓN DE ÍNDICES
Por campo de indexación Por su estructura
⚫ Primario ⚫ De un único nivel
⚫ De agrupamiento ⚫ Ordenado
⚫ Secundario ⚫ Disperso
⚫ De más de un nivel o
Por su conformación: multinivel
⚫ Arborescente
⚫ Denso
• Estático
⚫ Ralo o no denso • Dinámico
Por la estructura del DE
⚫ Único atributo
NOTA: Puede darse una clasificación
ortogonal, es decir pueden compartir ⚫ Múltiples atributos o
características de diferentes multiclave
clasificaciones.
Algunas combinaciones no son válidas
ÍNDICE PRIMARIO
• Es aquel cuyo campo de indexación es el atributo o conjunto de atributos
identificadores, estando el archivo ordenado según ese identificador.
Cada entrada (Ki, Pi)

◦ Ki es el campo de indexación del índice, por lo tanto es la clave de


ordenamiento del archivo principal, y a su vez identifica cada registro !!
(≡ clave primaria de la relación correspondiente!)

◦ Pi apunta al bloque de disco que contiene el registro asociado a Ki


◦ Ki es la clave del primer registro del bloque: registro ancla o ancla de
bloque
◦ # de entradas (Ki, Pi) = nro. de bloques de disco que almacenan el
archivo principal
ÍNDICE PRIMARIO - EJEMPLO
Registro ancla lu apellido nombre fechanac idcarrera
100 King Steven 1987-06-17 60
Arch. Índice primario 101 Kochhar Neena 1989-09-21 50
4 entradas 102 De Haan Lex 1993-01-13 10

Ki Pi 103 Hunold Alexander 1990-01-03 50

100 104 Ernst Bruce 1991-05-21 50

103 105 Austin David 1997-06-25 50

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

Nota: el índice primario es único


INDICE PRIMARIO
Cómo beneficia el tiempo de respuesta, en términos de cantidad
de bloques leídos, el tener un índice primario o no?

Supongamos que tenemos los siguientes datos para un archivo


Cantidad de registros - r = 30.000
Tamaño de bloque - B = 1024 by
Tamaño del registro del archivo - R = 100 by
Tamaño del registro del índice - Ri = 15 by

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.

◦ En los registros pueden encontrarse instancias múltiples de los


valores de ese campo → Campo de agrupamiento

◦ La entrada ( Ki,Pi) en el índice → Ki es el campo de indexación


que coincide con el campo de agrupamiento.
ÍNDICE AGRUPAMIENTO- EJEMPLO
Índice de agrupamiento lu apellido nombre fechanac idcarrera
por idcarrera 102 De Haan Lex 1993-01-13 10

Archivo de datos ordenado 107 Lorentz Diana 1999-02-07 10


109 Faviet Daniel 1994-08-16 10
por campo de agrupamiento
(idcarrera no es clave
108 Greenberg Nancy 1994-08-17 10
de identificación) 105 Austin David 1997-06-25 50
101 Kochhar Neena 1989-09-21 50
Ki Pi
10 104 Ernst Bruce 1991-05-21 50

50 106 Pataballa Valli 1998-02-05 50

60 103 Hunold Alexander 1990-01-03 50

100 King Steven 1987-06-17 60


Asignación en bloques
◦ Los bloques del archivo principal puede contener registros con diferentes valores del
campo de agrupamiento.
◦ Cada entrada del índice apunta al primer bloque que contiene registros con ese valor del
campo de agrupamiento
ÍNDICE SECUNDARIO
Cuando el archivo de datos no está ordenado por el campo o
campos que queremos indexar.
Entonces se da cuando el dominio estructurante del índice es
cualquier atributo o conjunto de ellos que NO se correspondan
con el dominio estructurante del archivo.
Dado que el campo de indexación es cualquier campo del
archivo principal, que NO coincida con el campo de
ordenamiento…

◦ Puede haber varios índices secundarios para un mismo archivo


principal

◦ Representa un ordenamiento lógico diferente de los registros del


archivo
ÍNDICE SECUNDARIO
Índice por IdAsign Archivo principal desordenado
IdAsign nombreAsign régimen año
IdAsign puntero
111 115 Algoritmos CP 2

112 112 Arquitectura C 1

114 111 Programación A 1

115 114 Estructura de AP 3


datos

nombreAsign puntero IdAsign nombreAsign régimen año


Algoritmos 111 Programación A 1

Arquitectura 112 Arquitectura C 1

Estructura de datos 114 Estructura de AP 3


datos
Programación
115 Algoritmos CP 2

Índice por nombreAsign


Archivo principal ordenado por IdAsign
ÍNDICE SECUNDARIO
SIEMPRE Campo indexación <> campo de ordenamiento del archivo
principal

● 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

● Varios registros del archivo principal pueden tener el mismo valor en el


campo de indexación
● Tres alternativas análogas a las utilizadas para archivos cuando DE no me
define el resto de los atributos
1. Repetición de entradas en el índice (denso)
2. Índice con registros variables ( Ki, P(i,1)…..P(i,k))
3. Factoreo o indirección (Índice ralo)
● Estrategias válidas para almacenamiento de información cuando a cada
instancia del dominio estructurante se asocian varias de la información
asociada
ÍNDICE SECUNDARIO
Campo de indexación NO identificatorio

Índice con registros variables ( Ki, P(i,1)…..P(i,k))

115 Algoritmos CP 2 22322


Año Puntero
114 Estructura de AP 3 22322
1 datos
112 Arquitectura C 1 22333
2

3
111 Programación A 1 22344

Archivo Principal
ÍNDICE SECUNDARIO

• Campo de indexación NO identificatorio


– Factoreo o indirección (Índice ralo)

Año Puntero 115 Algoritmos CP 2 22322


1 114 Estructura de AP 3 22322
datos
2
112 Arquitectura C 1 22333
3

111 Programación A 1 22344

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.

Si la actualización no afecta al campo de indexación,


entonces el índice no se modifica
ÍNDICE RALO: MANTENIMIENTO

Las operaciones de inserción, borrado o


modificación de un registro del archivo implican una
actualización en el índice sólo si se modifica la
clave del registro ancla.

Es análogo al las operaciones para índices densos

Si no se modifica el ancla el índice no se ve


afectado.
ÍNDICE DE AGRUP.: MANTENIMIENTO
Cuando en el archivo de dstos la capacidad del bloque se agota
• Se reserva espacio en los mismos bloques para admitir ingresos futuros? Si no es
suficiente …
• Se reserva uno o más bloques para los registros coincidentes en el valor del
campo de agrupamiento, a modo de cadena de bloques de desborde?

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

Primario # de bloques del archivo ralo si


principal
Agrupamiento # de valores distintos del ralo Si /
campo de indexación No

Secundario # de valores distintos del denso no


(identif.) campo de indexación =
# de registros
Secundario (no 1) # registros del archivo 1) denso no
identif.) 2) # de valores distintos del 2) ralo
campo de indexación
(factoreo)
ÍNDICES MULTINIVEL
• Debido a que un índice de un solo nivel es un archivo
ordenado, podemos crear un índice primario para el propio
índice. En este caso, el archivo de índice original se llama
índice de primer nivel y el índice del índice se denomina
índice de segundo nivel.
• Podemos repetir el proceso, creando un tercer, cuarto, ...,
nivel superior hasta que todas las entradas del nivel superior
encajen en un bloque de disco
• Se puede crear un índice multinivel para cualquier tipo de
índice de primer nivel (primario, secundario, agrupado)
siempre y cuando el índice de primer nivel conste de más de
un bloque de disco
ÍNDICES MULTINIVEL
• Mejoran aquéllos aspectos que representan desventajas en
los índices de un nivel.
• Generalmente hacen un uso eficiente del espacio.
• Los índices multinivel fueron diseñados para ser
esencialmente una estructura de archivos estática, sin
embargo existe una poderosa versión dinámica.
• Índices Multinivel Estáticos: Índices de índices. En cada nivel
se reduce el espacio de búsqueda. Se puede transferir
parcialmente a memoria.
• Índices Multinivel Dinámicos: familia de árboles
ÍNDICES MULTINIVEL ESTÁTICOS
FAN Archivo
OUT=3 110
Segundo Nivel:
111
Nivel Base
112
Raíz o Superior 110
115 115

110 120 116


119
130
130
210
170 120
122
190
126

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

• La búsqueda de un registro para archivo de datos almacenado


en bl bloques de datos con un fan-out (igual en todos los niveles)
fo es: log fo(bl).
• Si se desprecia el costo de búsqueda en memoria principal, el
costo se calcula contabilizando un acceso a cada bloque de cada
nivel hasta llegar al base) + acceso al bloque de datos
• Las operaciones de inserción y borrado son costosas:
• La inserción debe recorrer los distintos niveles insertando una
nueva clave en los registros de índices correspondientes,
implica desplazamientos en cascada.
• El borrado deja huecos que deben ser eliminados, entonces es
necesario hacer desplazamientos … convienen los borrados
lógicos??
ÍNDICES MULTICLAVE
• Existen servicios que para un mismo archivo lu apellido nombre fechanac
idca
rrer
involucran búsquedas por más de un dominio a
102 De Haan Lex 1993-01-13 10
estructurante. Por ej. devolver los alumnos de
107 Lorentz Diana 1999-02-07 10
las carreras de TUPAR y TUDAI mayores de 25 109 Faviet Daniel 1994-08-16 10
años.
• Acceso multiclave: selección de registros por 108 Greenberg Nancy 1994-08-17 10
105 Austin David 1997-06-25 50
varias condiciones de cumplimiento 101 Kochhar Neena 1989-09-21 50
simultáneo relativas a distintos conjuntos de
atributos. 104 Ernst Bruce 1991-05-21 50
106 Pataballa Valli 1998-02-05 50
• Cada conjunto de atributos de busqueda 103 Hunold Alexander 1990-01-03 50
(clave de búsqueda o dominio estructurante)
configura una dimensión. 100 King Steven 1987-06-17 60
ACCESO MULTICLAVE
Soluciones a este tipo de consultas
Pueden utilizarse organizaciones de almacenamiento de datos
genéricas, o bien organizaciones específicas diseñadas
expresamente para este tipo de acceso múltiple.

• Soluciones Básicas •Soluciones Específicas


Archivos ordenados o Archivos Invertidos
desordenados Bitmaps
Múltiples Índices secundarios Grid files
Índices de varios atributos Hash particionado
Enhebrados
ACCESO MULTICLAVE: SOLUCIONES GENÉRICAS
Utilizar Archivos ordenados o desordenados

Recorrer secuencialmente todos los registros del archivo


determinando cuáles registros cumplen la condición compuesta
(exploración exhaustiva).

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

Si ya se tienen índices para algunos de los atributos


involucrados en la consulta……

Se usa el índice apropiado para acceder a los registros según


el campo1

De esos registros, que cumplen la condición impuesta sobre


el campo1, se seleccionan del archivo principal aquellos que
cumplan con la condición impuesta al campo2, al campo3…
USANDO ÍNDICES SECUNDARIOS DE UNA SOLA CLAVE
Ejemplo ….. Archivo primario
Dirección
Índice
1 LU123, 2012, Profesorado
Física 3,5, …
2 LU226, 2014, Matemática
Matemática 2,…
3 LU234, 2013, Física…..
Profesorado 1,4,6, …
4 LU079, 2013, Profesorado
……….. ……….
5 LU876, 2011, Física
……….. ……
6 LU789, 2013, Profesorado
Recordar: punteros lógicos,
físicos …..

Devolver los ingresantes 2013


al Profesorado
USANDO ÍNDICES SECUNDARIOS DE UNA SOLA CLAVE

Si existe índice para cada campo involucrado en la consulta:

• Se descompone la consulta en subconsultas sobre un solo índice


cada una.
• Cada subconsulta aporta un resultado parcial
• Se operan los conjuntos resultantes respetando la consulta original
( Ej. intersección, unión)
• Se obtienen los punteros (lógico ó físico) de los registros que
surgieron de la operación anterior

Desventaja, si muchos registros con condición única, de los cuales


unos pocos satisfacen la condición combinada
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

a1 < b1 ó [a1= b1 y a2<b2] ó [a1= b1 y a2=b2 y


a3<b3] ó …
Ejemplo (año_ingreso, Carrera)
2013, Física; 2013, Profesorado;
• Son eficientes para búsqueda de condición
completa
• Algunos son aptos para búsqueda por condición
incompleta (puede faltar an, ó an y an-1, … ); ej.
Buscar por año_ingreso
ÍNDICE MULTINIVEL MULTICLAVE
Cada nivel corresponde a un dominio estructurante (clave)

Física
Matemática
2011
2012 Profesorado
2013 ……...

2014

Física
Matemática
LU079, 2013, Profesorado
Profesorado
……...

LU789, 2013, Profesorado


54
ÍNDICE MULTINIVEL MULTICLAVE

Apto para responder las siguientes consultas

● Obtener los ingresantes 2013 del Profesorado


● Obtener los ingresantes 2013
● Obtener los ingresantes del Profesorado (de cualquier
año) NO!!
● Obtener los ingresantes 2013 y 2011 de Sistemas …
● Obtener los ingresantes desde 2011 a 2014 de Física .
● Obtener todos los ingresantes

● Otras..

De que tipo son estas consultas?


55

S-ar putea să vă placă și