Sie sind auf Seite 1von 46

Departamento de Computao

Relatrio de Estgio Curricular










ERIC TERUO SHIBAYAMA







Aplicaes em Banco de dados distribudos





















Londrina
2004
ERIC TERUO SHIBAYAMA








Aplicaes em Banco de dados
Distribudos








Estgio obrigatrio desenvolvido durante o
4
o
ano do Curso de Graduao em Cincia
da Computao como requisito parcial
obteno do ttulo de Bacharel.
Orientador: Prof. Ms. Daniel dos Santos
Kaster



















2004

ERIC TERUO SHIBAYAMA








Aplicaes em Banco de dados
Distribudos









COMISSO EXAMINADORA
____________________________________
Prof. Ms. Daniel dos Santos Kaster
Universidade Estadual de Londrina
____________________________________
Prof. Ms. Evandro Bacarin
Universidade Estadual de Londrina
____________________________________
Prof. Ms Rodolfo Miranda de Barros
Universidade Estadual de Londrina





Londrina, ___ de ___________ de 200_

AGRADECIMENTO
Ao Prof. Ms. Daniel dos Santos Kaster, que me orientou durante todas as fa-
ses deste trabalho.
Ao meu pai, minha me, meu tio Lauro e minha tia Isaura, que juntos fize-
ram com que eu conclusse esta importante etapa de minha vida.
A minha namorada que sempre me apoiou e me motivou em todos momen-
tos.



RESUMO
O estgio desenvolvido teve como objetivo instalar alguns sistemas de ge-
renciamento de banco de dados distribudos (SGBDD) e configurar a distribuio de dados a-
travs deles, alm disso, foi implementado um sistema utilizando Banco de dados Distribu-
dos (BDD) que pudesse suprir as necessidades de uma rede de farmcia, tal como a procura
por um determinado produto em todas as unidades dispersa pela cidade.
O aplicativo foi desenvolvido utilizando a ferramenta de programao Delphi
6.0 e testado utilizando dois dos principais SGBDDs, o Microsoft SQL Server 2000 e o Ora-
cle9i Enterprise Edition. Atravs da aplicao desenvolvida foi possvel realizar alguns testes
para que fosse possvel verificar algumas das principais caractersticas dos bancos de dados
distribudos.
Utilizando o SGBDD SQL Server 2000, o programa foi testando utilizando a
Replicao Merge, j no Oracle, o tipo de replicao utilizada foi a Replicao de Views Ma-
terializadas Atualizveis.














Palavras-chave: banco de dados, distribudo, farmcia.

SUMRIO

1 INTRODUO................................................................................................................ 7
1.1 BANCO DE DADOS DISTRIBUDOS ................................................................................ 7
1.1.1 Vantagens dos bancos de dados distribudos..................................................... 8
1.1.2 Estratgias de distribuio de dados ................................................................. 8
1.1.3 Distribuio de dados utilizando o Oracle ........................................................ 8
1.1.4 Distribuio de dados utilizando o SQL Server ................................................. 9
2 METODOLOGIA DE ANLISE E PROJETO DA APLICAO.......................... 11
2.1 CICLO DE VIDA .......................................................................................................... 11
2.2 METODOLOGIA DE ANLISE E PROJETO...................................................................... 12
3 ESPECIFICAO DE REQUISITOS......................................................................... 13
3.1 RECURSOS NECESSRIOS ........................................................................................... 13
3.2 REQUISITOS DO SISTEMA ........................................................................................... 13
3.3 CASOS DE USOS ......................................................................................................... 13
3.3.1 Diagrama de casos de uso................................................................................ 13
3.3.2 Descrio dos casos de uso.............................................................................. 14
4 PROJETO DA APLICAO....................................................................................... 21
4.1 DIAGRAMAS DE CLASSES........................................................................................... 21
4.2 DIAGRAMAS DE SEQNCIA...................................................................................... 22
4.3 PROJETO DE BANCO DE DADOS ................................................................................. 28
5 IMPLEMENTAO..................................................................................................... 29
5.1 IMPLEMENTAO DO SISTEMA................................................................................... 29
5.2 IMPLEMENTAO DO SISTEMA BANCO DE DADOS DISTRIBUDO................................. 32
5.2.1 Configurao do sistema de replicao no Oracle.......................................... 32
5.2.2 Configurao do sistema de replicao no SQL Server .................................. 38
6 RESULTADOS DOS TESTES ENTRES OS BANCOS DE DADOS
DISTRIBUDOS UTILIZADOS........................................................................................... 42
6.1 TIPO DE REPLICAO................................................................................................. 42
6.2 TRANSPARNCIAS ...................................................................................................... 42
6.3 COMUNICAO ENTRE SERVIDORES .......................................................................... 42
6.4 PROCESSAMENTO DE TRANSAES............................................................................ 43
7 CONCLUSO................................................................................................................. 44
REFERNCIAS ..................................................................................................................... 45

LISTA DE FIGURAS


Figura 1: Ciclo de vida ............................................................................................................. 11
Figura 2: Diagrama dos Casos de Usos.................................................................................... 14
Figura 3: Diagrama de Classes ................................................................................................. 21
Figura 4: Diagrama de Seqncia Cadastrar Classificao...................................................... 22
Figura 5: Diagrama de Seqncia Cadastrar estoque ............................................................... 23
Figura 6: Diagrama de Seqncia Cadastrar Fabricante .......................................................... 24
Figura 7: Diagrama de Seqncia Pesquisa Avanada............................................................. 25
Figura 8: Diagrama de Seqncia Atualizar estoque................................................................ 25
Figura 9: Diagrama de Seqncia Cadastrar Produto............................................................... 26
Figura 10: Diagrama de Seqncia Realizar venda.................................................................. 27
Figura 11: Modelagem do banco de dados............................................................................... 28
Figura 12: Tela Principal .......................................................................................................... 30
Figura 13: Tela "Pesquisa Avanada" ...................................................................................... 31
Figura 14: Tela "Atualizar Estoque" ........................................................................................ 31

7

