Escolar Documentos
Profissional Documentos
Cultura Documentos
Banco de Dados
Banco de Dados
Joo Pessoa PB
2001
FICHA CATALOGRFICA
004.65
S586u
BANCA EXAMINADORA
__________________________________
Orientador
__________________________________
Examinador (1)
__________________________________
Examinador (2)
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
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
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
11
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.
12
1.2. JUSTIFICATIVA
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;
13
14
1.3. OBJETIVOS
1.3.1. GERAL
1.3.2. ESPECFICOS
15
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.
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.
19
Database
Management
System)
da
System
Development
Corporation.
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.
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
Considera-se orientao a objetos como uma terminologia usada para desenvolvimento de sistemas
com uso de recursos de modularidade e reusabilidade de componentes.
22
23
24
25
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;
26
27
28
29
30
31
32
3.1. DEFINIES
34
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
36
37
38
39
40
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.
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.
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
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.
43
44
45
46
47
48
49
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.
3.3.3.2. ndices
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.
52
3.3.3.5. Triggers
53
3.3.4.1. ODBC
54
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.
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
3.3.4.2. DBI
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
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.
57
3.3.4.3. JDBC
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
59
3.3.4.4. BDE
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.
60
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.
62
63
64
65
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;
66
67
68
69
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.
70
71
72
3.4.
PRINCIPAIS
SOLUES
DA
INDSTRIA
DE
BANCO
DE
DADOS
CLIENTE/SERVIDOR
3.4.1. Oracle
73
74
75
76
3.4.4. Informix
77
78
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.
79
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.
81
3.4.8. PostgreSQL
3.4.9. MySQL
82
83
3.4.10. GemStone
84
86
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.
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.
Internet
pode
ser
considerada
atualmente
como
ambiente
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.
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
90
91
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.
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
CAPTULO 5 - CONCLUSO
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.
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.