1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos,...

68
1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS

Transcript of 1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos,...

Page 1: 1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos, dada uma chave primária, recupera-se um registro. No.

1

ARQUIVOS INDEXADOS POR CHAVES

SECUNDÁRIAS

Page 2: 1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos, dada uma chave primária, recupera-se um registro. No.

2

CONCEITO

Na maioria das organizações de arquivos, dada uma chave primária, recupera-se um registro. No processamento com chaves múltiplas, procura-se recuperar todos os registros, que possuam uma particular combinação de valores de atributos. Podem ocorrer vários registros com o mesmo valor de atributo (chave secundária). Um índice secundário indica uma lista de registros que possuem um dado valor de chave secundária. Estes índices permitem a consulta combinada utilizando interseção e união de conjuntos de listas.

Page 3: 1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos, dada uma chave primária, recupera-se um registro. No.

3

CONCEITO (cont)

Índices secundários permitem rápida recuperação de registros com certo valor de atributo. Contudo, índices ocupam espaços e exigem grande esforço de atualização. Deve-se estudar, caso a caso, a conveniência de adoção de índices secundários.

Page 4: 1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos, dada uma chave primária, recupera-se um registro. No.

4

Arquivos com Listas

Considere-se a associação de um ponteiro a cada chave secundária indexada. O ponteiro indica o próximo registro com o mesmo valor de chave secundária. O arquivo é "atravessado" por um grande número de listas, teias ou costuras.

Page 5: 1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos, dada uma chave primária, recupera-se um registro. No.

5

Arquivos com Listas (cont.)

O índice para um atributo contém uma entrada para cada valor desse atributo que ocorre no arquivo.

Cada entrada do índice funciona como cabeça da lista, apontando um registro com esse valor de atributo

Page 6: 1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos, dada uma chave primária, recupera-se um registro. No.

6

Composição de Índices Secundários

Cabeçalho do Índice

Listas do Índice

Índice Secundário

Page 7: 1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos, dada uma chave primária, recupera-se um registro. No.

7

Cabeçalho do Índice

Listas do Índice

Índice SecundárioCabeçalho de Índice

Secundário

Atributos do cabeçalho de Índice SecundárioValor do atributo chave secundáriaComprimento da lista com esse valor de chave secundáriaEndereço do primeiro registro da lista com esse valor de chave secundáriaEndereço do último registro da lista com esse valor de chave secundária

Page 8: 1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos, dada uma chave primária, recupera-se um registro. No.

8

Cabeçalho de Índice Secundário

Registro DepartamentoComprimento

da listaPrimeiro endereço

Último endereço

0 Caixa de nós 31 311 Administrativo 9 4 292 Técnico 11 5 303 Comercial 7 6 28

Page 9: 1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos, dada uma chave primária, recupera-se um registro. No.

9

Cabeçalho de Índice Secundário

Registro DepartamentoComprimento

da listaPrimeiro endereço

Último endereço

0 Caixa de nós 44 441 Motorista 1 35 352 Programador 1 37 373 Secretária 2 40 414 Escriturário 2 29 305 Diretor 2 24 256 Contador 2 20 217 Almoxarife 1 17 178 Operador 1 36 369 Médico 1 34 3410 Vendedora 2 42 4311 Engenheiro 3 26 2812 Desenhista 1 23 2313 Gerente 3 31 3314 Publicitário 2 38 3915 Contínuo 1 22 2216 Analista 2 18 19

Page 10: 1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos, dada uma chave primária, recupera-se um registro. No.

10

Cabeçalho do Índice

Listas do Índice

Índice SecundárioListas de Índice Secundário

Composição dos endereçosBucket (obrigatório)Slot (desejável)Arquivo (necessário caso o arquivo principal tenha trasbordamento em arquivo separado)

Page 11: 1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos, dada uma chave primária, recupera-se um registro. No.

11

Listas de Índice Secundário (cont.)

Registro Arquivo Endereço Slot Nome Departamento Próx. Anter.