1 INTRODUO
Com o crescente aumento dos dados a serem armazenado, o gerenciamento
centralizado desses dados pode se tornar uma tarefa muito trabalhosa, assim, com as novas
tecnologias para comunicao de dados, possvel se trabalhar com bancos de dados no mais
centralizados em um nico servidor, mas sim distribudos em vrios servidores que podem es-
tar na mesma rede, ou at mesmo em pases diferentes, e esto interligados logicamente, com-
partilhando informaes de uma maneira transparente para os usurios. Esta abordagem per-
mite que cada parte do banco de dados contenha apenas os dados que so necessrio aquela
regio.
Este estgio teve como objetivo instalar alguns SGBDDs e configurar a dis-
tribuio de dados atravs de dois computadores, com isso foi possvel testar as principais ca-
ractersticas e funcionalidades de cada um dos SGBDDs instalados.
Para testar os SGBDDs utilizados foi implementado um sistema de farmcia
utilizando bancos de dados distribudos.
Para a distribuio de dados foram utilizados dois SGBDDs: o Oracle9i Enter-
prise Edition e o Microsoft SQL Server 2000.


1.1 BANCO DE DADOS DISTRIBUDOS
Os bancos de dados distribudos mostram as vantagens da computao distri-
buda sob domnio da gerncia de banco de dados. Um sistema de computao distribudo
consiste em uma srie de elementos de processamento que so interligados por um sistema de
rede de computadores e que cooperam na realizao de determinadas tarefas especficas.
Como objetivo geral, sistemas de computao distribudos repartem um
grande e ingerencivel problema em partes menores e resolvem o mesmo de maneira eficien-
te e coordenada.
Podemos definir banco de dados distribudos (BDD) como uma coleo de
vrios bancos de dados logicamente inter-relacionados (integrao lgica significa que qual-
quer n tem acesso potencial a todo o banco de dados), distribudos ao longo de um sistema
de redes de computadores e sistema de gerncia de banco de dados distribudos(SGBDD)
como um sistema de software que permite o gerenciamento de um banco de dados distribudo
e que torna a distribuio transparente ao usurio.
8


1.1.1 Vantagens dos bancos de dados distribudos
Umas das grandes vantagens dos bancos de dados distribudos o seu de-
sempenho otimizado e a possibilidade de autonomia local.
O desempenho otimizado dos SGBDs distribudos se baseia em dois pontos:
Um SGBD distribudo fragmenta o banco de dados, permitindo que os
dados fiquem armazenados prximos a seus pontos de utilizao, reduzindo o atraso de acesso
remoto, alm disso, cada site manipula apenas uma parte do banco de dados, tornando a ad-
ministrao deste mais simples.
A possibilidade de autonomia local possvel devido ao fato de que os
dados so replicados em vrios ns, assim quando uma transao que necessitar de um parti-
cular item de dado poder encontr-lo em qualquer outro ns. Com isso, a falha de um n no
necessariamente implica na parada de funcionamento de um sistema, aumentando a confiabi-
lidade e disponibilidade do sistema.

1.1.2 Estratgias de distribuio de dados
A replicao de dados pode ser simplesmente definida como o processo de
gerao e reproduo de mltiplas cpias de dados em um ou vrios ns. Assim o sistema
mantm vrias rplicas idnticas de uma relao, em que cada rplica armazenada em um n
diferente.
Em um BDD, devem ser tomadas decises em relao a qual n dever ser u-
tilizado para armazenar quais partes do banco de dados, assim, a diviso de uma relao r em
unidades lgicas menores para fins de distribuio chamada de Fragmentao de Dados.
Existem trs tipos de fragmentao, a horizontal que um subconjunto de
tuplas de uma relao, a vertical que divide uma relao "verticalmente" atravs das colunas e
a mista que o resultado obtido da aplicao dos mtodos para fragmentao horizontal e ver-
tical na relao.

1.1.3 Distribuio de dados utilizando o Oracle
A replicao de dados no Oracle utiliza dois tipos bsicos de sites: os sites
mestres que recebem uma cpia completa de todos os objetos de replicao e se comunicam
diretamente entre si para propagar as alteraes de dados, e os sites de views materializadas
9

recebem todos ou uma parte dos objetos replicados, por exemplo, pode-se escolher replicar
apenas as tabelas selecionadas ou somente partes selecionadas de uma tabela. Os sites de view
materializada devem ser associados a um nico site mestre e recebem somente as atualizaes
do site mestre ao qual esto associados.
Uma das formas do Oracle replicar dados atravs de views materializadas,
que podem conter todas ou um subconjunto de linhas e/ou colunas da tabela mestre, assim
possvel incluir na view somente os dados necessrios das tabelas mestre.As views materiali-
zadas podem ser somente para leitura ou atualizveis.
Para distribuir os dados entre dois computadores atravs do Oracle, foi utiliza-
do um tipo de replicao chamada Replicao de View materializada Atualizvel, em que
neste modelo os usurios podem atualizar as views materializadas. As alteraes feitas em
uma view materializada atualizvel so propagadas para a tabela-mestre remota da view mate-
rializada em tempos definidos.
Nesta replicao todos os servidores podem trabalhar de forma autnoma.

1.1.4 Distribuio de dados utilizando o SQL Server
Para implementar a replicao de dados, o SQL Server utiliza trs tipos de si-
tes: Publicador, Distribuidor e Assinante. O site Publicador o responsvel por disponibili-
zar os dados (publicaes) que sero replicados para outros sites, alm disso, detecta os dados
que so alterados durante uma transao e mantm informaes sobre todas as publicaes e-
xistentes no servidor. O site Distribuidor hospeda um banco de dados distribuidor que arma-
zena dados sobre transaes e histricos, geralmente o site publicador tambm configurado
como site distribuidor. O site Assinante recebe os dados replicados que foram disponibiliza-
dos pelo Publicador, mas no necessariamente ele precisa receber todos as publicaes, ape-
nas os que so necessrios.
Para disponibilizar os dados que sero replicados, o SQL Server utiliza Publi-
caes, Artigos e Assinaturas. Um artigo pode ser um objeto de banco de dados, como uma
tabela de dados inteira, determinadas linha (filtro horizontal) ou colunas (filtro vertical) de
uma tabela. Uma publicao uma coleo de artigos composta por um ou mais artigos. Uma
assinatura uma solicitao de uma cpia de dados de um banco de dados, em que uma assi-
natura define o local e qual publicao ser recebida.
Utilizando o SQL Server 2000 para distribuir os dados entre os dois servidores
foi utilizada a Replicao Merge, em que todos os sites podem realizar atualizaes nos da-
10

dos replicados e estas alteraes so propagadas em tempos determinados, alm disto os sites
podem trabalhar de forma autnoma. Como tanto os assinantes e o publicador podem atuali-
zar os mesmos dados, possvel que ocorram conflitos, caso ocorra algum conflito, utiliza-
do um resolvedor para solucionar o problema de acordo com o mtodo de resoluo de confli-
to escolhido.





















11

