Você está na página 1de 99

ENIO KILDER OLIVEIRA DA SILVA

UM ESTUDO SOBRE SISTEMAS DE BANCO DE


DADOS CLIENTE/SERVIDOR

ASPER - ASSOCIAO PARAIBANA DE ENSINO RENOVADO


FACULDADE PARAIBANA DE PROCESSAMENTO DE DADOS
CURSO SUPERIOR DE TECNOLOGIA EM PROCESSAMENTO
DE DADOS

Joo Pessoa PB
2001

UM ESTUDO SOBRE SISTEMAS DE BANCO DE


DADOS CLIENTE/SERVIDOR

FICHA CATALOGRFICA
004.65
S586u

SILVA, Enio Kilder Oliveira


Um Estudo sobre Sistemas de Banco de Dados
Cliente/Servidor. Joo Pessoa PB, 2001
97p
Monografia
1. Banco de Dados Sistemas. 2. Cliente/Servidor
Arquitetura
I . Ttulo
ilus.

ENIO KILDER OLIVEIRA DA SILVA

UM ESTUDO SOBRE SISTEMAS DE BANCO DE DADOS


CLIENTE/SERVIDOR

Monografia apresentada ao Curso


de Processamento de Dados da
Faculdade
Paraibana
de
Processamento de Dados, como
um dos requisitos para a obteno
do ttulo de Graduado em
Processamento de Dados.
Orientador: Prof. Nilton Freire Santos

ASPER - ASSOCIAO PARAIBANA DE ENSINO RENOVADO


FACULDADE PARAIBANA DE PROCESSAMENTO DE DADOS
CURSO SUPERIOR DE TECNOLOGIA EM PROCESSAMENTO
DE DADOS

ENIO KILDER OLIVEIRA DA SILVA

UM ESTUDO SOBRE SISTEMAS DE BANCO DE


DADOS CLIENTE/SERVIDOR

Aprovada em _____/_____________/ 2001

BANCA EXAMINADORA
__________________________________
Orientador

__________________________________
Examinador (1)

__________________________________
Examinador (2)

Aos meus pais Jos de Arimata


da Silva e Maria de Lourdes
Oliveira da Silva e aos meus
irmos Nen e Hercnio,
DEDICO.

AGRADECIMENTOS

Primeiramente a Deus, por ter me dado vida, sade e sabedoria necessria para
enfrentar os obstculos.
Aos meus pais Arimata e Lourdes, pelo amor, carinho, educao e todo apoio
necessrio para minha formao.
Ao Prof. Nilton, por sua orientao para a concluso deste trabalho, fica a minha
eterna gratido.
bibliotecria Cristiane Gaspar, pelo apoio tcnico dado na organizao deste
trabalho.
Jailma pela sua amizade, carinho e apoio, e tambm por ter me ajudado a
organizar o trabalho em cima da hora.

SUMRIO

LISTA DE FIGURAS
RESUMO
CAPTULO 1 - APRESENTAO.............. ........................................................ ......
1.1. Introduo........................................................................................................... ......
1.2. Justificativa......................................................................................................... ......
1.3. Objetivos............................................................................................................. ......
1.3.1. Geral ................................................................................................................ ......
1.3.2. Especficos....................................................................................................... ......
1.4. Organizao do Trabalho ................................................................................... ......
CAPTULO 2 - REVISO BIBLIOGRFICA.................................................... ......
2.1. Fundamentos sobre Sistemas de Banco de Dados.............................................. ......
2.1.1. Retrospectiva Histrica ................................................................................... ......
2.1.2. Teoria de Banco de Dados Multiusurio ......................................................... ......
2.2. Fundamentos sobre a Arquitetura Cliente/Servidor ........................................... ......
2.2.1. Aspectos Bsicos da Arquitetura Cliente/Servidor ......................................... ......
2.2.2. Tipos de Sistema Cliente/Servidor .................................................................. ......
2.2.3. Principais Mecanismos.................................................................................... ......
2.2.3.1. O Sistema Cliente ......................................................................................... ......
2.2.3.2. O Sistema Servidor....................................................................................... ......
2.2.3.3. A Rede de Comunicao de Dados .............................................................. ......
2.2.4. Aplicaes e Perspectivas................................................................................ ......
CAPTULO 3 - SISTEMAS DE BANCO DE DADOS CLIENTE/SERVIDOR......
3.1. Definies .......................................................................................................... ......
3.1.1. O Sistema Cliente ............................................................................................ ......
3.1.2. O Sistema Servidor.......................................................................................... ......
3.2. Vantagens e Desvantagens ................................................................................. ......
3.3. Componentes Principais ..................................................................................... ......
3.3.1. O Sistema de Gerenciamento de Banco de Dados (SGBD) ............................ ......
3.3.2. O Modelo de Representao de Dados............................................................ ......
3.3.2.1. Modelo Relacional........................................................................................ ......
3.3.2.2. Modelo Orientado a Objetos ........................................................................ ......
3.3.2.3. Modelo Objeto-Relacional ........................................................................... ......
3.3.3. A Linguagem SQL e seus Recursos ................................................................ ......
3.3.3.1. Vises ........................................................................................................... ......

10
10
12
14
14
14
15
16
16
16
22
23
23
24
26
26
28
30
32
33
33
34
35
36
38
38
40
41
43
46
47
50

3.3.3.2. ndices........................................................................................................... ......


3.3.3.3. Transaes .................................................................................................... ......
3.3.3.4. Procedimentos Armazenados ....................................................................... ......
3.3.3.5. Triggers......................................................................................................... ......
3.3.4. Interfaces de Comunicao para Bancos de Dados ......................................... ......
3.3.4.1. ODBC ........................................................................................................... ......
3.3.4.2. DBI ............................................................................................................... ......
3.3.4.3. JDBC ............................................................................................................ ......
3.3.4.4. BDE .............................................................................................................. ......
3.3.5. Os Programas de Aplicao............................................................................. ......
3.3.6. Gerncia de Transaes................................................................................... ......
3.3.7. Controle de Concorrncia................................................................................ ......
3.3.8. Segurana e Administrao ............................................................................. ......
3.4. Principais Solues da Indstria de Banco de Dados Cliente/Servidor............. ......
3.4.1. Oracle .............................................................................................................. ......
3.4.2. SQL Server...................................................................................................... ......
3.4.3. Sybase SQL Server ......................................................................................... ......
3.4.4. Informix........................................................................................................... ......
3.4.5. C/A Ingres ....................................................................................................... ......
3.4.6. IBM DB2......................................................................................................... ......
3.4.7. Centura SQLBase............................................................................................ ......
3.4.8. PostgreSQL ..................................................................................................... ......
3.4.9. MySQL............................................................................................................ ......
3.4.10. GemStone ...................................................................................................... ......
CAPTULO 4 - APLICAES DE BANCO DE DADOS CLIENTE/SERVIDOR
4.1. Aspectos Bsicos................................................................................................ ......
4.2. Processamento de Bancos de Dados Distribudos ............................................. ......
4.3. Internet e Intranets Organizacionais .................................................................. ......
4.4. Sistemas de Informaes Geogrficas (GIS) ..................................................... ......
4.5. Banco de Dados Multimdia............................................................................... ......
4.6. Data Warehouses................................................................................................ ......
CAPTULO 5 - CONCLUSO.............................................................................. ......
5.1. Consideraes Finais.......................................................................................... ......
ABSTRACT .............................................................................................................. ......
Referncias Bibliogrficas ...................................................................................... ......

50
51
51
52
52
53
55
57
59
60
64
67
69
72
72
74
75
76
78
79
80
81
81
83
85
85
86
87
89
91
92
93
93
95
96

LISTA DE FIGURAS

FIGURA 1 - Representao de um sistema de banco de dados ................................ ......


FIGURA 2 - Representao da arquitetura cliente/servidor ..................................... ......
FIGURA 3 - Tipos de sistema cliente/servidor ......................................................... ......
FIGURA 4 - Componentes de um sistema cliente .................................................... ......
FIGURA 5 - Componentes de um sistema servidor .................................................. ......
FIGURA 6 - Representao de um sistema de banco de dados cliente/servidor ...... ......
FIGURA 7 - Estrutura de um SGBD......................................................................... ......
FIGURA 8 - Modelo de banco de dados relacional .................................................. ......
FIGURA 9 - Modelo de banco de dados orientado a objeto ..................................... ......
FIGURA 10 - Exemplos de resultados obtidos atravs de instruo SQL ............... ......
FIGURA 11 - A arquitetura ODBC........................................................................... ......
FIGURA 12 - A arquitetura DBI............................................................................... ......
FIGURA 13 - A arquitetura JDBC ............................................................................ ......
FIGURA 14 - A arquitetura do BDE......................................................................... ......
FIGURA 15 - Interface de um programa de aplicao.............................................. ......
FIGURA 16 - Estrutura de uma aplicao ................................................................ ......
FIGURA 17 - Representao de um processo de transao...................................... ......
FIGURA 18 - Conexo com SGBD cliente/servidor ................................................ ......
FIGURA 19 - Definindo privilgios no SQL Server 6.5........................................... ......
FIGURA 20 - Viso Geral do Oracle Enterprise Manager ....................................... ......
FIGURA 21 - Viso geral do Microsoft SQL Server................................................ ......
FIGURA 22 - Viso geral do Sybase SQL Server .................................................... ......
FIGURA 23 - Viso geral do Command Center do Informix ................................... ......
FIGURA 24 - Viso geral do Centro de Controle do DB2 ....................................... ......
FIGURA 25 - Viso geral do MySQL para Windows .............................................. ......
FIGURA 26 - Exemplo de aplicao web de comrcio eletrnico ........................... ......
FIGURA 27 - Exemplo de processamento de dados geogrficos na Internet ........... ......

17
24
25
28
30
35
39
42
44
48
55
56
58
59
61
62
66
70
71
73
75
76
77
79
83
88
90

RESUMO
Esta pesquisa tem por objetivo, apresentar uma abordagem sobre os sistemas de banco de
dados utilizados em ambientes de processamento cliente/servidor, descrevendo seus
principais componentes e as tecnologias empregadas para integrao entre bancos de dados
e aplicaes. Com base nesta anlise so apontados os principais aspectos que levaram os
sistemas de bancos de dados cliente/servidor a se tornarem as principais plataformas para
gerenciamento de dados e suporte s novas aplicaes.

CAPTULO 1 - APRESENTAO

1.1. INTRODUO

Segundo Hackathorn (1993, p.2), a ltima dcada do sculo XX ocasionou


uma profunda reavaliao sobre os fundamentos relativos aos sistemas de informao
utilizados nas empresas. Tal fato originou-se em virtude da discusso gerada em relao
real efetividade de custo, desempenho e flexibilidade dos sistemas centralizados.

Com base na meta de reduzir custos operacionais e ao mesmo tempo


oferecer solues de forma imediata aos seus clientes, as empresas apontaram como
alternativa, adotar um processo de modernizao atravs do achatamento de suas estruturas
organizacionais. Tal processo visava integrar novas tecnologias s aplicaes que
representam as regras de negcio da organizao.

11

Paralelamente, mesmo com a mudana imposta pela adoo de novos


paradigmas empresariais, sempre houve a preocupao por manter dados pessoais e
gerenciais armazenados com segurana e ao mesmo tempo, gerenciados de forma rpida e
eficiente. Com a aquisio de novas solues tecnolgicas de tratamento de dados,
esperava-se atingir o objetivo esperado, que a produo de informaes operacionais,
necessrias para o processo de tomada de decises.

De acordo com Date (1990, p.5), o propsito principal a ser alcanado pelos
sistemas de bancos de dados desde o seu surgimento, era o de oferecer recursos que visam
manter os dados organizacionais e torn-los disponveis quando solicitados. Com a adoo
de sistemas de banco de dados, as empresas puderam dispor de uma ferramenta eficiente
para tratamento e disseminao de informaes, superando assim todas as limitaes
impostas pelos sistemas anteriores.

Hoje podemos afirmar que os sistemas de informao evoluram


consideravelmente, contribuindo de forma significativa para o amadurecimento e o
crescente uso dos sistemas de banco de dados. Com o surgimento de novos modelos de
SGBDs, os sistemas de informao ganharam mais capacidade para armazenar e gerenciar
bancos de dados de forma simples e eficiente.

J com a arquitetura cliente/servidor, os sistemas de banco de dados


ampliaram ainda mais a sua potencialidade e a sua importncia para as empresas. Isso
impulsionou nos ltimos anos o desenvolvimento de novas tecnologias capazes de prover
integrao entre banco de dados e suporte a vrias aplicaes em diferentes plataformas
computacionais.

12

1.2. JUSTIFICATIVA

Os sistemas de banco de dados cliente/servidor passaram a ser adotados por


todas as empresas, devido s inmeras vantagens apresentadas para prover suporte s
novas aplicaes empresariais.

De acordo com Prado (1998, p.3), o que contribuiu de forma decisiva para
a disseminao do uso dos sistemas de bancos de dados cliente/servidor, foram os
inmeros problemas encontrados em sistemas que utilizam o modelo de bancos de dados
centralizado. Apesar dos sistemas centralizados proporcionarem ganhos significativos de
produtividade, no ofereciam solues para os seguintes problemas encontrados:

Aumento de trfego na rede, tendo como causa o acesso simultneo dos usurios ao
banco de dados, gerando assim uma significativa degradao na performance do
sistema;

Ausncia de mecanismos que possibilitem restringir o acesso de usurios no


autorizados a determinadas informaes do banco de dados;

O grande volume de dados que eram processados em estaes que, em muitos


casos, no possuam capacidade de processamento adequada nem memria
suficiente.

13

A utilizao da arquitetura cliente/servidor permitiu que os sistemas de


banco de dados atuais pudessem superar todas as limitaes impostas pelos sistemas
centralizados, tornando o processo de gerncia de banco de dados mais eficiente e com
maior grau de segurana. Alm desses benefcios, a arquitetura cliente/servidor possibilitou
que os sistemas de informao pudessem evoluir, adotando novos recursos de hardware e
software, capazes de oferecer maior eficincia e performance aos sistemas de gerncia de
banco de dados e suas aplicaes.

Como justificativa para o tema proposto, podemos destacar que a


importncia deste trabalho leva em conta que, os sistemas de banco de dados
cliente/servidor, so os principais recursos da tecnologia da informao empregados
atualmente nas empresas. A fim de ter-se um conhecimento amplo a respeito destes
sistemas, pretende-se com este trabalho fornecer uma fonte de informao abrangente a
respeito dos fundamentos e dos recursos tecnolgicos empregados, de modo a contribuir
para desenvolvimento de novas aplicaes cliente/servidor.

Vale lembrar que, a mudana do paradigma de sistema centralizado para o


paradigma de sistema cliente/servidor, acabou se tornando uma atitude a ser adotada
firmemente pelas organizaes. Paralelamente, os sistemas de banco de dados, dentro deste
novo paradigma, continuaro em pleno processo de evoluo de modo a expandir cada vez
mais a sua capacidade de forma a lidar com novos tipos de aplicaes.

14

1.3. OBJETIVOS

1.3.1. GERAL

Apresentar um estudo sobre sistemas de banco de dados que usam a


arquitetura cliente/servidor, descrevendo os principais aspectos que contriburam para
transforma-la na principal plataforma para desenvolvimento de novas solues, voltadas ao
gerenciamento de dados empresariais.

1.3.2. ESPECFICOS

Apresentar os principais componentes dos sistemas de banco de dados


cliente/servidor e sua aplicabilidade no processo de gerncia de banco de dados;

Identificar as principais ferramentas disponveis e os processos utilizados no


gerenciamento de banco de dados multiusurio atuais;

Descrever os principais benefcios dos modelos de banco de dados cliente/servidor


e suas aplicaes.

15

1.4. ORGANIZAO DO TRABALHO

Os itens subseqentes deste trabalho esto distribudos da seguinte forma:

O Captulo 2 aborda os conceitos fundamentais sobre os sistemas de banco


de dados e a arquitetura cliente/servidor. Descreve os aspectos histricos e tcnicos destas
tecnologias, de modo a servir de base para compreenso a respeito da metodologia de
funcionamento dos sistemas de banco de dados cliente/servidor.

O Captulo 3 relata uma viso geral sobre os conceitos fundamentais


referente aos sistemas de banco de dados cliente/servidor. So apresentadas as
caractersticas de seus componentes e os principais mecanismos utilizados no processo de
gerenciamento e segurana dos dados. Tambm sero abordados neste captulo os
principais SGBDs cliente/servidor existentes no mercado, descrevendo algumas das
principais caractersticas empregadas nestes produtos.

O Captulo 4 descreve as principais aplicaes de banco de dados


clientes/servidor, analisando os principais aspectos funcionais e tecnolgicos e empregados
nestas aplicaes.

O Captulo 5 apresenta a concluso do trabalho realizado, expondo as


consideraes finais do autor, sugestes e outras observaes que podero contribuir para
futuras pesquisas relacionadas o tema deste trabalho.

CAPTULO 2 - REVISO BIBLIOGRFICA

2.1. FUNDAMENTOS SOBRE SISTEMAS DE BANCO DE DADOS

2.1.1. Retrospectiva Histrica

Em meados dos anos 60 do Sculo XX, os paradigmas de armazenamento e


processamento de informaes passaram por uma grande mudana com o surgimento da
tecnologia de armazenamento baseada em discos magnticos. Isso fez com que dados e
aplicaes de software, que antes formavam um nico elemento, passaram a ser
independentes um do outro. Isso permitiu a criao de ferramentas capazes de gerenciar e
manipular estes dados da forma mais eficiente possvel a fim de obter os resultados
esperados.

Os sistemas de banco de dados vieram a surgir na dcada de 60, com o


objetivo de fornecer recursos capazes de armazenar, organizar, manipular e recuperar
dados de forma segura, rpida e eficiente. Trata-se de uma soluo que supera todas as

17

limitaes da tecnologia baseada nos sistemas de arquivos tradicionais, que tinham uma
ampla dependncia com relao forma de organizao da estrutura dos arquivos. Essa
dependncia obrigava a alterar toda programao das funes de dados, sempre que
houvesse alteraes em sua estrutura. Alm disso, eles no apresentavam solues para
problemas relativos duplicao da informao, inconsistncias e integridade.

Segundo Melo (1997, p.3), um sistema de banco de dados pode ser definido
como um ambiente de hardware e software composto por dados armazenados em banco
de dados (BD), o software que gerencia o banco de dados (SGBD) e os programas de
aplicao.

Pode-se dizer que esta modalidade de processamento de dados trouxe uma


srie de vantagens, sendo que a mais significativa foi tornar os bancos de dados
independentes da aplicao. As aplicaes, que antes acessavam os dados diretamente,
passaram a se comunicar com o SGBD, enviando apenas as requisies necessrias para
obter os resultados desejados.

Figura 1: Representao de um sistema de banco de dados

18

Para chegar aos modelos atuais, os sistemas de banco de dados passaram por
uma srie de mudanas na sua arquitetura, de forma a se tornar compatvel com as novas
tendncias de tecnologia adotadas pelas organizaes. Nos anos 70, quando o foco
principal era voltado exclusivamente aos programas de aplicao, os sistemas projetados
tinham a funo de atender apenas as necessidades especficas da empresa. Isso resultou
em sistemas robustos, que dependiam diretamente da plataforma computacional na qual
eram projetados para operar.

J nos anos 80, o avano da tecnologia dos chips contribuiu de forma


significativa para diminuir o tamanho e o custo dos computadores. Juntamente com a
popularizao do software e a disseminao das redes de computadores, criou-se uma nova
filosofia de desenvolvimento de aplicaes de bancos de dados, cujo foco estaria
centralizado no usurio final. Com a difuso da computao distribuda, que levou a
aplicao a ser executada nas estaes de trabalho, os requisitos de novas aplicaes se
baseavam em oferecer recursos que tornassem a apresentao dos dados mais simples para
os usurios. Para complementar, as ferramentas de conectividade remotas adequadas,
fizeram com que os dados pusessem ser compartilhados por sistemas computacionais de
diferentes plataformas.

Atualmente os sistemas de banco de dados podem ser agrupados em


modelos, os quais representam claramente os diversos estgios de evoluo at chegar aos
modelos atuais. Segundo Salemi (1994, p.7), os modelos de banco de dados possibilitaram
dividir os sistemas em vrias categorias que sero apresentadas a seguir.

19

a) Sistema de Gerenciamento de Arquivos (FMS File Management System): Foi a


primeira forma utilizada para armazenamento de dados em banco de dados. A
metodologia de funcionamento e baseia em armazenar os dados de forma
seqencial em um nico arquivo. Esse sistema tem como vantagem a simplicidade
na forma em que os dados so estruturados no arquivo. No entanto esse sistema no
apresenta relao entre os dados, nem mecanismos de busca, classificao e
recursos para evitar problemas de integridade.

b) Sistema de Banco de Dados Hierrquico (HDS Hierarquical Database System):


Surgiu na dcada de 60 com a primeira linguagem de banco de dados conhecida
como a DL/I desenvolvida pela IBM e a North American Aviation. um modelo
de banco de dados onde os dados armazenados so estruturados em forma de
rvore. Cada estrutura de dados se origina a partir de um n raiz e se ramifica
criando relaes pai-filho com outras classes de dados, criando assim relaes de
um para vrios elementos. A desvantagem estaria na rigidez da estrutura de dados,
que obrigaria refazer todo o banco de dados, caso a classe de dados principal ou a
classe que possuem classes dependentes fosse alterada. So exemplos de bancos de
dados hierrquicos o IMS (Information Management System) da IBM e TDMS
(Time-shared

Database

Management

System)

da

System

Development

Corporation.

c) Sistema de Banco de Dados em Rede (NDS - Network Database System): Esse


modelo surgiu entre a dcada de 60 e 70 como uma extenso do modelo
hierrquico, incorporando recursos para criar mais de uma relao pai-filho e
estabelecer relaes entre os seus elementos. Esta metodologia torna a pesquisa

20

mais rpida e mais flexvel, pois no depende de um nico n raiz como vetor de
inicializao de pesquisa. Entretanto apesar da flexibilidade, o modelo de rede
ainda apresenta os mesmos problemas com relao ao projeto de estrutura do
modelo hierrquico. Qualquer alterao feita em uma classe de dados implicaria na
criao de uma nova estrutura para suportar quela alterao. Seus principais
representantes so o IDS da General Eletric e o Idms da Cullinet.

d) Modelo de Dados Relacional (RDM Relational Data Model): Trata-se de um


modelo criado na dcada de 70 pelo pesquisador da IBM Dr. E. F. Codd, cujo
propsito era representar os dados de forma mais simples, atravs de um modelo
matemtico de conjuntos de tabelas inter-relacionadas. Este modelo abandona por
completo os conceitos anteriores, tornando os bancos de dados mais flexveis, tanto
na forma de representar as relaes entre os dados, como na tarefa de modificao
de sua estrutura, sem ter que reconstruir todo o banco de dados. A nica
peculiaridade com os modelos anteriores que os detalhes sobre como os dados so
armazenados e acessados no so revelados ao usurio, o que torna necessrio
projetar as aplicaes de forma de acessem os dados baseados apenas no formato j
estabelecido pelo SGBD.

Com base nesta retrospectiva, podemos notar que os modelos de dados so


diretamente responsveis pela evoluo dos sistemas de banco de dados. Com o
surgimento de novos modelos, novas categorias de SGBDs puderam ser utilizadas ao longo
dos anos. Podemos citar como exemplo o ADABAS da Software A. G. que usa o modelo
de banco de dados baseados em listas invertidas1.
1

Trata-se de um tipo de banco de dados que se baseia em realizar pesquisas atravs de mecanismos de
rotas de acesso, diferente dos bancos de dados relacionais que se fundamentaram na lgebra relacional.

21

Os novos modelos de banco de dados com tecnologia de orientao a


objetos (OODBMS Object-Oriented Database Management System)2 so considerados
uma forte tendncia para estabelecimento de um modelo para novas tecnologias de banco
de dados. No entanto, devido falta de um modelo padro para construo de bancos de
dados OO puros, a baixa performance apresentada por eles, e a falta de recursos utilizados
atualmente em grande escala em aplicaes empresariais, fizeram com que a demanda por
OODBMS diminussem.

Como alternativa, vrios fabricantes de SGBD adotaram a medida de


incorporar caractersticas OO aos modelos relacionais, criando assim os modelos de banco
de dados objeto-relacionais (ORDBMS Object-Relational Database Managenent
System).

Atualmente o modelo de dados Objeto-Relacional j est sendo


implementado na maioria dos produtos de SGBD. Acredita-se que o uso estes produtos
ser cada vez mais difundido em relao aos ORDBMS devido ao sucesso dos j
consolidados bancos de dados relacionais.

Considera-se orientao a objetos como uma terminologia usada para desenvolvimento de sistemas
com uso de recursos de modularidade e reusabilidade de componentes.

22

2.1.2. Teoria de Banco de Dados Multiusurio

Um banco de dados multiusurio, segundo Kroenke (1999, p.205), um


tipo especial de banco de dados que pode ser manipulado por mais de um usurio ao
mesmo tempo. Este conceito surgiu com base na preocupao em fazer com que os
processos de um usurio no interferissem nos dos demais, garantindo assim a integridade
dos dados do sistema.

Atualmente, os bancos de dados multiusurio so utilizados em todos os


tipos de aplicaes, onde os acessos so realizados simultaneamente por vrios usurios.
Podemos ter como exemplo os sistemas de dados bancrios, automao comercial, agncia
de viagens, etc.

Com relao arquitetura, os bancos de dados multiusurio, no princpio,


eram baseados nos modelos de sistemas onde todo o processamento era feito em um
computador central (mainframe ou minicomputador). Todas as requisies dos usurios
eram feitas atravs de terminais ou em computadores que emulavam esses terminais. Com
o surgimento dos microcomputadores e a interligao destes atravs de rede de
comunicao de dados, a exigncia de bancos de dados com caractersticas de
processamento multiusurio tornou-se um requisito cada vez mais importante, devido s
inmeras operaes de transaes que so realizadas pelas aplicaes.

23

2.2. FUNDAMENTOS SOBRE A ARQUITETURA CLIENTE/SERVIDOR

2.2.1. Aspectos Bsicos da Arquitetura Cliente/Servidor

A arquitetura cliente/servidor atualmente a principal plataforma


tecnolgica da indstria tecnologia da informao. A sua popularizao se deve aos vrios
fatores oriundos do processo de achatamento das estruturas organizacionais, fazendo com
que muitos dos sistemas fossem descentralizados.

Segundo Renaud (1994, p.3) cliente/servidor um conceito lgico, mais


precisamente um paradigma, ou modelo para interao entre processos de software em
execuo concorrente. Isso significa dizer que a metodologia cliente/servidor foi criada
com o objetivo de possibilitar que vrios tipos de aplicaes, executadas em mquinas
distintas, se comuniquem entre si, sem que a execuo de um processo interfira no do
outro.

Baseado neste conceito, a arquitetura cliente/servidor estabeleceu um novo


paradigma de processamento de dados, diversificando o processamento entre dois
processos de software distintos (cliente e servidor). Ao mesmo tempo a arquitetura visa
fornecer recursos que coordenem estes processos de forma que, a perda de sincronizao,
no resulte em alteraes ou perda de informaes para o sistema.

24

Seu funcionamento se baseia no seguinte esquema: o usurio do sistema,


atravs do processo de software cliente, envia o pedido de requisio ao processo de
software servidor, que por sua vez devolve ao cliente os resultados solicitados. Todos os
processos de software rodam sobre o controle do Sistema Operacional que coordena todos
os recursos do sistema computacional utilizado.

Figura 2: Representao da arquitetura cliente/servidor

2.2.2. Tipos de Sistema Cliente/Servidor

Ainda segundo o autor, os sistemas cliente/servidor podem ser divididos em


vrios tipos, dependendo da forma em que os processos cliente e servidor esto alocados.
Os tipos de sistema podem ser classificados nas seguintes categorias descritas a seguir.

25

a) Intra-sistema cliente/servidor: sistemas nos quais os processos cliente e servidor


residem no mesmo local. So exemplos tpicos as estaes de trabalho, isoladas ou
no da rede. O usurio ao fazer uso da aplicao local emite uma solicitao de
servio ao processo servidor situado na mesma mquina onde o usurio est
operando;

b) Servidor Desktop: abrange os sistemas nos quais tanto o processo cliente quanto o
servidor residem na mquina servidora e os usurios, atravs de uma estao ou
terminal remoto, interagem com o processo cliente remotamente emitindo o pedido
e recebendo os resultados;

c) Cliente Desktop: nesse sistema o processo cliente executado na estao de


trabalho do usurio na qual so enviadas as requisies mquina servidora atravs
da rede. O servidor por sua vez recebe as requisies do cliente, efetua o
processamento e devolve os resultados.

Figura 3: Tipos de sistema cliente/servidor

26

Atualmente, mesmo possibilitando a execuo dos processos tanto o cliente


quanto o servidor em uma nica mquina, o que caracteriza realmente o fundamento da
arquitetura cliente/servidor hoje em dia a diviso do poder de processamento. Os dois
processos so separados em mquinas distintas e ao mesmo tempo, so interligadas atravs
de uma rede de computadores local (LAN) ou remota (WAN), o que permite as estaes de
trabalho processarem os dados armazenados no servidor, liberando o mesmo para a
execuo de outras aplicaes.

2.2.3. Principais Mecanismos

Os principais mecanismos da arquitetura esto divididos entre sistema


cliente, sistema servidor e a rede de comunicao de dados. Sero analisadas neste tpico
as principais caractersticas que complementam cada um destes mecanismos, visando um
melhor entendimento sobre a sua importncia para o processamento das informaes.

2.2.3.1. O Sistema Cliente

O sistema cliente a parte responsvel pela tarefa de requisio de pedidos


ao servidor e tambm por toda a parte relativa interao com o usurio final.
Normalmente os sistemas cliente abstraem do usurio todas as funes de rede e do
servidor, fazendo parecer que todos os processos esto rodando em um mesmo local.

27

Para prover esta interao, o sistema cliente abrange um conjunto de


componentes bsicos que auxiliam nas funcionalidades, tanto ao nvel de aplicao como
de sistema. Estes componentes de acordo com Melo (1997, p.28) so agrupados em:

a) Hardware de estao: formado pelos componentes bsicos de um sistema de


computao, tais como unidade central de processamento (CPU), memria,
unidades de disco e dispositivos de entrada e sada de dados (perifricos);

b) Sistema operacional: o software que possui o conjunto de instrues necessrias


para gerenciar os recursos de hardware e fornecer os meios necessrios para que as
aplicaes utilizem estes recursos de forma adequada;

c) Interface de conectividade: concentra o conjunto de instrues para permitir que os


processos cliente interajam com o processo servidor atravs da rede de
comunicao;

d) Os programas de aplicao: consiste em um conjunto de programas desenvolvidos


com a finalidade de realizar operaes que atendam a uma necessidade especfica
do usurio ou organizao;

e) Interface Grfica de Usurio (GUI): o principal componente de interao de


interao com os usurios finais, pois o que torna as aplicaes serem utilizadas
de forma mais simples e intuitiva.

28

Figura 4: Componentes de um sistema cliente

2.2.3.2. O Sistema Servidor

O sistema servidor a parte responsvel de um sistema cliente/servidor que


tem a funo de receber dos clientes as requisies, processa-las e devolve-las ao mesmo
os resultados. A grande vantagem desse sistema que, por ser totalmente reativo, s
disparado quando recebe alguma requisio do cliente. Isso faz com que o servidor no
procure interagir com outros servidores durante um pedido de requisio, o que torna o
processo de ativao uma tarefa a ser desempenhada apenas pelo cliente que o solicitou.

29

Da mesma forma que o sistema cliente, o sistema servidor possui um


conjunto de componentes bsicos para prover as funcionalidades necessrias ao
processamento de informaes atravs da rede. Estes componentes so divididos em:

a) Hardware de servidor: normalmente so compostos por sistemas de computao


que variam de microcomputadores de alto desempenho at computadores de grande
porte. Estes sistemas, para cumprir a funo de servidor, devem possuir alta
capacidade de armazenamento e grande quantidade de memria para fornecer
melhor desempenho aos processos que estaro sempre rodando a espera de
requisies;

b) O sistema operacional de rede: consiste em um recurso de software que alm de


gerenciar os componentes de hardware, fornecem recursos que possibilitam obter o
controle total da rede de comunicaes atravs de componentes de controle de
acesso, compartilhamento de recursos, administrao e gerncia, alm de outras
funes de rede necessrias;

c) Interface de conectividade: so caracterizados pelo uso de protocolos de


comunicao e de interfaces para acesso a bancos de dados;

d) O SGBD: o componente do sistema de banco de dados responsvel por todo o


gerenciamento e controle centralizado dos dados operacionais.

30

Figura 5: Componentes de um sistema servidor

2.2.3.3. A Rede de Comunicao de Dados

A rede de comunicao de dados consiste em um conjunto de componentes


de hardware e software, interligados de forma a oferecer interao entre os sistemas cliente
e servidor. As redes de computadores, as quais so formadas pela interconexo entre os
computadores de um sistema computacional, estabelecem um caminho fsico para que os
processos cliente e servidor se comuniquem.

31

Segundo Melo (1997, p.41), as ligaes podem ser implementadas atravs


de linhas telefnicas pblicas, linhas privadas de comunicao, canais de satlite ou de
rdio e outros meios que a tecnologia est disponibilizando, com a mesma funo. Com
base nesta observao, pode-se dizer que o avano tecnolgico contribuiu bastante para
disseminao e uso das redes e conseqentemente para a expanso do uso dos recursos
computacionais em diversas reas de aplicao.

Atualmente os tipos de rede so agrupados em trs categorias distintas. Esta


classificao feita de acordo com a distncia em que os componentes de hardware esto
alocados. Estas redes podem ser:

a) Redes Locais (Local Area Networks - LANs): so redes que permitem a


interconexo de equipamentos de comunicao de dados e compartilhamento de
recursos numa rea fisicamente prxima, tais como as propriedades privadas;

b) Redes Metropolitanas (Metropolitan Area Networks - MANs): so redes


que apresentam as mesmas caractersticas das redes locais, porm cobrem
distncias maiores do que as LANs e operam em velocidades maiores;

c) Redes Geograficamente Distribudas (Wide Area Networks - WANs): so redes


capazes de compartilhar recursos especializados por uma comunidade maior de
usurios geograficamente dispersos.

32

Outro fator importante com relao comunicao a questo de como as


estaes de trabalho se comunicam atravs da rede, independente do tipo de rede utilizado.
Para que seja possvel viabilizar esta comunicao, os sistemas cliente/servidor utilizam
protocolos de rede, que so elementos responsveis pela interao entre sistemas de igual,
ou diferentes plataformas. Dentre os principais protocolos podemos destacar o TCP/IP,
Netware IPX/SPX, AppleTalk, NetBios e OSI (Open Systems Interconnection).

2.2.4. Aplicaes e Perspectivas

Embora as aplicaes destinadas ao acesso aos bancos de dados em rede sejam as


mais utilizadas nesta arquitetura, elas apenas representam apenas um tipo comum de
sistemas cliente/servidor. Existem vrias outras aplicaes entre as quais podemos citar a
prpria Internet, que utiliza redes de comunicaes para prover uma grande variedade de
servios. Outras aplicaes podem ser inseridas neste contexto, como por exemplo, os
sistemas de gerenciamento de backup, gerenciamento de impresso, aplicaes multimdia
e comunicaes.

Convm afirmar que a adoo desta arquitetura impulsionou o mercado a


desenvolver produtos cada vez mais poderosos, no s para oferecer interao com o
usurio, como tambm para aumentar a produtividade no campo de desenvolvimento de
aplicaes, deixando de lado a filosofia de se desenvolver produtos voltados apenas ao
gerenciamento do banco de dados.

CAPTULO 3 - SISTEMAS DE BANCO DE DADOS CLIENTE/SERVIDOR

3.1. DEFINIES

Um sistema de banco de dados cliente/servidor pode ser definido como um


sistema cliente/servidor onde pelo menos uma mquina servidora responsvel por manter
e processar o banco de dados. Os dados armazenados ficam disponveis aos usurios que
podero manipula-los atravs das aplicaes cliente, instaladas em suas estaes de
trabalho individuais.

Os sistemas de banco de dados cliente/servidor so utilizados atualmente


pela maioria das organizaes, devido flexibilidade obtida com esta plataforma. Com a
arquitetura cliente/servidor, tornou-se possvel criar um ambiente capaz de fornecer um
controle centralizado dos dados. Ao mesmo tempo, pode-se integrar novas tecnologias e
aplicaes de banco de dados, independente do tipo de plataforma ou sistema operacional
utilizado. Isso refora ainda mais a demanda por novas aplicaes que no aderem a
padres especficos de arquitetura (sistemas abertos).

34

Com base na filosofia cliente/servidor, os sistemas de banco de dados


dividem o processamento entre os dois sistemas distintos. Para execuo de suas
respectivas tarefas, estes sistemas utilizam uma estrutura, que normalmente compe um
servidor de banco de dados e as estaes de trabalho, interligadas atravs da rede.

Os sistemas podem ser definidos em sistemas Cliente e Servidor, cujos


detalhes sero descritos a seguir.

3.1.1. O Sistema Cliente

Encarrega-se de executar nas estaes cliente as aplicaes responsveis


pela manipulao dos dados armazenados no servidor de banco de dados. As aplicaes
cliente/servidor, chamadas de aplicaes front-end, correspondem a um conjunto de
programas integrados desenvolvidos em alguma linguagem de programao1.

Essas aplicaes so na sua grande maioria compostas de uma interface


grfica de usurio (GUI Graphical User Interface) e de funes que permitem realizar
tarefas de requisio de servios ao servidor. Isso permite ao usurio interagir com o
SGBD sem ter que se preocupar com as complexidades da arquitetura, no que diz respeito
aos mtodos utilizados para acesso aos dados armazenados, bem como na forma na qual
eles so atualizados.

Trata-se de um software que tem a capacidade de desenvolver novos programas de aplicao. Algumas
linguagens podem ser utilizadas para desenvolver at mesmo outras linguagens de programao.

35

3.1.2. O Sistema Servidor

Constitui na parte que concentra o banco de dados, o SGBD propriamente


dito a as demais aplicaes, conhecidas como aplicaes back-end. Estes componentes
tm a funo realizar o processamento dos dados requisitados pelo cliente atravs da rede.