4 1 6 1 Ademar Administrativo 7 15 1 0 1 Afonso Técnico 9 26 1 6 2 Iara Comercial 14 37 1 2 1 Edmundo Administrativo 8 48 1 5 1 Cristiano Administrativo 10 7

Page 12: 1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos, dada uma chave primária, recupera-se um registro. No.

12

Listas de Índice Secundário (cont.)

Registro Arquivo Endereço Slot Nome Profissão Próx. Anter.

17 1 6 1 Ademar Motorista 1 118 1 0 1 Afonso Programador 2 219 1 6 2 Iara Secretaria 34 320 1 2 1 Edmundo Escriturário 32 421 1 5 1 Cristiano Diretor 22 5

Page 13: 1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos, dada uma chave primária, recupera-se um registro. No.

13

Exemplo

Um arquivo de produtos de "software" contendo os atributos fornecedor, nome do produto, tipo, plataforma de utilização cuja chave primária é nome do produto, deve ser indexado pela chave secundária fornecedor. Solicita-se exibir a configuração do arquivo e do respectivo índice.

Page 14: 1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos, dada uma chave primária, recupera-se um registro. No.

14

Cabeçalho do Índice

Listas do Índice

Índice SecundárioExemplo (cont.)

Microsoft 1

Oracle 2

Novell 4

IBM 5

Lotus 6

Borland 13

Corel 16

Apple 17

Índice de fornecedor

Page 15: 1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos, dada uma chave primária, recupera-se um registro. No.

15

Exemplo (cont.)

Arquivo com índices (parte)

Page 16: 1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos, dada uma chave primária, recupera-se um registro. No.

16

Tipos de Arquivos com Índices Secundários

Arquivos MultilistasArquivos Invertidos

Page 17: 1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos, dada uma chave primária, recupera-se um registro. No.

17

Arquivos Multilistas

Page 18: 1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos, dada uma chave primária, recupera-se um registro. No.

18

Arquivos Multilista

MultilistasNos arquivos com índice secundário a estrutura de índices possui uma entrada para o índice de uma lista no arquivo principal Pode-se considerar uma organização na qual a estrutura de índices contenha uma entrada para cada í-ésimo registro da lista com o mesmo valor de atributo. Diz-se que esta organização é uma organização multilista de tamanho controlado, i, de lista.

Page 19: 1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos, dada uma chave primária, recupera-se um registro. No.

19

Arquivos Multilista (cont.)

Os arquivos nos quais i = infinito são chamados simplesmente de "multilistas". Arquivos para os quais i = 1 são chamados invertidos.

Os arquivos multilistas apresentam como vantagem a extrema simplicidade da estrutura de índices e como desvantagem o processamento lento e a inadequação para a aceitação de consultas complexas.

Page 20: 1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos, dada uma chave primária, recupera-se um registro. No.

20

Arquivos Multilista

Arquivo Principal Arquivo de índices

Cabeçalho do Índice

Listas do Índice

Page 21: 1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos, dada uma chave primária, recupera-se um registro. No.

21

Listas de Índice Secundário

Atributos do registro de Listas de Índice Secundário para Arquivos MultilistaEndereço do próximo registro da lista com esse valor de chave secundária (no arquivo principal)Endereço do registro anterior da lista com esse valor de chave secundária (no arquivo principal)

Page 22: 1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos, dada uma chave primária, recupera-se um registro. No.

22

Geração de Arquivo Multilista

Arquivos multilistas são criados a partir de arquivos seqüenciais em um procedimento de seis passos O algoritmo a ser mostrado é creditado a Lefkowitz e utiliza a seguinte notação :ED = endereço de disco. Numeração dos registros em relação ao início do arquivo CP = chave primária dos registros do arquivo. CA = chave de acesso. Atributo chave secundária que criou o multilista. CL = comprimento de lista. Número de registros com o mesmo valor de chave de acesso. EC = endereço de cabeça. ED do primeiro registro com um dado valor de chave de acesso. INC = itens não chave. Atributos de registro que não influem no processamento de multilista. P = ponteiro para o sucessor na multilista da respectiva chave de acesso

Page 23: 1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos, dada uma chave primária, recupera-se um registro. No.