2 METODOLOGIA DE ANLISE E PROJETO DA APLICAO
Esta seo apresenta a metodologia de Engenharia de Software escolhida pa-
ra a realizao deste estgio, bem como o ciclo de vida de desenvolvimento.

2.1 CICLO DE VIDA
O modelo do ciclo de vida utilizado foi o em cascata, em que a partir da idi-
a, do que ir ser feito; foi feita uma anlise, os requisitos do sistema; a fase de implementao,
em que foi implementado o sistema e a fase de testes, em que foram realizados alguns testes a
fim de corrigir os erros do sistema.

Figura 1: Ciclo de vida

Idia: Nesta fase foi decidido o que iria ser feito, tendo como resultado a idia de de-
senvolver um sistema de farmcia para ser utilizado em bancos de dados distribudos.
Anlise: Nesta fase foi feita uma anlise de como seria desenvolvido o sistema e a
forma de como os dados seriam distribudos entre os dois computadores utilizados no
projeto, assim, foi decidido os tipos de replicao a serem utilizados e as funcionalida-
de do sistema.
Projeto: Nesta fase foi decida a melhor maneira para desenvolver o sistema, assim
como suas funcionalidades, alm disso, foi projetado o funcionamento de cada uma
das replicaes escolhidas na fase anterior.
12

Implementao: Nesta fase foram feitos o desenvolvimento do sistema e a configura-
o das replicaes de dados entre os dois computadores utilizados
Testes: Nesta fase foram realizados alguns testes no sistema desenvolvido com o obje-
tivo de corrigir os erro encontrados.

2.2 METODOLOGIA DE ANLISE E PROJETO
Para realizar a modelagem do sistema de farmcia a ser desenvolvido foi uti-
lizado linguagem UML (Unified Modeling Language), assim foi possvel projetar todos os
requisitos necessrios ao sistema, assim como as suas funcionalidades.
13

3 ESPECIFICAO DE REQUISITOS
3.1 RECURSOS NECESSRIOS
Recursos para o desenvolvimento:
Software: Delphi 6.0. Bancos de dados: Oracle9i Enterprise Edition e
Microsoft SQL Server 2000.
Hardware: Computadores com a seguinte configurao: Celeron 1.7
GHz, 256 MB RAM.

3.2 REQUISITOS DO SISTEMA
O sistema trata-se de uma aplicao para redes de farmcias que possuem v-
rias unidades espalhadas pela cidade, em que cada unidade mantm um banco de dados local
que possui apenas os dados referentes quela filial, porm todos os bancos de dados de todas
as filiais esto interligados.
Esse sistema ser utilizado para testar a distribuio de dados entre dois
computadores utilizando o SQL Server 2000 e o Oracle9i, utilizando estes dois bancos de da-
dos ser feita a replicao de dados de acordo com as necessidades de uma rede de farmcia.
3.3 CASOS DE USOS
3.3.1 Diagrama de casos de uso

A figura 2 descreve os casos de usos da aplicao desenvolvida. O usurio
pode realizar oito operaes: Cadastrar classificao, Cadastrar fabricante, Cadastrar produto,
Cadastrar estoque, Realizar venda, Atualizar estoque, Pesquisa avanada e Sair.
14


Figura 2: Diagrama dos Casos de Usos


3.3.2 Descrio dos casos de uso

Nas tabelas abaixo sero detalhados todos os casos de usos existentes na a-
plicao.
Caso de Uso: Cadastrar Produto
Ator: Usurio
Descrio O ator pode cadastrar um novo produto, pesquisar por determinado
produto ou alterar os dados do produto

Fluxo Principal
1 - O ator seleciona a opo de cadastro de produtos.
2 - O sistema abre uma nova tela de cadastro de produtos.
3 - O ator pode cadastrar um novo produto, pesquisar e alterar os da-
dos de um produto.







1 - Pesquisar produto:
1.1 - O ator informa o cdigo do produto que deseja localizar.
1.2- O sistema mostra os detalhes do produto encontrado.

2 - Novo produto:
2.1- O sistema habilita os campos para que sejam preenchidos.
2.2 -O ator informa os dados do novo produto a ser cadastrado.

15

Fluxo Alternativo 3 - Alterar produto:
3.1 - O sistema habilita os campos para que possam ser altera-
dos.
3.2 - O ator altera os dados.

4 - Confirmar:
4.1 - O ator confirma o cadastro do novo produto.
4.2 - O sistema cadastra o novo produto e emite uma mensagem
Produto cadastrado com sucesso.
4.3 - O ator confirma as alteraes no produto.
4.4 - O sistema altera os dados do produto e emite uma mensa-
gem Dados alterados com sucesso.

5 - Sair:
5.1 - Quando o ator escolhe esta opo, o sistema sai da tela de
cadastro de produtos e retorna para a tela principal.




Fluxo Excepcional
1 - Produto no encontrado:
1.1 - Caso no seja encontrado nenhum produto, o sistema emi-
te uma mensagem Nenhum produto encontrado.

2 Cdigo para pesquisa invlido
2.1 Caso o cdigo para pesquisa estiver vazio, o sistema emi-
te uma mensagem Favor preencher o campo cdigo.

3 Produto no cadastrado
3.1 Caso no seja possvel cadastrar o produto, o sistema e-
mite uma mensagem No foi possvel cadastrar o produto.


Caso de Uso: Cadastrar Fabricante
Ator: Usurio
Descrio O ator pode cadastrar um novo fabricante, pesquisar por determinado
fabricante ou alterar os dados de um fabricante

Fluxo Principal
1 - O ator seleciona a opo de cadastro de fabricante.
2 - O sistema abre uma nova tela de cadastro de fabricante.
3 - O ator pode cadastrar um novo fabricante, pesquisar por um de-
terminado fabricante e alterar os dados de um fabricante.








1 - Pesquisar fabricante:
1.1 - O ator informa o cdigo do fabricante que deseja localizar.
1.2- O sistema mostra os detalhes do fabricante encontrado.

2 - Novo fabricante:
2.1 - O sistema habilita os campos para que sejam preenchidos.
2.2 - O ator informa os dados do novo fabricante a ser cadastra-
do.

3 - Alterar fabricante:
16

Fluxo Alternativo 3.1 - O sistema habilita os campos para que possam ser altera-
dos.
3.2 - O ator altera os dados.

4 - Confirmar:
4.1 - O ator confirma o cadastro do novo fabricante.
4.2 - O sistema cadastra o novo fabricante e emite uma mensa-
gem Fabricante cadastrado com sucesso.
4.3 - O ator confirma as alteraes no fabricante.
4.4 - O sistema altera os dados do fabricante e emite uma men-
sagem Dados alterados com sucesso.

5 - Sair:
5.1 - Quando o ator escolhe esta opo, o sistema sai da tela de
cadastro de fabricante e retorna para a tela principal.




Fluxo Excepcional
1 - Fabricante no encontrado:
1.1 - Caso no seja encontrado nenhum fabricante, o sistema
emite uma mensagem Nenhum fabricante encontrado.

2 Cdigo para pesquisa invlido
2.1 Caso o cdigo para pesquisa estiver vazio, o sistema emite
uma mensagem Favor preencher o campo cdigo.

3 Fabricante no cadastrado
3.1 Caso no seja possvel cadastrar o fabricante, o sistema
emite uma mensagem No foi possvel cadastrar o fabricante.


Caso de Uso: Cadastrar Classificao
Ator: Usurio
Descrio O ator pode cadastrar uma nova classificao para os produtos

Fluxo Principal
1 O ator escolhe a opo cadastrar classificao.
2 O sistema abre uma nova tela de cadastro de classificao.
3 O ator preenche os dados da nova classificao.


Fluxo Alternativo
1 Confirmar
1.1 - O ator confirma o cadastro da nova classificao.
1.2 - O sistema cadastra a nova classificao e emite uma men-
sagem Classificao cadastrada com sucesso.

5 - Sair:
5.1 - Quando o ator escolhe esta opo, o sistema sai da tela de
cadastro de classificao e retorna para a tela principal.
Fluxo Excepcional 1 - Classificao no cadastrada
1.1 Caso no seja possvel cadastrar a nova classificao, o
sistema emite uma mensagem No foi possvel cadastrar clas-
sificao.
17



Caso de Uso: Cadastrar Estoque
Ator: Usurio
Descrio O ator cadastra um novo produto no estoque
Fluxo Principal 1 - O ator seleciona a opo de cadastro de estoque.
2 - O sistema abre uma nova tela de cadastro de estoque.




Fluxo Alternativo
1 - Novo produto:
2.1 - O sistema habilita os campos para que sejam preenchidos.
2.2 - O ator informa o cdigo do novo produto a ser cadastrado.
2.3 O sistema lista os detalhes do produto.
2.4 O ator informa os dados do produto, como: quantidade,
preo de custo e de venda.

2 - Confirmar:
4.1 - O ator confirma o cadastro do novo produto.
4.2 - O sistema cadastra o novo produto e emite uma mensagem
Cadastro feito com sucesso.

3 - Sair:
5.1 - Quando o ator escolhe esta opo, o sistema sai da tela de
cadastro de estoque e retorna para a tela principal.

Fluxo Excepcional
1 Produto no cadastrado
1.1 Caso no seja possvel cadastrar o produto, o sistema emi-
te uma mensagem No foi possvel cadastrar o produto.


Caso de Uso: Realizar Venda
Ator: Usurio
Descrio O ator pode realizar a venda de um produto.

Fluxo Principal
1 - O ator seleciona a opo de realizar venda.
2 - O sistema abre uma nova tela de vendas.
3- O ator informa o cdigo do produto a ser vendido.
4 - O sistema lista os detalhe do produto escolhido.
5 O ator informa a quantidade de itens do produto.




Fluxo Alternativo
1 - Adicionar produto:
1.1 - O sistema insere o produto escolhido na lista de produtos
vendidos e calcula o valor total (quantidade*preo).

2 - Excluir produto:
2.1 O ator seleciona o produto a ser excludo.
2.2 - O sistema abre uma janela confirmando se o ator deseja
excluir o produto.
2.3 O ator confirma ou cancela a excluso do produto.
2.4 Se o ator confirmar, o sistema retira o produto da lista de
produto, caso o ator cancele, o sistema no exclui o produto e
18

retorna a tela de venda.

3 - Finalizar venda:
3.1 - O sistema finaliza a venda dos produtos, sai da tela de
vendas e retorna a tela principal.
4 Sair
4.1 O sistema abre uma janela confirmando se deseja sair.
4.2 O ator confirma ou cancela se deseja sair da tela de vendas
4.3 Se o ator confirmar, o sistema sai da tela de venda e retor-
na tela principal, caso o ator cancele, o sistema permanece na
tela de venda.

Fluxo Excepcional
1 Produto no cadastrado
3.1 Caso o produto informado para venda no esteja dispon-
vel no estoque, o sistema emite uma mensagem "Nenhum pro-
duto encontrado".


Caso de Uso: Pesquisa Avanada
Ator: Usurio
Descrio O ator pode pesquisar por determinados produtos tanto no estoque
local quanto no estoque das demais filiais

Fluxo Principal
1 - O ator seleciona a opo Pesquisa avanada.
2 - O sistema abre uma nova tela de Pesquisa avanada.
3- O ator informa os dados do produto que deseja pesquisar.





Fluxo Alternativo
1 Cdigo do produto
1.1 O sistema realizar a pesquisa pelo cdigo do produto
2 Nome do produto
2.1 O sistema realizar a pesquisa pelo nome do produto
3 Fabricante
3.1 O sistema realizar a pesquisa pelo nome do fabricante do
produto
4 Classificao
4.1 O sistema realizar a pesquisa pela classificao do produ-
to
5 Local
5.1 O sistema realizar a pesquisa por determinado produto
apenas no estoque local da filial
6 Outras filiais
6.1 O sistema realizar a pesquisa por determinado produto no
estoque de outras filiais.
7 Sair
7.1 O sistema abre uma janela confirmando se deseja sair.
7.2 O ator confirma ou cancela se deseja sair da tela de vendas
7.3 Se o ator confirmar, o sistema sai da tela de venda e retor-
na tela principal, caso o ator cancele, o sistema permanece na tela
de venda.
1 Digitar cdigo do produto
19




Fluxo Excepcional
1.1 Caso o usurio tenha escolhido a opo de pesquisar por
"cdigo do produto" e no tenha digitado nenhum cdigo no
campo de pesquisa, o sistema emite uma mensagem "Digite o
cdigo do produto".
2 Nenhum produto encontrado
2.1 Caso a pesquisa na retorne nenhum produto, o sistema e-
mite uma mensagem Nenhum produto encontrado.

3 Nenhum banco de dados disponvel
3.1 Caso o sistema no encontre nenhum banco de dados dis-
ponvel para realizar a pesquisa, o sistema emite uma mensa-
gem Nenhum banco de dados disponvel.





