Aplicações Em Banco de Dados Distribuídos

Embed Size (px)

Citation preview

  • 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 4o 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 vendas4.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 [email protected]_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.