A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Índices secundários, avail list e truques para o TP3

Apresentações semelhantes


Apresentação em tema: "Índices secundários, avail list e truques para o TP3"— Transcrição da apresentação:

1 Índices secundários, avail list e truques para o TP3
Fábio Dias

2 O que vai acontecer hoje?
TP3 Índices secundários Melhorando nosso índice primário Avail list Usuário compra música Dúvidas

3 TP3 Este trabalho prático é uma continuação do TP2. Todas as definições e funcionalidades do TP2 (e TP1) devem ser mantidas neste trabalho. Todas as bases de dados e formatos Todas as funcionalidades (vocês entenderam o espírito né?)

4 TP3 - Objetivos Implementação de consultas por índices secundários
Implementar uma política de tratamento de registros excluídos na base de músicas, através do conceito de avail list. Suporte à compra de músicas e sugestão musical.

5 Implementação Capacidade de consulta ao banco de dados de músicas através de: Palavras inteiras do do nome da música, utilizando busca binária  no indice. Palavras inteiras do nome do autor. Palavras inteiras do nome do disco. Palavras inteiras do gênero.

6 Buscas Palavras inteiras. Caso contrário, a busca binária não funcionará. Idéias juntando ambas serão bem vindas, mas não cobradas. Deverão ser insensíveis a maiusculas / minusculas.

7 Buscas - Exemplo Músicas no banco: Termo de busca: Cara feia Cara nua
Cara ou cara ou CARA ou cArA (....) Todos estes devem retornar as duas músicas Buscas por ara ou car, não devem retornar estas músicas

8 Implementação Implementação do tratamento dos registros excluídos da base de músicas através do conceito visto em sala de avail list, com os dados armazenados no arquivo do banco de dados. Caso a política implementada no TP2 seja diferente, apresente vantagens e desvantagens entre as duas. Podemos implementar a mesma política nas duas bases de dados (música e usuários) ?

9 Implementação Capacidade de compra de músicas. O programa deverá armazenar quais músicas cada usuário comprou. O método mais adequado para isto é a criação de uma nova base de dados, contendo a chave primária do usuário (que identifica o usuário unicamente, no nosso caso o login) e a chave primária de música (o nome da música). Utilizem o nome comprasXX.dat.

10 Implementação Deverá ser implementado também um sistema de sugestões de compras de músicas realizadas através de consultas aos índices secundários. Por exemplo, quando determinado usuário escolher uma música, indique outras do mesmo disco/autor/gênero ou, a opção mais completa e exata, que sugere outras músicas compradas por quem já comprou aquela música.

11 TP3 Data de entrega: 03/05/2007  (até as 23:59)

12 Datas Dom Seg Ter Qua Qui Sex Sáb 8 9 10 11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29 30 01/mai 2 3 4 5 6 7 31 01/jun

13 O que vai acontecer hoje?
TP3 Índices secundários Melhorando nosso índice primário Avail list Usuário compra música Dúvidas

14 Índices secundários Chave Secundária Chave primária Ana Carolina Beatriz Barão Vermelho Só as mães são felizes Gabriel o Pensador Cara feia Mandei avisar (...) Chave Primária “Ponteiro” para o registro no arquivo Beatriz 1596 Cara feia 4332 Mandei avisar 2964 Só as mães são felizes 2052 (...) Qual o motivo para o índice secundário não conter o “ponteiro” para o arquivo?

15 Tornando Eficiente Chave Secundária Chave primária Ana Carolina
Beatriz Barão Vermelho Só as mães são felizes Gabriel o Pensador Cara feia Mandei avisar (...)

16 Tornando Eficiente Chave primária próximo Só as mães são felizes -1
Mandei avisar 3 Cara Feia Beatriz (...) Chave Secundária Entrada Ana Carolina 4 Barão Vermelho 1 Gabriel o Pensador 2 (...)

17 Busca Gabriel o Pensador Chave primária próximo Só as mães são felizes
-1 Mandei avisar 3 Cara Feia Beatriz (...) Chave Secundária Entrada Ana Carolina 4 Barão Vermelho 1 Gabriel o Pensador 2 (...) {“Mandei avisar”,”Cara Feia”}

18 Busca {“Mandei avisar”,”Cara Feia”} Chave Primária “Ponteiro” Beatriz
1596 Cara feia 4332 Mandei avisar 2964 Só as mães são felizes 2052 (...) Banco Cara Feia – Gabriel o Pensador – 4:27 – Ao vivo MTV – Rap Mandei avisar – Gabriel o Pensador – 4:29 – Ao vivo MTV – Rap