Caso de Uso: Atualizar Estoque
Ator: Usurio
Descrio O ator pode atualizar os dados de um produto do estoque, possvel
atualizar apenas o produto do estoque local ou tambm nos estoque
das demais filiais.
Fluxo Principal 1 O ator seleciona a opo Atualizar estoque.
2 O sistema abre uma nova tela Atualizar estoque.
3 O ator informa o cdigo do produto que deseja atualizar.
4 O sistema lista os dados do produto desejado.
5 O ator altera os dados que deseja atualizar.
Fluxo Alternativo 1 Local
1.1 O sistema altera os dados do produto apenas no estoque
local da filial.
2 Todas Filiais
2.1 O sistema altera os dados do produto nos estoques de to-
das as demais filiais.
3 Alterar
3.1 O sistema altera os dados do produto desejado e emite
uma mensagem Alterao feita com sucesso.
4 Sair
4.1 O sistema sai da tela Atualizar estoque e retorna tela
principal.
Fluxo Excepcional 1 Produto no encontrado
1.1 Caso o produto especificado no esteja disponvel no es-
toque local da filial o sistema emite uma mensagem Nenhum
produto encontrado.



20

Caso de Uso: Sair
Ator: Usurio
Descrio O ator sai do sistema
Fluxo Principal 1 - O ator seleciona a opo Sair.
2 - O sistema fecha o programa.

21

4 PROJETO DA APLICAO
Esta seo apresenta os diagramas de classe e de seqncia da aplicao.
4.1 DIAGRAMAS DE CLASSES
A aplicao desenvolvida possui cinco classes, a classe principal que "cha-
ma" as demais classes. A classe venda utilizada para realizar uma venda de um ou mais pro-
dutos, a classe classificacao permite inserir uma nova classificao, a classe fabricante insere
um novo fabricante, alm de permitir pesquisar por um fabricante e atualizar seus dados, e a
classe produto que utilizada para cadastrar os produtos no estoque, pesquisar por determina-
dos produtos e alterar seus dados.


Figura 3: Diagrama de Classes










22

4.2 DIAGRAMAS DE SEQNCIA

Cadastrar Classificao

A figura 4 descreve o diagrama de seqncia do caso de uso "Cadastrar clas-
sificao", que permite ao usurio inserir uma nova classificao.

Figura 4: Diagrama de Seqncia Cadastrar Classificao


Cadastrar Estoque

A figura 5 descreve o diagrama de sequncia do caso de uso "Cadastrar Es-
toque", que permite ao usurio cadastrar um novo produto no estoque.
23


Figura 5: Diagrama de Seqncia Cadastrar estoque


Cadastrar Fabricante

A figura 6 descreve o diagrama de sequncia do caso de uso "Cadastrar fa-
bricante", que permite ao usurio pesquisar por um determinado fabricante, inserir um novo
fabricante e alterar os dados de um fabricante.
24


Figura 6: Diagrama de Seqncia Cadastrar Fabricante


Pesquisa Avanada

A figura 7 descreve o diagrama de sequncia do caso de uso "Pesquisa A-
vanada", que permite ao usurio pesquisar por um determinado produto no estoque.
25


Figura 7: Diagrama de Seqncia Pesquisa Avanada

Atualizar Estoque

A figura 8 descreve o diagrama de sequncia do caso de uso "Atualizar esto-
que", que permite ao usurio alterar os dados de um determinado produto no estoque.

Figura 8: Diagrama de Seqncia Atualizar estoque
26

Cadastrar Produto

A figura 9 descreve o diagrama de sequncia do caso de uso "Cadastrar pro-
duto", que permite ao usurio inserir um novo produto, pesquisar por um determinado produto
e alterar os dados de um produto.

Figura 9: Diagrama de Seqncia Cadastrar Produto




27

Realizar Venda

A figura 10 descreve o diagrama de sequncia do caso de uso "Realizar ven-
da", que permite ao usurio adicionar ou exlcuir os produtos de uma venda, alm de finalizar
uma venda.

Figura 10: Diagrama de Seqncia Realizar venda



28

4.3 PROJETO DE BANCO DE DADOS
Nesta seo ser apresentada a modelagem do banco de dados utilizado. O
banco de dados possui basicamente cinco tabelas, que sero detalhadas abaixo:
"Classificacao": Armazena os dados das classificaes dos produtos, como o cdigo e
o nome da classificao.
"Fabricante": Armazena os dados dos fabricantes dos produtos, como o nome, ende-
reo, cidade, estado, telefone e CGC do novo fabricante.
"Produto": Armazena os dados dos produtos, como o nome e a classificao do pro-
duto, assim como o cdigo de sua classificao e seu fabricante.
"Estoque": Armazena os produtos existentes no estoque, como o cdigo do produto e
a filial no qual se encontra o estoque, alm disso, so armazenados a quantidade, o
preo de custo e de venda de cada produto.
"Venda": Armazenas as informaes de uma venda realizada, como o cdigo da ven-
da e do produto, a filial que realizou a venda, a quantidade de cada produto e o valor
total.



Figura 11: Modelagem do banco de dados

29

5 IMPLEMENTAO
Nesta seo ser detalhada a implementao do sistema de farmcia e a con-
figurao dos SGBDDs utilizado na replicao de dados.

5.1 IMPLEMENTAO DO SISTEMA
O sistema desenvolvido permite ao usurio cadastrar produtos, fabricantes,
estoque, classificao dos produtos, realizar vendas, atualizar os dados do estoque local ou at
mesmo os de outras filiais, e realizar um busca por determinados produtos apenas no estoque
local da filial ou tambm em outras filiais.
Para a implementao do sistema foi utilizado banco de dados distribudos,
assim, cada filial de uma rede de farmcia controla um banco de dados local e, alm disso, os
bancos de dados de todas as filiais esto interligados logicamente, que permite que uma filial
tenha acesso todos os dados das demais filiais.
Como cada filial controla seu banco de dados, consultas e atualizaes se
tornam mais rpidas, pois diferentemente de um sistema centralizado no preciso acessar
remotamente o banco de dados para realizar as operaes necessrias.
Abaixo sero mostradas e explicadas as telas do sistema.
Na figura 12 mostrada a tela principal, por onde o usurio pode acessar ou-
tras partes do programa, no menu Cadastrar, o usurio pode fazer os cadastro de produtos, fa-
bricante, classificao ou estoque. No menu Vendas, o usurio pode realizar a venda de produ-
tos. J no menu Pesquisa, pode ser feita um busca por produtos. E por fim, no menu Atualizar
possvel atualizar os dados de um produto no estoque.
30


Figura 12: Tela Principal

