2. Banco de Dados Distribuído
Um sistema de Banco de Dados Distribuído (BDD)
consiste em uma coleção de nós, cada qual podendo
participar na execução de transações que acessam
dados em um ou mais nós.
Em um sistema de banco de dados distribuído, o banco
de dados é armazenado em diversos computadores
(nós). Os computadores, em um sistema distribuído,
comunicam-se uns com os outros por intermédio de
vários meios de comunicação, tais como redes de alta
velocidade ou linhas de telefone. Eles não compartilham
a memória principal e o relógio.
Profa. Danielle Filgueiras 2
3. Banco de Dados Distribuído
Os processadores em um sistema distribuído
podem variar em tamanho e função, podendo
incluir microcomputadores, estações de
trabalho, minicomputadores e sistemas de
computadores de uso em geral. Estes
processadores são geralmente chamados de
nós, dependendo do contexto no qual eles
estejam mencionados. Usa-se principalmente o
termo nó (lugar, posição), a fim de enfatizar a
distribuição física destes sistemas.
Profa. Danielle Filgueiras 3
4. Banco de Dados Distribuído
A diferença principal entre sistemas de
bancos de dados centralizados e
distribuídos é que no primeiro os dados
estão localizados em um único lugar,
enquanto que no último os dados residem
em diversos locais. Esta distribuição de
dados é o motivo de muitas preocupações
e dificuldades.
Profa. Danielle Filgueiras 4
5. Banco de Dados Distribuído
Objetivo:
Fornecer a transparência de localização. Esta
transparência significa que os usuários e suas
aplicações não precisam saber qual a localização de
qualquer item particular de dados. Ao invés disso,
todas essas informações de localização devem ser
mantidas pelo próprio sistema como parte de seu
catálogo, e todas as solicitações de dados, por
usuários, deveriam ser interpretadas pelo sistema de
acordo com estas informações contidas nele.
Profa. Danielle Filgueiras 5
6. Banco de Dados Distribuído
Uma solicitação para operar uma peça de dados
não-local poderá fazer com que:
esses dados sejam deslocados para o nodo local,
para processamento local
O processamento deve ocorrer no nodo remoto e os
resultados movimentados para o local
a combinação de 1 e 2, mais comumente usados
As vantagens de tal transparência são óbvias: simplifica a lógica
dos programas de aplicação, e permite que os dados sejam deslocados
de um nodo para outro à medida que os padrões de utilização mudarem,
sem necessitar de qualquer reprogramação.
Profa. Danielle Filgueiras 6
7. Evolução SGBD
Computador A
Banco de
dados de
vendas
Brasília
Rede de
Comunicação
Computador C
SGBD SGBD
Computador B
Banco de Banco de
dados de dados de
vendas vendas
São Paulo Fortaleza
Os avanços tecnológicos contribuem muito com a evolução dos sistemas
distribuídos, fazendo com que esta seja uma das áreas de maior futuro,
principalmente, por ser uma área de influência no desenvolvimento dos
sistemas de informação. Profa. Danielle Filgueiras 7
8. Definições
Um sistema de BDD existe quando um banco de dados,
logicamente integrado, é fisicamente distribuído sobre
diferentes nós de computação interligados por rede.
Define-se um nó de computação como um computador
(mini, micro, etc.) localizado numa área de organização
com certas facilidades de processamento. Em cada um
dos nós o software do SGBDD consiste minimamente do
que se segue:
Sistema operacional em cada nó
Gerenciador de comunicação para programas remotos
SGBD para gerenciamento local do banco de dados
Profa. Danielle Filgueiras 8
9. Definições
O subconjunto do BD distribuído armazenando num nó é chamado
de BD local. Assim, cada BD local tem um SGBD local, e o sistema
de gerência do BDD é a união de todos os SGBD locais.
Se os SGBD locais são idênticos, então se diz que o sistema é
homogêneo, caso não sejam, ele é heterogêneo. O SGBDD é
responsável pelo fornecimento de dados e tradução de exigências
aos processos num ambiente distribuído heterogêneo.
Um elemento importante num ambiente distribuído é o diretório de
dados ou catálogo global, que é o meio pelo qual o SGBDD
determina que nós precisam ser acessados com a finalidade de
atender uma consulta particular. Sua localização física (centralizado
e/ou distribuído) é importante na performance do sistema.
Profa. Danielle Filgueiras 9
10. Estrutura de Controle
É responsável por:
Transparência de localização
Fornecimento de respostas eficientes aos
requerimentos dos usuários
Preservação da consistência dos dados
Conservação da integridade do sistema.
Um fator crítico deste componente é efetuar o controle de forma centralizada
(isto é, só um determinado nó é responsável pelo controle) ou distribuída (isto é,
todos os nós, no mesmo nível lógico, cooperam para executar um conjunto de tarefas).
Profa. Danielle Filgueiras 10
11. A principal diferença entre um sistema de
gerenciamento de banco de dados distribuídos
(SGBDD) e sistema de gerenciamento de banco
de dados paralelos (SGBDP) é a distribuição física
SGBDD SGBDP
BD
BD BD
BD
Profa. Danielle Filgueiras 11
12. Características do SGBDD
Os sites estão disponíveis entre si
S.O. próprio
Compartilham um esquema global comum
Memória própria
Cada site tem transações locais e globais
Disco próprio
SGBD local em cada site, preferivelmente sendo
o mesmo (homog.)
Profa. Danielle Filgueiras 12
13. Vantagens
Gerenciamento de dados distribuídos com
níveis diferentes de transparência
Transparência de distribuição ou de rede
Transparência de replicação
Transparência de fragmentação
Melhoria da confiabilidade e na disponibilidade
Melhoria de desempenho
Expansão mais fácil
Profa. Danielle Filgueiras 13
14. Características do SGBDD
Site A Site B
Rede
Comunicação
via rede
Site C
Se o SGBD for diferente em cada
site , o SGBDD é classificado
como heterogêneo
Profa. Danielle Filgueiras 14
15. Funções adicionais
Rastreamento de dados
Processamento de consultas distribuídas
Gerenciamento de transações distribuídas
Gerenciamento de dados replicados
Recuperação de banco de dados
distribuído
Segurança
Gerenciamento do diretório distribuído
Profa. Danielle Filgueiras 15
16. Armazenamento Distribuído dos
Dados
Uma relação r (ou tabela) possui diversos
enfoques para o armazenamento em um banco
de dados distribuído (BDD):
Replicação: o sistema mantém réplicas idênticas da
relação, onde cada réplica é armazenada em sites
diferentes, resultando na replicação dos dados
Fragmentação: a relação é particionada em vários
fragmentos, onde cada fragmento é armazenado em
um site diferente
Replicação e fragmentação: a relação é particionada
em vários segmentos, e o sistema mantém diversas
réplicas de cada fragmento
Profa. Danielle Filgueiras 16
17. Replicação de Dados
A replicação de dados significa que um
determinado objeto de dados lógicos pode
possuir diversos representantes
armazenados, em nodos. O grau de
suporte para a replicação é um pré-
requisito para atingir o verdadeiro
potencial de um sistema distribuído.
Profa. Danielle Filgueiras 17
18. Replicação de Dados
Disponibilidade: com a falha de um site que contém a
relação r, outro site com r é encontrado e atende a
solicitação, a despeito da falha de um site
Aumento de paralelismo: os acessos de leitura á relação
r, outros sites podem processar as consultas em
paralelo. Com mais replicação, aumentam as chances
do site que esta realizando a transação possuir a
relação r, contribuindo assim com a minimização do
movimento dos dados entre os sites.
Profa. Danielle Filgueiras 18
19. Replicação de Dados
Aumento do overhead para atualização: o
sistema deverá assegurar que todas as réplicas
da relação r sejam consistentes, propagando a
atualização a todas as réplicas. Sempre que
houver atualização, ela deve ser propagada a
todos os sites que contenham réplicas, evitando
a inconsistência. Por exemplo: o saldo de uma
conta bancária com um valor, possuindo um
outro valor em uma consulta feita por outra
agência, sendo ambas de um mesmo banco.
Profa. Danielle Filgueiras 19
20. Fragmentação de Dados
Uma relação é dividida em fragmentos, onde
cada fragmento contêm informação suficiente
para permitir a reconstrução da relação original.
A fragmentação pode ser feita de duas formas:
Fragmentação horizontal - divide a relação separando
as tuplas de r em dois ou mais fragmentos
Fragmentação vertical - divide a relação pela
decomposição do esquema R da relação r
Profa. Danielle Filgueiras 20
21. Fragmentação de Dados
A relação r é particionada em um número
de subconjunto r1, r2, ...,rn
Cada tupla da relação r deve pertencer a
pelo menos um fragmento
A relação r é a união de todos os
fragmentos, isto é:
R = r1 U r2 U ...U rn
Profa. Danielle Filgueiras 21
22. Fragmentação Horizontal (ex.)
AGÊNCIA CONTA SALDO
CONTA Brasília A-110 1000
Brasília A-120 500
São Paulo A-500 500
São Paulo A-200 300
Brasília A-150 250
Brasília A-180 2000
Profa. Danielle Filgueiras 22
23. Fragmentação Horizontal (ex.)
AGÊNCIA CONTA SALDO
Brasília A-110 1000
CONTA
Brasília A-120 500
Brasília A-150 250
Brasília A-180 2000
AGÊNCIA CONTA SALDO
São Paulo A-500 500
São Paulo A-200 300
Profa. Danielle Filgueiras 23
24. Explicações
O fragmento da agência ‘São Paulo’ será
armazenado no site São Paulo, enquanto
que o fragmento ‘Brasília’ estará no site
Brasília.
Neste exemplo os fragmentos estão
excludentes, mas podem ser elaborados
de forma que uma tupla pertença a mais
fragmentos.
Profa. Danielle Filgueiras 24
25. Fragmentação Vertical
É uma decomposição
Vários subconjuntos de atributos R1,
R2,...,Rn, tal que :
R = r1 U r2 U... U rn
A relação é reconstituída a partir dos
fragmentos por uma junção natural:
R = r1∆ r2∆ ... ∆rn
Profa. Danielle Filgueiras 25
26. Fragmentação Vertical (ex.)
AGÊNCIA CONTA CLIENTE SALDO
Brasília A-110 MARIA 1000
CONTA
Brasília A-120 PEDRO 500
São Paulo A-500 JOÃO 500
São Paulo A-200 RICARDO 300
Brasília A-150 MARCELO 250
Brasília A-180 CARLA 2000
AGÊNCIA CONTA CLIENTE SALDO TUPLA_ID
Brasília A-110 MARIA 1000 1
Brasília A-120 PEDRO 500 2
São Paulo A-500 JOÃO 500 3
São Paulo A-200 RICARDO 300 4
Brasília A-150 MARCELO 250 5
Brasília A-180 CARLA 2000 6
Profa. Danielle Filgueiras 26
27. junção dos fragmentos verticais
AGÊNCIA CONTA TUPLA_ID CLIENTE SALDO TUPLA_ID
Brasília A-110 1 MARIA 1000 1
Brasília A-120 2 PEDRO 500 2
São Paulo A-500 3 JOÃO 500 3
São Paulo A-200 4 RICARDO 300 4
Brasília A-150 5 MARCELO 250 5
Brasília A-180 6 CARLA 2000 6
Por possuir um identificador único, a reconstrução da relação pode
ser conseguida por meio de uma junção natural, onde o
atributo de junção é a tupla_id.
Profa. Danielle Filgueiras 27
28. Fragmentação Mista
A relação r é particionada em um número
de fragmentos r1, r2, ...,rn
Cada um dos fragmentos é resultado da
fragmentação horizontal ou vertical, ou
ainda sobre um fragmento de r obtido
anteriormente
Profa. Danielle Filgueiras 28
29. Fragmentação Mista (ex.)
AGÊNCIA CONTA TUPLA_ID
fragmentação vertical
Brasília A-110 1
CLIENTE SALDO TUPLA_ID
Brasília A-120 2 MARIA 1000 1
PEDRO 500 2
Brasília A-150 5
JOÃO 500 3
Brasília A-180 6
RICARDO 300 4
MARCELO 250 5
fragmentação horizontal CARLA 2000 6
AGÊNCIA CONTA TUPLA_ID
São Paulo A-500 3
São Paulo A-200 4
Profa. Danielle Filgueiras 29
30. Fragmentação e Replicação de
Dados
As técnicas de fragmentação e replicação
podem ser aplicadas sucessivamente a
uma mesma relação
Um fragmento pode ser replicado, e as
réplicas podem ser fragmentadas
novamente e assim por diante
Profa. Danielle Filgueiras 30
31. Transparência de Localização (de
Rede)
A preocupação com a transparência
possui os seguintes objetivos,
relacionados aos pontos de vista de:
Nível de Transparência
↓
Grau de desconhecimento sobre as relações no sistema
distribuído
Profa. Danielle Filgueiras 31
32. Transparência de Localização (de
Rede)
Denominação dos dados
Replicaçãodos itens de dados
Fragmentação dos itens de dados
Locação das réplicas ou fragmentos
Profa. Danielle Filgueiras 32
33. Processamento de Consultas
Distribuídas
Contexto
A transparência para leitura é mais fácil de se
conseguir e manter do que a transparência para
atualização.
O maior problema para a atualização é garantir que
todas as réplicas e fragmentos sejam atualizados,
após uma atualização em uma das réplicas ou
fragmentos. A atualização deve ser prolongada para
todas as cópias (réplicas e fragmentos) existentes no
sistema.
Profa. Danielle Filgueiras 33
34. Processamento de Consultas
Distribuídas
As consultas em um BDD devem se
preocupar em minimizar o tempo total
para a apresentação do resultado
alcançado.
Profa. Danielle Filgueiras 34
35. Processamento de Consultas
Distribuídas
Um dos fatores mais importantes no desempenho de uma consulta,
em uma base centralizada, é a quantidade de acesso a disco
necessária para atingir o resultado.
Em um banco distribuído os problemas aumentam, pois existe
também a preocupação com a transmissão de dados na rede.
Um fator interessante para a consulta realizada em uma base
distribuída é que para os diversos sites podem processar partes da
consulta em paralelo.
Na realização de uma consulta simples (trivial), como consultar
todas as tuplas da relação CONTA, pode caracterizar um
processamento não tão trivial, pois CONTA pode estar
fragmentada, replicada ou ambas.
Profa. Danielle Filgueiras 35
36. Processamento de Consultas
Distribuídas
Além disto, a consulta pode precisar de diversas
junções e uniões para a reconstrução da relação toda
(CONTA).
O processamento de consultas tem como aspecto mais
importante a escolha da forma de junção a ser
realizada.
Considere a junção CONTA X DEPOSITANTE X
AGÊNCIA dos esquemas. Considere também que
nenhuma das três relações foi replicada ou
fragmentada, mas CONTA esta no Site 1,
DEPOSITANTE no Site 2 e AGÊNCIA no Site 3.
A origem da consulta é no Site 1, onde será produzido o
resultado da mesma.
Profa. Danielle Filgueiras 36
37. Estratégias de Consultas
Enviar cópia das três relações para o Site 1,
onde será aplicada a melhor estratégia de
consulta local
Enviar cópia de CONTA para o Site 2, e lá obter
temp1=(CONTA X DEPOSITANTE); em seguida
enviar temp1do Site 2 para o Site 3 obtendo lá o
temp2=(temp1 X AGÊNCIA); por fim enviar o
resultado (temp2) para o Site 1
Aplicar estratégia similar à anterior, alterando as
regras entre os Sites 1, 2 e 3
Profa. Danielle Filgueiras 37
38. Estratégias de Consultas
Na primeira estratégia ainda existe o re-processamento
dos índices da relação transportada, configurando um
processamento extra.
Na segunda estratégia ocorre a transmissão de uma
relação potencialmente maior.
Necessariamente, não existe a melhor estratégia, mas
deve-se considerar:
volume de dados a ser transportado
custo de transmissão de um Site para outro
velocidade relativa de processamento em cada Site
Profa. Danielle Filgueiras 38
39. Transações
O acesso a diversos itens de dados em
um sistema distribuído é normalmente
acompanhado de transações que têm de
preservar as propriedades ACID.
A : Atomicidade
C : Consistência
I : Isolamento
D : Durabilidade
Profa. Danielle Filgueiras 39
40. Características ACID
Atomicidade:Todas as operações da transação são
refletidas corretamente no BD ou nenhuma será
Consistência: A execução de uma transação isolada
preserva a consistência do banco de dados
Isolamento: Cada transação não toma conhecimento de
outras transações concorrentes
Durabilidade: Depois da transação completar-se com
sucesso, as mudanças que ela faz no banco de dados
persistem
Profa. Danielle Filgueiras 40
41. Tipos de transações
Locais
mantém acesso e atualizam somente a base
de dados local
Globais
mantém acesso e atualizam diversas bases
de dados locais
Profa. Danielle Filgueiras 41
42. Estruturas de Sistemas
Em cada Site existe o seu próprio gerenciador de
transações local, cuja função é garantir as propriedades
ACID das transações executadas localmente.
Os diversos gerenciadores cooperam para executar as
transações globais.
Com o intuito de compreender melhor como esses
gerenciadores podem ser implementados, pode-se
definir um modelo abstrato para o sistema de
transações.
Nesta definição cada Site possui dois subsistema:
Gerenciador de transações
Coordenador de transações
Profa. Danielle Filgueiras 42
43. Estruturas de Sistemas
O gerenciador administra a execução daquelas
transações que mantém acesso aos dados locais. Cada
uma dessas transações pode ser uma transação local
ou parte de uma transação global.
O coordenador coordena a execução de várias
transações (locais ou globais) iniciadas naquele Site.
Computador 1 Computador n
TCn Coordenador
TC1 de transação
. . . Gerenciador de
TMn
TM1 transação
Profa. Danielle Filgueiras 43
44. Gerenciador de Transações
Manutenção de um log para propósito de
recuperação
Participação em um esquema de controle
de concorrência adequado para
coordenação da execução de
transações concorrentes em um mesmo
site
Profa. Danielle Filgueiras 44
45. Coordenador de Transações
Iniciar a execução da transação
Quebrar uma transação em um número
determinado de sub-transações e distribuí-
las pelos Sites apropriados para a
execução
Coordenar o término das transações, que
podem resultar em efetivações em todos
os Sites ou em interrupção em todos os
Sites.
Profa. Danielle Filgueiras 45
46. Falhas
Um sistema distribuído pode sofrer os mesmos tipos de
falhas que ocorrem em um sistema centralizado, porém
existem falhas adicionais que podem ocorrer em um
BDD, tais como: falha em um site, falha na comunicação
entre eles, perda de mensagens e o particionamento da
rede.
Cada um desses problemas devem ser considerados no
projeto de recuperação de um BDD.
Para um sistema ser robusto, ele precisa detectar
qualquer uma dessas falhas, reconfigurar-se de modo a
manter o processamento e recuperar-se enquanto a
falha é recuperada.
Profa. Danielle Filgueiras 46
47. Preocupações
Protocolo de efetivação (garantir a atomicidade)
duas fases (obstrução) – 2PC
três fases – 3PC
Controle de concorrência
Algumas alterações no modo de funcionamento e de
controle do sistema centralizado podem permitir a
funcionalidade deles em um sistema distribuído.
Profa. Danielle Filgueiras 47
48. Sistemas de Banco de Dados
Múltiplos
Nos últimos anos desenvolveram-se novas aplicações
usando diversos BD preexistentes, localizados em
ambientes heterogêneos de hardware e software. Para
isso, foi necessária uma camada de software adicional
em um nível superior ao BD, onde ela tratava as
informações localizadas em um BD heterogêneo. Esta
camada é chamada de Sistema de Banco de Dados
Múltiplo.
Os sistemas de BD locais podem empregar modelos
lógicos diferentes e diferentes linguagens de definição e
manipulação de dados. Podem também diferir dos seus
mecanismos de controle de concorrência e
gerenciamento de transações.
Profa. Danielle Filgueiras 48
49. Sistemas de Banco de Dados
Múltiplos
Um sistema de BD Múltiplo cria a ilusão de integração
lógica do BD, sem exigir uma integração física
correspondente.
A integração formando um BDD homogêneo é muito
difícil, em uma grande maioria dos casos, é impossível
principalmente por:
Dificuldades Técnicas – os investimentos nos BD existentes
podem ser imensos e o custo da conversão das aplicações
pode ser proibitivo
Dificuldades Organizacionais – mesmo para integrações
tecnicamente viáveis, pode ocorrer a impossibilidade por
motivos políticos, principalmente, quando os sistemas de BD
pertencem a diferentes organizações.
Profa. Danielle Filgueiras 49
50. Bibliografia
Korth, H. F. e Silberschatz, A. Sistemas
de Banco de Dados, São Paulo, McGraw-
Hill, 3 edição, Capítulo 18 - 589-634 p.,
1999.
Frigeri, S. R., Banco de Dados
Distribuídos, Caxias do Sul, Universidade
Federal do Rio Grande do Sul - site
www.ufrgs.br, 1996.
Profa. Danielle Filgueiras 50
Hinweis der Redaktion
Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli