Introdução à Banco de Dados
-
Upload
bruno-siqueira -
Category
Technology
-
view
265 -
download
0
description
Transcript of Introdução à Banco de Dados
![Page 1: Introdução à Banco de Dados](https://reader033.fdocumentos.com/reader033/viewer/2022052316/559897d61a28ab534b8b4732/html5/thumbnails/1.jpg)
1
Prof.: Bruno Siqueira da Silva
https://drive.google.com/folderview?id=0B7gL4Hc30aticnZ4Zk9FUDNQMDg
Vocês já tem um e-mail da turma?
![Page 2: Introdução à Banco de Dados](https://reader033.fdocumentos.com/reader033/viewer/2022052316/559897d61a28ab534b8b4732/html5/thumbnails/2.jpg)
2
Banco de Dados I
Conceitos Básicos
![Page 3: Introdução à Banco de Dados](https://reader033.fdocumentos.com/reader033/viewer/2022052316/559897d61a28ab534b8b4732/html5/thumbnails/3.jpg)
• 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
![Page 4: Introdução à Banco de Dados](https://reader033.fdocumentos.com/reader033/viewer/2022052316/559897d61a28ab534b8b4732/html5/thumbnails/4.jpg)
• Inconsistência e redundância de dadosControlada (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
![Page 5: Introdução à Banco de Dados](https://reader033.fdocumentos.com/reader033/viewer/2022052316/559897d61a28ab534b8b4732/html5/thumbnails/5.jpg)
• 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
![Page 6: Introdução à Banco de Dados](https://reader033.fdocumentos.com/reader033/viewer/2022052316/559897d61a28ab534b8b4732/html5/thumbnails/6.jpg)
• 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 necessita2) 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
![Page 7: Introdução à Banco de Dados](https://reader033.fdocumentos.com/reader033/viewer/2022052316/559897d61a28ab534b8b4732/html5/thumbnails/7.jpg)
• 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
![Page 8: Introdução à Banco de Dados](https://reader033.fdocumentos.com/reader033/viewer/2022052316/559897d61a28ab534b8b4732/html5/thumbnails/8.jpg)
• 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
![Page 9: Introdução à Banco de Dados](https://reader033.fdocumentos.com/reader033/viewer/2022052316/559897d61a28ab534b8b4732/html5/thumbnails/9.jpg)
• 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
![Page 10: Introdução à Banco de Dados](https://reader033.fdocumentos.com/reader033/viewer/2022052316/559897d61a28ab534b8b4732/html5/thumbnails/10.jpg)
• 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
![Page 11: Introdução à Banco de Dados](https://reader033.fdocumentos.com/reader033/viewer/2022052316/559897d61a28ab534b8b4732/html5/thumbnails/11.jpg)
♦ 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
![Page 12: Introdução à Banco de Dados](https://reader033.fdocumentos.com/reader033/viewer/2022052316/559897d61a28ab534b8b4732/html5/thumbnails/12.jpg)
12
Solução
Conjunto de dados integrados que atendem a um conjunto de sistemas
![Page 13: Introdução à Banco de Dados](https://reader033.fdocumentos.com/reader033/viewer/2022052316/559897d61a28ab534b8b4732/html5/thumbnails/13.jpg)
13
Banco de DadosConsequências…
Compartilhamento de dados tem reflexos na estrutura do software
Estrutura interna dos arquivos passa a ser mais complexaDevem atender às necessidades dos diferentes sistemasControle de acesso
Sistema de gerenciamento de banco de dados – SGBD
![Page 14: Introdução à Banco de Dados](https://reader033.fdocumentos.com/reader033/viewer/2022052316/559897d61a28ab534b8b4732/html5/thumbnails/14.jpg)
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
![Page 15: Introdução à Banco de Dados](https://reader033.fdocumentos.com/reader033/viewer/2022052316/559897d61a28ab534b8b4732/html5/thumbnails/15.jpg)
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
![Page 16: Introdução à Banco de Dados](https://reader033.fdocumentos.com/reader033/viewer/2022052316/559897d61a28ab534b8b4732/html5/thumbnails/16.jpg)
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)
![Page 17: Introdução à Banco de Dados](https://reader033.fdocumentos.com/reader033/viewer/2022052316/559897d61a28ab534b8b4732/html5/thumbnails/17.jpg)
• 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
![Page 18: Introdução à Banco de Dados](https://reader033.fdocumentos.com/reader033/viewer/2022052316/559897d61a28ab534b8b4732/html5/thumbnails/18.jpg)
• 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?
![Page 19: Introdução à Banco de Dados](https://reader033.fdocumentos.com/reader033/viewer/2022052316/559897d61a28ab534b8b4732/html5/thumbnails/19.jpg)
• 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
![Page 20: Introdução à Banco de Dados](https://reader033.fdocumentos.com/reader033/viewer/2022052316/559897d61a28ab534b8b4732/html5/thumbnails/20.jpg)
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
![Page 21: Introdução à Banco de Dados](https://reader033.fdocumentos.com/reader033/viewer/2022052316/559897d61a28ab534b8b4732/html5/thumbnails/21.jpg)
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)
![Page 22: Introdução à Banco de Dados](https://reader033.fdocumentos.com/reader033/viewer/2022052316/559897d61a28ab534b8b4732/html5/thumbnails/22.jpg)
22
Exemplos de SGBD
![Page 23: Introdução à Banco de Dados](https://reader033.fdocumentos.com/reader033/viewer/2022052316/559897d61a28ab534b8b4732/html5/thumbnails/23.jpg)
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
![Page 24: Introdução à Banco de Dados](https://reader033.fdocumentos.com/reader033/viewer/2022052316/559897d61a28ab534b8b4732/html5/thumbnails/24.jpg)
Usuários
Programadores
e Analistas
Admin de BD
![Page 25: Introdução à Banco de Dados](https://reader033.fdocumentos.com/reader033/viewer/2022052316/559897d61a28ab534b8b4732/html5/thumbnails/25.jpg)
Como representamos os dados?
O que é importante considerar no mod_dados?
25
Fases de desenvolvimento - BD
![Page 26: Introdução à Banco de Dados](https://reader033.fdocumentos.com/reader033/viewer/2022052316/559897d61a28ab534b8b4732/html5/thumbnails/26.jpg)
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
![Page 27: Introdução à Banco de Dados](https://reader033.fdocumentos.com/reader033/viewer/2022052316/559897d61a28ab534b8b4732/html5/thumbnails/27.jpg)
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
![Page 28: Introdução à Banco de Dados](https://reader033.fdocumentos.com/reader033/viewer/2022052316/559897d61a28ab534b8b4732/html5/thumbnails/28.jpg)
Implementação do Modelo Lógico:
Criar a base de dados no SGBD escolhido;
Linguagem de consulta estruturada – SQL;
28
Fases de desenvolvimento - BD
![Page 29: Introdução à Banco de Dados](https://reader033.fdocumentos.com/reader033/viewer/2022052316/559897d61a28ab534b8b4732/html5/thumbnails/29.jpg)
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)
![Page 30: Introdução à Banco de Dados](https://reader033.fdocumentos.com/reader033/viewer/2022052316/559897d61a28ab534b8b4732/html5/thumbnails/30.jpg)
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
![Page 31: Introdução à Banco de Dados](https://reader033.fdocumentos.com/reader033/viewer/2022052316/559897d61a28ab534b8b4732/html5/thumbnails/31.jpg)
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.
![Page 32: Introdução à Banco de Dados](https://reader033.fdocumentos.com/reader033/viewer/2022052316/559897d61a28ab534b8b4732/html5/thumbnails/32.jpg)
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
![Page 33: Introdução à Banco de Dados](https://reader033.fdocumentos.com/reader033/viewer/2022052316/559897d61a28ab534b8b4732/html5/thumbnails/33.jpg)
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
![Page 34: Introdução à Banco de Dados](https://reader033.fdocumentos.com/reader033/viewer/2022052316/559897d61a28ab534b8b4732/html5/thumbnails/34.jpg)
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