Escolar Documentos
Profissional Documentos
Cultura Documentos
Banco de Dados e
Modelagem de Dados
tema1
Banco de Dados
e Sistema
Gerenciador de
Banco de Dados
Neste tema vamos conhecer os conceitos ini-
ciais sobre banco de dados, sua importância
e as principais características dos Sistemas
Gerenciadores de Banco de Dados (SGBD),
analisando os elementos que compõem a sua
arquitetura e como eles auxiliam os desenvol-
vedores de softwares.
LEITURA COMPLEMENTAR
D DATE, Christopher J. Introdução a Sistemas de Banco de Dados.
8. ed. Rio de Janeiro: Campus, 2004.
PARA REFLETIR
Nesta seção citamos Atomicidade como uma das características que
deve ser garantida pelos programadores no desenvolvimento de apli-
cações que não utilizam SGBD. Reúna-se com seus colegas para dis-
cutir a importância deste conceito e o porquê dele receber este nome.
23
Tema 1
Banco de Dados e Sistema
Gerenciador de Banco de Dados
1.2
SISTEMA GERENCIADOR DE BANCO DE DADOS
Arquitetura de um SGDB
A fim de disponibilizar as funções citadas anteriormente, foi
proposta uma arquitetura básica de implementação dos SGBDs. Em-
bora esta arquitetura não seja seguida de forma rigorosa por todos os
fabricantes, ela se faz presente na maioria dos SGBDs atuais.
Catálogo
Mapeamento
Ao implementar a arquitetura três-esquemas, o SGBD é respon-
sável por fazer o mapeamento entre os níveis. Quando um usuário faz
uma solicitação de recuperação de informação, o SGBD realiza o mape-
amento do nível externo para o nível conceitual e depois do nível con-
ceitual para o nível físico onde realmente encontram-se as informações,
tudo isso utilizando as informações armazenadas do catálogo.
Independência de Dados
Segundo Elmasri e Navathe (2005, p. 23), independência de da-
dos é a capacidade de mudar a definição de um determinado nível sem
que ocorram alterações da estrutura no nível imediatamente superior.
LEITURA COMPLEMENTAR
D ELMASRI, Ramez; NAVATHE, Shamkant B. Sistemas de Banco de
Dados. 4. ed. São Paulo: Pearson Brasil, 2005.
O segundo capítulo deste livro fala, entre outros tópicos, sobre a ar-
quitetura básica dos SGBDs. Apesar de já termos tratado sobre este
assunto, é interessante observar a abordagem do autor sobre este as-
sunto.
PARA REFLETIR
Vimos que o catálogo é importante para que o SGBD possa realizar os
mapeamentos necessários entre os níveis. Ou seja, toda vez que algu-
ma operação de manipulação de dados for realizada deve ser feito um
acesso ao catálogo para viabilizar os mapeamentos. Este acesso cons-
tante ao catálogo não poderia comprometer a velocidade de recupe-
ração das informações? Discuta com seus colegas sobre esta questão.
Lembre-se dos benefícios da arquitetura três-esquemas!
32
Banco de Dados I
1.3
ARQUITETURA DE APLICAÇÕES COM SISTEMAS
GERENCIADORES DE BANCO DE DADOS
Aplicações de Apoio
São aplicações que auxiliam os usuários, que possuem conhe-
cimento técnico, a estar manipulando as informações no banco de
dados. Geralmente são softwares disponibilizados pelos próprios fa-
bricantes dos SGBDs e permitem que os dados possam ser acessados
através de uma linguagem de acesso ao banco dados, como SQL. Na
34
Banco de Dados I
SQL Developer.
Atores
Interação Usuários-SGBD.
Arquitetura Centralizada
Esta arquitetura caracteriza-se pelos agrupamentos dos quatro
elementos e um único software. Isso era possível através de grandes
computadores chamados de mainframes, que possuíam um grande
poder de processamento e armazenamento, mas que custavam muito
para as organizações. Apesar termos um software com todos os ele-
mentos, esta arquitetura permitia o acesso por vários usuários através
do que chamamos de terminais “burros”. São equipamentos formados
por um monitor e teclado sem qualquer poder de processamento ou
armazenamento, cujo objetivo é apenas exibir informações proces-
sadas pelo mainframe como também enviar informações para serem
processadas. Mesmo ainda existindo em grandes organizações, ele
está sendo substituído por outros que veremos na sequência deste
tema. O principal motivo para a substituição está basicamente ligado
ao alto custo de manutenção dos mainframes e, principalmente, pelo
surgimento da Internet.
Arquitetura cliente/servidor.
LEITURA COMPLEMENTAR
PARA REFLETIR
Durante todo este conteúdo não citamos e momento algum qualquer
SGBDs. Junto com seus colegas, pesquise e identifique pelo menos
três SGBDs existentes no mercado destacando os líderes de mercado
e empresas que fazem uso destes SGBDs.
44
Banco de Dados I
1.4
PRINCIPAIS COMPONENTES DE UM SGBD
Modelo de Dados
No conteúdo 1.2 falamos sobre a arquitetura três - camadas e
vimos que nesta arquitetura temos um nível que oferece uma visão
abstraída dos dados armazenados no nível físico (nível conceitual).
Esta visão oferece uma representação mais simples dos dados arma-
zenados, garantindo o tratamento eficiente das informações do banco
de dados. Chamamos esta representação de Modelo de Dados.
Tabela de Alunos
ALUNOS
Gerenciamento de Transação
Durante a utilização de um SGBD são processadas diversas
transações. Uma transação é solicitada pelo usuário final e representa
um conjunto de operações de manipulação de dados que serão exe-
cutadas no SGBD. Estas operações de manipulação de dados, quan-
do executadas isoladamente, não possuem significado, mas quando
combinada com outras operações, formam uma transação do ponto
de vista do usuário final. Vamos utilizar novamente o exemplo da
transferência entre contas correntes para explicar melhor o conceito
de transação. É responsabilidade do programador escrever o código
para realizar a transação, que ficaria, de uma forma simplificada escri-
ta, em portugol, desta forma:
48
Banco de Dados I
02 Leia(ContaOrigem, ContaDestino)
03 Leia(valor)
07 Senão
08 Início
09 DebitarSaldo(ContaOrigem,valor)
10 CreditarSaldo(ContaDestino,valor)
11 Fim
12 Transação Fim
1 Leia(ContaA,ContaB)
2 Leia(valor)
3 Saldo<-ObterSaldoConta(contaA)
4 Leia(ContaA,ContaB)
5 Leia(valor)
6 Saldo<-ObterSaldoConta(contaA)
Escreva‘Não existe
saldo suficiente’
Senão
Inicio
DebitarSaldo(ContaA,valor)
CreditarSaldo(ContaB,valor)
Fim
8 Se valor > saldo então
Escreva‘Não existe
saldo suficiente’
Senão
Inicio
DebitarSaldo(ContaA,valor)
CreditarSaldo(ContaB,valor)
Fim
54
Banco de Dados I
1 Leia(ContaA,ContaB)
2 Leia(valor)
3 Saldo<-ObterSaldoConta(contaA)
Escreva‘Não existe
saldo suficiente’
Senão
Inicio
DebitarSaldo(ContaA,valor)
CreditarSaldo(ContaB,valor)
Fim
5 Leia(ContaA,ContaB)
6 Leia(valor)
7 Saldo<-ObterSaldoConta(contaA)
Escreva‘Não existe
saldo suficiente’
Senão
Inicio
DebitarSaldo(ContaA,valor)
CreditarSaldo(ContaB,valor)
Fim
LEITURA COMPLEMENTAR
Uma transação para ser executada ela passa por várias etapas, desde
a inicialização até a finalização com sucesso ou não. No AVA faça a
leitura do material “Estados de uma transação” para completar seus
conhecimentos sobre o módulo de gerenciamento de transações.
PARA REFLETIR
Vimos que a execução intercalada das transações reduz o tempo mé-
dio de resposta em um ambiente com vários usuários conectados.
Além deste benefício, esta estratégia otimiza o uso da CPU durante a
execução das diversas transações. Junto com seus colegas, pesquise
como a execução intercalada das transações garante uma utilização
mais eficiente da CPU.
RESUMO
Neste tema fizemos uma introdução sobre banco de dados demons-
trando alguns conceitos e como podemos utilizá-lo em ambientes
computacionais. Também vimos o conceito de Sistemas Gerenciado-
res de Banco de Dados (SGDB) e a sua importância para os softwares
que necessitam trabalhar com informações armazenadas nos bancos
de dados. No final conhecemos os profissionais que fazem uso direta
ou indiretamente dos SGBDs e os diversos tipos de softwares que os
utilizam, verificando as diversas arquiteturas que organizam a comu-
nicação entre os softwares e os SGBDs.