Está en la página 1de 30

REPÚBLICA BOLIVARIANA DE VENEZUELA

MINISTERIO DEL PODER POPULAR PARA LA DEFENSA


UNIVRSIDAD NACIONAL EXPERIMENTAL POLITÉCNICA DE LA
FUERZA ARMADA
NÚCLEO - LARA

INDEXACIÓN Y ASOCIACIÓN

BASE DE DATOS
AVANZADA
Sección: 8d03is
Prof.: Ing. MSc. Luisa Colón
¿QUÉ ES UN ÍNDICE?
 Estructura de datos que mejora la velocidad de las operaciones. Permitiendo un rápido
acceso a los registros de una tabla en una base de datos.

Un archivo de índice consiste de registros de la


forma:
Clave de
Puntero
búsqueda
Identificador de un bloque de disco.
Un atributo o conjunto de atributos
usados para buscar a un archivo.

SOCIATIVOS
ORDENADOS

Hay dos tipos básicos


de índices:
INDEXACIÓN

La indexación es el
proceso mediante el cual se
registran ordenadamente Los índices de los sistemas de bases de datos juegan el
datos e informaciones para mismo papel que los índices de los libros o los catálogos de
elaborar su índice, el que fichas de las bibliotecas. Por ejemplo:
facilita la búsqueda de Para recuperar un registro cuenta dado su número de
información y ayuda a cuenta, el sistema de bases de datos buscaría en un índice

seleccionar con mayor para encontrar el bloque de disco en que se encuentra el

exhaustividad la información registro correspondiente, y entonces extraería ese bloque


CRITERIOS DE EVALUACIÓN DE LAS
TÉCNICAS DE INDEXACIÓN

TIEMPO TIEMPO ESPACIO


TIEMPO DE ADICIONA
DE
DE INSERCIÒ
BORRADO L
N
ACCESO Cuanto tiempo
Tiempo de
buscar el
REQUERI
Cuanto tarda en buscar elemento a DO
tarda en un espacio eliminar. El espacio
libre. Tiempo en
buscar un Tiempo en adicional ocupado
Actualizar la por la estructura
elemento. actualizar la
estructura.
estructura. del índice.
ÍNDICES DENSOS

Aparece un registro índice por cada valor de la clave de búsqueda en el archivo. El registro
índice contiene el valor de la clave y un puntero al primer registro con ese valor de la clave de
búsqueda.

El resto de registros con el mismo Las implementaciones de índices


valor de la clave de búsqueda se densos pueden almacenar una lista de
almacenan consecutivamente después del punteros a todos los registros con el
primer registro, dado que, ya que el mismo valor de la clave de búsqueda;
índice es primario, los registros se esto no es esencial para los índices
ordenan sobre la misma clave de primarios.
búsqueda.
EN EL TERMINAL DE PASAJEROS SE
TIENE UN REGISTRO DE DATOS DONDE SE
TIENEN LOS SIGUIENTES DATOS:
ENUNCIADO DEL

• PLACA DEL AUTO


• NUMERO DE PUESTO
EJEMPLO

• ESTADO A DIRIGUIRSE
• NOMBRE DEL PASAJERO
• MONTO DEL PASAJE.

EN ESTE EJERCICIO SE DESEA BUSCAR,


INSERTAR Y BORRAR CON UN INDICE DE
BUSQUEDA DICHOS DATOS DE MANERA
FISICA.
LISTADOS DE CONTROL
REGIS
TERMINAL DE PASAJEROS
TRO
CLAVE
DE INDICE
BUSQU
EDA
ÍNDICE DENSO
EJEMPLO DE

PLACA PUEST ESTAD NOMB APELL PRECI