A figura 13 mostra a tela de pesquisar produtos. atravs desta tela que o
usurio pode realizar a busca por um determinado produto, esta busca pode ser feita atravs
do: cdigo do produto, nome do produto, nome do fabricante ou atravs da classificao do
produto. A pesquisa pode ser feita Local, ou seja, utilizando somente o banco de dados local,
ou em Outras Filiais, neste caso a busca feita em outro banco de dados. Caso a opo Ou-
tras Filiais seja selecionada, o sistema tentar procurar o produto desejado no banco de dados
Matriz que contm as informaes de todas as filiais, caso este banco no esteja disponvel o
sistema ento tentar buscar o produto no banco de dados referente a filial desejada.
Por exemplo, caso o usurio tente pesquisar um produto na Filial B, o siste-
ma primeiro tentar buscar este produto utilizando o banco de dados Matriz, mas se este ban-
co estiver indisponvel, ento o sistema realizar a busca acessando o banco de dados da Filial
B, caso este banco tambm esteja indisponvel, o sistema emitir uma mensagem de que ne-
nhum banco de dados est disponvel. Com isso, possvel utilizar uma das principais carac-
tersticas de um sistema de banco de dados distribudo, a disponibilidade e confiabilidade.


31


Figura 13: Tela "Pesquisa Avanada"

A figura 14 apresenta a tela de atualizao de estoque. Atravs desta tela o
usurio pode atualizar os dados de um determinado produto do estoque. No campo Cdigo
do produto, o usurio informa o cdigo do produto que deseja alterar os dados e ao pressio-
nar o boto , o sistema mostra os dados do produto.
O usurio pode alterar a quantidade, o preo de custo e o preo de venda do
produto, alm disso, possvel escolher se as alteraes sero feitas apenas no estoque local
da filial (opo Local) ou no estoque de todas as filiais (opo Todas Filiais). Caso seja
escolhida a opo de atualizar os estoques de todas as filiais, o sistema realiza uma transao
distribuda que atualiza o estoque de cada uma das filiais.


Figura 14: Tela "Atualizar Estoque"

32

5.2 IMPLEMENTAO DO SISTEMA BANCO DE DADOS DISTRIBUDO
Para implementar os sistemas de replicao foram utilizados dois computado-
res, o COP-LC39 e o COP-LC40 do Departamento de Computao da Universidade Estadual
de Londrina, cada um contendo dois bancos de dados, em um total de quatro bancos de dados,
sendo que cada um deles representavam uma unidade de uma rede de farmcia: Matriz, Filia-
lA, FilialB e FilialC. Os banco de dados que representavam a Matriz e a FilialA estavam loca-
lizados no servidor COP-LC39 e no COP-LC40 estavam os que representavam a FilialB e a
FilialC.
O banco de dados Matriz, possua todos os dados utilizados na replicao, os
demais bancos, FilialA, FilialB e FilialC, armazenavam todo o contedo das tabelas Classifi-
cao, Produto e Fabricante, j as tabelas Estoque e Vendas, armazenavam somente os dados
referentes unidade em que estavam localizados, por exemplo, no banco de dados FilialA as
tabelas Estoque e Vendas possuam apenas os dados pertencentes a filial A. Para selecionar os
dados de cada um dos banco de dados foi utilizada a fragmentao horizontal.
Utilizando os quatro banco de dados divididos entre os dois servidores foi pos-
svel configurar o sistema de replicao de views materializadas atualizveis utilizando o O-
racle9i e o sistema de replicao Merge atravs do SQL Server 2000, ambos foram testados
atravs da aplicao desenvolvida.
5.2.1 Configurao do sistema de replicao no Oracle
Utilizando o Oracle9i foi implementado o sistema de replicao de views
materializadas atualizveis, em que esta replicao composta por um site mestre que contm
todos os objetos que sero replicados alm de gerenciar a replicao, e por trs sites de views
materializadas que recebem somente os objetos que necessitam.
O banco de dados Matriz localizado no servidor COP-LC39 foi definido co-
mo site mestre e era responsvel pelo gerenciamento da replicao de dados alm de disponi-
bilizar os dados a serem replicados aos demais sites. O banco de dados FilialA tambm situa-
do no COP-LC39 foi definido como site de view materializada, assim como os demais ban-
cos de dados; FilialA, FilialB e FilialC; que estavam localizados no servidor COP-LC40.

Criao do site mestre
O banco de dados Matriz foi configurado como site mestre, portanto, arma-
zenava todos os objetos utilizados no sistema de replicao. Para configurar o site mestre foi
33

preciso criar um usurio REPADMIN e conceder os privilgios necessrios para a administra-
o do sistema de replicao.

CREATE USER "REPADMIN" IDENTIFIED BY "123456"

BEGIN
DBMS_REPCAT_ADMIN.GRANT_ADMIN_ANY_SCHEMA(
username => '"REPADMIN"');
END;

Criado o usurio REPADMIN, foi preciso registra-lo como propagador, ou
seja, responsvel pela propagao dos dados para os sites de views materializadas.

BEGIN
DBMS_DEFER_SYS.REGISTER_PROPAGATOR(
username => '"REPADMIN"');
END;

E por ltimo, foi programada a expurgao dos dados do site mestre para os
sites de views materializadas.

BEGIN
DBMS_DEFER_SYS.SCHEDULE_PURGE(
next_date => SYSDATE,
interval => '/*20:Secs*/ sysdate + 20/(60*60*24)',
);
END;

Criao do grupo mestre
No site mestre foi preciso criar um grupo mestre para armazenar todos os ob-
jetos utilizados na replicao

BEGIN
34

DBMS_REPCAT.CREATE_MASTER_REPGROUP( // cria o grupo mestre
gname => '"VIEWS_ATUA"', // nome do grupo mestre
);
END;

Criado o grupo mestre, foi preciso adicionar os objetos que foram utilizados,
que neste caso foram s tabelas CLASSIFICACAO, FABRICANTE, PRODUTOS, VENDA
E ESTOQUE.

BEGIN
DBMS_REPCAT.CREATE_MASTER_REPOBJECT(
gname => '"VIEWS_ATUA"',
type => 'TABLE', // tipo do objeto
oname => '"PRODUTOS"', // nome do objeto
sname => '"ERIC"', // nome do esquema
copy_rows => TRUE, //copia todas as linhas do objeto
);
END;

Atravs do comando acima a tabela PRODUTOS foi adicionada ao grupo
mestre VIEWS_ATUA, para adicionar as outra tabelas foi utilizado o mesmo comando.

