Introdução à Banco de Dados

Preview:

DESCRIPTION

Aula 1 - Introdução à Banco de Dados

Citation preview

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 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

• 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 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

• 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 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

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

Recommended