O O RE IDO O
AB724 AB724 3 AMAZ JOSE LINAR 3500
ES ES ONAS EZ
AC440 AC440 24 ARAG DARWI MEND 5000
ED ED UA N OZA
AD500 AD500 12 BARIN JUNIO GUEDE 4500
FG FG AS R Z
AD500 23 BARIN EUDIS PUERT 4500
BC300
FG AS A
DF
BC300 20 CARAC DANN CARRI 6000
BD213 DF AS Y LLO
AV
BD213A 1 COJED JOSE JIMEN 6300
CA789 V ES ENEZ
AS
CA789 4 ZULIA JONAT ESCOB 7000
AS HAN AR
INSERCIÓN PARA EL
ÍNDICE DENSO
2. En caso contrario se emprenden las siguientes
1. Si el valor de la clave de acciones:
a. Si el registro índice almacena punteros a todos
búsqueda no aparece en el los registros con el mismo valor de la clave de
índice, el sistema inserta en búsqueda, el sistema añade un puntero al nuevo
registro en el registro índice.
éste un registro índice con el b. En caso contrario, el registro índice almacena
un puntero sólo hacia el primer registro con el
valor de la clave de búsqueda valor de la clave de búsqueda. El sistema sitúa el
en la posición adecuada registro insertado después de los otros con los
mismos valores de la clave de búsqueda.
PRIMERO
SE DESEA SE HACE
INSERTAR EL
UN NUEVO
ESTE REGISTRO SE UBICA
REGIS REGISTROQUE
REGISTRO EN OBTIENE
EL AREALOS
DE
CLAVE
TRO
INDICE
ENTRE LOS ESTADOS DE
DE
BUSQU DATOS
DATOS DE UNYPASAJEO
LUEGO EN
QUE SE
EDA
COJEDES Y ZULIA
DIRIGE HACIA TRUJILLO
REGISTRO INDICE
ÍNDICE DENSO
EJEMPLO DE

TERMINAL DE PASAJEROS
PLAC PUEST
PUEST ESTAD
ESTAD NOMB APELL PRECI
LISTADOS DE CONTROL

PLACA NOMB APELL PRECI


A OO O
O RE
RE IDO
IDO OO
AB724
AB724
AB724 33 AMAZ
AMAZ JOSE
JOSE LINAR
LINAR 3500
3500
ES
ES
ES ONAS
ONAS EZ
EZ
AC440 AC440 24 ARAG DARWI MEND 5000
ED AC440 24 ARAG DARWI MEND 5000
ED UA N OZA
ED UA N OZA
AD500 AD500 12 BARIN JUNIO GUEDE 4500
FG AD500
FG 12 BARIN
AS RJUNIO ZGUEDE 4500
FG AS R Z
BC300 AD500 23 BARIN EUDIS PUERT 4500
DF AD500
FG 23 BARIN
AS EUDIS APUERT 4500
FG AS A
BD213 BC300 20 CARA DANN CARRI 6000
AV DF
BC300 20 CAS
CARAC YDANN LLO
CARRI 6000
DF
BD213 1 AS
COJED Y
JOSE LLO
JIMEN 6300
CA789
BJ376
AS
ZX AV
BD213A 1 ES
COJED JOSE ENEZ
JIMEN 6300
V
CA789 4 ES
ZULIA JONAT ENEZ
ESCOB 7000
CA789
BORRADO PARA EL ÍNDICE
DENSO
2. En caso contrario se emprenden las siguientes
1. Si el registro borrado era acciones:
a. Si el registro índice almacena punteros a todos los
el único registro con ese registros con el mismo valor de la clave de búsqueda,
el sistema borra del registro índice el puntero al
valor de la clave de registro borrado.
b. En caso contrario, el registro índice almacena un
búsqueda, el sistema borra puntero sólo al primer registro con el valor de la clave
de búsqueda. En este caso, si el registro borrado era el
el registro índice primer registro con el valor de la clave de búsqueda,
correspondiente del índice. el sistema actualiza el registro índice para apuntar al
siguiente registro.
LISTADOS DE CONTROL
REGIS
TERMINAL DE PASAJEROS
TRO
CLAVE
DE INDICE
BUSQU
EDA
ÍNDICE DENSO
EJEMPLO DE

PLACA PUEST ESTAD NOMB APELL PRECI


O O RE IDO O
AB724
ES AB724 3 AMAZ JOSE LINAR 3500
ES ONAS EZ
AC440 AC440 24 ARAG DARWI MEND 5000
ED ED UA N OZA
AD500 AD500 12 BARIN JUNIO GUEDE 4500
FG FG AS R Z
BC300 AD500 23 BARIN EUDIS PUERT 4500
DF FG AS A
BD213 BC300 20 CARAC DANN CARRI 6000
AV DF AS Y LLO
BJ376 BD213A 1 COJED JOSE JIMEN 6300
ZX V ES ENEZ
CA789 BJ376Z 6 TRUJIL ELIAS PEREZ 6500
ENPARA
ESTEEL REGISTRO
CASO DEELIMINAR
SE DESEA JUNIOR
GUEDEZ SE PUEDE
EL REGISTRO OBSERVAR
DEL QUE
PASAJERO
PRMERO
LA CLAVE
SEBUSQUEDA
DE
ELIMINO ES
EL
LA
JONATHAN ESCOBAR QUE SE
REGISTRO DE JONATHAN
MISMA DE EUDIS
DIRIGE PUERTA
A ZULIA POR TAL
Y A JUNIOR
REGIS ESCOBAR
ÍNDICE DENSO
CLAVE
TRO MOTIVO
GUEDEZNOEL
SECUAL
ELIMINA LA CLAVE
SE DIRIGE A
INDICE
EJEMPLO DE