Criao dos Logs de Views Materializadas
Foi preciso criar um Log de Views Materializadas para cada tabela replicada,
os Logs so utilizados para armazenar as modificaes na tabela mestre, para que depois estas
modificaes sejam propagadas para as views materializadas

CREATE MATERIALIZED VIEW LOG
ON "ERIC"."VENDA"

Os Logs de Views Materializadas para as demais tabelas foram criados da
mesma forma.
35


Criao dos site de views materializadas
Os sites de view materializadas foram criados utilizando os banco de dados
FilialA, FilialB e FilialC.
Primeiro foi preciso criar um usurio especial MVADMIN, com privilgios
de administrao em cada site mestre, para configurar a replicao.

CREATE USER "MVADMIN" IDENTIFIED BY "123456"

BEGIN
DBMS_REPCAT_ADMIN.GRANT_ADMIN_ANY_SCHEMA(
username => '"MVADMIN"'); //concede privilgios de
END; // administrao MVADMIN

Para os sites de views materializadas se comunicarem entre si e com o site
mestre foi necessrio criar vnculos entre eles.

CREATE PUBLIC DATABASE LINK "MATRIZ.DC.UEL.BR"
CONNECT TO "SCOTT" IDENTIFIED BY "TIGER"

Em cada um dos sites foram criados vnculos com os demais sites, assim foi
possvel realizar a troca de dados entre todos os sites.
Para que os sites de views materializadas enviassem as modificaes em seus
dados para o site mestre foi criado um vnculo programado para que as mudanas fossem en-
viadas em um tempo determinado.

BEGIN
DBMS_DEFER_SYS.SCHEDULE_PUSH(
destination => 'MATRIZ.DC.UEL.BR',
interval => '/*20:Secs*/ sysdate + 20/(60*60*24)',
next_date => SYSDATE,
stop_on_error => FALSE,
);
36

END;

Criao das views materializadas atualizveis
Em cada site de views materializadas foram criadas as views de acordo com
as necessidades de cada um. Em todos os sites foram criadas as mesmas views materializadas
para as tabelas Classificao, Fabricante e Produtos, para as tabelas estoque e vendas as views
foram criadas utilizando a fragmentao horizontal.

\\ criao de uma view utilizando a fragmentao horizontal
CREATE SNAPSHOT "ERIC"."ESTOQUE"
REFRESH FAST
FOR UPDATE
AS SELECT "COD_PROD", "FILIAL", "QUANTIDADE", "PRECO_CUSTO", "PRE-
CO_VENDA", "TIME_STAMP" FROM
"ERIC"."ESTOQUE"@MATRIZ.DC.UEL.BR c
WHERE
"FILIAL"='FILIAL A'


\\ criao de uma view contendo todos os dados da tabela mestre
CREATE SNAPSHOT "ERIC"."PRODUTO"
REFRESH FORCE
FOR UPDATE
AS SELECT "COD_PROD", "PRODUTO", "DESCRICAO", "COD_CLASSIFICACAO",
"COD_FABRICANTE", "TIME_STAMP" FROM
"ERIC"."PRODUTO"@MATRIZ.DC.UEL.BR

Tambm foi criado um grupo de views materializadas para armazenar todas
as views.

BEGIN
DBMS_REPCAT.CREATE_SNAPSHOT_REPGROUP(
gname => '"VIEWS_ATUAL"',
master => 'MATRIZ.DC.UEL.BR',
37

propagation_mode => 'SYNCHRONOUS');
END;

Depois de criar o grupo de views materializadas foi preciso adicionar cada
view a este grupo.

BEGIN
DBMS_REPCAT.CREATE_SNAPSHOT_REPOBJECT(
gname => '"VIEWS_ATUAL"',
sname => '"ERIC"',
oname => '"CLASSIFICACAO"',
type => 'SNAPSHOT',
min_communication => TRUE);
END;

Para que a renovao das view materializadas se tornasse mais fcil foi cria-
do um grupo de renovao, assim foi possvel manipular todas as views juntas.

BEGIN
DBMS_REFRESH.MAKE(
name => "REFRESH_GROUP"',
list => 'CLASSIFICACAO,FABRICANTE,PRODUTOS,ESTOQUE,VENDA',
next_date => SYSDATE,
interval => '/*30:Secs*/ sysdate + 30/(60*60*24)',
implicit_destroy => FALSE,
push_deferred_rpc => TRUE,
refresh_after_errors => TRUE,
);
END;

Criao de Sinnimos
Para facilitar a manipulao das views materializadas em cada site foram cri-
ados sinnimos para cada as view dos outros sites.
38


CREATE SYNONYM "ERIC"."CLASSIFICACAO_MATRIZ"
FOR "ERIC"."CLASSIFICACAO"@MATRIZ.DC.UEL.BR

5.2.2 Configurao do sistema de replicao no SQL Server
Utilizando o SQL Server 2000 foi implementado sistema de replicao Mer-
ge, para isso foi preciso configurar o servidor COP-LC39 como distribuidor, publicador e as-
sinante, j o servidor COP-LC40 foi utilizado apenas como assinante.
O banco de dados Matriz localizado no servidor COP-LC39 foi utilizado pa-
ra ser o banco de dados publicador, ou seja, possua os dados que foram publicados. Os de-
mais bancos de dados, FilialA tambm localizado no servidor COP-LC39, FilialB e FilialC
que pertenciam ao servidor COP-LC40, foram configurados como assinantes.
Para gerenciar o processo de replicao o SQL Server utiliza dois tipos de
agentes:
Agente Snapshots: Prepara o esquema e os arquivos de dados iniciais das tabelas pu-
blicadas, armazena o snapshot no distribuidor.
Agente Merge: Move e ajusta alteraes de dados que ocorrem depois que o snapshot
inicial foi criado e resolve os conflitos de acordo com o mtodo especificado.

Para configurar o sistema de replicao Merge, primeiro foi preciso especi-
ficar o servidor COP-LC39 como distribuidor e depois criar o banco de dados distribuidor.

sp_adddistributor @distributor = N'COP-LC39' //configura um servidor como distribuidor

sp_adddistributiondb @database = N'distribution', //Cria o banco de dados distribuidor no
servidor COP-LC39.

@data_folder = N'g:\sql server\MSSQL\Data',
@data_file = N'distribution.MDF',
@data_file_size = 3,
@log_folder = N'g:\sql server\MSSQL\Data',
@log_file = N'distribution.LDF',
@log_file_size = 0,
39


Tambm foi necessrio configurar o servidor COP-LC39 como publicador e
indicar o banco de dados distribuidor a ser utilizado.

