32
Introdução a Banco de Dados Ferramentas Computacionais FACIN/PUCRS

Introdução a Banco de Dados Ferramentas Computacionais FACIN/PUCRS

Embed Size (px)

Citation preview

Page 1: Introdução a Banco de Dados Ferramentas Computacionais FACIN/PUCRS

Introdução a Banco de Dados

Ferramentas ComputacionaisFACIN/PUCRS

Page 2: Introdução a Banco de Dados Ferramentas Computacionais FACIN/PUCRS

– A informação pode ser classificada, pesquisada e atualizada.

– Mais de uma informação pode ser organizada em um conjunto.

– Banco de Dados (BD) é o nome mais comum para um conjunto de informações organizadas (ou estruturadas).

– A organização do BD deve possibilitar a recuperação de informação de acordo com diferentes necessidades e não sofrer alterações ao longo do tempo.

– A organização deve ser baseada em um modelo pré-definido e que facilite a compreensão da estrutura dos dados (modelo de dados).

Material das professoras Beatriz Franciosi, Miriam Sayão, Adriana Beiler e Elisa Boff

O que é um Banco de Dados (BD)?

Page 3: Introdução a Banco de Dados Ferramentas Computacionais FACIN/PUCRS

Perguntas Norteadoras...

– Quais dados eu desejo armazenar, e qual é a melhor maneira de organizá-los? Isso determina as tabelas que você precisará.

– Quais as ações de entrada de dados? Isso determina os formulários de que você precisará.

– Quais informações eu quero saber? Essa resposta indica que relatórios e consultas você desejará.

Material da professora Beatriz Franciosi, baseado em Miriam Sayão, Adriana Beiler e Elisa Boff

Como planejar um Banco de Dados?

Page 4: Introdução a Banco de Dados Ferramentas Computacionais FACIN/PUCRS

Exemplo de Planejamento de BD

Pensando alto... E se eu quiser organizar minha biblioteca pessoal...

Quais dados eu desejo armazenar, e qual é a melhor maneira de organizá-los? Isso determina as tabelas que você precisará.

Quais as ações de entrada de dados? Isso determina os formulários de que você precisará.

Quais informações eu quero saber? Essa resposta indica que relatórios e consultas você desejará.

?

?

?

Page 5: Introdução a Banco de Dados Ferramentas Computacionais FACIN/PUCRS

• Conceitos Principais– entidades– atributos– relacionamentos– restrições sobre relacionamentos

• visão estática e estrutural dos dados

Material das professoras Beatriz Franciosi, Miriam Sayão, Adriana Beiler e Elisa Boff

Modelo de Entidade e Relacionamento

Page 6: Introdução a Banco de Dados Ferramentas Computacionais FACIN/PUCRS

• Entidades

– representam pessoas ou objetos que existem no mundo real, e sobre as quais queremos guardar informações

– exemplos: funcionário, obra, máquina, aluno– representação:

nome da entidade

Material das professoras Beatriz Franciosi, Miriam Sayão, Adriana Beiler e Elisa Boff

Modelo de Entidade e Relacionamento

Page 7: Introdução a Banco de Dados Ferramentas Computacionais FACIN/PUCRS

• Atributos

– representam características ou informações das entidades ou dos relacionamentos

– exemplos para entidades: • funcionário: nome, matrícula, data de admissão,

número da carteira profissional

• obra: responsável, data de início, custo previsto

• máquina: material, tipo, responsável, custo

• aluno: nome, matrícula, curso, situação

Material das professoras Beatriz Franciosi, Miriam Sayão, Adriana Beiler e Elisa Boff

Modelo de Entidade e Relacionamento

Page 8: Introdução a Banco de Dados Ferramentas Computacionais FACIN/PUCRS

• Relacionamentos

– fato ou acontecimento que liga dois objetos do mundo real (ou duas entidades do modelo)

– representação:

nome

Material das professoras Beatriz Franciosi, Miriam Sayão, Adriana Beiler e Elisa Boff

Modelo de Entidade e Relacionamento

Page 9: Introdução a Banco de Dados Ferramentas Computacionais FACIN/PUCRS

• Diagrama (utilizado para)

– Interagir com o usuário– Definir depósitos permanentes de dados– Focalizar relacionamentos entre entidades, tabelas

ou arquivos

LivroCliente Compra

