Buscar

aula 2 - key

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

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

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ê viu 3, do total de 44 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

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

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ê viu 6, do total de 44 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

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

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ê viu 9, do total de 44 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

Prévia do material em texto

IF64A-Banco de Dados 1 

pbugatti@utfpr.edu.br
Prof. Dr. Pedro Henrique Bugatti
Tópicos da aula
!
! Evolução dos Sistemas de Informação
!
! Conceitos Básicos
!
! SGBDs
�2
Evolução dos Sistemas de Informação
!
!
! Sistemas de Informação baseados em 
gerenciamento de arquivos
! programas e arquivos orientados a cada unidade 
organizacional 
! rotinas específicas para tarefas específicas
! dados armazenados em disco, usando uma 
determinada estrutura de dados
�3
Aplicações
Arquivo 1
Arquivo 2
Arquivo 3
Dados
Aplicações
Arquivo 1
Arquivo 2
Arquivo 3
Dados
PROBLEMA?????
Aplicações
Arquivo 1
Arquivo 2
Arquivo 3
Dados
• Definiam-se novas estruturas de dados e 
programas por cada aplicação.
!
• Os mesmos dados são armazenados em arquivos 
diferentes.
!
• Dados são atualizados independentemente o que 
leva a incoerências.
Problemas dos Sistemas de Arquivos 
Tradicionais
�7
!
! 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
�8
!
! Redundância
! Arquivos e aplicações criados e mantidos por 
diferentes programadores → arquivos com formatos 
diferentes e programas escritos em diversas 
linguagens de programação.
! Informação repetida em diversos lugares (arquivos).
!
! Inconsistência
! Decorrência da redundância.
! Várias cópias dos dados poderão divergir ao longo do 
tempo.
�9
�10
Consistência de Dados
!
!
Dados em estado inconsistente 
!
 
!
 informações incorretas ou contraditórias são 
fornecidas aos usuários
�11
Consistência de Dados
!
! Consistência é “estado ou caráter do que é 
coerente, do que tem solidez, veracidade, 
credibilidade, estabilidade, realidade”.
!
!
! Consistência: se determinada informação é 
replicada (redundância), seu valor é sempre o 
mesmo
�12
SIs baseados em arquivos 
!
! Problemas? 
! Redundância e inconsistência de dados 
�13
! Dificuldade de acesso aos dados
! Isolamento de dados
! Anomalias no acesso concorrente
! Segurança
Problemas dos Sistemas de Arquivos 
Tradicionais
�14
! Dificuldade no acesso aos dados
! Necessidade de construir programas para obter qualquer informação solicitada.
!
! EXEMPLO:
Uma empresa precisa dos nomes de todos os clientes que fazem aniversário no mês de fevereiro, mas esta solicitação não foi prevista no projeto do sistema → existe somente uma aplicação 
para gerar a relação de todos os clientes da empresa.
 Alternativas:
 1) separar manualmente da lista de todos os clientes aqueles que necessita
 2) requisitar um programador para escrever o programa necessário.
 
Ambas alternativas são insatisfatórias.
!
 ...Mais tarde a empresa precisa saber os clientes que têm saldo negativo.
