Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Abstract
En primera instancia buscamos definir acertadamente lo que son los ndices y as 2
posteriormente llegar a puntualizar toda su clasificacin y las diferencias entre cada una teniendo
como objetivo identificar y distinguir claramente cada uno de los tipos de ndices.Tabla de
Contenidos
Captulo 1 ndices............................................................................................................................1
Ventajas........................................................................................................................................2
Desventajas..................................................................................................................................2
Captulo 2 ndices Primarios..........................................................................................................4
Clculo de Nmero de Accesos al Disco.....................................................................................5
Ejemplo....................................................................................................................................6
Ejemplo....................................................................................................................................6
Captulo 3 ndices por Agrupacin.................................................................................................8
Clculo de Nmero de Accesos al Disco.....................................................................................9
Captulo 4 ndices Secundarios....................................................................................................10
Clculo de Nmero de Accesos al Disco...................................................................................11
Ejemplo..................................................................................................................................13
Captulo 5 ndices Multinivel.......................................................................................................15
Lista de referencias........................................................................................................................18
Captulo 1
ndices
llegando a decir que un ndice es un archivo usado para agilizar la recuperacin de los
archivo al cual indexa. La ventaja, sin duda, viene por la va de recuperar los registros de
manera ms rpida.
los captulos del libro y sus respectivas pginas. Un ndice es una estructura de datos que
permite recuperar las filas de una tabla de forma ms rpida adems de proporcionar una
ordenacin distinta a la natural de la tabla. Un ndice se define sobre una columna o sobre
un grupo de columnas, y las filas se ordenarn segn los valores contenidos en esas
clientes, el ndice permitir recuperar los clientes ordenados por orden alfabtico de
poblacin.
1
Definicin de ndices de Aula Clic
2
Descripcin del Comportamiento de ndices de Aula Clic
misma provincia por poblacin, aparecen los de ALICANTE Dnia, ALICANTE Xixona,
Ahora se ordenan por poblacin y los clientes de la misma poblacin se ordenarn por el
campo provincia.
Ventajas
Si una tabla tiene definido un ndice sobre una columna se puede localizar mucho
Recuperar las filas de una tabla de forma ordenada por la columna en cuestin
Desventajas
espacio en disco.
los ndices afectados por esos cambios lo que supone un tiempo de proceso mayor.
Los inconvenientes comentados en este punto no son nada comparados con las
ventajas si la columna sobre la cual se define el ndice es una columna que se va a utilizar
a menudo para buscar u ordenar las filas de la tabla. Por eso una regla bastante acertada
3
Ventajas de los ndices de Aula Clic
es definir ndices sobre columnas que se vayan a utilizar a menudo para recuperar u
Captulo 2
ndices Primarios
4
Desventajas de los ndices de Aula Clic
Un ndice primario es un fichero ordenado cuyos registros son de longitud fija y
contienen dos campos. El primero de estos campos tiene el mismo tipo de datos que el
campo clave de ordenacin (llamado clave primaria) del fichero de datos, y el segundo
campo es un puntero a un bloque de disco (una direccin de bloque). Hay una entrada de
ndice (o registro de ndice) en el fichero del ndice por cada bloque del fichero de datos.
Cada entrada del ndice contiene, como valores de sus dos campos, la clave primaria del
5
Definicin de ndices Primarios del paper Estructura de ndices para ficheros p2
Clculo de Nmero de Accesos al Disco
Cada entrada del ndice contiene, como valores de sus dos campos, la clave del
primer registro de un bloque y un puntero a ese bloque. A estos dos valores de los campos
El primer registro de cada bloque del fichero de datos se denomina registro ancla
del bloque. Los ndices se pueden dividir tambin en densos o dispersos. Un ndice denso
tiene una entrada de ndice por cada valor de la clave de bsqueda del fichero de datos.
Un ndice disperso por el contrario, tiene entradas de ndice solo para algunos valores de
bsqueda. Un ndice primario es por tanto un ndice no denso, ya que incluye una entrada
por cada bloque de disco del fichero de datos en lugar de por cada valor de bsqueda.
El fichero del ndice de un ndice primario requiere muchos menos bloques que el
fichero de datos ya que hay menos entradas de ndice que registros en el fichero de datos,
a su vez cada entrada del ndice suele ser de menos tamao que un registro de datos
porque solo tiene dos campos; en consecuencia, en un bloque pueden caber ms entradas
de ndice que registros de datos. Por eso una bsqueda binaria en el fichero del ndice
requiere menos accesos a bloques que una bsqueda binaria en el fichero de datos.
bloque cuya direccin es P(i), donde . El i-simo bloque del fichero de datos contiene
todos esos registros debido a la ordenacin fsica de los registros del fichero segn el
clave primaria, se realiza una bsqueda binaria en el fichero del ndice hasta encontrar la
entrada de ndice apropiada, i, y luego se recupera el bloque del fichero de datos cuya
Ejemplo.
en un disco con un tamao de bloque B 1.024 bytes. Los registros del fichero son de
longitud fija y no estn extendidos, tienen una longitud R=100 bytes. El factor de bloques
del fichero sera fbl= L(B/R)= (1.024/100) = 10 registros por bloque. El nmero de
accesos a bloques.6
bytes de longitud, que un puntero a bloque tiene P= 6 bytes de longitud y que hemos
construido un ndice primario para el fichero. El tamao de cada entrada del ndice es Ri=
68 entradas por bloque. El nmero total de entradas del ndice r, es igual al nmero de
bloques del fichero de datos, que es 3.000. Por tanto, el nmero de bloques del ndice es
Ejemplo.
6
Ejemplo de ndices Primarios del paper Estructura de ndices para ficheros p3
Suponer un fichero ordenado con r=30.000 registros almacenados en un disco de
tamao de bloque B=1.024 bytes. Los registros del fichero son de longitud fija y no estn
Archivo de datos:
ndice primario:
Accesos
primero es del mismo tipo que el campo de agrupacin del fichero de datos, y el segundo
es un puntero a un bloque. Hay una entrada en el ndice de agrupacin por cada valor
distinto del campo de agrupacin y contiene el valor y un puntero al primer bloque del
fichero de datos que tenga un registro con ese valor en el campo de agrupacin.7
un grupo de bloques contiguos) por cada valor del campo de agrupacin; todos los
registros con ese valor se colocan en el bloque (o grupo de bloques). Esto hace
tienen una entrada por cada valor distinto del campo de indexacin, no por cada registro
del fichero.
Los ndices son un tanto parecidos a las estructuras de directorio empleadas para
el direccionamiento extensible.
7
Definicin de ndices por agrupacin del paper Estructura de ndices para ficheros p4
En ambos se busca un puntero al bloque de datos que contiene el registro deseado.
Una diferencia importante es que la bsqueda en un ndice utiliza los valores del propio
a buscar sobre el bloque con el campo de agrupacin requerido, por lo que el peor de los
casos ser tener que recorrer todo el bloque en bsqueda de la clave. Dicho de otra
8
Explicacin de ndices por Agrupacin del paper Estructura de ndices para ficheros p4
manera, en un ndice de agrupacin deber acceder al disco n veces, donde n=nmero de
Captulo 4
ndices Secundarios
campo es del mismo tipo de datos que el de cualquier campo que no sea el de ordenacin
puntero a bloque o bien un puntero a registro. Puede haber varios ndices secundarios (y
campo clave que tiene un valor distinto para cada registro. En ocasiones a estos campos
se les llama claves secundarias. En este hay una entrada de ndice por cada registro del
fichero de datos, que contiene el valor de la clave secundaria para ese registro y un
puntero, ya sea al bloque en cl que est almacenado ese registro o al registro mismo. Por
mucho mayor para un ndice secundario que para uno primario, pues tendramos que
9
Explicacin de Clculo de Accesos al Disco en ndices por Agrupacin del recurso
electrnico que se encuentra en:
http://di002.edv.uniovi.es/~fcano/bdatos/materiales/transpa/Cap12-Index-Hash.pdf
10
Definicin de ndices Secundarios del paper Estructura de ndices para ficheros p5
realizar una bsqueda lineal en el fichero de datos si no existiera el ndice secundario. En
Si el ndice secundario esta sobre un campo clave se dice que es un ndice denso,
Cada entrada es un registro de longitud fija y dos campos <k(i), p(i)>, donde k(i)
al bloque donde est dicho registro (en cuyo caso, una vez copiado el bloque en el buffer
de memoria, para acceder al registro ser necesario buscarlo secuencialmente dentro del
11
Explicacin de Clculo de Accesos al Disco en ndices Secundarios del recurso
electrnico que se encuentra en: http://www.grch.com.ar/docs/bd/apuntes/BDTema10.pdf
Las entradas estn ordenadas segn el valor de k(i), de forma que es posible
realizar bsquedas binarias en el ndice. Por otro lado, un ndice secundario necesita ms
entradas.
casos:
a) Incluir varias entradas de un ndice con el mismo valor de k(i). Es decir, cada
entrada ser un registro de longitud fija que contendr los valores <k(i), p(i)>,
done p(i) es un puntero a uno de los registros con dicho valor k(i) en el campo de
b) Incluir una nica entrada de ndice por cada valor distinto del campo de
indexacin, y permitir que las entradas del ndice tengan longitud variable, de
forma que cada entrada de ndice pueda contener varios punteros <k(i), [p(i),
p(i1), ...p(in)]>, donde cada p(i1) apunta al bloque donde este uno de los n
en el ndice.
c) Incluir una nica entrada por cada valor distinto del campo de indexacin,
pero las entradas son de longitud fija. Ahora se utiliza un nivel adicional de
Cada entrada contendr los valores <k(i), p(i)>, donde p(i) es un puntero a
bloque de apuntadores.
hay un nivel extra, pero los algoritmos de insercin, bsqueda y eliminacin son
sencillos.
Ejemplo.
fichero tiene b= 3.000 bloques, segn el clculo para efectuar una bsqueda lineal en
este fichero tendramos que realizar b/2 =3000/2 =1500 accesos a bloques en promedio.
12
Supongamos que construimos un ndice secundario basado en un campo clave que no
sea el de ordenacin del fichero que tiene V = 9 bytes de longitud. un puntero a bloque
tiene P=6 bytes de longitud, as que cada entrada de ndice tiene Ri =(9 + 6) =15 bytes y
el factor de bloques del ndice tiene fbli= (B/R1)=( 1.024/15)= 68 entradas por bloque.
En un ndice secundario denso como ste, el nmero total de entradas del ndice r, es
igual al nmero de registros del fichero de datos, que es 30.000. El nmero de bloques
Una bsqueda binaria en este ndice secundario requiere (log2 bi)=((log2 442)= 9
bloque, mucho menor que los 1500 accesos a bloque que requiere en promedio una
12
Ejemplo de ndices Secundarios del paper Estructura de ndices para ficheros p6
bsqueda lineal, pero no tan bueno como los 7 accesos a bloque que se necesitan con el
ndice primario.
Captulo 5
ndices Multinivel
Los ndices multinivel se basan en la idea de reducir la parte del ndice que
seguiremos examinando en fbli (factor de bloques del ndice) que es mayor que 2. Por
tanto, el espacio de bsqueda se reduce con mucha rapidez. El valor fbli se conoce como
abanico (fan-out) del ndice multinivel y nos referiremos a l con la abreviatura fo. Una
que es una cifra menor que la de la bsqueda binaria si el abanico es mayor que 2.13
primer nivel (o nivel base) del ndice multinivel, como un fichero ordenado con un valor
Por tanto, podemos crear un ndice primario para este primer nivel; a este ndice
del primer nivel se le denomina segundo nivel del ndice multinivel. Como el segundo
nivel es un ndice primario, podemos usar anclas de bloques para que el segundo nivel
tenga una entrada por cada bloque del primer nivel. El factor de bloques fbli del segundo
nivel, y de todos los niveles siguientes, es el mismo que el del ndice de primer nivel,
porque todas las entradas del ndice tienen el mismo tamao; cada una tiene un valor de
bloques (que es tambin el abanico) del ndice es tbli=f0, entonces el primer nivel
13
Definicin de ndices Multinivel del paper Estructura de ndices para ficheros p6
Podemos repetir este proceso para el segundo nivel. El tercer nivel, que es un
ndice primario del segundo nivel, tiene una entrada por cada entrada del segundo nivel,
as que el nmero de entradas del tercer nivel es r3=(r2/fo). Cabe sealar que slo
segundo requiere ms de un bloque. Podemos repetir el proceso anterior hasta que todas
las entradas de un nivel t del ndice quepan en un solo bloque. Este bloque del t-simo
nivel se denomina ndice de nivel superior. Cada nivel reduce el nmero de entradas del
nivel anterior en un factor de fo (el abanico del ndice), as que podemos usar la frmula
1<=(r1/(fo)^t) para calcular t. Por tanto, un ndice multinivel con r1, entradas en el primer
El esquema multinivel que hemos descrito se puede usar para cualquier tipo de
ndice, sea primario, de agrupacin o secundario, siempre que el ndice del primer nivel
14
Explicacin de ndices Multinivel del paper Estructura de ndices para ficheros p6
Figura 4. Esquema de ndices Multiniveles.
Lista de referencias