No que se refere localizao dos dados e do SGBD no servidor, tanto


podem estar armazenados em servidores que executam outras tarefas (como por exemplo,
um servidor de arquivos ou de comunicaes), ou em um servidor dedicado (servidor de
banco de dados).

Figura 6: Representao de um sistema de banco de dados cliente/servidor

36

3.2. VANTAGENS E DESVANTAGENS

Com base na filosofia cliente/servidor voltada ao processamento de banco


de dados, existe uma srie de vantagens significativas, dentre as quais podemos destacar:

O aumento de desempenho, atravs da distribuio das tarefas de banco de dados


entre computadores clientes e servidores. Todo o processamento desempenhado
pelo SGBD passou a ser executado no lado do servidor, enquanto que as aplicaes
que manipulam dados, passaram a ser executadas no lado do usurio nas estaes
de trabalho, reduzindo drasticamente o trfego da rede;

A independncia da estao de trabalho, que torna possvel aos usurios


executarem aplicaes de banco de dados em qualquer tipo de plataforma ou
sistema;

A preservao da integridade dos dados, dando ao SGBD a capacidade de efetivar


controle de atualizaes atravs de mecanismos de transaes e controle de
concorrncia, adequados ao processamento de banco de dados multiusurio;

Segurana dos dados reforada, atravs de mecanismos de backup e restaurao de


banco de dados implementados nos produtos de SGBDs.

37

No que se refere s desvantagens, a utilizao de banco de dados


cliente/servidor pode apresentar alguns inconvenientes, tais como:

Aumento de custo com pessoal, o que obriga a investir em capacitao ou


contratao de profissional para administrao e suporte para manuteno do banco
de dados;

O aumento da quantidade de componentes de sistema pode contribuir para


aumentar a complexidade;

A independncia de aplicativos cliente/servidor pode aumentar a quantidade de


suporte de programao para estaes de trabalho;

A necessidade de se ter controle efetivo das operaes de transao com dados.


Como as estaes de trabalho tendem a acessar os dados de forma simultnea,
tornaria necessrio ento coordenar o processamento das aplicaes para evitar
perda de atualizao de dados na rede.

38

3.3. COMPONENTES PRINCIPAIS

3.3.1. O Sistema de Gerenciamento de Banco de Dados (SGBD)

Podemos caracterizar o SGBD como um recurso de software composto por


programas e utilitrios destinados s tarefas voltadas para o completo gerenciamento de um
sistema de banco de dados. As principais tarefas a serem desempenhadas pelo SGBDs se
constituem no armazenamento, organizao, atualizao e restaurao de banco de dados
de sistemas computacionais.

O SGBD considerado o componente mais importante do sistema de banco


de dados, pois concentra todos recursos que definem o que um sistema computacional deve
possuir para gerenciar bases de informaes, de modo a atender s necessidades de
integrao, exigidas pelas novas tecnologias.

Sob o ponto de vista lgico, seu principal propsito era de estabelecer um


modelo que representasse o mundo real, capturando os dados e dando a eles contedo e
estrutura de forma a tornar possvel ao banco de dados representar logicamente os aspectos
da vida real de cada elemento para um fim especfico de um usurio ou grupo de usurios.

39

Na prtica, alm de cobrir estas necessidades, a utilizao dos SGBDs


tornou a administrao do banco de dados mais segura, fazendo com que as aplicaes no
tenham acesso direto ao dados armazenados, como era o caso dos sistemas de arquivos
convencionais. Todas as requisies feitas pelas aplicaes passaram a ser analisadas e
processadas pelo SGBD. Isso favoreceu a sua utilizao como base de administrao de
dados para diversos tipos de aplicaes.

Figura 7: Estrutura de um SGBD

Em resumo, as principais caractersticas funcionais dos SGBDs, podem ser


definidas da seguinte maneira:

Todas as operaes em banco de dados solicitadas pelos clientes so realizadas


diretamente pelo SGBD no prprio servidor, devolvendo ao cliente apenas o
resultados;

40

Utiliza esquemas de controle de acesso, que determinar quais usurios tero


acesso aos dados armazenados no banco de dados, assim como os privilgios
que cada um ter sobre eles;

Utiliza-se de toda a potencialidade do servidor para a execuo de operaes de


validao de dados e execuo de instrues mais complexas;

Garante a segurana dos dados armazenados e as mantm ao mesmo tempo


rapidamente disponveis aos usurios.

Com o passar dos anos, a evoluo dos SGBDs vem contribuindo bastante
para o surgimento de produtos cada vez mais sofisticados. Muitas empresas produtoras de
software tm investido constantemente na criao e aprimoramento destes produtos. Um
dos fatores que tem contribuido bastante o aprimoramento dos modelos de representao
de dados que so considerados o principal elemento responsvel pela evoluo dos
SGBDs.

3.3.2. O Modelo de Representao de Dados

O modelo de representao de dados o elemento que est diretamente


relacionado qualidade dos SGBDs, pois d a eles a capacidade de traduzir ou modelar o
mundo real, descrevendo como os dados sero acessados e manipulados pelos usurios.

41

Com o passar dos anos, vrios modelos surgiram gerando novas categorias
de banco de dados. Atualmente o modelo relacional a principal base para o
desenvolvimento de produtos de SGBDs. Esse modelo, alm de solucionar os problemas
encontrados nos modelos que o antecederam, ainda deu mais flexibilidade na organizao
e manipulao de bancos de dados maiores e mais complexos. No entanto, com o avano
da tecnologia, a demanda por sistemas capazes de gerenciar dados complexos tornou-se
um fator que impulsionou a elevao de esforos para criar novos modelos de tratamento
de dados.

Segue aqui um relato sobre os principais modelos de dados existentes e os


que podero se tornar a plataforma principal para desenvolvimento de novos SGBDs
cliente/servidor.

3.3.2.1. Modelo Relacional

O modelo relacional foi criado por Codd em 1970 com o propsito de tornar
o mundo mais simples na viso dos usurios e dar aos SGBDs a capacidade de processar os
dados de forma mais eficiente. O modelo relacional se baseia em representar os dados em
forma de tabelas, que se relacionam atravs de um elemento comum que atenda s
restries impostas pelo prprio modelo, garantindo a integridade dos dados.

42

Figura 8: Modelo de banco de dados relacional

O sucesso atual dos SGBDs que usam o modelo relacional fez com que
estes produtos dominassem cerca de 90% do mercado de bancos de dados corporativos.
Juntamente com a linguagem SQL e as interfaces de comunicao, este modelo facilitou a
implementao de vrios processos disponveis na vida dos usurios. Hoje comum
encontrar aplicaes de bancos de dados relacionais cliente/servidor em diversos ambientes
de sistemas empresariais, seja na Internet ou em ambientes corporativos mais restritos.

No entanto, a ampla utilizao dos bancos de dados ao logo do tempo fez


com que houvesse uma demanda cada vez maior por modelos capazes de operar com
novos tipos de dados (como som, imagens, texto, etc.), cada vez mais comuns nas
aplicaes empresariais atuais.

43

3.3.2.2. Modelo Orientado a Objetos

Analisando as aplicaes atualmente existentes, podemos perceber que


existe uma grande variedade de novos tipos de dados os quais somos obrigados a lidar. A
necessidade de fazer com que dados no-convencionais, pudessem ser estruturados e
armazenados em banco de dados, tornou-se um motivo para que se desenvolvessem
modelos de dados mais complexos para atender a esses requisitos.

O modelo de banco de dados orientado a objetos (OO) baseado nos


conceitos de orientao a objetos, j difundidos em linguagens de programao como o
SmallTalk e o C++. Seu objetivo principal tratar os tipos de dados complexos como um
tipo abstrato (objeto), podendo ser definidos tanto nvel interno como pelo prprio
usurio.

Segundo Silberschatz (1999, p.269), a filosofia do modelo de dados OO


consiste em agrupar os dados e o cdigo que manipula estes dados em um nico objeto,
estruturando-os de forma que possam ser agrupados em classes. Isso significa que, baseado
nos conceitos OO, os objetos de banco de dados agrupados podem usar o mesmo
mecanismo de herana para definir superclasses e subclasses de objetos, criando assim
hierarquias.

44

Figura 9: Modelo de banco de dados orientado a objeto

Dentre as vantagens significativas proporcionadas pelos SGBD orientados a


objetos (SGBDOO), podemos destacar a capacidade de integrao com linguagens de
programao OO. Esta integrao permite que os mtodos envolvidos no processo de
armazenamento e gerenciamento possam ser feitos de forma automtica, desconsiderando
a necessidade de ter conhecimento da linguagem de programao utilizada.

Outra vantagem do modelo OO a capacidade de permitir que os usurios


definam tipos de dados que sero gerenciados pelo SGBD. No modelo OO no existe
dependncia de relacionamentos. Os tipos dados tambm no precisam ser incorporados
aos SGBDs, como ocorre nos modelos relacionais.

45

As desvantagens significativas, no entanto, estariam relacionadas s


exigncias impostas pela linguagem de programao OO, alm do alto custo de converso
do banco de dados tradicional para o modelo OO. A ausncia de ferramentas mais
eficientes para gerao de consultas e relatrios tambm um fator a ser considerado.

Podemos considerar ainda que no se tem uma informao precisa sobre o


desempenho dos SGBDOO em sistemas que lidem com grande volume de dados, o que
levanta a dvida sobre se os SGBDOO so ou no melhores do que os SGBDs, utilizados
atualmente no processamento de dados convencionais. Acredita-se tambm que os
SGBDOO demandem recursos mais eficazes destinados ao processamento de transaes e
controle de concorrncia.

Para finalizar, importante que se tenha uma definio de um padro


especfico para a construo de SGBDOO. Segundo Kroenke (1999, p.322), so
apresentadas duas solues de padronizao para incluir recursos de orientao a objetos
aos bancos de dados. Uma delas o desenvolvimento do padro SQL3 proposta pelos
comits ISO e ANSI fundamentada na ampliao do padro SQL92, usado nos modelos
relacionais.

A outra soluo se origina de um consrcio entre fabricantes de banco de


dados de objetos com outros especialistas. Trata-se do modelo ODMG-93, que se baseia no
objeto como sua estrutura fundamental e os aspectos relacionados ao gerenciamento de
dados so tidos como um processo evolutivo.

46

O ODMG-93 um modelo completamente diferente do padro SQL3 que se


baseia na viso do banco de dados e evolui na viso do objeto. Ainda segundo o autor, no
se tem certeza de qual padro ser o mais utilizado, mas acredita-se que muitas empresas
produtoras de software podero se apoiar em qualquer um destes padres para construo
de SGBDOO cliente/servidor.

3.3.2.3. Modelo Objeto-Relacional

O Modelo Objeto-Relacional surgiu como uma alternativa de expandir o


modelo relacional para atender a demanda de construo de sistemas a lidar com dados
complexos no suportados pelo modelo relacional. O fator que obrigou o seu surgimento se
fundamentou nas questes relacionadas a real efetividade do modelo OO, no que diz
respeito ao desempenho e custos com a migrao de bancos de dados relacionais para
bancos de dados OO. Como conseqncia, a migrao ocasionaria uma brusca mudana
em praticamente todas as aplicaes que completam o sistema computacional da
organizao.

Este modelo se baseia na adoo de conceitos de orientao a objetos


integrados ao modelo relacional. Isso significa dizer que este modelo capaz de incluir
caractersticas de orientao a objetos e ao mesmo tempo incorporar estruturas s
linguagens de consultas relacionais como a SQL.

47

Como principal benefcio, esse modelo permite ampliar a capacidade dos


SGBDs para lidar com dados complexos, evitando que os produtores de software
desconsiderem os investimentos feitos na produo de SGBDs relacionais.

Entretanto, da mesma forma que o modelo OO, no existe um modelo


padro padronizado para construo de SGBDs objeto-relacionais. Diferente dos SGBDs
relacionais, que so sustentados por um modelo formal j definido, os SGBDs objetorelacionais obtiveram sucesso comercial graas s iniciativas de implementaes em
produtos comerciais j disponveis no mercado como o Oracle 8.x da Oracle Corporation.

3.3.3. A Linguagem SQL e seus Recursos

A linguagem SQL (Structured Query Language), surgiu em meados os anos


70 com a finalidade de se tornar uma linguagem padro para acessar um antigo banco de
dados relacional (o System R da IBM), que rodava em computadores de grande porte
(mainframes). Atualmente, esta linguagem garante seu sucesso no mercado de banco de
dados simplesmente porque est integrada em praticamente todos os produtos de SGBDs
Relacionais e Objeto-Relacionais.

48

Segundo Kroenke (1999, p.175), a linguagem SQL tida como uma


linguagem orientada a transformaes que aceita uma ou mais relaes como entrada e
produz uma relao nica como sada. Isso significa dizer que a linguagem SQL capaz
de transformar em resultado, qualquer operao envolvendo uma ou mais tabelas dentro de
banco de dados. Cada um destes resultados gera uma nova tabela com linhas e colunas
conforme a definio estabelecida pelo modelo relacional.