Problemas dos Sistemas de Arquivos 
Tradicionais
�15
!
!
! Isolamento dos dados
! Dados dispersos em vários arquivos e arquivos em 
diferentes formatos → difícil escrever novas 
aplicações para recuperação apropriada dos dados.
Problemas dos Sistemas de Arquivos 
Tradicionais
�16
! Múltiplos usuários
! Atualizações concorrentes podem resultar em inconsistências.
!
! EXEMPLO
! Conta corrente com saldo = R$500,00
!
! Dois clientes debitam da conta A simultaneamente ($50 e $100, respectivamente)
!
! Na execução dos programas, ambos lêem o saldo antigo, retiram, cada um seu valor correspondente, sendo o resultado armazenado.
!
! Dependendo de qual deles registre seu resultado primeiro, o saldo da conta A será $450 ou $400, ao invés do valor correto de $350.
Problemas dos Sistemas de Arquivos 
Tradicionais
�17
! Segurança
! Definir autorizações de acesso a diferentes usuários. 
!
! Integridade
! Valores dos dados armazenados devem satisfazer a 
certas restrições para manutenção da consistência.
!
! O valor da nota final de um aluno deve estar entre 0 e 10. 
Os programadores determinam o cumprimento desta 
restrição através da adição de código apropriado aos vários 
programas aplicativos.
!
! Entretanto, quando aparecem novas restrições, é difícil 
alterar todos os programas para incrementá-las. O 
problema é ampliado quando as restrições atingem 
diversos itens de dados em diferentes arquivos.
EXEMPLO
Problemas dos Sistemas de Arquivos 
Tradicionais
�18
! Atomicidade
! Algumas operações devem ser feitas de forma única, 
atômica, a fim de assegurar a integridade e 
consistência dos dados.
!
! um programa para transferir R$50,00 da conta A para uma 
conta B. Se ocorrer falha no sistema durante sua execução, 
é possível que os 50 reais sejam debitados da conta A sem 
serem creditados na conta B, criando um estado 
inconsistente no banco de dados.
!
! É essencial para a consistência do banco de dados que 
ambos, débito e crédito ocorram, ou nenhum deles seja 
efetuado. Isto é, a transferência de fundos deve ser uma 
operação atômica – deve ocorrer por completo, ou não 
ocorrer.
EXEMPLO
Além disso....
�19
! Sistemas de Arquivos → Aplicações utilizam 
dados gravados em disco usando ESTRUTURA 
DE DADOS
!
! Acesso requer conhecimento destas estruturas → 
DEPENDÊNCIA DE DADOS
Dependência de Dados
�20
!
! Vários programas compartilhando os mesmos 
dados → todos devem conhecer e manipular as 
mesmas estruturas
!
! E se houver uma alteração na estrutura de 
dados?
Independência de Dados
�21
!
! Como tornar os programas INDEPENDENTES da 
estrutura de dados?
Independência de Dados
�22
SGBD
�23
!
! Sistema de Gerenciamento de Bases de Dados
!
! Conjunto de Dados
! Base (banco) de dados
!
!
! Conjunto de programas para acesso e manipulação 
dos dados
SGBD
�24
!
! Sistema de propósito geral
! Armazenar grandes volumes de dados
! Permitir busca e atualização dos dados
! Eficiência
!
! Manutenção de um conjunto lógico e organizado 
de dados
! Completamente autônomo em relação às aplicações
Esquema - Definição 
da base de dados 
Instância – 
Base de dados 
SGBD
Aplicação Aplicação Aplicação
Instâncias e Esquemas
�26
!
!
! Esquema → projeto geral do BD mudados com 
pouca freqüência.
!
!
! Instância → conjunto de informações contidas 
em determinado BD em um dado momento.
Regras para que um sistema de manipulação 
de dados seja um SGBD
�27
!
! Descrição auto-contida da natureza do banco de dados (metadados) – conter dados, suas descrições, relacionamentos e formas de acesso.
!
! Independência dos Dados – aplicações imunes a mudanças na estrutura de armazenamento e à estratégia de acesso a dados.
!
! Abstração dos Dados – usuário não precisa saber detalhes sobre armazenamento real.
!
! Suporte a múltiplas visões dos dados – formas diferentes de ver os dados de acordo com necessidade dos usuários.
!
! Transações – gerenciar integridade sem precisar de aplicativos.
!
! Controle automático de acesso – vários usuários, travamento eficiente.
Características de um SGBD
�28
!
! Controle de Redundâncias – informações armazenadas em um único 
lugar.
!
! Compartilhamento de dados em um ambiente multi-usuário – 
garantir concorrência ao acesso dos dados, sem erro.
!
! Controle de Acesso – seleção de permissões por usuário.
!
! Interfaceamento – facilidade para recuperação de informação.
!
! Esquematização – mecanismos que possibilitem a compreensão do 
relacionamento entre as tabelas e sua manutenção.
!
! Controle de Integridade – aplicações e acessos não podem 
comprometer integridade dos dados.
!
! Backups – facilidade para recuperar falhas de hardware e software.
Porque usar SGBDs?
�29
!
! Vantagens
! INDEPENDÊNCIA DE DADOS
! CONSISTÊNCIA DE DADOS
! Acesso compartilhado (multiusuário e concorrente) à 
informação 
! Segurança
! Controle de armazenamento, com estruturas para 
processamento eficiente de operações
! Backup e recuperação de falhas
! Múltiplas interfaces com os usuários
! Definição e manutenção de restrições de integridade
Quando usar um SGBD?
�30
!
! Vale a pena o investimento inicial em hardware, software e treinamento?
!
! Os dados e relacionamentos são inerentemente simples ou estáticos?
!
! Há concorrência no acesso aos dados?
!
! Segurança, recuperação e integridade dos dados compensam o overhead do banco?
! Aplicações de tempo real
!
! Os dados são compartilhados entre várias aplicações?
Quando não usar um SGBD?
�31
!
! Não é necessário
! Se o banco de dados e as aplicações são simples, 
bem definidas e não sujeitas a atualizações
! Se existem restrições de tempo (por exemplo, 
sistemas de tempo-real) que não podem estar 
sujeitas ao overhead do SGBD
! Acesso de múltiplos usuários não é necessário
!
! Não é suficiente
! Se as aplicações exigem operações especiais não 
suportadas pelo SGBD
Componentes de um SGBD
! Os componentes funcionais do SGBD: 
! componentes de processamento de consultas 
! componentes de gerenciamento de 
armazenamento
�32
Dados e
Metadados
Processador de 
Consultas
Gerenciador de 
Armazenamento
SGBD
Banco de Dados
Linguagem de Definição de Dados (DDL)
�33
!
! Data-definition language (DDL)
! conjunto de comandos para definição do esquema da 
base de dados 
!
! Especificação do esquema de dados
!
! resultado da compilação de instruções DDL → 
! conjunto de tabelas que constituem o dicionário de 
dados, diretório de dados ou catálogo de dados
!
! dicionário de dados: arquivo de metadados (dados a 
respeito de dados)
Linguagem de Definição de Dados (DDL)
�34
!
!
!
!
 
 create table
 
 alter table
 
 drop table
 
 create view, drop view