TERMINAL DE PASAJEROS
DE
BUSQU
LISTADOS DE CONTROL

EDA DE BUSQUEDA SINO EL REGISTRO


BARINAS
DEL PASAJERO
PLACA
PLACA PUEST
PUEST ESTAD
ESTAD
ESTA NOMB
NOMB
NOMB APELL
APELL PRECI
PRECI
O
O O
O
DO RE
RE
RE IDO
IDO O
O
AC440 AC440
AC440 24
AC440E 24 ARAG
ARAG DARWI
DARWI
DARWI MEND
MEND
MEND 5000
5000
5000
ED ED
DED UA
UA N
NN OZA
OZA
OZA
AD500 AD500 12 BARIN JUNIO GUEDE 4500
AD500F
AD500 2312 BARIN EUDIS
JUNIO PUERT
GUEDE 4500
4500
FG FG AS R Z
GFG AS R A
Z
BC300 AD500 23 BARIN EUDIS PUERT 4500
BC300D
AD500 20
FG 23 BARIN
CARA
AS DANN
EUDIS CARRI
PUERT
A 6000
4500
DF FFG AS
CAS Y LLO
A
BC300 20 CARAC DANN CARRI 6000
BD213 BD213A
BC300 120
DF CARAC
COJED
AS JOSE
YDANN JIMENE
CARRI
LLO 6300
6000
AV VDF AS
ES Y NEZ
LLO
BD213A 1 COJED JOSE JIMEN 6300
BJ376
BJ376Z BJ376Z
VBD213A 61 COJED
TRUJI
ES ELIAS
JOSE PEREZ
JIMEN
ENEZ 6500
6300
ZX
X XV ES
LLO ENEZ
BJ376Z 6 TRUJIL ELIAS PEREZ 6500
ÍNDICES DISPERSOS

Sólo se crea un registro índice para algunos de los valores. Al igual que en los índices densos,
cada registro índice contiene un valor de la clave de búsqueda y un puntero al primer registro
con ese valor de la clave.

Para localizar un registro se busca la entrada del índice


con el valor más grande que sea menor o igual que el valor
que se está buscando.

Se empieza por el registro apuntado por esa entrada del


índice y se continúa con los punteros del archivo hasta
encontrar el registro deseado.
REGIS
TRO LISTADOS DE CONTROL
CLAVE
DE
BUSQU
INDICE
TERMINAL DE PASAJEROS
ÍNDICE DISPERSO
EDA
EJEMPLO DE

PLACA PUEST ESTAD NOMB APELL PRECI


O O RE IDO O
AB724 AB724 3 AMAZ JOSE LINAR 3500
ES ES ONAS EZ
BC300 AC440 24 ARAG DARWI MEND 5000
DF ED UA N OZA
CA789 AD500 12 BARIN JUNIO GUEDE 4500
AS FG AS R Z
AD500 23 BARIN EUDIS PUERT 4500
FG AS A
BC300 20 CARAC DANN CARRI 6000
DF AS Y LLO
BD213A 1 COJED JOSE JIMEN 6300
V ES ENEZ
INSERCIÓN PARA EL ÍNDICE
DISPERSO

Se asume que el índice almacena una entrada por cada bloque. Si el sistema
crea un bloque nuevo, inserta el primer valor de la clave de búsqueda (en el orden
de la clave de búsqueda) que aparezca en el nuevo bloque del índice. Por otra
parte, si el nuevo registro tiene el menor valor de la clave de búsqueda en su
bloque, el sistema actualiza la entrada del índice que apunta al bloque; si no, el
sistema no realiza ningún cambio sobre el índice.
SE DEBE COMPARAR LA CLAVE DE
EN ESTE CASO EL REGISTRO INDICE
BUSQUEDA QUE SE DESEA AGREGAR
ESTA DIVIDIDO EN TRES PARTICIONES
CON LAS DEMAS CLAVES REGISTRADAS
Y SE DESEA AGREGAR UN REGISTRO
Y CUANDO SE COMPRUEBE QUE ESTA ES
ÍNDICE DISPERSO
REGIS
TRO PARA VARGAS
MENOR DEL PASAJERO
O IGUAL CESAR
A UNA DE LAS
CLAVE
DE INDICE
TERMINAL DE PASAJEROS
GOMEZ
EJEMPLO DE

BUSQU
REGISTRADAS ENTONCES ES ALLI
LISTADOS DE CONTROL