Sua principal vantagem a capacidade de facilitar e agilizar a consulta e


manipulao de dados, independente da plataforma que est sendo usada, ou em qual
linguagem o aplicativo que ir interagir com os dados tenha sido desenvolvido.

Figura 10: Exemplo de resultados obtidos atravs de instruo SQL.

49

Esta linguagem apresenta uma srie de instrues (comandos) para definir e


manipular estruturas de banco de dados. No que diz respeito definio de dados, a SQL
utiliza a chamada de DDL (Data Definition Language), que composta pelos comandos
destinados a criao de banco de dados, tabelas e relaes. Como exemplo de comandos da
classe DDL temos os comandos Create, Alter e Drop.

No que diz respeito manipulao de dados, a SQL utiliza chamadas da


srie DML (Data Manipulation Language), destinadas a operaes de consulta, incluso,
excluso e alterao de registros das tabelas de uma banco de dados. Como exemplo de
comandos da classe DML temos os comandos Select, Insert, Update e Delete.

Devido a sua popularidade, a linguagem SQL fez com que muitos produtos
de banco de dados SQL fossem lanados no mercado. Cada um com caractersticas
prprias do vendedor. Isso fez com que o comit de padronizao ANSI (American
National Standard Institute) estabelecesse uma padronizao para esta linguagem, que
resultou na criao de vrias especificaes.

Hoje o SQL2 ou SQL92 tido como o padro mais utilizado nos SGBDs
cliente/servidor comerciais, devido aos novos mecanismos introduzidos nesta linguagem
que sero apresentados a seguir.

50

3.3.3.1. Vises

Uma viso em SQL consiste em uma forma que a linguagem utiliza para
gerar uma tabela virtual com resultados oriundos de outras tabelas fisicamente existentes
no banco de dados.

Trata-se de um recurso que pode ser bastante utilizado em casos onde


aplicao necessite acessar informaes que geralmente j so resultados de outra operao
de consulta. Como exemplo temos o Create View que o principal comando SQL utilizado
definio de vises.

3.3.3.2. ndices

Os ndices so caracterizados como um meio utilizado para melhorar o


desempenho das aplicaes de banco de dados. Trata-se de um mtodo que possibilita criar
uma tabela auxiliar, contendo uma seqncia de registros indexados por uma ou mais
colunas, freqentemente utilizadas como critrios de pesquisa em uma tabela. A definio
para criao de ndices feita atravs do comando Create Index.

51

3.3.3.3. Transaes

Para realizar transaes, que so uma das tarefas mais importantes dos
SGBDs cliente/servidor, a linguagem SQL utiliza instrues que permitem realizar com
sucesso as transaes, garantindo a integridade para as informaes. Tambm permite
desfaze-las antes de realizar as alteraes no banco de dados. A SQL utiliza os comandos
Commit e Rollback que, respectivamente, efetiva e desfaz as transaes.

3.3.3.4. Procedimentos Armazenados

Os procedimentos armazenados so objetos de banco de dados que ficam


localizados no servidor, tendo como finalidade armazenar um conjunto de instrues SQL
que podero ser executadas em qualquer momento pelas aplicaes.

Outra caracterstica dos procedimentos armazenados a capacidade de


receber parmetros e retornar valores quando necessrio, agilizando assim trabalho das
aplicaes. A criao de procedimentos armazenados no SGBD feita atravs do comando
Create Procedure.

52

3.3.3.5. Triggers

Da mesma forma que os procedimentos armazenados, os triggers contm


conjuntos de instrues SQL que ficam armazenadas no servidor, porm eles no podem
receber parmetros nem retornar valores.

Em um banco de dados cliente/servidor, os triggers permitem especificar


regras de negcio que so chamadas pelo prprio banco de dados no momento em que
ocorre um determinado evento, reforando ainda mais as restries de integridade do
banco de dados. A definio para a criao de triggers no banco de dados feita com o
comando Create Trigger.

3.3.4. Interfaces de Comunicao com Banco de Dados

Vimos que a arquitetura cliente/servidor proporcionou aos sistemas de


computao distribuir os processos cliente e servidor atravs da rede, levando a
funcionalidade da aplicao para o lado do usurio. Com esta distribuio, os SGBDs
puderam seguir seu padro, concentrando as atividades de gerncia de banco de dados
apenas no lado do servidor, limitando as aplicaes apenas ao processo de atualizao dos
dados atravs das estaes cliente.

53

No entanto, a grande variedade de bancos de dados de diferentes


fabricantes, alm da prpria separao dos sistemas em front-end e back-end, ocasionou a
demanda por padres e mecanismos que possibilitassem s aplicaes cliente/servidor
interagirem com bancos de dados, independente da plataforma ou sistema operacional.

Com isso, vrios fabricantes de software se uniram formando o SQL Access


Group (SAG), com o objetivo de produzir especificaes de acesso a dados para produtos
de SGBDs que usam o padro SQL. Estes mecanismos, conhecidos como interfaces de
comunicao com banco e dados, concentram um conjunto de instrues que permitem s
aplicaes se comunicarem com o SGBD e estabelecer um meio compatvel de
transferncia de dados atravs da rede.

Com o desenvolvimento das novas tecnologias, surgiram vrios modelos de


interface de banco de dados para diversas plataformas. Dentre os modelos existentes,
podemos destacar nos tpicos subseqentes, algumas das principais interfaces de
comunicao para bancos de dados comumente usadas.

3.3.4.1. ODBC

O padro ODBC (open database connectivity) foi desenvolvido pela


Microsoft e acabou se tornando o padro dominante no mercado de interfaces comum para
acesso a bases de dados. Sua arquitetura em camadas permite aos aplicativos acessarem
uma grande variedade de banco de dados utilizando a linguagem SQL.

54

Segundo Melo (1997, p.205) a arquitetura ODBC composta por quatro


componentes bsicos: a aplicao, o gerente de driver (driver manager), o driver e a fonte
de dados (data source).

A aplicao consiste em um recurso de software que tem a funo de


processar as chamadas das funes ODBC que cria meios padronizados para estabelecer
uma conexo com o banco de dados, de modo que torne possvel emitir instrues SQL ao
SGBD.

O gerente de drivers a parte intermediria da arquitetura, responsvel pelo


recebimento das requisies emitidas pelas aplicaes e pela determinao de qual driver
ser carregado para fazer a conexo com o SGBD apropriado. Uma vantagem significativa
do gerente de driver a capacidade de permitir que mltiplos drivers estejam ativos
simultaneamente utilizando o nome da fonte de dados fornecido pela aplicao.

O driver2 por sua vez consiste em uma biblioteca de funes que processam
as solicitaes ODBC enviando instrues SQL especificas para cada fonte de dados.
Quando uma aplicao faz uma requisio, o driver ODBC traduz a requisio para o
formato apropriado do SGBD, servindo assim como um mediador entre os dois elementos.

A fonte de dados contm a definio de um driver ODBC utilizado pela


aplicao para acessar um SGBD especfico. Trata-se dos dados propriamente ditos na
abordagem ODBC e cada fonte de dados deve possuir um driver apropriado para que a
intermediao possa ser estabelecida.
2

O driver corresponde a um conjunto de informaes que fornece as instrues necessrias para que o
sistema operacional possa se comunicar com componentes de hardware especficos.

55

Figura 11: A arquitetura ODBC

3.3.4.2. DBI

A DBI (Database Interface) uma interface de programao de aplicaes


(API) desenvolvida para a linguagem Perl3. Sua arquitetura foi projetada com o intuito de
oferecer um conjunto de funes, variveis e convenes que possam prover um
mecanismo de comunicao de banco de dados consistente e independente da plataforma
computacional utilizada pelo SGBD.

PERL (Practical Extraction and Report Language) uma linguagem criada por Larry Wall,
inicialmente para sistemas Unix, e hoje roda em vrios outros sistemas como Windows, Amiga, VMS,
etc.

56

Essa interface (Descartes, 2000, p.1), se divide em dois grupos onde, o


primeiro, corresponde a prpria arquitetura DBI, que implementa todas as funes de
chamada de drivers, enquanto que o segundo, corresponde aos drivers responsveis pela
conexo ao seu SGBD especfico.

Figura 12: A arquitetura DBI

Esta separao permite que a DBI suporte uma grande variedade de bancos
de dados para utilizao em ambientes de computao distribuda. Com isso a DBI capaz
de fornecer acesso mltiplo a diferentes tipos de bancos de dados, de uma forma
transparente para os usurios. Com ela pode-se estabelecer conexes com bancos de dados
Oracle, Informix, mSQL, Sybase, ou qualquer outra base de dados compatvel, sem a
necessidade de conhecer o mecanismo utilizado para efetuar esta tarefa.

Como benefcio principal, a DBI d s aplicaes capacidade de conectar


duas bases de dados de fabricantes diferentes, fazendo com que elas se comuniquem
atravs do mesmo cdigo-fonte escrito na linguagem Perl. Isso d aplicao capacidade
de atualizar bases de dados atravs de uma forma bastante simples, facilitando assim o
trabalho do programador.

57

3.3.4.3. JDBC

O JDBC (Java Database Conectivity) uma interface desenvolvida pela Sun


Corporation com a finalidade de estabelecer conexo entre bancos de dados SQL e
aplicaes desenvolvidas atravs da linguagem Java4. Com a JDBC os programadores
podem criar aplicaes Java capazes de acessar dados corporativos, independente da
plataforma onde a aplicao est sendo executada.

A sua arquitetura, de acordo com Hamilton (1997, p.8) composta por um


conjunto de interfaces abstratas que permite ao programador estabelecer conexes a um
determinado banco de dados, manipula-los atravs de instrues SQL e processar os
resultados. Estas interfaces podem ser resumidas em quatro classes principais, a saber:

java.sql.DriverManager: gerencia o carregamento de drivers para criar novas


conexes de banco de dados;

java.sql.Connection: representa uma conexo de um banco de dados especfico;

java.sql.Statement: funciona como um container para declarao ou execuo


de comandos SQL;

java.sql.ResultSet: controla o acesso aos resultados das requisies.

A linguagem Java foi desenvolvida para ser uma linguagem independente de plataforma tornando-se
uma boa opo para criao de aplicaes de acesso remoto a banco de dados.

58

Figura 13: A arquitetura JDBC

Com base nesta arquitetura, podemos perceber que a principal caracterstica


da JDBC permitir um acesso genrico a banco de dados atravs de SQL. Ao mesmo
tempo, a JDBC oferece uma interface padronizada para diferentes fontes de dados,
cabendo ao programador apenas construir uma interface de usurio para facilitar a
interao com o banco de dados.

Os tipos de drives suportados pela JDBC podem fornecer interfaces para


SGBDs, tais como o Oracle, Sybase, Informix, alm de outros que utilizam protocolos de
acesso a banco de dados especficos, independentes ou no de protocolos de rede. Alm
desses, a JDBC, fornece conectividade para drivers ODBC.

59

3.3.4.4. BDE

O Borland Database Engine (BDE) uma interface de acesso a banco de


dados que contm um conjunto de funes e drivers que possibilitam s aplicaes se
comunicarem com uma variedade de sistemas de banco de Dados local ou remotamente.
Sua arquitetura fornece uma forma nica e transparente para a aplicao acessar os
diferentes tipos de SGBDs.

Segundo Rudraraju (1995, p.1) o BDE utiliza drivers SQL IDAPI nativos
para fornecer conectividade aos diferente servidores de bancos de dados. Atravs da IDAPI
(Integrated Database Application Program Interface), pode-se estabelecer conexes para
SGBDs cliente/servidor Interbase, Oracle, Sybase, Informix, DB2 e SQL Server. Atravs
desta interface, pode-se executar vrios tipos de operaes, tais como: criao de sesses,
bancos de dados, tabelas, ndices, campos, consultas, procedimentos e filtros.

Figura 14: A arquitetura do BDE

60

Para concluir, o BDE se constitui em uma soluo desenvolvida pela


Borland Corporation para ser executada em plataformas Windows 9x/2000/ME e Windows
NT. O BDE prov suporte a base de dados para aplicaes desenvolvidas atravs de
ambientes de desenvolvimento integrados, tais como o Delphi e C++ Builder.

3.3.5. Os Programas de Aplicao

Vimos que a arquitetura cliente/servidor divide o poder de processamento


de um sistema computacional em sistemas cliente e servidor. Neste sentido, cada
componente tem seu papel especfico. A aplicao cliente fica encarregada de fazer a
interface com o usurio, capturando os dados e exibindo informaes, enquanto que a
aplicao servidora, fornece recursos necessrios para as aplicaes clientes.

O programa de aplicao o principal recurso que d ao usurio a


possibilidade de interagir com os sistemas de computao, principalmente nas tarefas que
envolvem o acesso banco de dados. Para prover esta funcionalidade, principalmente em
sistemas cliente/servidor, as aplicaes devem conter um conjunto de funes que
possibilitem interao entre dois ou vrios processos distribudos em diferentes
plataformas, de forma a cooperarem entre si para produzir os resultados desejados.