EXEMPLOS
Linguagem de Definição de Dados (DDL)
�35
!
Conceito Importante:
!
! Dicionário de Dados:
! Banco de dados do sistema
! Armazena descrição do esquema
! Armazena metadados
! Armazena restrições de segurança e integridade
! outras denominações: catálogo de dados, diretório 
de dados 
Linguagem de Manipulação de Dados (DML)
�36
!
! Data-manipulation language (DML)
! manipulação de dados:
! recuperação das informações armazenadas no BD - select
! inserção de novas informações no BD - insert
! remoção de informações do BD – delete
! modificação das informações do BD – update
!
! Objetivo: proporcionar interação humana eficiente 
com o sistema.
!
! DML viabiliza o acesso (manipulação) aos dados 
organizados por um modelo de dados apropriado.
Linguagem de Manipulação de Dados (DML)
�37
!
Dois tipos de DML:
!
! Procedural: exige especificação de quais dados são 
necessários, e como obtê-los
! Requer uma seqüência especifica de operações a serem 
executadas
! Exemplo: Álgebra Relacional
!
! Não-procedural (Declarativa): exige apenas a 
especificação de quais dados são necessários, e não 
de como obtê-los
! Exemplo: SQL
Gerenciador do Banco de Dados
�38
!
! BD grandes quantidades de espaço de 
armazenamento
!
! Dados transportados entre discos e memória 
principal, conforme a necessidade → Sistema de 
BD deve minimizar necessidade de 
movimentação
!
! Performance (tempo de resposta) depende da 
eficiência das estruturas de dados usadas e das 
operações entre elas.
Gerenciador do Banco de Dados
�39
!
! Responsabilidades do Gerenciador:
! Interação com o gerenciador de arquivos (tradução 
instruções DML para baixo nível)
! Garantia de integridade
! Garantia de segurança
! Recuperação e backup
! Controle de concorrência
Administrador do Banco de Dados
�40
! controle centralizado dos dados e dos 
programas que acessam os dados
!
! Responsável → administrador de dados
!
! Funções:
! Definição do esquema
! Definição da estrutura de dados e método de acesso
! Modificações da organização física do esquema
! Concessão de autorização para acesso aos dados
! Especificação de regras de integridade
Usuários do Banco de Dados
�41
!
! Programadores de aplicações → interagem com o sistema 
através de chamadas DML, envolvidas por programas escritos na linguagem hospedeira (por exemplo, C, C++, Java)
!
! Usuários ocasionais → sofisticados, que interagem sem 
escrever programas. Formulam suas solicitações ao BD através de linguagens de consultas.
!
! Usuários simples → interagem com o sistema através de 
programas de aplicação.
!
! Usuários especializados → escrevem aplicações 
especializadas de BD que não podem ser classificadas como aplicações tradicionais em processamento de dados - esquemas CAD, bases de conhecimento, sistemas especialistas, que armazenam dados com tipos complexos (gráficos e som, por exemplo)
Estrutura Geral do Sistema
�42
Exercícios
�43
1. Quais são as principais diferenças entre um sistema de 
processamento de arquivos e um SGBD?
!
2. Foram listadas algumas vantagens mais importantes de um sistema 
de banco de dados. Há alguma desvantagem?
!
3. Dê um exemplo (diferente do fornecido) de atomicidade
!
4. Explique e dê um exemplo de controle de redundância
!
5. Diferencie instância de esquema
!
6. Explique independência de dados
!
7. Quais as responsabilidades do Gerenciador do Banco de Dados? 
!
8. Diferencie DDL e DML
IF64A-Banco de Dados 1 

pbugatti@utfpr.edu.br
Prof. Dr. Pedro Henrique Bugatti

Outros materiais