Buscar

Banco de Dados aula 2 11 02 2014

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 24 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 24 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 24 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

14/02/2014
1
Tecnologia em Gestão da 
Tecnologia da Informação
BANCO DE DADOS
Aula 2
Histórico
Mauro Kendi Noda
email : mk.noda@uol.com.br
Histórico
A princípio
� Sistemas de arquivos dos SO.
� Armazenamento e recuperação de informações.
Hoje com a necessidade de maior eficiência
� Sistema de Gerenciamento de Banco de Dados (SGBD).
14/02/2014
2
Problemas dos Sistemas de Arquivos 
Tradicionais
� Redundância
� Inconsistência
� Dificuldade no acesso a dados
� Isolamento dos dados
� Múltiplos usuários
� Segurança
� Integridade
� Atomicidade
Problemas dos Sistemas de Arquivos 
Tradicionais
� Redundância
� Arquivos criados e mantidos por diferentes programadores.
� Várias copias dos dados.
� Informação retida em diversos lugares (arquivos).
� Inconsistência
� Arquivos com formatos diferentes.
� Dados parcialmente atualizados.
� Isolamento dos dados
� Difícil escrever aplicações para recuperação, pois os dados 
podem estar em vários arquivos e formatos.
14/02/2014
3
Problemas dos Sistemas de Arquivos 
Tradicionais
� Dificuldade no acesso aos dados
� Necessidade de construir programas para obter qualquer 
informação.
Exemplo:
Caixa Econômica
� Bolsa Família
Alternativas:
1) Seleção manual.
2) Desenvolver um “programinha” específico.
Ambas alternativas são insatisfatórias.
Futuramente a empresa vai necessitar de outras informações.
Problemas dos Sistemas de Arquivos 
Tradicionais
� Múltiplos usuários
� Atualizações concorrentes
� Pode resultar em inconsistência.
Exemplo:
� Saldo = R$ 1000,00.
� Dois clientes debitam simultaneamente R$50 e R$ 200, da conta X.
� Ambos lêem o saldo antigo.
� O saldo final da conta será R$ 950 ou R$ 800 (depende de quem 
finalizar o saque por ultimo).
� O valor correto é R$ 750.
14/02/2014
4
Problemas dos Sistemas de Arquivos 
Tradicionais
� Segurança
� Autorização de acesso a diferentes usuários.
� Integridade
� Os dados armazenados devem obedecer restrições para 
manutenção da consistência.
Exemplo:
� Nota do aluno: entre 0 e 10.
� Restrição é implementada no software.
� Ao criar nova restrição
� Dificuldade em alterar todos os programas.
Problemas dos Sistemas de Arquivos 
Tradicionais
� Atomicidade
� Operações feitas de forma única, atômica, invariável, a fim de 
assegurar a integridade e consistência dos dados.
Exemplo:
� Ocorre um Falha ao transferir R$ 100,00 (conta A - > conta B).
� Os 100 reais são debitados da conta A, e não são creditados 
na conta B.
� Criando um estado inconsistente no banco de dados.
� Para manter a Consistência, deve-se garantir que débito e crédito 
ocorram, ou nenhum deles seja efetuado.
� A transferência deve ser uma operação atômica, deve ocorrer 
completamente, ou não ocorrer.
14/02/2014
5
Questões básicas
� Dado ?
� Metadados ?
� Campo ?
� Registro ?
� Tupla ?
� Arquivo ?
� Banco de Dados ?
� Sistema de Gerenciamento de Banco de Dados (SGBD) ?
� Informação ?
� Redundância ?
� Inconsistência ?
� Dados conflitantes.
� Integridade ?
� Garantia de Restrições.
� Atomicidade ?
SGBD
� Onde fica o SGBD ?
Usuário
Programa de 
aplicação
SGBD
SO
arquivos
14/02/2014
6
SGBD
� Módulo (conjunto de programas) responsável pelo gerenciamento 
de uma base de dados.
� Retira da aplicação cliente a responsabilidade de gerenciar o 
acesso, manipulação e organização dos dados.
� Fornece a interface entre dados de baixo nível armazenados e um 
banco e os programas aplicativos.
Gerenciador do Banco de Dados
� Responsabilidades do Gerenciador:
� Interação com o gerenciador de arquivos
� Tradução dos comandos de alto nível para baixo nível.
� Garantia de integridade.
� Garantia de segurança.
� Recuperação e backup.
� Controle de concorrência.
14/02/2014
7
SGBD
Um sistema de manipulação de dados é um SGBD, quando permite:
� Auto-contenção – conter dados, suas descrições, relacionamentos 
e formas de acesso.
� Independência dos Dados – aplicações independentes a mudanças 
na estrutura de armazenamento.
� Abstração dos Dados – usuário não precisa saber detalhes sobre 
armazenamento real.
� Visões – formas diferentes de ver os dados para cada usuário. É 
um subconjunto virtual derivado de dados armazenados.
SGBD
Um sistema de manipulação de dados é um SGBD, quando permite:
� Multiusuários – vários usuários, controle de concorrência.
Ex: e-commerce, Processamento de Transações On-Line.
� Controle de Transações – auto gerenciar a integridade.
� Transação – composta por 1 ou mais acessos ao BD.
� Isolamento – sem interferência de outras transações.
� Atomicidade – ou todas as operações são executadas ou 
nenhuma.
14/02/2014
8
SGBD
Características de um SGBD
� Manipulação dos dados – pesquisa e atualização.
� Compartilhamento dos Dados – garantir concorrência ao acesso 
dos dados sem erro.
� Controle de Acesso
� Conta / Senha de usuário.
� Permissões de acesso a base de dados. Ex: Financeiro.
� Permissões de operações Consulta, atualização.
SGBD
Características de um SGBD
� Interfaces – Interface Gráfica de Usuário (GUI).
� Esquematização – Representar os relacionamentos entre os 
dados.
� Controle de Integridade – aplicações não podem comprometer 
integridade dos dados.
� Tipo de dado, tamanho, conteúdo do campo...
14/02/2014
9
SGBD
Características de um SGBD
� Backups – subsistema para recuperar falhas de hardware e 
software.
� Garantia de voltar ao estado que estava antes da execução da 
transação.
� Controle da Redundâncias
� Informações podem ser armazenadas em um único lugar.
� Redundância:
Dados duplicados
- Dificuldade de Atualização, Maior espaço de 
armazenamento, inconsistência)
SGBD
Características de um SGBD
� Indexação – estrutura de dados responsável por aumentar a 
velocidade de recuperação de dados.
� Estrutura de Dados Árvore.
� Estrutura de Dados Hash.
� Buffering – parte dos dados temporariamente na memória 
principal.
14/02/2014
10
Sistema de Arquivo x SGBD
Arquivos SGBD Vantagens do SGBD
Definição dos dados é 
parte do código de 
programas de 
aplicação
Armazena Dados e 
Metadados
Eliminação de 
redundâncias
Dependência entre 
aplicação e dados
Independência entre 
aplicação e dados
Eliminação de 
redundâncias e 
facilidade de 
manutenção
Representação de 
dados em nível físico
Representação 
conceitual através de 
dados e programas
Facilidade de 
manutenção
Cada visão é 
implementada por 
módulos específicos
Permite múltiplas
visões
Facilidade de consultas
Arquitetura do BD
Nível Externo
(esquemas externos): 
descreve apenas uma 
parte do BD de 
interesse de um 
grupo de usuários.
Nível Conceitual
e Lógico : quais dados 
são armazenados e 
quais os 
relacionamentos.
Nível Interno (Físico): 
descreve como os 
dados são 
armazenados 
fisicamente.
Visão 1 Visão 2 Visão n
Esquema 
Conceitual
Esquema 
Lógico
Esquema 
Interno
14/02/2014
11
Linguagem de BD
Linguagem de Definição de Dados (DDL)
� Data-Definition Language (DDL).
� Especificação do esquema de dados.
� Instruções DDL – definem um conjunto de tabelas que constituem o 
dicionário de dados.
Exemplos :
create table
alter table
drop table
create view
drop view
Linguagem de BD
Linguagem de Manipulação de Dados (DML)
� Data-Manipulation Language (DML).
� DML viabiliza o acesso (manipulação) dos dados.
� Manipulação de dados:
� Recuperação
� Inserção
� Remoção
� Modificação
14/02/2014
12
Usuários do BD
Desenvolvedores e Analistas
� Interagem através de chamadas DML, embutidas nas linguagens 
hospedeiras (Cobol, VB, C, Delphi, Java, etc.) e API’s (Application 
ProgramInterface) para ter acesso ao BD.
� Uso de linguagens de alto nível (4 a. geração).
Ex: SQL.
Usuários ocasionais
� Formulam suas solicitações ao BD através de linguagens de 
consultas. Interagem sem escrever programas.
Usuários simples
� Interação com o BD através de aplicativos.
Ex: menus, perguntas e respostas.
Usuários especializados
� Aplicações sofisticadas.
Ex: CAD, sistemas especialistas.
Administrador de Banco de Dados 
(ABD/DBA)
� Identifica as informações relevantes
� Define esquema conceitual
� Define esquemas externos (com usuários)
� Define esquema interno e mapeamentos
� Especifica regras de integridade
� Define aspectos de segurança
� Preocupa-se com desempenho e ajustes
Recursos para:
� Carga, reorganização, gerenciamento do uso do BD, estatísticas, 
recuperação e back-up.
14/02/2014
13
DICIONÁRIO/DIRETÓRIO de DADOS (DDD)
Metadados
Contém:
� Esquemas externos, conceitual e interno
� Mapeamentos
� Regras
� Autorização de operações sobre arquivos
� Senhas
� Identificações e padronizações
� Duplicação de arquivos
� Meios de armazenamento (fita, disco)
� Rótulos de arquivos
� Espaço ocupado pelos arquivos
DICIONÁRIO/DIRETÓRIO de DADOS (DDD)
Metadados
� Tamanho de registros
� Números de registros
� Posição dos itens nos registros
� Tipos dos itens (carácter, decimal, binário)
� Representação (ASCII, HEX, ...)
� Método de acesso (chaves, acesso sequencial ou direto, índices, 
diretórios para endereçamento)
� Algoritmos de compressão/descompressão
14/02/2014
14
Estrutura Geral do Sistema
USUÁRIOS
Usuários Analistas e Usuários Administrador
Simples Programadores ocasionais do BD
Programas de 
aplicação Chamadasde rotinas Consultas
Esquema de 
Banco de Dados
SGBD
SO
(Gerenciador
de arquivos,
Memória,
Buffer..)
Memória
de disco
Pré-compilador da
manipulação de
dados (DML)
Código objeto
dos programas
de aplicação
Compilador da
Linguagem de
Definição de
dados (DDL)
Processador
de consultas
Gerenciador do
Banco de Dados
Arquivos
de dados Dicionário
de dados
Arquitetura Desktop
Componentes lógicos de uma aplicação:
Em um computador: Lógica de apresentação
Lógica de processamento
Regras de negócio
Gerência de dados
(Servidor de aplicação)
Lógica de 
armazenamento
14/02/2014
15
Arquitetura Cliente-Servidor
Servidor de arquivos:
Cliente:
Servidor:
Lógica de apresentação
Lógica de processamento
Regras de negócio
Gerência de dados
(Servidor de aplicação)
Lógica de 
armazenamento
Arquitetura Cliente-Servidor
Servidor de arquivos:
� Armazena dados
� Bloqueia registros
� Disco extra para 
cliente
� Não muito ocupado
� Muito tráfego na LAN
LAN
Cliente GORDO:
� Processa/varre tabelas
� Interfaces
� Gera consultas
� SGBD
� Integridade/segurança
Entrega arquivos inteiros
e estados dos bloqueios
Pede dados e 
bloqueios
dados
14/02/2014
16
Arquitetura Cliente-Servidor
Servidor de BD – Duas 
camadas (two-tier):
Cliente:
Servidor:
Lógica de apresentação
Lógica de processamento
Regras de negócio
Lógica de 
armazenamento
Lógica de processamento
Gerência de dados
Arquitetura Cliente-Servidor
Servidor de BD:
� Servidor de arquivos +
� Integridade
� Segurança
� Processam. de 
consultas
� Mais ocupado
� Menos tráfego na LAN
LAN
Cliente:
� Interfaces
� aplicações
� Gera consultas
Entrega apenas resultados
Pede dados
(consultas)
dados
14/02/2014
17
Arquitetura Cliente-Servidor
Evolução..
Cliente:
Servidor:
Lógica de apresentação
Lógica de processamento
Regras de negócio
Lógica de 
armazenamento
Lógica de processamento
Regras de negócio (stored
procedures)
Gerência de dados
Arquitetura Cliente-Servidor
Vantagens de stored procedures:
� Melhor performance (consultas pré-compiladas).
� Menor tráfego na rede (processamento se concentra mais no 
servidor).
� Melhor segurança (encapsulamento dos dados).
� Melhor integridade (mesma stored procedure para todos).
� Cliente mais magro, servidor mais gordo.
14/02/2014
18
Arquitetura Cliente-Servidor
Podem ocorrem alguns problemas:
� Escalabilidade:
� Mais clientes
� Mais aplicações em clientes
� Mais replicações das aplicações
� Problemas de propagação de alterações.
Arquitetura Cliente-Servidor
Três camadas (three-tier):
Cliente:
Servidor de aplicações:
Servidor BD:
Lógica de apresentação
Lógica de processamento
Regras de negócio
Lógica de 
armazenamento
Lógica de processamento
Regras de negócio (stored
procedures)
Gerência de dados
14/02/2014
19
Arquitetura Cliente-Servidor
LAN
Cliente magro:
� Interfaces
� Gera consultas
servidor de BD
Servidor de
aplicações
dados
Arquitetura Cliente-Servidor
Vantagens:
� Escalabilidade:
� Monitor de transações separado reduz carga do servidor 
BD diminuindo conexões.
� Distribuição das aplicações
� Flexibilidade de adaptação à evolução
� Mudança de componentes de middleware ou módulos de 
software num servidor de aplicações não afeta o servidor 
BD e outros servidores de aplicações.
14/02/2014
20
Arquitetura Cliente-Servidor
Desvantagens:
� Revisão da arquitetura de software: componente de 
apresentação separada do componente de processo.
� Quais dos padrões prevalecerá ?
Sistemas Distribuídos
REDE
Um BD ou vários BD’s 
locais ?dados
dados dados
14/02/2014
21
Sistemas Distribuídos
Necessidade:
� Descentralização dos dados
� Principio da localidade
� Integração / cooperação
� Entre os sistemas de uma única empresa, ou
entre empresas originalmente independentes;
� Fator estimulador:
� Redes / WWW
Sistemas Distribuídos
Infraestrutura:
� Conectividade
� Troca de pacotes de informação (ex: Internet – TCP/IP)
� Interoperabilidade
� Serviços padrões (ex: Internet – protocolos acima do 
TCIP/IP – transferência de arquivos (FTP), terminal 
virtual(telnet), correio eletrônico , WWW(http), etc.)
14/02/2014
22
Sistemas Distribuídos
Na Web:
� Muitas fontes
� Muitos protocolos (http, ftp, telnet, ODBC, JDBC, etc.)
� Muitos formatos (html, XML, tabelas, Word, etc.)
� Muitas formas de consulta (SQL, forms, palavras chave)
Aplicação
Java
Web Site
Empresa
Web Site
Público
Documentos BD relacional Web Site
Sistemas Distribuídos
Na Web:
Aplicação
Java
Web Site
Empresa
Web Site
Público
“Fonte Integrada”
14/02/2014
23
Sistemas Distribuídos
A idéia do Cliente-Servidor e Sistemas Distribuídos é
“dividir para conquistar”
Mas........
Sistemas Distribuídos
Problemas da distribuição:
� Onde colocar os diversos componentes ?
(performance)
� Como fazê-los interoperar ?
(padrões e performance)
� Como gerenciar a segurança ?
� Como gerenciar recursos humanos num ambiente distribuído ?
� Muitos custos escondidos.....
14/02/2014
24
Arquivos x SGBD
� Quais são as principais diferenças entre um sistema de 
processamento de arquivos e um SGBD ?
� Foram listadas algumas vantagens mais importantes de um 
sistema de banco de dados. Há alguma desvantagem ?
� Nunca podemos utilizar redundância em um BD ? Pesquise em 
algum caso é indicado utilizar redundância de dados.
47

Outros materiais