introdução à banco de dados

34
1 Prof.: Bruno Siqueira da Silva [email protected] https://drive.google.com/folderview?id= 0B7gL4Hc30aticnZ4Zk9FUDNQMDg Vocês já tem um e-mail da turma?

Upload: bruno-siqueira

Post on 05-Jul-2015

265 views

Category:

Technology


0 download

DESCRIPTION

Aula 1 - Introdução à Banco de Dados

TRANSCRIPT

Page 1: Introdução à Banco de Dados

1

Prof.: Bruno Siqueira da Silva

[email protected]

https://drive.google.com/folderview?id=0B7gL4Hc30aticnZ4Zk9FUDNQMDg

Vocês já tem um e-mail da turma?

Page 2: Introdução à Banco de Dados

2

Banco de Dados I

Conceitos Básicos

Page 3: Introdução à Banco de Dados

• 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

• 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

• 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

• 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

• 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

• 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

• 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

• 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

♦ 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

12

Solução

Conjunto de dados integrados que atendem a um conjunto de sistemas

Page 13: Introdução à Banco de Dados

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

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

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

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

• 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

• 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

• 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

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

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

22

Exemplos de SGBD

Page 23: Introdução à Banco de Dados

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

Usuários

Programadores

e Analistas

Admin de BD

Page 25: Introdução à Banco de Dados

Como representamos os dados?

O que é importante considerar no mod_dados?

25

Fases de desenvolvimento - BD

Page 26: Introdução à Banco de Dados

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

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

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

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

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

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

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

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

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