61

Para Melo (1997, p.60), uma aplicao possui funes que podem ser
agrupadas em componentes para o processamento da lgica da interface do usurio, para o
processamento da lgica de negcios, para a manipulao de dados e para os servios de
acesso aos dados.

Figura 15: Interface de um programa de aplicao

As funes de interface de usurio correspondem a todas as atividades de


interao entre o usurio e a mquina. Concentra recursos de controle de dispositivos de
entrada e sada de dados, formatao de tela de apresentao, alm de outras funes
avanadas como verificao e validao de dados. As funes da lgica do negcio so
aquelas que definem o verdadeiro propsito da aplicao, pois compreende toda a regra de

62

negcio e os processos administrativos de uma organizao. As funes de gerncia dos


dados processam todas as operaes de acesso e manipulao de dados fornecidos pelo
usurio. Por fim, as funes de acesso a dados encarregam-se de fornecer recursos para
acesso fsico aos dados armazenados em um banco de dados.

Figura 16: Estrutura de uma aplicao

Com isso podemos perceber que um programa de aplicao tem uma


estrutura claramente definida e que cada um de seus componentes cooperam entre si para
executar a tarefa desejada pelo usurio. No que se refere sua alocao, quando se tratava
de ambientes centralizados, eles eram alocados em um nico local. No entanto, a
arquitetura cliente/servidor permitiu distribuir as funes entre os servidores e clientes da
rede de forma a aumentar o desempenho dos sistemas de informao.

63

Com base nesta distribuio, a arquitetura cliente/servidor permitiu criar


vrias categorias de arquitetura, dividindo-a em camadas para tratar com diferentes
configuraes de seus componentes de aplicao. As principais arquiteturas abrangem dois
tipos de modelos, a saber:

a) modelo de duas camadas: modelo no qual as aplicaes cliente/servidor


normalmente concentram as funes de interface de usurio e da lgica de negcio
em um nico componente. Esse componente fica alocado no cliente, enquanto que
os dados e as funes de acesso a dados se concentram no servidor;

b) modelo de trs camadas: neste modelo os dados e suas funes de acesso se


concentram no servidor, enquanto que as regras de negcio e as aplicaes so
separadas em camadas distintas. Neste modelo as operaes de acesso e
manipulao de dados so executadas pela aplicao. O servidor s ir processa-los
obedecendo s regras de negcio, que podem estar alocadas, ou na mquina
servidora, ou na mquina cliente, ou em ambas as mquinas.

Atravs da arquitetura cliente/servidor, podemos perceber que a diviso das


tarefas em camadas distintas resulta em um grande benefcio para as aplicaes. A
distribuio de suas funes aproveitando de todos os recursos existentes, resulta em um
melhor aproveitamento e um considervel ganho de performance, sem comprometer a
integridade dos dados armazenados.

64

Para o desenvolvimento das aplicaes, podemos encontrar atualmente uma


grande variedade de ferramentas, ou linguagens, capazes de produzir aplicativos. Estas
linguagens dispem de todas as funes necessrias para criao de interfaces e
implementao de funes de controle e de manipulao de dados. As ferramentas de
desenvolvimento mais utilizadas atualmente so as linguagens orientadas a objetos e
dirigidas por eventos, tendo como exemplo Java, Delphi, Powerbuilder, Visual Basic, SQL
Windows, SmallTalk e Kylix.

3.3.6. Gerncia de Transaes

Um SGBD cliente/servidor implementa mecanismos de gerncia de


transaes como um mtodo destinado a assegurar que o banco de dados no sofra algum
tipo de alterao que resulte em perda de dados ou resultados indesejados. O uso de
transaes em ambientes de banco de dados cliente/servidor se deve ao fato de que, muitos
ambientes corporativos, em seus processos dirios de trabalho, executam uma seqncia
complexa de atividades que dependem constantemente da atualizao dos seus dados para
gerar resultados imediatos ao usurio da aplicao.

Segundo Silberschatz (1999, p.441) uma transao uma unidade lgica


de execuo que acessa e, possivelmente, atualiza itens de dados. Pode-se dizer que uma
transao consiste em elemento importante para os SGBDs cliente/servidor, pois trata-se
de um mecanismo que possibilita as aplicaes em execuo simultnea, atualizarem os
dados de um banco de dados, sem comprometer a sua integridade.

65

Esse benefcio s pde ser obtido graas a um conjunto de operaes,


originadas de um estudo baseado em quatro regras fundamentais para gerenciamento de
dados em ambientes multiusurio. Estas regras conhecidas como propriedades ACID,
correspondem respectivamente a:

a) Atomicidade: define se todas as aes que representam a transao em um banco de


dados sero aplicadas, ou caso contrrio nenhuma delas ser;

b) Consistncia: assegura que um banco de dados ao sofrer uma alterao, mova seu
estado de consistncia de forma a garantir que os dados afetados no violem as
regras de integridade;

c) Isolamento: define que uma transao no poder ser afetada por outra, mesmo
quando ambas so executadas simultneamente;

d) Durabilidade: implica que os resultados de um processo de transao sejam


permanentes, caso sejam concludas com sucesso.

Um exemplo mais comum de um processo de transao (Hackathorn 1993,


p.61) a transferncia de fundos entre contas bancrias. Uma transao s dever ser
completada se existirem fundos suficientes na conta original, verificando sempre se houve
alguma alterao no banco de dados antes que ocorra a transferncia. Se isto acontecer, a
transao dever ser abortada, evitando que o banco de dados seja alterado.

66

Figura 17: Representao de um processo de transao

Os SGBDs cliente/servidor realizam as transaes atravs de comandos


introduzidos na prpria linguagem SQL conhecidos como Commit e Rollback. Estes
comandos definem se as alteraes sero concludas com sucesso ou desfeitas quando h
risco de inconsistncia. Uma vez concluda a transao (atravs do comando commit), o
SGBD muda o estado do banco de dados, tornando as alteraes imediatamente visveis
para outros processos de transaes. Caso o processo de transao no puder ser
completado, a transao pode ser desfeita (atravs do comando rollback), fazendo que
banco de dados retorne ao seu estado original.

Normalmente estas instrues so executadas atravs da aplicao, de


acordo com o critrio de processamento estabelecido pela lgica do negcio, ficando o
SGBD responsvel por toda parte de gerncia, podendo ou no utilizar mecanismos de
controle, que muitas vezes so necessrios em ambientes em que haja a execuo de
transaes concorrentes.

67

3.3.7. Controle de Concorrncia

Vimos que em um sistema de banco de dados cliente/servidor, ocorrer


situaes em que vrios itens de dados estaro sendo manipulados pelos usurios e quase
que ao mesmo tempo. Isso significa dizer que, todas as atividades que ocorrem no banco
de dados, esto em pleno processo de concorrncia, podendo acontecer naquela mesma
unidade de tempo, porm em fatias de tempo definidas.

O sistema de gerncia de transaes de um SGBD oferece mecanismos que


torna possvel realizar tarefas no banco de dados de forma isolada. No entanto, no
podero garantir a confiabilidade dos dados se o SGBD, no possuir meios para controlar o
sincronismo entre as operaes.

Segundo Kroenke (1999, p. 210), o controle de concorrncia consiste em


medidas que so tomadas para evitar que o trabalho do usurio no interfira no do outro.
Isso significa dizer que, se um SGBD cliente/servidor tiver que gerenciar atualizaes em
seu banco de dados, ele dever possuir meios que garantam ao usurio, que o resultado se
seu trabalho seja o mesmo, como se ele estivesse trabalhando isoladamente.

Existem atualmente dois mecanismos bsicos de controle de concorrncia


utilizados pelos SGBDs. Estes mecanismos so baseados em princpios de bloqueios
(deadlocks) ou de ordenao, de acordo com um critrio estabelecido para a efetivao das
aes de atualizao de dados. Estes mecanismos so conhecidos como:

68

a) Controle de Concorrncia Pessimista: funciona de maneira a bloquear o item


de dado impedindo que outras transaes executem atualizaes no item
bloqueado. Trata-se de um mtodo que trabalha sempre na premissa de que
sempre haver possibilidade de conflito entre operaes de transao, fazendo
com que uma operao interfira na execuo da atual. Com o mtodo de
bloqueio, torna-se possvel garantir o isolamento, que a principal propriedade
das operaes de transao. A desvantagem significativa estaria relacionada aos
considerveis atrasos que podem ocorrer, e que s vezes podem ser at
desnecessrios;

b) Controle de Concorrncia Otimista: trata-se de uma tcnica que se concentra


em realizar alteraes, baseados na premissa da no-existncia de conflitos.
Cada processo de transao age sem comprometer a execuo de outra. Neste
mecanismo toda a avaliao feita no momento em que o item de dado est
sendo atualizado. Neste perodo, feita a verificao das demais transaes
para ver se algum dado foi alterado no perodo em que a transao foi iniciada.
Este mecanismo evita a possibilidade de usar mtodos de bloqueio durante o
processo. A desvantagem desta tcnica que, em algum caso de falha, toda a
operao de transao dever reinicializada para assegurar a integridade dos
dados.

69

3.3.8. Segurana e Administrao

Segundo Silberschatz (1999, p.13), uma das principais razes que


motivaram o uso de SGBDs o controle centralizado, tanto dos dados, quanto dos
programas de acesso a esses dados. Isso convm afirmar que o controle centralizado de
um sistema de banco de dados, em um ambiente cliente/servidor, consiste em um grande
benefcio para a segurana das informaes. No entanto, ao fazer uma analogia com os
sistemas de informao atuais, observamos que as empresas disponibilizam seus dados a
vrios tipos de usurios, dentro ou fora do seu ambiente fsico.

Por essa razo tem-se por definido que, para garantir a segurana do prprio
banco de dados da empresa, no se deve levar em conta apenas o uso das ferramentas de
administrao incorporadas nos SGBDs. Deve-se considerar tambm o fator humano, que
determina qual pessoa tem o perfil necessrio para administrar os recursos primrios
(banco de dados) e secundrios (SGBD e ferramentas relacionadas) do sistema.

O Administrador de Banco de Dados (DBA), a pessoa que possui a


competncia tcnica para gerenciar todo o sistema de banco de dados de uma organizao.
Suas principais funes envolvem um conjunto de atividades que partem, desde a
definio da estrutura e do contedo do banco de dados, at atividades relacionadas
administrao dos componentes principais do sistema. Dentre esses componentes so
mencionados os servidores, estruturas de armazenamento e mtodos de acesso,
mecanismos de medio de desempenho, backup e recuperao de dados, administrao de
usurios e restries de integridade.

70

Outra tarefa importante do DBA tambm servir de elo de ligao entre os


bancos de dados e os usurios. O DBA define os critrios de autorizao atravs de
mecanismos que permitam criar contas de usurio, implementando o critrio de segurana
apropriado. Alm disso, o DBA pode fornecer aos analistas e programadores, todas as
informaes necessrias para viabilizar o desenvolvimento de aplicaes de banco de
dados especficas, que sero utilizadas pelos usurios finais.

Com relao tecnologia utilizada para resolver as questes de segurana


ao nvel de usurio, o DBA pode atravs do SGBD, implementar mecanismos de
segurana baseados em esquemas de login e senha, e tambm em nveis de privilgios.

Os mecanismos de controle de acesso baseados em login e senha, permitem


aos SGBDs, no s garantir ou restringir o acesso dos usurios, como tambm registrar
todas as operaes a partir do perodo em que o usurio acessa o banco de dados at o
momento em que ele encerra suas atividades.

Figura 18: Conexo com SGBD cliente/servidor

71

Os nveis de privilgios por sua vez, permitem restringir o acesso a


determinado banco de dados a um grupo restrito de usurios. Uma vez definido qual banco
de dados poder ser acessado, poderemos tambm definir quais tipos de operaes podero
ser realizadas pelos usurios sobre seus objetos. Vrios produtos de SGBD que utilizam
SQL implementam mtodos conhecidos como GRANT e REVOKE para garantia e a
revogao dos nveis de privilgios dos usurios.

Figura 19: Definindo privilgios no SQL Server 6.5

Em um ambiente cliente/servidor, pudemos observar que as tecnologias de


SGBDs so capazes de garantir a segurana dos dados contra usurios no autorizados. No
que se refere s questes de hardware e software, o controle centralizado dos dados
tambm torna possvel reforar os nveis de segurana. O DBA pode em caso de pane ou
perda de dados durante alguma operao complexa, utilizar mecanismos de backup e
recuperao adequados para garantir a restaurao do banco de dados.

72

3.4.

PRINCIPAIS

SOLUES

DA

INDSTRIA

DE

BANCO

DE

DADOS

CLIENTE/SERVIDOR

Nos ltimos anos, os SGBDs cliente/servidor evoluram dando origem a