Material das professoras Beatriz Franciosi, Miriam Sayão, Adriana Beiler e Elisa Boff

Modelo de Entidade e Relacionamento

Page 10: Introdução a Banco de Dados Ferramentas Computacionais FACIN/PUCRS

Médico Paciente

Cobra

Trata

Professor ministra Disciplinas

Curso possui

Exemplos

Material das professoras Beatriz Franciosi, Miriam Sayão, Adriana Beiler e Elisa Boff

Modelo de Entidade e Relacionamento

Page 11: Introdução a Banco de Dados Ferramentas Computacionais FACIN/PUCRS

Voltando ao minha biblioteca... E se eu quiser organizar os empréstimos que faço dos meus livros? O que terei mais que armazenar?

Quais dados eu desejo armazenar, e qual é a melhor maneira de organizá-los? Isso determina as tabelas que você precisará.

Quais as ações de entrada de dados? Isso determina os formulários de que você precisará.

Quais informações eu quero saber? Essa resposta indica que relatórios e consultas você desejará.

?

Planejando meu BD

?

?

Page 12: Introdução a Banco de Dados Ferramentas Computacionais FACIN/PUCRS

Voltando ao minha biblioteca... E quais são...

As entidades necessárias?

Os atributos necessários?

Os relacionamentos necessários?

E como fica o diagrama de entidade-relacionamento?

?

Planejando meu BD

?

?

?

Não esqueçam dos empréstimos

Page 13: Introdução a Banco de Dados Ferramentas Computacionais FACIN/PUCRS

• Como funcionam?

– Em um sistema de gerenciamento de BD, como o Access, por exemplo, geralmente é possível armazenar informações (tabelas), realizar consultas e imprimir relatórios.

– E, através deles é possível criar formulários para a entrada de dados facilitando o preenchimento de tabelas.

[Tabelas – Formulários – Relatórios– Consultas]

Material das professoras Beatriz Franciosi, Miriam Sayão, Adriana Beiler e Elisa Boff

Sistemas Gerenciadores de BD

Page 14: Introdução a Banco de Dados Ferramentas Computacionais FACIN/PUCRS

• Como as partes se juntam?– Embora você crie tabelas, relatórios, formulários e

consultas em etapas separadas, elas estão todas relacionadas.

– As tabelas são a parte de todas as atividades, todos os outros objetos se referem aos dados da tabela:

• os relatórios resumem e organizam os dados da tabela;

• os formulários ajudam a inserir as informações na tabela;

• as consultas ajudam a localizar informações na tabela.

Material das professoras Beatriz Franciosi, Miriam Sayão, Adriana Beiler e Elisa Boff

Sistemas Gerenciadores de BD

Page 15: Introdução a Banco de Dados Ferramentas Computacionais FACIN/PUCRS

• Tecnicamente, você só precisa de uma tabela.• Mas quanto maior a quantidade de informação na tabela

mais difícil será sua recuperação (ou localização).• Se as informações forem armazenadas em mais de uma

tabela então é necessário criar um relacionamento entre elas (modelo entidade relacionamento).

Material das professoras Beatriz Franciosi, Miriam Sayão, Adriana Beiler e Elisa Boff

Tabelas

Page 16: Introdução a Banco de Dados Ferramentas Computacionais FACIN/PUCRS

• Exemplo: Banco de Dados que registra pedidos de clientes.

(Tabelas deste BD)– Clientes– Tipos de Clientes– Métodos de Entrega– Vendedores– Pedidos– Produtos– Detalhes do Pedido

Material das professoras Beatriz Franciosi, Miriam Sayão, Adriana Beiler e Elisa Boff

Tabelas

Page 17: Introdução a Banco de Dados Ferramentas Computacionais FACIN/PUCRS

Como seriam as tabelas da minha biblioteca? Que dados necessito para cada uma delas?

Planejando meu BD

? ?

?Lembrem das entidades...

Page 18: Introdução a Banco de Dados Ferramentas Computacionais FACIN/PUCRS

• Planejar as tabelas antes de criar o BD é importante.

• É difícil mudar a estrutura de uma tabela depois que ela estiver preenchida com dados (mas não impossível).

Material das professoras Beatriz Franciosi, Miriam Sayão, Adriana Beiler e Elisa Boff

Tabelas

Page 19: Introdução a Banco de Dados Ferramentas Computacionais FACIN/PUCRS