EDA

DONDE SE VA A POSICIONAR
PLACA
PLACA PUEST
PUEST ESTAD
ESTAD NOMB
NOMB APELL
APELL PRECI
PRECI
OO O
O RE
RE IDO
IDO O
O
AB724
AB724E 33 AMAZ
AMAZ JOSE
JOSE LINAR
LINAR 3500
3500
AB724
ES
S ONAS
ONAS EZ
EZ
ES
AC440
AC440E 24
24 ARAG
ARAG DARWI
DARWI MEND
MEND 5000
5000
BC300
ED
D UA
UA NN OZA
OZA
DF
AD500
AD500F 12
12 BARIN
BARIN JUNIO
JUNIO GUEDE
GUEDE 4500
4500
CA789
FG
G AS
AS RR ZZ
AS
AD500
AD500F 23
23 BARIN
BARIN EUDIS
EUDIS PUERT
PUERT 4500
4500
FG
G AS
AS AA
BC300
BC300 2020 CARAC
CARAC DANN
DANN CARRI
CARRI 6000
6000
DF
DF AS
AS YY LLO
LLO
BD213A 1 COJED JOSE JIMEN 6300
BORRADO PARA EL ÍNDICE
DISPERSO
2. En caso contrario se emprenden las siguientes acciones:
a. Si el registro borrado era el único registro con la clave
1. Si el índice no contiene un de búsqueda, el sistema reemplaza el registro índice
correspondiente con un registro índice para el siguiente
registro índice con el valor valor de la clave de búsqueda. Si el siguiente valor de la
clave de búsqueda ya tiene una entrada en el índice, se
de la clave de búsqueda del borra en lugar de reemplazarla.
b. En caso contrario, si el registro índice para el valor de
registro borrado, no hay que la clave de búsqueda apunta al registro a borrar, el
sistema actualiza el registro índice para que apunte al
hacer nada. siguiente registro con el mismo valor de la clave de
búsqueda.
EN ESTE CASO SE
ELIMINARA EL REGITRO DE
ÍNDICE DISPERSO
JOSE JIMENEZ Y NO SE
AFECTO NINGUNA DE LAS
EJEMPLO DE

REGIS
TRO
TERMINAL DE PASAJEROS
CLAVE INDICE
LISTADOS DE CONTROL

DE
BUSQU
EDA
CLAVES DE BUSQUEDA
PLACA
PLACA PUEST
PUEST ESTAD
ESTAD NOMB
NOMB APELL
APELL PRECI
PRECI
O O RE IDO O
AB724E
AB724E 33 AMAZ
AMAZ JOSE
JOSE LINAR
LINAR 3500
3500
AB724 S
S ONAS
ONAS EZ
EZ
ES
AC440E
AC440E 24
24 ARAG
ARAG DARWI
DARWI MEND
MEND 5000
5000
BC300 D
D UA
UA N
N OZA
OZA
DF
AD500F
AD500F 12
12 BARIN
BARIN JUNIO
JUNIO GUEDE
GUEDE 4500
4500
CA789 G
G AS
AS R
R Z
Z
AS
AD500F 23 BARIN EUDIS PUERT 4500
G
G AS
AS A
A
BC300
BC300 2020 CARAC
CARAC DANN
DANN CARRI
CARRI 6000
6000
ÍNDICES MULTINIVEL

Si el índice primario no cabe en la memoria principal, el acceso a las entradas


de índice se hacen costosas.

La solución es guardar el índice primario


en el Disco como un archivo secuencial y
construir un índice disperso sobre el.

• Índices externos: índice disperso del


índice primario.
• Índices internos: archivo del índice
primario.
Los índices de todos los niveles deben ser
actualizados en la inserción o eliminación en el
archivo.
INSERCIÓN PARA EL
ÍNDICE MULTINIVEL

Primero se realiza una búsqueda usando el valor de la clave de búsqueda del


registro a insertar. Las acciones que emprende el sistema a continuación dependen de
si el índice es denso o disperso.
INSERCIÓN PARA EL
ÍNDICE MULTINIVEL
D Si el valor de la clave de búsqueda no aparece en el índice, el sistema

E inserta en éste un registro índice con el valor de la clave de búsqueda en la


posición adecuada.
Si el registro índice almacena punteros a todos los registros con el mismo

N
valor de la clave de búsqueda, el sistema añade un puntero al nuevo registro
en el registro índice.
En caso contrario, el registro índice almacena un puntero sólo hacia el primer
registro con el valor de la clave de búsqueda. El sistema sitúa el registro
S
insertado después de los otros con los mismos valores de la clave de búsqueda.