23

Geração de Arquivo Multilista (cont.)

Na hipótese de ocorrência de n atributos para os quais se quer multilistas são criados 4*n+1 arquivos temporários de trabalho, n arquivos de índices e um arquivo de saída.

A composição de campos do arquivo original é a seguinte, lembrando que os campos sombreados são aqueles pelos quais o arquivo está classificado:

Page 24: 1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos, dada uma chave primária, recupera-se um registro. No.

24

Geração de Arquivo Multilista (cont.)

composição de campos do arquivo original

composição de campos do arquivo multilista obtido

Page 25: 1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos, dada uma chave primária, recupera-se um registro. No.

25

Geração de Arquivo Multilista (cont.)

Haverá um arquivo de índices para cada chave de acesso. A composição de campos dos registros de cada um deles é a seguinte

Page 26: 1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos, dada uma chave primária, recupera-se um registro. No.

26

Desenvolvimento do algoritmo

Arquivo original :

Arquivo A1 ( 1 arquivo)

Page 27: 1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos, dada uma chave primária, recupera-se um registro. No.

27

1º passo : Atribuição dos endereços de disco

Os itens não chave são descartados e cria-se um atributo endereço de disco que recebe numeração seqüencial.

Arquivo resultante : A2 ( 1 arquivo)

Page 28: 1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos, dada uma chave primária, recupera-se um registro. No.

28

2º passo : Geração das triplas ED, CP, CA

O arquivo A2 é decomposto em tantos arquivos quantas são as chaves de acesso. Cada arquivo obtido conterá o endereço de disco, a chave primária e uma chave de acesso.

Arquivos resultantes : A3 ( n arquivos)

Page 29: 1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos, dada uma chave primária, recupera-se um registro. No.

29

3º passo : Classificação por chave de acesso

Cada um dos arquivos A3 é classificado pela chave de acesso correspondente.

Arquivos resultantes :

A4 ( n arquivos)

Page 30: 1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos, dada uma chave primária, recupera-se um registro. No.

30

4º passo : Geração dos índices e inserção dos ponteiros

Cada um dos arquivos A4 é processado gerando dois arquivos : um arquivo de índices, A5, e um arquivo com endereço de disco, chave primária, chave de acesso e um ponteiro para o sucessor na multilista da respectiva chave de acesso.

Arquivos resultantes : A5 ( n arquivos)

A6 ( n arquivos)

Page 31: 1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos, dada uma chave primária, recupera-se um registro. No.

31

5º passo : Classificação por chave primária

Cada um dos arquivos A6 é classificado pela chave primária.

Arquivos resultantes :

A7 ( n arquivos)

Page 32: 1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos, dada uma chave primária, recupera-se um registro. No.

32

6º passo : Montagem do arquivo de saída

O arquivo de entrada A1 e todos os arquivos A7 sofrem um processo de junção e descarta-se o endereço de disco. Os arquivos de índices são os arquivos A5 gerados no 4 0 passo do algoritmo.

Arquivos resultantes : A8 ( 1 arquivo)

Page 33: 1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos, dada uma chave primária, recupera-se um registro. No.

33

Exemplo de Multilista

Considere-se um arquivo tal como o que se segue, e que se deseja utilizar como entrada para obtenção de um arquivo multilista com chaves de acesso ENDEREÇO e PERÍODO. Pede-se esboçar a aplicação do algoritmo de Lefkowitz, sendo NÚMERO a chave primária

Page 34: 1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos, dada uma chave primária, recupera-se um registro. No.

34

Exemplo de Multilista

A1

CP INC CA1 CA2

NÚMERO NOME ENDEREÇO PERÍODO

15 João MG 1

18 José SP 3

25 Maria RJ 3

37 Gérson MG 3

41 Sandra SP 1

43 Miguel MG 1

45 Ana SP 1

Page 35: 1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos, dada uma chave primária, recupera-se um registro. No.

35

1° passo - Atribuição dos ED

A2

CP ED CA1 CA2

NÚMERO *** ENDEREÇO PERÍODO

15 1 MG 1