• Normalização dos dados torna as tabelas o mais eficientes e compactas possíveis, para eliminar a possibilidade de confusão e erro.

• Algumas regras determinam o modo como um BD deve armazenar suas tabelas.

• Estas são as regras de normalização de dados.

Material das professoras Beatriz Franciosi, Miriam Sayão, Adriana Beiler e Elisa Boff

Normalizando o BD

Page 20: Introdução a Banco de Dados Ferramentas Computacionais FACIN/PUCRS

• Evite informações repetidas– Suponha que você queira manter informações de

contato sobre seus clientes juntamente com um registro de cada transação que eles efetuarem.

– Se você mantivesse tudo em uma tabela, teria que repetir o nome completo do cliente, o endereço e o número de telefone toda vez que incluísse uma nova transação.

– Também teria que mudar o endereço em cada registro de transação para esse cliente.

Material das professoras Beatriz Franciosi, Miriam Sayão, Adriana Beiler e Elisa Boff

Normalizando o BD

Page 21: Introdução a Banco de Dados Ferramentas Computacionais FACIN/PUCRS

Nome Endereço Telefone Data do Pedido Total do Pedido Bombeiros ABC Av. Dr. Alberto Seavre,

620 (011)3021-8542 10/02/2001 R$ 155,90

Bombeiros ABC Av. Dr. Alberto Seavre, 620

(011)3021-8542 12/02/2001 R$ 230,90

Bombeiros ABC Av. Dr. Alberto Seavre, 620

(011)3021-8542 20/02/2001 R$ 35,98

Drogaria Jacó Rua dos Amantes, 465/980

9978-7766 10/12/2000 R$ 34,90

Drogaria Jacó Rua dos Amantes, 465/980

9978-7766 10/02/2000 R$ 145,98

Pizza do Mile Rua Leste, 108 234-9922 20/02/2001 R$ 789,00

Material das professoras Beatriz Franciosi, Miriam Sayão, Adriana Beiler e Elisa Boff

Normalizando o BD

Page 22: Introdução a Banco de Dados Ferramentas Computacionais FACIN/PUCRS

Organizando a tabela...

– Atribuir a cada cliente um número de código.– Incluir o número de código em uma tabela contendo

nomes e endereços.– Usar número de código como um vínculo em uma

tabela separada que contenha as transações.

Material das professoras Beatriz Franciosi, Miriam Sayão, Adriana Beiler e Elisa Boff

Normalizando o BD

Page 23: Introdução a Banco de Dados Ferramentas Computacionais FACIN/PUCRS

Tabela de Clientes

Tabela de Pedidos

Código do Cliente Nome Endereço Telefone 1 Bombeiros ABC Av. Dr. Alberto Seavre, 620 (011)3021-8542 2 Drogaria Jacó Rua dos Amantes, 465/980 9978-7766 3 Pizza do Mile Rua Leste, 108 234-9922

Código do Cliente Data do Pedido Total do Pedido 1 10/02/2001 R$ 155,90 1 12/02/2001 R$ 230,90 1 20/02/2001 R$ 35,98 2 10/12/2000 R$ 34,90 2 10/02/2000 R$ 145,98 3 20/02/2001 R$ 789,00

Material das professoras Beatriz Franciosi, Miriam Sayão, Adriana Beiler e Elisa Boff

Normalizando o BD

Page 24: Introdução a Banco de Dados Ferramentas Computacionais FACIN/PUCRS

• Evite dados redundantes– Suponha que você queira acompanhar quais

funcionários freqüentam certas aulas de treinamento. Existem muitos funcionários e muitas aulas.

– Utilizando uma única tabela (tabela de Pessoal) organizada da seguinte forma:

Nome do Funcionário

Endereço Telefone Data de Treinamento

Aula Realizada

Horas de Crédito

Passou

Material das professoras Beatriz Franciosi, Miriam Sayão, Adriana Beiler e Elisa Boff

Normalizando o BD

Page 25: Introdução a Banco de Dados Ferramentas Computacionais FACIN/PUCRS

Nome do Funcionário

Endereço Telefone Data de Treinamento

Aula Realizada

Horas de Crédito

Passou

Filipe Soares R. 16, 221 234-9888 01/01/2000 Liderança 3 Sim Betina Romão R. da Ponte,

40 345-9099 03/10/1999 Atendimento