produtos cada vez mais poderosos, capazes de gerenciar bancos de dados de forma mais
eficiente, dando ao mesmo tempo mais simplicidade nas operaes. Atualmente podemos
encontrar no mercado diversos produtos de SGBD cliente/servidor, projetados para vrios
tipos de plataformas e sistemas operacionais. A seguir sero apresentadas caractersticas de
alguns dos produtos atualmente disponveis.

3.4.1. Oracle

O Oracle um SGBD cliente/servidor objeto-relacional (ORDBMS) de alta


performance produzido pela Oracle Corporation. Foi projetado para ser executado em
plataformas UNIX, Linux e Microsoft Windows NT. Sua tecnologia integra recursos,
capazes de gerenciar grande volume de dados em ambientes multi-usurio. Isso garante o
acesso simultneo dos usurios ao banco de dados, sem comprometer o desempenho do
sistema.

Como linguagem SQL nativa o Oracle utiliza a PL/SQL, que implementa


vrios recursos ativos, tais como triggers e procedimentos armazenados. Alm disso, o
Oracle fornece um potente mecanismo de integridade referencial.

73

Para prover facilidade na administrao dos recursos, as verses mais


recentes o Oracle dispem de uma ferramenta conhecida como Oracle Enterprise
Manager. Essa ferramenta integra vrios utilitrios de administrao e manipulao de
elementos de banco de dados.

Outro mecanismo importante a ser destacado o Data Manager, que


oferece recursos que permitem importar e exportar objetos de um banco de dados para
outro, facilitando as tarefas de migrao e atualizao.

Figura 20: Viso geral do Oracle Enterprise Manager.

74

3.4.2. SQL Server

O SQL Server (Soukup, 1999, p.30) um SGBD cliente/servidor relacional


(RDBMS), projetado para oferecer alto desempenho e suporte a processamento de alto
volume de dados. Sua plataforma baseada em sistemas operacionais Windows NT Server
ou Workstation, Windows 95/98/ME e em plataformas Windows 2000. Tem como
linguagem SQL nativa a Transact-SQL, que incorpora vrios recursos como otimizao de
consultas, construo de programao e procedimentos armazenados.

Na sua verso 7, o SQL Server possui um ambiente integrado de


desenvolvimento, conhecido como Enterprise Manager, onde permite administrar todos os
recursos de qualquer servidor de banco de dados SQL acessvel. Trata-se de uma interface
que apresenta uma estrutura de rvore, onde possvel visualizar todos os detalhes de um
servidor de banco de dados, incluindo, alm dos bancos de dados, todas as ferramentas de
gerncia necessrias.

Outra ferramenta importante o Query Analyzer, que permite executar


instrues SQL e visualizar os resultados atravs de uma interface simples. A principal
vantagem dessa ferramenta admitir que vrias janelas sejam abertas ao mesmo tempo,
possibilitando realizar conexes simultneas a bancos de dados diferentes.

75

Figura 21: Viso geral do Microsoft SQL Server.

3.4.3. Sybase SQL Server

O Sybase SQL Server, na sua verso 11 (Freeman 1996, p.1), foi


desenvolvido de acordo com o processo de certificao ISO 9000 para ser um dos mais
avanados SGBDs do mercado.

Sua arquitetura inclui um conjunto ferramentas baseadas em ambiente


grfico Windows. Dentre essas ferramentas, inclui o Server Manager, que permite
gerenciar todo o processo de manipulao de banco de dados e de seus objetos, alm de
fornecer um utilitrio para gerar scripts SQL.

76

Figura 22: Viso geral do Sybase SQL Server.

Dentre os outros recursos do Sybase SQL Server, tambm podemos destacar


o Service Manager, que oferece recursos para carregar e interromper servidores de banco
de dados Sybase. Outra ferramenta, o Server Config, permite configurar servidores a um
nvel mais alto, envolvendo tarefas de ajuste de controles, parmetros de linha de comando,
conexes de rede, segurana e registro de erros.

3.4.4. Informix

O Informix, desenvolvido pela Informix Corporation, um SGBD


multiusurio que possui como ncleo principal o Command Center, que concentra
ferramentas usadas na administrao de servidores de banco de dados.

77

Alm do Command Center, o Informix possui outras ferramentas


administrativas voltados para as seguintes finalidades: gerenciamento de espao de
armazenamento de banco de dados (Space Explorer), criao e manipulao de objetos de
banco de dados (Database Explorer), execuo de instrues SQL (SQL Editor). Alm
destas ferramentas, o Informix tambm possui o Dbschema, que permite criar arquivos de
scripts para serem executados em outros bancos de dados.

Figura 23: Viso geral do Command Center do Informix

Os bancos de dados Informix podem escalar e rodar em qualquer plataforma


de sistema operacional, que pode variar desde o Windows NT at sistemas baseados em
Linux ou Unix.

78

3.4.5. C/A Ingres

O C/A Ingres um SGBD relacional que teve seu incio nas plataformas
Unix, DEC e VAX, onde a maioria das ferramentas tinha interfaces orientadas a caracter.

Na suas verses 1.1 e 1.2, o Ingres traz um subsistema de gerenciamento de


objetos baseado em ambiente grfico Windows (CA-Visual/DBA), alm de outros
utilitrios importantes, dentre os quais destaca-se o CBF (Configuration by Forms), usado
para configurar diversos tipos de servidores, incluindo os de SGBDs e de banco de dados
distribudo.

Atualmente a verso do Ingres, conhecida como Ingres II tida como a


soluo mais completa de sua categoria para aplicaes de mltiplas camadas e
gerenciamento de informao. O Ingres II est disponvel em duas verses, conhecidas
como Workgroup e Enterprise. A verso Workgroup, roda em plataforma Windows NT e
permite conexes de at 25 usurios simultneos. J a verso Enterprise permite conexo
de um nmero ilimitado de usurios e pode ser utilizado em qualquer ambiente
multiplataforma.

79

3.4.6. IBM DB2

O DB2 Universal Database um SGBD relacional da IBM Corporation,


projetado para ser um banco de dados capaz de oferecer um suporte relacional de
gerenciamento de dados rpido, seguro e eficiente. Sua tecnologia derivada do conceito
de Banco de Dados Universal, que visa ampliar as capacidades da tecnologia de banco de
dados, permitindo manipular tipos de dados no-convencionais, tais como: informaes
armazenadas em documentos, planilhas e objetos multimdia. Hoje as verses mais
recentes oferecem suporte a vrios tipos de aplicaes cliente/servidor disponveis,
incluindo a internet.

Figura 24: Viso geral do Centro de Controle do DB2.

80

O DB2 na sua verso 7.1, possui vrias ferramentas de administrao que podem
ser gerenciadas atravs do Centro de Controle (Control Center), que seu ambiente
principal. Trata-se de um ambiente que permite ao DBA, atravs de uma interface grfica
de usurio (GUI), gerenciar de forma simples e transparente, todos os bancos de dados
DB2 alocados em diferentes tipos de plataformas ou sistemas operacionais.

3.4.7. Centura SQLBase

O Centura SQLBase um SGBD relacional multiusurio desenvolvido para


plataformas Windows e Novell Netware. Na sua verso 6.00, o SQLBase integra
ferramentas GUI baseadas no estilo Windows, dando ao DBA a capacidade de administrar
os recursos de forma mais simples.

Uma das principais ferramentas do SQLBase o SQL Console, que permite


gerenciar servidores de banco de dados, dando a possibilidade de carregar, criar, modificar
e excluir bancos de dados ou objetos de banco de dados. Possui tambm um utilitrio onde
o DBA pode executar backups e outros servios de manuteno.

81

3.4.8. PostgreSQL

O PostgreSQL um SGBD objeto-relacional (ORDBMS) de cdigo-fonte


aberto, desenvolvido para plataformas Linux e Windows. Segundo Vasudevan (2000,
p.1), o PostgreSQL um aperfeioamento do antigo SGBD Postgres. Sua arquitetura foi
projetada para se tornar 100% de acordo com o padro ANSI/ISO SQL, e ao mesmo
tempo, a principal base de dados de livre distribuio no mundo.

Dentre as principais vantagens a capacidade de permitir herana entre


tabelas, alm de prover suporte a qualquer tipo de aplicao, que pode variar desde pginas
web simples at um sistema administrativo completo. Outros benefcios a serem
destacados so: o excelente desempenho, suporte a transaes e integridade referencial.

3.4.9. MySQL

O MySQL um sistema de banco de dados relacional de cdigo aberto,


projetado oferecer um suporte a banco de dados cliente/servidor, oferecendo rapidez e
flexibilidade. Pode ser capaz de rodar em qualquer servidor e suportar diferentes
aplicaes cliente, alm de prover interao com diferentes ferramentas de administrao e
interfaces de programao, tais como C, C++, Eiffel, Java, Perl, PHP, Python e Tcl.

82

Dentre os componentes principais do MySQL destaca-se o MySqlAdmin,


que pode ser utilizado para uma variedade de tarefas tais como: criao e excluso de
banco de dados, controle de conexes em memria, controle de contas de usurio e
monitoramento de servidor.

O MySqlDump outro utilitrio importante, pois atravs dele, pode-se


gravar em um arquivo texto, todos os comandos SQL necessrios para criar uma cpia de
um banco de dados, inteiro ou em parte. Para execuo de instrues SQL, o MySQL
dispe o cliente MySQL, onde possvel criar e manipular banco de dados e seus
respectivos objetos.

Existem atualmente verses do MySQL disponveis para plataformas,


incluindo todas as variedades de sistema operacional Linux, AIX, FreeBSD, Irix e
Windows 95/98/NT.

Na verso Windows, foi incorporado o WinMySqlAdmin, que permite


atravs de uma interface grfica, visualizar e alterar as configuraes do MySQL, alm de
criar novos bancos de dados. Outro utilitrio, o MySQLManager, permite executar
instrues SQL nos bancos de dados criados pelo MySQL.

83

Figura 25: Viso geral do MySQL para Windows.

3.4.10. GemStone

O GemStone um SGBDOO comercial disponvel pela GemStone Systems.


Foi projetado para combinar os conceitos de linguagem de programao orientada a
objetos Smalltalk, com funes de sistema de gerenciamento de banco de dados. Sua
tecnologia apresenta robustez suficiente para manipular grande quantidade de dados a uma
baixa taxa de erros, alm de possibilitar a recuperao de falhas sem comprometer a
disponibilidade dos dados.

84

Suas linguagens de manipulao (DML) e definio de dados (DDL) so


derivadas do Smalltalk, tendo como base os objetos, mensagens e mtodos para tratamento
de dados. Os objetos tm uma interface e um estado, e se comunicam uns com os outros
atravs de mensagens. O suporte a transmisso de mensagens, encapsulamento, hierarquia
de classe, herana e identidade de objetos, so amplamente suportados pelas DML e DDL
do GemStone. Em comparao com a linguagem SQL, a DML do GemStone bem
completa no aspecto de linguagem de programao.

O GemStone tem como componente bsico o Gem Server, que concentra


todos os objetos que so executados pela DML do GemStone, inclusive a avaliao das
consultas. Outro componente principal o Stone Monitor que aloca novos identificadores
de objetos e coordena a execuo de transaes.

CAPTULO 4 - APLICAES DE BANCO DE DADOS CLIENTE/SERVIDOR

4.1. ASPECTOS BSICOS

Podemos afirmar que os sistemas de banco de dados cliente/servidor so


utilizados hoje em dia em uma grande variedade de aplicaes, sendo que a maioria delas,
so e vo continuar sendo voltadas ao uso comercial pelas organizaes. No entanto, novas
aplicaes surgiram nos ltimos anos, contribuindo de maneira que tornasse possvel s
empresas expandirem seus limites de atuao no mercado, dispondo ao mesmo tempo de
novos recursos de gerncia de dados para seu negcio. Estes novos recursos permitem que
as aplicaes possam lidar com informaes no-convencionais, podendo ainda ser
acessadas e manipuladas em diferentes locais.

Com base nestas novas aplicaes, as produtoras de software puderam


incorporar novos mecanismos de gerenciamento de dados em seus produtos de SGBDs.
Isso fez com que as aplicaes de banco de dados tambm pudessem participar deste
processo evolutivo, de forma a poder lidar com tipos de informaes, que antes era
inimaginveis pelos sistemas do passado.

86

Neste contexto relacionamos algumas das novas aplicaes de banco de


dados que nos ltimos anos, se tornaram cada vez mais importantes para as organizaes.

4.2. PROCESSAMENTO DE BANCOS DE DADOS DISTRIBUDOS

Segundo Ceri e Pelagatti citado por Melo et al. (1997, p.165), um sistema
de banco de dados distribudo uma coleo de dados que distribuda por diferentes
computadores, possivelmente em diferentes locais. Os computadores so conectados por
uma rede de comunicao. O sistema deve suportar aplicaes locais em cada computador,
bem como aplicaes globais nas quais mais de um computador esteja envolvido.

Na verdade, um sistema de banco de dados distribudo, considerado como