O
INSERCIÓN PARA EL
ÍNDICE MULTINIVEL
D Se asume que el índice almacena una entrada por cada
bloque.
I
Si el sistema crea un bloque nuevo, inserta el primer valor
S de la clave de búsqueda (en el orden de la clave de
P búsqueda) que aparezca en el nuevo bloque del índice.

E Por otra parte, si el nuevo registro tiene el menor valor de la


clave de búsqueda en su bloque, el sistema actualiza la
R entrada del índice que apunta al bloque; si no, el Sistema no
realiza ningun cambio sobre el indice
S
O
EJEMPLO DE INSERCIÓN
MULTINIVEL
CLAVE
DE REGISTRO CLAVE DE
REGISTRO
BUSQU
INDICE BUSQUED
EDA INDICE
A

PLACA PUEST ESTAD NOMB APELL PRECI


O O RE IDO O
AB724 3 AMAZ JOSE LINAR 3500
AB724 ES ONAS EZ
AB724 ES
ES AC440 24 ARAG DARWI MEND 5000
AD500 ED UA N OZA
CA789 FG
AS AD500 12 BARIN JUNIO GUEDE 4500
BC300 FG AS R Z
AD500 DF
Nivel
FG Secundario AD500 23 BARIN EUDIS PUERT 4500
CA789
Nivel Primario FG AS A
(EXTERNO)
AS
(INTERNO)
BC300 20 CARAC DANN CARRI 6000
DF AS Y LLO
BORRADO PARA EL ÍNDICE
MULTINIVEL

D
a. Si el registro índice
Si el registro borrado era el
únicoEn casoconcontrario
ese valor dese
almacena punteros a todos los
registro la
registros con el mismo valor de la
emprenden
clave de búsqueda,
clave de búsqueda,lasel
el sistema
sistema
borra el registro índice
siguientes acciones:
borra del registro índice el
correspondiente del índice.
puntero al registro borrado.

b. Si
el
regis
tro
borra

E
do
era
el
prim
er
regis
tro
con

N
el
valor
de la
clave
de
búsq
ueda,
el

S
siste
ma
actua
liza
el
regis
tro
índic

O
e
para
apun
tar al
sigui
ente
regis
tro.
BORRADO PARA EL ÍNDICE
MULTINIVEL
DISPERSO

Si el índice no contiene un registro índice con el valor de la clave de búsqueda del registro borrado, no hay que hacer nada.
Ejemplo de Borrado Multinivel
CLAVE
DE REGISTRO CLAVE DE
REGISTRO
BUSQU
INDICE BUSQUED
EDA INDICE
A

PLACA PUEST ESTAD NOMB APELL PRECI


O O RE IDO O
AB724 3 AMAZ JOSE LINAR 3500
AB724 ES ONAS EZ
AB724 ES
ES AC440 24 ARAG DARWI MEND 5000
AD500 ED UA N OZA
AD500 FG
FG AD500 12 BARIN JUNIO GUEDE 4500
BC300 FG AS R Z
CA789 DF
Nivel
AS Secundario AD500 23 BARIN EUDIS PUERT 4500
CA789
Nivel Primario FG AS A
(EXTERNO)
AS
(INTERNO)
BC300 20 CARAC DANN CARRI 6000
DF AS Y LLO
EJEMPLO DE ÍNDICE
MULTINIVEL
ASOCIACIÓN

Un cajón (Bucket) es una unidad de almacenamiento que puede


guardar uno o mas registros (generalmente es un bloque de disco).

En la organización de archivo asociativo se obtiene el bucket de un


registro del valor de su clave de búsqueda usando la función de asociación.

Formalmente, sea K el conjunto de todos los valores de clave de búsqueda y sea


B el conjunto de todas las direcciones de cajón. Una función de asociación h es una
función K a B.
ÍNDICES ASOCIATIVOS

La asociatividad se puede utilizar no solamente para la organización.

Un índice asociativo organiza las


Primero se aplica una función de Luego se almacenan la clave y lo
claves de búsqueda, con sus
asociación sobre la clave de punteros asociados en el cajón (o
punteros asociados, dentro de una
búsqueda para identificar un cajón. los cajones de desbordamiento).
estructura de archivo asociativo.
BIBLIOGRAFÍA
 http://www3.uji.es/~mmarques/f47/teoria/tema2b.pdf
 http://sistemas.uarg.unpa.edu.ar/~osofia/
$Bdd/Clases/Clase07Indices.pdf
 http://es.slideshare.net/juliangalvez/indexacion-y-asociacion

También podría gustarte