1
Prof.: Bruno Siqueira da Silva
brunosiqueira@sb.iffarroupilha.edu.br
https://drive.google.com/folderview?id=
0B7gL4Hc30aticnZ4Zk9FUDNQMDg
Vocês já tem um e-mail da turma?
2
Banco de Dados I
Conceitos Básicos
• Automatização das funções;
• Sistemas isolados (SPA);
• Empresa hipotética Implementa gradativamente sistemas para:
Onde ficam os dados de produto?
• Diferentes programas, mesma informação;
3
Sistema de Processamento de Arquivos
Exemplo
• Inconsistência e redundância de dados
Controlada (Sistema) e Não Controlada (usuários)
• Dificuldades de acesso;
• Isolamento dos dados;
• Problemas de integridade;
• Anomalias no acesso concorrente;
• Problemas de segurança;
• Problemas de atomicidade.
• Solução encontrada: compartilhamento dos dados.
4
SPA - Desvantagens
• Redundância de dados
– 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.
5
SPA - Desvantagens
• Dificuldade de acesso
– Necessidade de construir programas para obter qualquer informação
solicitada.
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. Porém, 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 que necessita
2) requisitar um programador para escrever o programa necessário.
6
SPA - Desvantagens
Ambas alternativas são insatisfatórias.
...Mais tarde a empresa precisa saber os clientes que têm saldo negativo
Exemplo
• Falta de 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.
7
SPA - Desvantagens
• Problemas de 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.
8
SPA - Desvantagens
Exemplo
• Anomalias no acesso concorrente;
– Atualizações concorrentes podem resultar em inconsistências.
•Conta corrente com saldo = R$500,00
•Dois clientes debitam da conta A simultaneamente ($50 e $100,
respectivamente)
•Na execução dos programas, ambos leem 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.
9
SPA - Desvantagens
Exemplo
• Problemas de segurança;
– Definir autorizações de acesso a diferentes usuários
• Problemas de atomicidade.
– Algumas operações devem ser feitas de forma única, atômica, a fim de
assegurar a integridade e consistência dos dados
... exemplo
10
SPA - Desvantagens
♦ 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.
11
SPA - Desvantagens
Exemplo
12
Solução
Conjunto de dados integrados que atendem a um conjunto de sistemas
13
Banco de Dados
Consequências…
Compartilhamento de dados tem reflexos na estrutura do
software
Estrutura interna dos arquivos passa a ser mais complexa
Devem atender às necessidades dos diferentes sistemas
Controle de acesso
Sistema de gerenciamento de banco de dados – SGBD
VISÃO GERAL
•Área de grande importância na informática;
•Utilizado para armazenar e recuperar dados rapidamente;
Aplicações de banco de dados tradicionais
•Armazena informações textuais ou numéricas
Bancos de dados de multimídia
•Armazena imagens, clipes de áudio e streams de vídeo
digitalmente (facebook)
14
Banco de dados
Dados
•Tudo que podemos inferir ou coletar sobre determinada situação;
•Podem não transmitir significado;
•Podem ser úteis ou não
•Exemplo: quantidade de carteiras de uma sala, cor da parede, suas
dimensões, etc..
Informação
•Dados úteis que armazenamos em uma base de dados
•Transmitem significado
•Em BD, os termos são sinônimos (armazena-se apenas aquilo que é útil)
15
Dados X Informação
Informação é armazenada uma única vez.Informação é armazenada uma única vez.
16
Banco de dados
Conjunto de dados integrados que tem por
objetivo atender a uma comunidade de
usuários. (Heuser, 2009)
• Bancos: clientes, contas, empréstimos;
• Escolas: alunos, professores, cursos, turmas;
• Vendas: clientes, produtos, fornecedores;
• Transportes: reservas, informações de horários;
• Imobiliárias: aluguéis, compras e vendas de imóveis.
• More, more…
17
Aplicação de Banco de dados
• Local ou espaço a fim de armazenar/recuperar informações;
• Deve conter um nome representando o que ela armazena;
• Exemplo: Agenda pessoal
• bd_agenda(Nome, endereço, tipo de endereço(residencial,
comercial), telefone, nome da empresa, e-mail, etc…);
• Permite a centralização e relacionamento dos dados de
forma coerente;
18
E o que é uma base de dados?
• SBD: armazenamento e recuperação;
• Características principais:
1. Armazenar os dados;
2. Relacionar os dados armazenados;
3. Recuperá-los rapidamente.
• Hoje, SGBD: ferramenta muito mais completa em relação
aos SBD`s.
19
Sistemas Gerenciadores de Banco de
Dados - SGBD
 Permitir acesso concorrente (diversos acessos a base ao
mesmo tempo - web);
 Realizar o gerenciamento das transações (transação =
unidade lógica indivisível);
 Permitir criar e aplicar regras de segurança (logins, perfis
diferenciados);
 Permitir criar e aplicar regras que garantam a
integridade (valores predefinidos).
20
Principais características - SGBD
21
SPA x SGBD
SGBD é o software que incorpora as funções
de definição, recuperação e alteração de
dados em um banco de dados. (Heuser, 2009)
22
Exemplos de SGBD
 Administradores de BD (DBA): monitoram e
gerenciam todas as bases de dados criadas no SGBD
(backups, recover, jobs);
 Analistas de sistemas e programadores de
aplicações: modelam as BD e implementam-as no
SGBD escolhido. Desenvolvem a aplicação e a
conectam à base de dados do sistema.
 Usuários finais: pessoas que vão trabalhar com as
aplicações desenvolvidas. Para eles, o BD é
transparente.
23
Usuários de um BD
Usuários
Programadores
e Analistas
Admin de BD
 Como representamos os dados?
 O que é importante considerar no mod_dados?
25
Fases de desenvolvimento - BD
 Modelagem Conceitual:
 Modelo inicial sobre necessidades do usuário.
Preocupação com:
 Quais dados serão armazenados?
 Qual o relacionamento entre eles?
Importante:
 Entender o que o usuário final espera para armazenamento;
 Extração requisitos: entender objetivos, expectativas com
relação ao sistema;
 Modelo desta etapa: E-R ou DER;
26
Fases de desenvolvimento - BD
 Modelagem Lógica:
 Como os dados serão armazenados?
 Como irão se relacionar?
 Transformar o modelo conceitual mais próximo da
implementação;
 Modelo desta fase – RELACIONAL (verificar a
necessidade de normalização)
27
Fases de desenvolvimento - BD
 Implementação do Modelo Lógico:
 Criar a base de dados no SGBD escolhido;
 Linguagem de consulta estruturada – SQL;
28
Fases de desenvolvimento - BD
A fase de modelagem é a principal etapa no
desenvolvimento de uma base de dados. Por
isso é muito importante que se dedique tempo
e esforço no desenvolvimento de uma boa
modelagem da base de dados.
Angeloti, E. S. (2010, p.15)
 Esquema da base dados;
 Não deve ser alterado com frequencia;
 Compreende a descrição e relacionamento dos
dados armazenados;
 Utiliza uma linguagem textual ou gráfica;
 Explicita tipos de dados e suas restrições.
30
Modelo de dados
 Esquema da base dados;
 Não deve ser alterado com frequencia;
 Compreende a descrição e relacionamento dos
dados armazenados;
 Utiliza uma linguagem textual ou gráfica;
 Explicita tipos de dados e suas restrições.
31
Modelo de dados
EXEMPLO: imaginem que depois que a base de
dados (BD) foi implementada e a aplicação do
usuário foi desenvolvida, é preciso que uma das
tabelas da BD precise ser dividida em duas. A
aplicação que acessava apenas a tabela X, agora
tem que acessar as tabelas X e Y.
 Esquema da base dados;
 Não deve ser alterado com frequencia;
 Compreende a descrição e relacionamento
dos dados armazenados;
 Utiliza-se uma linguagem textual ou gráfica;
 Explicita tipos de dados e suas restrições.
32
Modelo de dados
 Podem ser basicamente de 2 tipos:
1. Modelo de dados conceitual – fornece uma visão
mais próxima do modo como os usuários visualizam os
dados;
2. Modelo de dados lógico – fornece uma visão mais
detalhada do modo como os dados estão armazenados
no computador
33
Modelo de dados
1. Cite 3 exemplos de situações que necessitem utilizar
uma base de dados diferente das já apresentadas.
2. Quais seriam os dados úteis a serem armazenados
nestas bases?
3. Qual a diferença entre uma base de dados e um
sistema de banco de dados?
4. Comente sobre as principais características de um
SGBD.
5. O que é um modelo de dados? Para que ele serve?
6. Por que a fase de modelagem dos dados é tão
importante no processo de desenvolvimento de um
sistema?
34
Atividades

Introdução à Banco de Dados

  • 1.
    1 Prof.: Bruno Siqueirada Silva brunosiqueira@sb.iffarroupilha.edu.br https://drive.google.com/folderview?id= 0B7gL4Hc30aticnZ4Zk9FUDNQMDg Vocês já tem um e-mail da turma?
  • 2.
    2 Banco de DadosI Conceitos Básicos
  • 3.
    • Automatização dasfunções; • Sistemas isolados (SPA); • Empresa hipotética Implementa gradativamente sistemas para: Onde ficam os dados de produto? • Diferentes programas, mesma informação; 3 Sistema de Processamento de Arquivos Exemplo
  • 4.
    • Inconsistência eredundância de dados Controlada (Sistema) e Não Controlada (usuários) • Dificuldades de acesso; • Isolamento dos dados; • Problemas de integridade; • Anomalias no acesso concorrente; • Problemas de segurança; • Problemas de atomicidade. • Solução encontrada: compartilhamento dos dados. 4 SPA - Desvantagens
  • 5.
    • Redundância dedados – 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. 5 SPA - Desvantagens
  • 6.
    • Dificuldade deacesso – Necessidade de construir programas para obter qualquer informação solicitada. 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. Porém, 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 que necessita 2) requisitar um programador para escrever o programa necessário. 6 SPA - Desvantagens Ambas alternativas são insatisfatórias. ...Mais tarde a empresa precisa saber os clientes que têm saldo negativo Exemplo
  • 7.
    • Falta deisolamento 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. 7 SPA - Desvantagens
  • 8.
    • Problemas deintegridade – 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. 8 SPA - Desvantagens Exemplo
  • 9.
    • Anomalias noacesso concorrente; – Atualizações concorrentes podem resultar em inconsistências. •Conta corrente com saldo = R$500,00 •Dois clientes debitam da conta A simultaneamente ($50 e $100, respectivamente) •Na execução dos programas, ambos leem 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. 9 SPA - Desvantagens Exemplo
  • 10.
    • Problemas desegurança; – Definir autorizações de acesso a diferentes usuários • Problemas de atomicidade. – Algumas operações devem ser feitas de forma única, atômica, a fim de assegurar a integridade e consistência dos dados ... exemplo 10 SPA - Desvantagens
  • 11.
    ♦ um programapara 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. 11 SPA - Desvantagens Exemplo
  • 12.
    12 Solução Conjunto de dadosintegrados que atendem a um conjunto de sistemas
  • 13.
    13 Banco de Dados Consequências… Compartilhamentode dados tem reflexos na estrutura do software Estrutura interna dos arquivos passa a ser mais complexa Devem atender às necessidades dos diferentes sistemas Controle de acesso Sistema de gerenciamento de banco de dados – SGBD
  • 14.
    VISÃO GERAL •Área degrande importância na informática; •Utilizado para armazenar e recuperar dados rapidamente; Aplicações de banco de dados tradicionais •Armazena informações textuais ou numéricas Bancos de dados de multimídia •Armazena imagens, clipes de áudio e streams de vídeo digitalmente (facebook) 14 Banco de dados
  • 15.
    Dados •Tudo que podemosinferir ou coletar sobre determinada situação; •Podem não transmitir significado; •Podem ser úteis ou não •Exemplo: quantidade de carteiras de uma sala, cor da parede, suas dimensões, etc.. Informação •Dados úteis que armazenamos em uma base de dados •Transmitem significado •Em BD, os termos são sinônimos (armazena-se apenas aquilo que é útil) 15 Dados X Informação
  • 16.
    Informação é armazenadauma única vez.Informação é armazenada uma única vez. 16 Banco de dados Conjunto de dados integrados que tem por objetivo atender a uma comunidade de usuários. (Heuser, 2009)
  • 17.
    • Bancos: clientes,contas, empréstimos; • Escolas: alunos, professores, cursos, turmas; • Vendas: clientes, produtos, fornecedores; • Transportes: reservas, informações de horários; • Imobiliárias: aluguéis, compras e vendas de imóveis. • More, more… 17 Aplicação de Banco de dados
  • 18.
    • Local ouespaço a fim de armazenar/recuperar informações; • Deve conter um nome representando o que ela armazena; • Exemplo: Agenda pessoal • bd_agenda(Nome, endereço, tipo de endereço(residencial, comercial), telefone, nome da empresa, e-mail, etc…); • Permite a centralização e relacionamento dos dados de forma coerente; 18 E o que é uma base de dados?
  • 19.
    • SBD: armazenamentoe recuperação; • Características principais: 1. Armazenar os dados; 2. Relacionar os dados armazenados; 3. Recuperá-los rapidamente. • Hoje, SGBD: ferramenta muito mais completa em relação aos SBD`s. 19 Sistemas Gerenciadores de Banco de Dados - SGBD
  • 20.
     Permitir acessoconcorrente (diversos acessos a base ao mesmo tempo - web);  Realizar o gerenciamento das transações (transação = unidade lógica indivisível);  Permitir criar e aplicar regras de segurança (logins, perfis diferenciados);  Permitir criar e aplicar regras que garantam a integridade (valores predefinidos). 20 Principais características - SGBD
  • 21.
    21 SPA x SGBD SGBDé o software que incorpora as funções de definição, recuperação e alteração de dados em um banco de dados. (Heuser, 2009)
  • 22.
  • 23.
     Administradores deBD (DBA): monitoram e gerenciam todas as bases de dados criadas no SGBD (backups, recover, jobs);  Analistas de sistemas e programadores de aplicações: modelam as BD e implementam-as no SGBD escolhido. Desenvolvem a aplicação e a conectam à base de dados do sistema.  Usuários finais: pessoas que vão trabalhar com as aplicações desenvolvidas. Para eles, o BD é transparente. 23 Usuários de um BD
  • 24.
  • 25.
     Como representamosos dados?  O que é importante considerar no mod_dados? 25 Fases de desenvolvimento - BD
  • 26.
     Modelagem Conceitual: Modelo inicial sobre necessidades do usuário. Preocupação com:  Quais dados serão armazenados?  Qual o relacionamento entre eles? Importante:  Entender o que o usuário final espera para armazenamento;  Extração requisitos: entender objetivos, expectativas com relação ao sistema;  Modelo desta etapa: E-R ou DER; 26 Fases de desenvolvimento - BD
  • 27.
     Modelagem Lógica: Como os dados serão armazenados?  Como irão se relacionar?  Transformar o modelo conceitual mais próximo da implementação;  Modelo desta fase – RELACIONAL (verificar a necessidade de normalização) 27 Fases de desenvolvimento - BD
  • 28.
     Implementação doModelo Lógico:  Criar a base de dados no SGBD escolhido;  Linguagem de consulta estruturada – SQL; 28 Fases de desenvolvimento - BD
  • 29.
    A fase demodelagem é a principal etapa no desenvolvimento de uma base de dados. Por isso é muito importante que se dedique tempo e esforço no desenvolvimento de uma boa modelagem da base de dados. Angeloti, E. S. (2010, p.15)
  • 30.
     Esquema dabase dados;  Não deve ser alterado com frequencia;  Compreende a descrição e relacionamento dos dados armazenados;  Utiliza uma linguagem textual ou gráfica;  Explicita tipos de dados e suas restrições. 30 Modelo de dados
  • 31.
     Esquema dabase dados;  Não deve ser alterado com frequencia;  Compreende a descrição e relacionamento dos dados armazenados;  Utiliza uma linguagem textual ou gráfica;  Explicita tipos de dados e suas restrições. 31 Modelo de dados EXEMPLO: imaginem que depois que a base de dados (BD) foi implementada e a aplicação do usuário foi desenvolvida, é preciso que uma das tabelas da BD precise ser dividida em duas. A aplicação que acessava apenas a tabela X, agora tem que acessar as tabelas X e Y.
  • 32.
     Esquema dabase dados;  Não deve ser alterado com frequencia;  Compreende a descrição e relacionamento dos dados armazenados;  Utiliza-se uma linguagem textual ou gráfica;  Explicita tipos de dados e suas restrições. 32 Modelo de dados
  • 33.
     Podem serbasicamente de 2 tipos: 1. Modelo de dados conceitual – fornece uma visão mais próxima do modo como os usuários visualizam os dados; 2. Modelo de dados lógico – fornece uma visão mais detalhada do modo como os dados estão armazenados no computador 33 Modelo de dados
  • 34.
    1. Cite 3exemplos de situações que necessitem utilizar uma base de dados diferente das já apresentadas. 2. Quais seriam os dados úteis a serem armazenados nestas bases? 3. Qual a diferença entre uma base de dados e um sistema de banco de dados? 4. Comente sobre as principais características de um SGBD. 5. O que é um modelo de dados? Para que ele serve? 6. Por que a fase de modelagem dos dados é tão importante no processo de desenvolvimento de um sistema? 34 Atividades

Notas do Editor

  • #33 O Modelo de dados compreende.... A DESCRIÇÃO E RELACIONAMENTO...