uma modalidade de processamento de banco de dados cliente/servidor, que integra a
filosofia dos bancos de dados como resoluo dos problemas apresentados pelos sistemas
gerenciamento de arquivos. Um banco de dados distribudo tambm se fundamenta na
distribuio dos processos, que leva para o lado do usurio as tecnologias utilizadas para
manipular dados atravs da rede. Todos esses requisitos resultam em oferecer aos usurios
um sistema integrado para troca de informaes, porm distribudos no que se refere ao
local onde os bancos de dados sero alocados.

Em um banco de dados distribudo, o requisito fundamental fazer com que


os bancos de dados, dispersos nos diversos locais, sejam vistos pelas aplicaes como um
nico banco de dados centralizado. Para isso, o SGBD cliente/servidor disponibiliza vrias

87

funes que tornam os bancos de dados independentes uns dos outros. Ao mesmo tempo,
esses recursos visam a transparncia na distribuio e na fragmentao, de forma que os
usurios vejam os dados de forma nica, sem se preocupar com a sua localizao fsica. No
que se refere aos requisitos de desempenho e disponibilidade dos dados, os SGBDs
utilizam tcnicas de replicao que cria cpias locais de um banco de dados inteiro ou
parte dele.

4.3. INTERNET E INTRANETS ORGANIZACIONAIS

Internet

pode

ser

considerada

atualmente

como

ambiente

cliente/servidor mais utilizado para transaes comerciais e disseminao de informaes


empresariais de diferentes reas de atuao. Trata-se de uma rede pblica, que surgiu a
partir de um projeto conhecido como ARPANET, que tinha a finalidade de interligar
grandes centros de informaes militares americanos. Quando os militares se retiraram do
projeto para a formao da MILNET, a ARPANET passou a ser conhecida como Internet,
se popularizando entre centros de pesquisa, empresas e universidades.

88

Com a sua liberao para uso comercial nos Estados Unidos, vrias
empresas viram neste novo ambiente a possibilidade de expandir as suas fronteiras
comerciais, disponibilizando produtos e servios aos seus clientes em qualquer parte do
mundo. Hoje podemos afirmar que o comrcio eletrnico pde se tornar uma realidade,
graas ao surgimento de interfaces que permitiram que bancos de dados pudessem ser
interligados ao ambiente Web1.

A integrao de banco de dados na web tambm possibilitou que inmeras


outras aplicaes empresariais pudessem rodar neste novo ambiente. Como exemplo
prtico, podemos destacar os prprios sistemas de transaes bancrias pela Internet, que
nos ltimos anos tm apresentado um nvel de utilizao bastante acima das previses.

Figura 26: Exemplo de Aplicao web de comrcio eletrnico.

Um acrnimo para World Wide Web (WWW). Corresponde a uma grande rede de informaes que
concentra todos os sistemas de informao disponveis na Internet.

89

No ambiente corporativo, a infra-estrutura de comunicao de dados usada


na internet tambm usada para criao de redes privadas, conhecidas como Intranets.
Trata-se de uma rede restrita apenas ao ambiente da empresa e que normalmente utilizada
para compartilhamento de informaes empresariais.

Da mesma forma que a internet, o uso de aplicaes de banco de dados


permitiu expandir a funcionalidade das Intranets, dando a possibilidade de criar aplicaes
para diversos fins.

4.4. SISTEMAS DE INFORMAES GEOGRFICAS (GIS)

Um Sistema de Infomaes Geogrfica (GIS Geographic Information


System) consiste em uma modalidade no-convencional de aplicao de banco de dados,
que tem como caractersticas principais o armazenamento de informaes baseadas em
dados geofsicos e a integrao de ferramentas voltadas para processamento de imagens
geogrficas.

Seu funcionamento (Davis, 2001, p.2) baseado na utilizao de

componentes organizados em uma estrutura hierrquica que inclui: interface com o


usurio, entrada e integrao de dados, consulta e anlise espacial, visualizao/plotagem,
funes de processamento grfico de imagens e funes de gerncia de dados baseada em
bancos de dados geogrficos.

90

Os bancos de dados geogrficos so implementados em praticamente todas


as modalidades de GIS atualmente disponveis, podendo operar em conjunto com vrios
SGBDs cliente/servidor relacionais ou orientado a objetos. Um exemplo de banco de dados
geogrfico o SPRING2, que roda em plataformas de SGBD Oracle e Ingres,
armazenando informaes descritivas sobre dados geogrficos, tais como mapas e imagens
de satlites. Outro exemplo prtico o acesso a dados geogrficos pela Internet, que
acabou criando um novo segmento de aplicaes voltadas para pesquisa e desenvolvimento
em geoprocessamento.

Figura 27: Exemplo de processamento de dados geogrficos na internet.

O SPRING (Sistema para Processamento de Informaes Georeferenciadas) foi desenvolvido pelo


INPE (Instituto Nacional de Pesquisas Espaciais) para ser utilizado em ambientes UNIX e Windows.

91

4.5. BANCO DE DADOS MULTIMDIA

Os bancos de dados multimdia passaram a ganhar interesse nos ltimos


anos devido aos novos tipos de informao que passaram a estar presente em vrios
segmentos de aplicaes.

Tipos de dados como textos com livres formatos, documentos web, grficos
estruturados, imagens estticas ou com animao, voz e sons, se tornaram cada vez mais
comuns no ambiente corporativo. Hoje j possvel pensar em sistemas capazes de operar
com tipos de dados que possam representar imagens de impresses digitais,
eletrocardiogramas, ressonncia magntica e radiografias, freqentemente utilizados em
hospitais ou rgos especializados.

Os SGBDs cliente/servidor relacionais e objeto-relacionais implementam


recursos destinados ao armazenamento de elementos grficos e de texto em grandes
objetos binrios, conhecidos como BLOB3. No entanto, devido s limitaes para operar
outros novos tipos de dados, como vdeos e sons, os ORDBMS podem ser vistos como a
alternativa mais eficaz entre os dois modelos para gerenciar novos tipos de informao e
dar suporte mais adequado s novas aplicaes.

BLOB (Binary Large Objects) consiste em um bloco de dados em formato binrio que
armazenado fisicamente, separado do registro principal. A sua localizao normalmente feita
atravs do uso de ponteiros sempre que o registro correspondente referenciado.

92

4.6. DATA WAREHOUSES

Um Data Warehouse (Kroenke, 1999, p.280) um depsito de dados


corporativo cuja estrutura inclui recursos destinados a facilitar o acesso a determinados
tipos de dados para tomada de decises. Seu objetivo principal aumentar o valor
patrimonial dos dados da empresa, armazenando dados de diversos clientes para gerao
de informaes integradas futuras.

O ambiente Data Warehouse agrega vrias tecnologias para oferecer a


integrao necessria aos bancos de dados de uma organizao. Alm da prpria
arquitetura cliente/servidor aliada aos recursos dos SGBDs, so utilizadas interfaces de
usurios e ferramentas adequadas para anlise e consulta de dados de modo a fornecer uma
interface nica para gerar consultas de suporte deciso.

De forma a viabilizar a implementao de Data Warehouses nos sistemas de


informao das empresas, vrias produtoras de SGBDs j implementam em seus produtos
um conjunto de recursos, dentre os quais se destacam as ferramentas de processamento
analtico on-line (OLAP), que facilitam o compartilhamento de metadados (dados
referentes a dados) com outros bancos de dados e demais aplicaes, de modo a fornecer
acesso e anlise desses dados de forma simples para o usurio-final.

CAPTULO 5 - CONCLUSO

5.1. CONSIDERAES FINAIS

Conclui-se que, o ambiente de computao cliente/servidor uma rea que


est em plena evoluo no que diz respeito ao segmento de novas aplicaes de banco de
dados e tecnologias de integrao. Paralelamente, os sistemas de banco de dados
cliente/servidor podem hoje ser tambm considerados como parte indispensvel em
qualquer sistema computacional multi-plataforma.

A contribuio deste trabalho para compreenso dos principais aspectos dos


sistemas de banco de dados cliente/servidor foi uma abordagem genrica, que delimitou o
estudo dos principais elementos envolvidos no processamento de banco de dados para os
diversos segmentos de aplicaes empresariais que lidam com tipos de informaes, tanto
convencionais, como no-convencionais.

94

Com base nesse estudo, pode-se afirmar que a abordagem apresentada sobre
os aspectos tecnolgicos e funcionais, empregados na arquitetura cliente/servidor para
banco de dados, serviu para mostrar que esse ambiente conseguiu superar os problemas
apresentados pelos sistemas centralizados, principalmente no que se refere s questes
relativas reduo de custos operacionais e implementao de novos recursos tecnolgicos
para oferecer solues imediatas para tomada de decises. Ao mesmo tempo, os sistemas
de banco de dados no ambiente cliente/servidor puderam ainda estabelecer nas empresas
um novo padro de comportamento, incentivando o estudo de novas solues corporativas
e adotando estratgias para prover melhor organizao e controle de todo o seu sistema de
informao, contribuindo ainda para dar amplo suporte s novas aplicaes que podero
ser adotadas ao longo do tempo.

Como sugesto para novos trabalhos, pode ser feita uma pesquisa sobre as
principais solues de mercado que utilizam ORDBMS cliente/servidor, a fim de ter uma
idia mais precisa sobre a real efetividade das aplicaes OO cliente/servidor existentes
para processamento de dados no-convencionais.

Para finalizar, deve-se ter conhecimento sobre quais componentes podero


ser considerados mais adequados para determinado tipo de aplicao cliente/servidor de
banco de dados. Apesar da arquitetura cliente/servidor oferecer independncia de
plataforma e sistema operacional para comunicao entre processos, o melhor conjunto de
recursos pode fazer a diferena em termos de desempenho e produtividade.

ABSTRACT
This research has for objective to present a boarding about database systems used in
client/server processing environments, describing its main components and the
technologies used for integration between databases and the applications. Based in this
analysis will be pointed the main aspects that had taken the client/server database systems
to become the main plataforms for data management and support to the new applications.

Referncias Bibliogrficas

DATE, C.J. Introduo a Sistemas de Bancos de Dados. 9. ed. Rio de Janeiro: Editora
Campus, 1990.
DAVIS, Clodoveu; CMARA, Gilberto. Fundamentos de Geoprocessamento
Arquitetura de Sistemas de Informao Geogrfica. 04 Junho 2001. Disponvel em:
<http://www.dpi.inpe.br/gilberto/livro/introd/cap3-arquitetura.pdf> Acesso em 30 de julho
de 2001
DESCARTES, Alligator: Programming the Perl DBI, 1 Ed, 2000.
Disponvel em: <http://www.oreilly.com/catalog/perldbi/chapter/ch04.html>
Acesso em 07 de maio de 2001
FREEMAN, Miller. Sybase SQL Server 11. DBMS and Internet Systems, 1996.
Disponvel em: <http://www.dbmsmag.com/9611d54.html>
Acesso em 26 de junho de 2001
HACKATHORN, Richard D. Conectividade de Bancos de Dados Empresariais. Rio de
Janeiro: Infobook, 1993.
HAMILTON, Graham; CATTELI, Rick. JDBC A Java SQL API. Sun Microsystems
Inc. 1997. Disponvel em:
< ftp://ftp.java.sun.com/pub/jdbc/953287-12/jdbc-spec-0120.pdf> Arquivo capturado em
13 de junho de 2001
KROENKE, David M. Banco de Dados: Fundamentos, Projeto e Implementao. 6.
Ed. Rio de Janeiro: LTC, 1999.
MELO, Rubens N.; SILVA, Sidney D.; TANAKA, Asterio K. Banco de Dados em
Aplicaes Cliente/Servidor. Rio de Janeiro: Infobook, 1997.
PRADO, Juano A. Nunez del. Acessando SQL Server com Visual Basic 5. Santa
Catarina: Advanced Editora, 1998.
RENAUD, Paul E. Introduo aos Sistemas Cliente/Servidor: Guia Prtico para
Profissionais de Sistemas. Rio de Janeiro: Infobook, 1994.
RUDRARAJU, Pandu. Borland Database Engine and IDAPI - A Technology
Overview. Borland Software Corporation, 1995. Disponvel em:
<http://www.borland.com/bde/papers/idapi/> Acesso em 18 de junho de 2001

SALEMI, Joe. Guia para Banco de Dados Cliente/Servidor. 2. ed. Rio de Janeiro:
Infobook, 1995.
SILBERSCHATZ. Abrahan; KORTH, Henry F. e SUDARSHAN, S. Sistema de Banco
de Dados. 3. ed. So Paulo: Makron Books, 1999.
SOUKUP, Ron. Desvendando o SQL Server 7.0. Rio de Janeiro: Campus, 1999.
VASUDEVAN, Alavoor. Database-SQL-RDBMS HOW-TO - document for Linux
(PostgreSQL Object Relational Database System). v40.0, 09 dez. 2000. Disponvel em:
<http://www.cybersite.com.au/HOWTO/PostgreSQL-HOWTO.html> Acesso em 05 de
junho de 2001.

Você também pode gostar