ao cliente 2 Sim

Nelson Gomes Estr. Oeste, 40

233-9888 10/11/2000 Atendimento ao cliente

2 Sim

Marta Donato R. Guerra, 720

234-2322 10/10/2000 Discurso Público

9 Não

Material das professoras Beatriz Franciosi, Miriam Sayão, Adriana Beiler e Elisa Boff

Normalizando o BD

Page 26: Introdução a Banco de Dados Ferramentas Computacionais FACIN/PUCRS

– E se um funcionário tiver mais de uma aula? Você teria de incluir uma linha duplicada na tabela para relacioná-lo e depois teria o problema descrito anteriormente: vários registros com entradas de campo praticamente idênticas.

– E se o único funcionário que assistiu a uma determinada aula sair da empresa? Quando você excluir o registro desse funcionário, apagará também as informações sobre as horas de crédito da aula.

Material das professoras Beatriz Franciosi, Miriam Sayão, Adriana Beiler e Elisa Boff

Normalizando o BD

Page 27: Introdução a Banco de Dados Ferramentas Computacionais FACIN/PUCRS

Organizando a tabela ...

– Utilizar tabelas separadas para Funcionários, Aulas e Treinamento Realizado

Tabela Funcionários

Código Nome do Funcionário Endereço Telefone 1 Filipe Soares R. 16, 221 234-9888 2 Betina Romão R. da Ponte, 40 345-9099 3 Nelson Gomes Estr. Oeste, 40 233-9888 4 Marta Donato R. Guerra, 720 234-2322

Material das professoras Beatriz Franciosi, Miriam Sayão, Adriana Beiler e Elisa Boff

Normalizando o BD

Page 28: Introdução a Banco de Dados Ferramentas Computacionais FACIN/PUCRS

Tabela Aulas

Tabela Treinamento

Código da Aula Aula Créditos C1 Liderança 3 C2 Atendimento ao cliente 2 C3 Discurso Público 9

Código do Funcionário

Data Aula Passou?

1 01/01/2000 C1 Sim 2 03/10/1999 C2 Sim 3 10/11/2000 C2 Sim 4 10/10/2000 C3 Não

Material das professoras Beatriz Franciosi, Miriam Sayão, Adriana Beiler e Elisa Boff

Normalizando o BD

Page 29: Introdução a Banco de Dados Ferramentas Computacionais FACIN/PUCRS

• Uma boa organização de tabela se resume a alguns princípios simples:

– Cada tabela deve ter um tema, por exemplo, Informações de Contato de Funcionários ou Transações do Cliente. NÃO tente incluir mais de um tema por tabela.

– Se você descobrir que poderá acabar repetindo dados em uma tabela no futuro, como armazenar o número de telefone do cliente em cada transação de compra, planeje inserir as informações que serão repetidas em sua própria tabela.

Material das professoras Beatriz Franciosi, Miriam Sayão, Adriana Beiler e Elisa Boff

Conclusões (1/2)

Page 30: Introdução a Banco de Dados Ferramentas Computacionais FACIN/PUCRS

– Se você quiser preservar uma lista de informações de referência (como os nomes e horas de crédito das aulas), coloque-as em sua própria tabela.

– Sempre que possível, use números de código, pois ajudarão a vincular as tabelas mais tarde e evitarão erros de digitação, que surgem com a entrada de longas seqüências de textos (como nomes) repetidas vezes.

Material das professoras Beatriz Franciosi, Miriam Sayão, Adriana Beiler e Elisa Boff

Conclusões (2/2)

Page 31: Introdução a Banco de Dados Ferramentas Computacionais FACIN/PUCRS

Vamos normalizar nossas tabelas da biblioteca?

Planejando meu BD

? ?

?

Page 32: Introdução a Banco de Dados Ferramentas Computacionais FACIN/PUCRS

1. Uma escola deseja guardar informações no seu BD sobre seus professores, as disciplinas que a escola ministra bem como a relação dos professores com as disciplinas no ano letivo. Elabore as tabelas necessárias para armazenar estas informações. Procure observar as regras de normalização. Coloque nas tabelas os campos que julgar necessários.

** tente fazer o modelo de Entidade-Relacionamento das mesmas **

Material das professoras Beatriz Franciosi, Miriam Sayão, Adriana Beiler e Elisa Boff

Exercícios (1/2)