18 2 SP 3

25 3 RJ 3

37 4 MG 3

41 5 SP 1

43 6 MG 1

45 7 SP 1

Page 36: 1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos, dada uma chave primária, recupera-se um registro. No.

36

2° passo - Geração das triplas CA, ED, CP

A3

(Atributo ENDEREÇO)

CA1 ED CP

ENDEREÇO *** NÚMERO

MG 1 15

SP 2 18

RJ 3 25

MG 4 37

SP 5 41

MG 6 43

SP 7 45

Page 37: 1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos, dada uma chave primária, recupera-se um registro. No.

37

2° passo - Geração das triplas CA, ED, CP (cont.)

A3 (Atributo PERÍODO)

CA2 ED CP

PERÍODO *** NÚMERO

1 1 15

3 2 18

3 3 25

3 4 37

1 5 41

1 6 43

1 7 45

Page 38: 1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos, dada uma chave primária, recupera-se um registro. No.

38

3° passo - Classificação pela chave de acesso

A4

(Atributo ENDEREÇO)

CA1 ED CP

ENDEREÇO *** NÚMERO

MG 1 15

MG 4 37

MG 6 43

RJ 3 25

SP 2 18

SP 5 41

SP 7 45

Page 39: 1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos, dada uma chave primária, recupera-se um registro. No.

39

3° passo - Classificação pela chave de acesso (cont.)

A4 (Atributo PERÍODO)

CA2 ED CP

PERÍODO NÚMERO

1 1 15

1 5 41

1 6 43

1 7 45

3 2 18

3 3 25

3 4 37

Page 40: 1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos, dada uma chave primária, recupera-se um registro. No.

40

4° passo - Geração dos índices e dos arquivos

A5

(Atributo ENDEREÇO)

CA1 EC CL

ENDEREÇO *** ***

MG 1 3

RJ 3 1

SP 2 3

Page 41: 1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos, dada uma chave primária, recupera-se um registro. No.

41

4° passo - Geração dos índices e dos arquivos(cont. índices)

A5 (Atributo PERÍODO)

CA2 EC CL

PERÍODO *** ***

1 1 4

3 2 3

Page 42: 1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos, dada uma chave primária, recupera-se um registro. No.

42

4° passo - Geração dos índices e dos arquivos(cont. arquivos)

A6 (Atributo ENDEREÇO)

CA1 ED CP P1

ENDEREÇO *** NÚMERO ***

MG 1 15 4

MG 4 37 6

MG 6 43 0

RJ 3 25 0

SP 2 18 5

SP 5 41 7

SP 7 45 0

Page 43: 1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos, dada uma chave primária, recupera-se um registro. No.

43

4° passo - Geração dos índices e dos arquivos(cont. arquivos 2)

A6 (Atributo PERÍODO)

CA2 ED CP P2

PERÍODO *** NÚMERO ***

1 1 15 5

1 5 41 6

1 6 43 7

1 7 45 0

3 2 18 3

3 3 25 4

3 4 37 0

Page 44: 1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos, dada uma chave primária, recupera-se um registro. No.

44

5° passo - Classificação por chave primária

A7 (Atributo ENDEREÇO)

CA1 ED CP P1

ENDEREÇO *** NÚMERO ***

MG 1 15 4

SP 2 18 5

RJ 3 25 0

MG 4 37 6

SP 5 41 7

MG 6 43 0

SP 7 45 0

Page 45: 1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos, dada uma chave primária, recupera-se um registro. No.

45

5° passo - Classificação por chave primária (cont.)

A7 (Atributo PERÍODO)

CA2 ED CP P2

PERÍODO *** NÚMERO ***

1 1 15 5

3 2 18 3

3 3 25 4

3 4 37 0

1 5 41 6

1 6 43 7

1 7 45 0

Page 46: 1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos, dada uma chave primária, recupera-se um registro. No.

46

6° passo - Junção de A1 e de todos os A7

A8

CP CA1 CA2 INC P1 P2

NÚMERO ENDEREÇO PERÍODO NOME (p/ ENDEREÇO)