19 O que vai acontecer hoje?
TP3 Índices secundários Melhorando nosso índice primário Avail list Usuário compra música Dúvidas

20 Melhorando nosso indice primário
Chave Primária Entrada Cara feia 4332 Cara nua 2964 (...) Chave primária próximo Cara feia 2 Cara nua -1 (...) Chave Secundária Entrada Cara 1 Feia 3 Nua 4 (...) Estamos substituindo o índice primário?

21 Melhorando nosso indice primário
Chave Primária arquivo Cara feia 4332 Cara nua 2964 (...) Chave primária próximo Cara feia 2 Cara nua -1 (...) Chave Secundária Entrada Cara 1 Feia 3 Nua 4 (...)

22 O que vai acontecer hoje?
TP3 Índices secundários Melhorando nosso índice primário Avail list Usuário compra música Dúvidas

23 Avail list Avail: -1 Apagamos “Help”. Nome Autor Duração Disco Gênero
Garganta Ana Carolina 4:30 MPB She Elvis Costello 3:57 Coletânea Pop Help Beatles 3:43 Rock Sad but true Metallica 4:23 S&M Avail: -1 Apagamos “Help”.

24 Avail list Avail: 3 Apagamos “Garganta”. Nome Autor Duração Disco
Gênero Garganta Ana Carolina 4:30 MPB She Elvis Costello 3:57 Coletânea Pop -1 Sad but true Metallica 4:23 S&M Rock Avail: 3 Apagamos “Garganta”.

25 Avail list Avail: 1 Adicionamos outra música Nome Autor Duração Disco
Gênero 3 She Elvis Costello 3:57 Coletânea Pop -1 Sad but true Metallica 4:23 S&M Rock Avail: 1 Adicionamos outra música

26 Avail list Avail: 3 Nome Autor Duração Disco Gênero Nua Ana Carolina
4:38 MPB She Elvis Costello 3:57 Coletânea Pop -1 Sad but true Metallica 4:23 S&M Rock Avail: 3

27 O que vai acontecer hoje?
TP3 Índices secundários Melhorando nosso índice primário Avail list Usuário compra música Dúvidas

28 Usuário compra música Qual a chave primária desse novo banco?
arquivo Cara feia 4332 Cara nua 2964 (...) Chave Primária arquivo root 4332 fabio 2964 (...) Usuário Música fabio Cara nua root Cara feia (...) Qual a chave primária desse novo banco?

29 Índices secundários Usuário Música fabio Cara nua root Cara feia (...)
Índice secundário pelo nome da música Índice secundário pelo login do usuário Música Entrada Cara feia 1 Cara nua 3 (...) Usuário Entrada fabio 1 root 3 (...) PK Proximo fabio 2 root -1 (...) PK Proximo Cara feia 2 Cara nua -1 (...) Os índices devem ser ordenados. Não estão aqui, mas devem estar!

30 Sugerindo músicas Usuário escolhe uma música: Cara feia Usuário Música
fabio Cara nua root Cara feia (...) Usuário escolhe uma música: Cara feia Música Entrada Cara nua 1 Cara feia 3 (...) Usuário Entrada fabio 1 root 3 (...) PK Proximo fabio 2 root -1 (...) PK Proximo Cara feia 2 Cara nua -1 (...) Conseguimos todos os usuários que compraram aquela música

31 Sugerindo músicas Usuário escolhe uma música: Cara feia Usuário Música
fabio Cara nua root Cara feia (...) Usuário escolhe uma música: Cara feia Música Entrada Cara nua 1 Cara feia 3 (...) Usuário Entrada fabio 1 root 3 (...) PK Proximo fabio 2 root -1 (...) PK Proximo Cara feia 2 Cara nua -1 (...) Vamos pegar todas as músicas que estes usuários compraram

32 Sugerindo músicas Assim que o usuário escolher uma música:
Usando o índice secundário, consiga todos os usuários que compraram aquela música; Usando o outro índice secundário, consiga todas as músicas que aqueles usuários compraram; Apresente ao usuário as N músicas mais compradas por estes usuários. Vocês também podem fazer isso assim que o usuário logar, usando as músicas que ele já comprou como ponto inicial.

33 ?


Carregar ppt "Índices secundários, avail list e truques para o TP3"

Apresentações semelhantes


Anúncios Google