sp_adddistpublisher @publisher = N'COP-LC39',
@distribution_db = N'distribution',
@working_directory = N'\\COP-LC39\g$\sql server\MSSQL\ReplData',

Como tanto o servidor COP-LC30 e o COP-LC40 foram utilizados como as-
sinantes, foi preciso configura-los como assinantes.

sp_addsubscriber @subscriber = N'COP-LC39',
@type = 0, //indica que o tipo do assinante Microsoft SQL Server
@login = N'sa',
@password = N'',

sp_addsubscriber @subscriber = N'COP-LC40',
@type = 0, //indica que o tipo do assinante Microsoft SQL Server
@login = N'sa',
@password = N'',

Depois que os servidores foram configurados, o banco de dados Matriz foi
especificado como o banco a ser replicado.

sp_replicationdboption @dbname = N'Matriz',
@optname = N'merge publish',
@value = N'true'

Para os dados que seriam replicados ficarem disponveis, foram criadas pu-
blicaes do tipo Merge.

sp_addmergepublication @publication = N'FilialB',
40

@keep_partition_changes = N'true', //durante a sincronizao, so-
mente as assinaturas que pos-
suem linhas modificadas so a-
fetadas
As demais publicaes, FilialA e FilialC, foram criadas da mesma forma.
Criadas as publicaes, foi preciso adicionar os artigos utilizados que seriam
replicados.

//Adicionando um artigo com filtro na publicao
sp_addmergearticle @publication = N'FilialA',
@article = N'estoque',
@source_owner = N'dbo',
@source_object = N'estoque',
@type = N'table',
@subset_filterclause = N'filial=''FILIAL A''',

// adicionando um artigo sem filtro na publicao
sp_addmergearticle @publication = N'FilialA',
@article = N'produto',
@source_owner = N'dbo',
@source_object = N'produto',
@type = N'table', @description = null,
@subset_filterclause = null,

Para cada publicao foi configurado o Agente Snapshots.
sp_addpublication_snapshot @publication = N'FilialA'

Para adicionar os dados nos assinantes, foram criadas assinaturas do tipo
Merge.

sp_addmergesubscription @publication = N'FilialA',
@subscriber = N'COP-LC39',
41

@subscriber_db = N'FilialA',
@subscription_type = N'push',
@subscriber_type = N'global',
@subscription_priority = 76.000000, //prioridade, valor utilizado
para resoluo de conflitos
@frequency_type = 4, //indica que o Agente Merge ser executado
diariamente
@frequency_subday = 4, //minutos
@frequency_subday_interval = 1, //a cada 1 minuto

42

6 RESULTADO DOS TESTES ENTRE OS BANCOS DE DADOS DISTRIBUDOS
UTILIZADOS
Atravs do sistema de farmcia desenvolvido foi possvel realizar alguns tes-
tes entre os SGBDDs utilizados, o SQL Server 2000 e o Oracle9i, e assim verificar o funcio-
namento de cada um deles em relao as caractersticas de um banco de dados distribudos.
6.1 TIPO DE REPLICAO
Tanto a replicao utilizada no SQL Server 2000, a replicao Merge, quanto
utilizada no Oracle, a replicao de views materializadas atualizveis, permite que cada um
dos assinantes trabalhe de forma autnoma, porm na replicao Merge, quando os dados so
alterados nos assinantes, estas modificaes s so propagadas para o publicador quando o-
corre a sincronizao dos dados, no permitindo que essas alteraes sejam propagadas ime-
diatamente. J na replicao de views materializadas atualizveis permite que as alteraes
feitas nos sites de views materializadas sejam propagadas imediatamente ou em intervalos de
tempo determinado para o mestre.
6.2 TRANSPARNCIAS
O Oracle fornece um tipo de transparncia, a transparncia de nomes, que no
SQL Server no est disponvel. A transparncia de nome facilita a manipulao de dados,
pois atravs dela possvel referenciar todos os banco de dados de uma maneira menos traba-
lhosa. Para referenciar um banco de dados remoto no SQL Server preciso utilizar um nome
composto de quatro partes, exemplo: SELECT * FROM "COP-LC40". Teste.dbo.empregado.
J no Oracle, atravs dos sinnimos possvel referenciar uma banco de dado remoto como se
fosse local, exemplo:
CREATE PUBLIC SYNONYM emp FOR scott.emp@sales.us.americas.acme_auto.com
SELECT ename, dnameFROM emp

6.3 COMUNICAO ENTRE SERVIDORES
Para realizar a comunicao entre os servidores participantes na replicao
de dados, o Oracle possui caractersticas que tornam esta tarefa mais simples, pois ele trata
um banco de dados remoto como se fosse local, precisando apenas configura-lo atravs do
Database Link. J no SQL Server preciso realizar trs operaes, primeiro necessrio criar
43

um linked server, depois adicionar um login para se conectar no servidor e por ltimo criar
uma permisso para acessar os dados no servidor remoto.

6.4 PROCESSAMENTO DE TRANSAES
Para realizar o processamento de transaes distribudas, o SQL Server utili-
za o MS DTC (Microsoft Distributed Transaction Coordinator) que um servio que necessi-
ta ser inicializado separadamente, j no Oracle, os servios responsveis pela coordenao de
uma transao distribuda so gerenciados automaticamente pelo Oracle, assim o usurio no
precisa se preocupar com este servio.
44

7 CONCLUSO
Atravs deste projeto foi possvel adquirir um maior conhecimento sobre
banco de dados distribudos e compreender melhor o funcionamento de um sistema distribu-
do, alm disso, o estgio permitiu que fosse possvel trabalhar com dois dos principais
SGBDDs disponveis e conseqentemente aprender sobre as suas funcionalidades.
Atravs dos dois SGBDDs utilizados: o Oracle e o SQL Server, alm da apli-
cao desenvolvida, foi possvel realizar alguns testes sobre as principais caractersticas e
funcionalidades dos SGBDDs, em que os resultados dos teste demonstraram que o Oracle a-
presenta algumas vantagens em relao ao SQL Server.

45

REFERNCIAS

SILVA, D,. UML: Guia de consulta rpida Ed. Novatec.

ZSU, M.T. e VALDURIEZ, P. Princpios de Sistemas de Banco de Dados Distribu-
dos, Segunda edio.Prentice Hall, 2001.

ELMASRI, R. e NAVATHE, S. Sistemas de Banco de Dados, LTC, 2002.


OLIVEIRA, A. Acessando Banco de dados com Delphi 6, Ed. Relativa, 2002.

Das könnte Ihnen auch gefallen