(p/ PERÍODO)

15 MG 1 João 4 5

18 SP 3 José 5 3

25 RJ 3 Maria 0 4

37 MG 3 Gérson 6 0

41 SP 1 Sandra 7 6

43 MG 1 Miguel 0 7

45 SP 1 Ana 0 0

Page 47: 1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos, dada uma chave primária, recupera-se um registro. No.

47

Arquivos Invertidos

Page 48: 1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos, dada uma chave primária, recupera-se um registro. No.

48

Listas de Índice Secundário

Atributos do registro de Listas de Índice Secundário para Arquivos InvertidosEndereço do registro da lista com esse valor de chave secundária (no arquivo principal)Valor da chave primária do registro apontado no arquivo principal (par poder classificar a lista)Endereço do próximo registro da lista com esse valor de chave secundária (no arquivo de listas)Endereço do registro anterior da lista com esse valor de chave secundária (no arquivo de listas)

Page 49: 1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos, dada uma chave primária, recupera-se um registro. No.

49

Arquivos Invertidos

Arquivo Principal Arquivo de índices

Cabeçalho do Índice

Listas do Índice

Page 50: 1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos, dada uma chave primária, recupera-se um registro. No.

50

Arquivos Multilista

Arquivo Principal Arquivo de índices

Cabeçalho do Índice

Listas do Índice

Page 51: 1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos, dada uma chave primária, recupera-se um registro. No.

51

Arquivos Invertidos

Arquivo Principal Arquivo de índices

Cabeçalho do Índice

Listas do Índice

Page 52: 1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos, dada uma chave primária, recupera-se um registro. No.

52

Arquivos invertidos

Arquivos InvertidosA organização invertida é baseada na mudança de papéis entre registro e atributos. Pode-se considerar que o arquivo é uma função que, dado um endereço, retorna os atributos do registro contido naquele endereço.

arquivo(endereço) (atributo,valor), (atributo,valor), (atributo,valor), ...

Os arquivos de índice representam a inversa dessa função pois, dado um par <atributo, valor do atributo>, recupera-se uma lista de endereços de registros com o valor especificado do atributo, ou

arquivo(atributo,valor) endereço, endereço, ....Um arquivo de índices que identifica cada registro com um dado valor de atributo é considerado um arquivo invertido pois funciona como a inversa da função "Arquivo Principal". A cada um dos valores de chave de acesso presente no arquivo é associada uma lista de identificação ou lista invertida.Na organização invertida, a cada valor de chave de acesso está associado não apenas um registro e sim um conjunto de registros que possui aquele valor de chave.

Page 53: 1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos, dada uma chave primária, recupera-se um registro. No.

53

Inversões e Listas Invertidas

O conjunto de listas invertidas associadas a um determinado atributo é chamado de inversão por aquele atributo. Um arquivo pode ter uma ou mais inversões. O número de listas invertidas em cada inversão é igual ao número de diferentes valores daquele atributo existente no arquivo.O arquivo de índices contém inversões, cada inversão contém diversas listas invertidas, cada lista invertida contém um "header" (que identifica o valor do atributo correspondente a esta lista e o comprimento da lista) e a lista dos endereços de registros que contém este valor de atributo

Page 54: 1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos, dada uma chave primária, recupera-se um registro. No.

54

Grau de Inversão

Chama-se grau de inversão de um arquivo a porcentagem de atributos indexados por inversão. Um arquivo com todos os atributos indexados tem 100% de grau de inversão.

Os sistema de informação comerciais são sistemas de recuperação de referências (ou documentos).As referências são armazenadas junto com palavras chave indicadoras de seu conteúdo. Os usuários solicitam informações sob a forma de expressões "booleanas", do tipo :

quais as referências existente sobre "tendinite" and ("teclado" or "terminal").

Praticamente todos esses sistemas utilizam arquivos invertidos.

Page 55: 1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos, dada uma chave primária, recupera-se um registro. No.

55

Implementação das inversões

As representações das listas invertidas são feitas pelos processos convencionais de representação de listas, ou seja, por contigüidade, por encadeamento e por mapa de bits.

Page 56: 1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos, dada uma chave primária, recupera-se um registro. No.

56

Implementação das inversões por contigüidade

Page 57: 1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos, dada uma chave primária, recupera-se um registro. No.

57

Implementação das inversões por encadeamento

Page 58: 1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos, dada uma chave primária, recupera-se um registro. No.

58

Representação por Mapa de Bits

Mapas de bits são arrays bidimensionais nos quais cada linha corresponde a um registro do arquivo principal e cada coluna corresponde a um dos valores do atributo que ocorrem no arquivo principal. Cada mapa de bits corresponde a um atributo, cada bit 1 indica que o registro correspondente pertence à lista de registro com o valor de atributo correspondente à coluna onde se encontra o bit 1.

Page 59: 1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos, dada uma chave primária, recupera-se um registro. No.

59

Representação por Mapa de Bits

Page 60: 1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos, dada uma chave primária, recupera-se um registro. No.

60

Mais uma maneira de implementar listas : Grafos

Pode-se economizar espaço em estruturas encadeadas de índices combinados os elementos da lista que apontam para um mesmo registro do arquivo principal. Cada registro do arquivo principal é representado em uma inversão por um simples nó, que pode pertencer a tantas lista quantos são os atributos indexados, formando-se assim uma estrutura de grafo. Cada nó destes grafos conterá :

- um ponteiro para o arquivo principal- para cada atributo indexado :

  um ponteiro para o nó proprietário da lista   um ponteiro para o próximo nó com o mesmo valor de atributo

Page 61: 1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos, dada uma chave primária, recupera-se um registro. No.

61

Mais uma maneira de implementar listas : Grafos

Page 62: 1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos, dada uma chave primária, recupera-se um registro. No.

62

Mais uma maneira de implementar listas : Grafos

Para exemplificar um nó genérico de um grafo que represente listas pode-se utilizar o exemplo de produtos de "software" do item 7.2. Do arquivo do exemplo são exibidos os nós que correspondem aos registros 1, 3 e 4, como se vê na figura 7.4.

Page 63: 1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos, dada uma chave primária, recupera-se um registro. No.

63

Exemplo de Inversões

Page 64: 1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos, dada uma chave primária, recupera-se um registro. No.

64

Inversão por Departamento usando encadeamento

Page 65: 1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos, dada uma chave primária, recupera-se um registro. No.

65

Inversão por Profissão usando encadeamento

Page 66: 1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos, dada uma chave primária, recupera-se um registro. No.

66

Inversão por Profissão usando Mapas de Bits

Page 67: 1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos, dada uma chave primária, recupera-se um registro. No.

67

Inversão por Departamento usando Mapas de Bits

Page 68: 1 ARQUIVOS INDEXADOS POR CHAVES SECUNDÁRIAS. 2 CONCEITO Na maioria das organizações de arquivos, dada uma chave primária, recupera-se um registro. No.

68

Algoritmo de implementação de Listas Invertidas

O algoritmo do Livro mostra uma implementação de inversão de arquivos na qual se considera a inversão de um arquivo de acesso direto implementada por encadeamento, com as seguintes hipóteses:O arquivo de acesso direto possui área de transbordamento separada; O número de "buckets" na área primária do arquivo de acesso direto é igual a n_buckets; O número de "slots" de cada "bucket" na área primária é igual a n_slots; O tratamento de transbordamento é feito por encadeamento em área secundária; Os buckets da área secundária só possuem um "slot" cada; O registro a ser inserido na lista invertida está gravado no "slot" de posição slot_corrente do bucket de endereço bucket_corrente; O arquivo de inversões será implementado por listas duplamente encadeadas; O número de registros do arquivo de inversões é igual a n_regs_inversão; O número máximo previsto de distintos valores para a chave secundária é tamanho_header; O algoritmo de alocação de registros do arquivo de inversões utiliza preferencialmente registros reaproveitados de exclusões anteriores (mantidos em uma pilha). Não havendo possibilidade de utilização de registros reaproveitados, são alocados registros ainda não utilizados mantidos em uma fila.