Introdução a Banco de Dados e Access -...

48
Introdução a Banco de Dados e Access Edson Ifarraguirre Moreno Porto Alegre, maio de 2011 Baseado no material da professora Isabel Harb Manssour

Transcript of Introdução a Banco de Dados e Access -...

Page 1: Introdução a Banco de Dados e Access - inf.pucrs.bremoreno/undergraduate/MISC/ferrcomp/class_files/... · Introdução a Banco de Dados e Access Edson Ifarraguirre Moreno Porto

Introdução a Banco de

Dados e Access

Edson Ifarraguirre Moreno

Porto Alegre, maio de 2011

Baseado no material da professora Isabel Harb Manssour

Page 2: Introdução a Banco de Dados e Access - inf.pucrs.bremoreno/undergraduate/MISC/ferrcomp/class_files/... · Introdução a Banco de Dados e Access Edson Ifarraguirre Moreno Porto

1. Conceitos Básicos de BD

2. Microsoft Access

3. Modelo Entidade-Relacionamento

4. Planejamento de Banco de Dados

Roteiro

Page 3: Introdução a Banco de Dados e Access - inf.pucrs.bremoreno/undergraduate/MISC/ferrcomp/class_files/... · Introdução a Banco de Dados e Access Edson Ifarraguirre Moreno Porto

Conceitos Básicos de Banco de Dados

Arquivos

Permitem o armazenamento permanente de

dados

Dados persistentes

Dispositivos de armazenamento secundários

Armazenam arquivos

Discos magnéticos, discos ópticos, fitas

magnéticas

Page 4: Introdução a Banco de Dados e Access - inf.pucrs.bremoreno/undergraduate/MISC/ferrcomp/class_files/... · Introdução a Banco de Dados e Access Edson Ifarraguirre Moreno Porto

Conceitos Básicos de Banco de Dados

Campo (Field)

Conjunto de caracteres com o mesmo significado

Exemplo: nome

Registro (Record)

Conjunto de campos relacionados

Exemplo: nome, endereço, idade, telefone de uma

pessoa

Representado por uma instância de uma classe

Arquivo (File)

Conjunto de registros relacionados

Exemplo: informações sobre um grupo de pessoas

Page 5: Introdução a Banco de Dados e Access - inf.pucrs.bremoreno/undergraduate/MISC/ferrcomp/class_files/... · Introdução a Banco de Dados e Access Edson Ifarraguirre Moreno Porto

Conceitos Básicos de Banco de Dados

Nome Endereço Telefone CIC RG

Ana Silva Andradas 34 332.56.35 345.565/9 271646252

João Neto Siqueira 34 353.46.54 454.567/8 456546568

Maria Santos Ipiranga 67 223.66.51 028.480/8 873260269

: : : : :

Campo

Registro

Arquivo

Ficha

Nome: ____

Endereço: _____

Telefone: ______

CIC: ______

RG: _______

Registro

Campos

Page 6: Introdução a Banco de Dados e Access - inf.pucrs.bremoreno/undergraduate/MISC/ferrcomp/class_files/... · Introdução a Banco de Dados e Access Edson Ifarraguirre Moreno Porto

Conceitos Básicos de Banco de Dados

Arquivo seqüencial

Todos os registros estão organizados na forma

de uma lista, um depois do outro

Os registros podem estar dispostos

ordenadamente, obedecendo a seqüência

determinada pela chave primária

É possível incluir, excluir, alterar e consultar os

registros

Page 7: Introdução a Banco de Dados e Access - inf.pucrs.bremoreno/undergraduate/MISC/ferrcomp/class_files/... · Introdução a Banco de Dados e Access Edson Ifarraguirre Moreno Porto

Conceitos Básicos de Banco de Dados

Arquivo seqüencial

Exemplo:

Nome: João

End: ____

Fone: ____

Válido: V

Nome: Maria

End: ____

Fone: ____

Válido: V

Nome: José

End: ____

Fone: ____

Válido: V

Nome: Ana

End: ____

Fone: ____

Válido: V

Nome: Paulo

End: ____

Fone: ____

Válido: V

Todos os registros possuem o mesmo tamanho e são

armazenados seqüencialmente na memória

E

O

F

Page 8: Introdução a Banco de Dados e Access - inf.pucrs.bremoreno/undergraduate/MISC/ferrcomp/class_files/... · Introdução a Banco de Dados e Access Edson Ifarraguirre Moreno Porto

Conceitos Básicos de Banco de Dados

Arquivo seqüencial

Pesquisa seqüencial

Acesso direto

Contar os bytes...

Nome: João

End: ____

Fone: ____

Válido: V

Nome: Maria

End: ____

Fone: ____

Válido: V

Nome: José

End: ____

Fone: ____

Válido: V

Nome: Ana

End: ____

Fone: ____

Válido: V

Nome: Paulo

End: ____

Fone: ____

Válido: V

Nome: Rita

End: ____

Fone: ____

Válido: V

E

O

F

Page 9: Introdução a Banco de Dados e Access - inf.pucrs.bremoreno/undergraduate/MISC/ferrcomp/class_files/... · Introdução a Banco de Dados e Access Edson Ifarraguirre Moreno Porto

Conceitos Básicos de Banco de Dados

Arquivo de índice

Consiste em um arquivo que guarda o campo

chave e a posição do registro no disco

Exemplo:

Nome: João

End: ____

Fone: ____

Válido: V

Nome: Maria

End: ____

Fone: ____

Válido: F

Nome: José

End: ____

Fone: ____

Válido: V

Nome: Ana

End: ____

Fone: ____

Válido: V

Nome: Paulo

End: ____

Fone: ____

Válido: V

Nome: Rita

End: ____

Fone: ____

Válido: V

E100 E101 E102 E103 E104 E105

Arquivo de Dados

Arquivo de Índice

E

O

F

Chave: Ana

Posição: E103

Chave: João

Posição: E100

Chave: José

Posição: E102

Chave: Maria

Posição: E101

Chave: Paulo

Posição: E104

Chave: Rita

Posição: E105

E

O

F

Page 10: Introdução a Banco de Dados e Access - inf.pucrs.bremoreno/undergraduate/MISC/ferrcomp/class_files/... · Introdução a Banco de Dados e Access Edson Ifarraguirre Moreno Porto

Conceitos Básicos de Banco de Dados

Arquivos de índice

Permitem o acesso rápido às dados

Vários podem ser criados

Índice por nome

Índice por idade

Índice por telefone

...

Page 11: Introdução a Banco de Dados e Access - inf.pucrs.bremoreno/undergraduate/MISC/ferrcomp/class_files/... · Introdução a Banco de Dados e Access Edson Ifarraguirre Moreno Porto

Conceitos Básicos de Banco de Dados

Programas que trabalham com arquivos

devem permitir

Incluir, excluir, consultar e alterar registros

Incluir novos campos nos registros

Excluir campos dos registros

Gerar listagens com diferentes ordenações

Page 12: Introdução a Banco de Dados e Access - inf.pucrs.bremoreno/undergraduate/MISC/ferrcomp/class_files/... · Introdução a Banco de Dados e Access Edson Ifarraguirre Moreno Porto

Conceitos Básicos de Banco de Dados

Banco de Dados (ou base de dados - BD)

Conjunto de arquivos relacionados

Dados com uma estrutura regular que organizam a

informação

Normalmente agrupa informações utilizadas

para um mesmo fim

Exemplo: folha de pagamento, controle de

estoque, controle de contas

http://pt.wikipedia.org/wiki/Banco_de_dados

Page 13: Introdução a Banco de Dados e Access - inf.pucrs.bremoreno/undergraduate/MISC/ferrcomp/class_files/... · Introdução a Banco de Dados e Access Edson Ifarraguirre Moreno Porto

Conceitos Básicos de Banco de Dados

SGBD - Sistema Gerenciador de Banco

de Dados

Conjunto de programas cujo objetivo principal

é gerenciar o acesso e a correta manutenção

dos dados armazenados no banco de dados

Exemplos: Microsoft Access, Oracle, Sybase,

etc.

Page 14: Introdução a Banco de Dados e Access - inf.pucrs.bremoreno/undergraduate/MISC/ferrcomp/class_files/... · Introdução a Banco de Dados e Access Edson Ifarraguirre Moreno Porto

1. Conceitos Básicos de BD

2. Microsoft Access

3. Modelo Entidade-Relacionamento

4. Planejamento de Banco de Dados

Roteiro

Page 15: Introdução a Banco de Dados e Access - inf.pucrs.bremoreno/undergraduate/MISC/ferrcomp/class_files/... · Introdução a Banco de Dados e Access Edson Ifarraguirre Moreno Porto

Microsoft Access

Microsoft Office Access (MSAccess)

Sistema relacional de administração de banco

de dados

Incluído no pacote Microsoft Office Professional

Permite o rápido desenvolvimento de aplicações

que envolvem

Modelagem e estrutura de dados

Interface a ser utilizada pelos usuários

Page 16: Introdução a Banco de Dados e Access - inf.pucrs.bremoreno/undergraduate/MISC/ferrcomp/class_files/... · Introdução a Banco de Dados e Access Edson Ifarraguirre Moreno Porto

Microsoft Access

Trabalha com os seguintes objetos:

Tabela: armazenamentos dos dados

Consulta: filtro sobre os dados armazenados

nas tabelas

Formulários: como um formulário em papel que

se preenche a mão

Relatório:

Informação que foi organizada e formatada

Meio de recuperação e apresentação dos dados

Page 17: Introdução a Banco de Dados e Access - inf.pucrs.bremoreno/undergraduate/MISC/ferrcomp/class_files/... · Introdução a Banco de Dados e Access Edson Ifarraguirre Moreno Porto

Microsoft Access

Trabalha com os seguintes objetos:

Macro

Executa automaticamente uma tarefa ou uma série

de tarefas

Tarefa=ação

Módulo

Procedimentos e funções que são escritos em uma

linguagem chamada de ACCESS BASIC, e que

podem ser chamadas dentro de uma consulta, de um

formulário ou de um relatório

Page 18: Introdução a Banco de Dados e Access - inf.pucrs.bremoreno/undergraduate/MISC/ferrcomp/class_files/... · Introdução a Banco de Dados e Access Edson Ifarraguirre Moreno Porto

Microsoft Access

Arquivos possuem extensão MDB

Possui assistentes que facilitam a criação

dos bancos de dados

Page 19: Introdução a Banco de Dados e Access - inf.pucrs.bremoreno/undergraduate/MISC/ferrcomp/class_files/... · Introdução a Banco de Dados e Access Edson Ifarraguirre Moreno Porto

Microsoft Access

Page 20: Introdução a Banco de Dados e Access - inf.pucrs.bremoreno/undergraduate/MISC/ferrcomp/class_files/... · Introdução a Banco de Dados e Access Edson Ifarraguirre Moreno Porto

Microsoft Access

Page 21: Introdução a Banco de Dados e Access - inf.pucrs.bremoreno/undergraduate/MISC/ferrcomp/class_files/... · Introdução a Banco de Dados e Access Edson Ifarraguirre Moreno Porto

Microsoft Access

Page 22: Introdução a Banco de Dados e Access - inf.pucrs.bremoreno/undergraduate/MISC/ferrcomp/class_files/... · Introdução a Banco de Dados e Access Edson Ifarraguirre Moreno Porto

1. Conceitos Básicos de BD

2. Microsoft Access

3. Modelo Entidade-Relacionamento

4. Planejamento de Banco de Dados

Roteiro

Page 23: Introdução a Banco de Dados e Access - inf.pucrs.bremoreno/undergraduate/MISC/ferrcomp/class_files/... · Introdução a Banco de Dados e Access Edson Ifarraguirre Moreno Porto

Modelo Entidade-Relacionamento

Banco de Dados Relacional

Segue o Modelo Relacional

Define maneiras de armazenar, manipular e

recuperar dados estruturados unicamente na

forma de tabelas

Page 24: Introdução a Banco de Dados e Access - inf.pucrs.bremoreno/undergraduate/MISC/ferrcomp/class_files/... · Introdução a Banco de Dados e Access Edson Ifarraguirre Moreno Porto

Modelo Entidade-Relacionamento

SGBD Relacional

Exemplo de dados organizados na forma de

tabelas:

CodTipoProd DescrTipoProd

1 Computador

2 Impressora

CodProd DescrProd PrecoProd CodTipoProd

1 PC desktop modelo x 2500 1

2 PC notebook ABC 3500 1

3 Impressora jato de tinta 600 2

4 Impressora laser 800 2

Tipo de Produto

Produto

Page 25: Introdução a Banco de Dados e Access - inf.pucrs.bremoreno/undergraduate/MISC/ferrcomp/class_files/... · Introdução a Banco de Dados e Access Edson Ifarraguirre Moreno Porto

Modelo Entidade-Relacionamento

Arquitetura de um banco de dados relacional

Entidades

Atributos (coluna)

Relacionamentos

Restrições sobre relacionamentos

Page 26: Introdução a Banco de Dados e Access - inf.pucrs.bremoreno/undergraduate/MISC/ferrcomp/class_files/... · Introdução a Banco de Dados e Access Edson Ifarraguirre Moreno Porto

Entidades

Representam pessoas ou objetos que existem

no mundo real, e sobre os quais queremos

guardar informações

Exemplos: funcionário, obra, máquina, aluno

Representação:

nome da entidade

Modelo Entidade-Relacionamento

Page 27: Introdução a Banco de Dados e Access - inf.pucrs.bremoreno/undergraduate/MISC/ferrcomp/class_files/... · Introdução a Banco de Dados e Access Edson Ifarraguirre Moreno Porto

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

Modelo Entidade-Relacionamento

Page 28: Introdução a Banco de Dados e Access - inf.pucrs.bremoreno/undergraduate/MISC/ferrcomp/class_files/... · Introdução a Banco de Dados e Access Edson Ifarraguirre Moreno Porto

Relacionamentos

Fato ou acontecimento que liga dois objetos do

mundo real (ou duas entidades do modelo)

Representação:

nome

Modelo Entidade-Relacionamento

Page 29: Introdução a Banco de Dados e Access - inf.pucrs.bremoreno/undergraduate/MISC/ferrcomp/class_files/... · Introdução a Banco de Dados e Access Edson Ifarraguirre Moreno Porto

Diagrama de Entidade-Relacionamento (DER)

Utilizado para:

Interagir com o usuário

Definir depósitos permanentes de dados

Focalizar relacionamentos entre entidades, tabelas ou

arquivos

LivroCliente Compra

Modelo Entidade-Relacionamento

Professor ministra Disciplinas

Curso possui

Page 30: Introdução a Banco de Dados e Access - inf.pucrs.bremoreno/undergraduate/MISC/ferrcomp/class_files/... · Introdução a Banco de Dados e Access Edson Ifarraguirre Moreno Porto

Cardinalidade: é o número de objetos de cada tipo

que participa no relacionamento

Pode ser.

1:1 (um para um); 1:N (um para muitos);

N:1 (muitos para um); M:N (muitos para muitos)

Cliente Compra Item1 N

Professor ministra DisciplinaM N

Modelo Entidade-Relacionamento

Page 31: Introdução a Banco de Dados e Access - inf.pucrs.bremoreno/undergraduate/MISC/ferrcomp/class_files/... · Introdução a Banco de Dados e Access Edson Ifarraguirre Moreno Porto

Exemplo 1:

• um Aluguel pertence a no máximo um Cliente

• um Cliente pode ter mais de um aluguel

1

NAluguel pertence Cliente

• um Fornecedor fornece vários Produtos

• um Produto pode ser fornecido vários Fornecedores

M

NFornecedor fornece Produto

Exemplo 2:

Modelo Entidade-Relacionamento

Page 32: Introdução a Banco de Dados e Access - inf.pucrs.bremoreno/undergraduate/MISC/ferrcomp/class_files/... · Introdução a Banco de Dados e Access Edson Ifarraguirre Moreno Porto

Chave

Usada para identificar linhas e estabelecer

relações entre linhas de tabelas

Conjunto de um ou mais atributos que

determinam a unicidade de cada registro

Permite o relacionamento entre tabelas

Modelo Entidade-Relacionamento

Page 33: Introdução a Banco de Dados e Access - inf.pucrs.bremoreno/undergraduate/MISC/ferrcomp/class_files/... · Introdução a Banco de Dados e Access Edson Ifarraguirre Moreno Porto

Modelo Entidade-Relacionamento

Tipos de chave

Chave primária (PK - Primary Key):

Apresenta um valor diferente para cada registro do

arquivo

Permite identificar um único registro no arquivo

Identifica o registro desejado em uma operação de acesso a

um arquivo, facilitando a sua recuperação

Um campo pode ser escolhido como chave primária

Exemplo: código de um funcionário

Page 34: Introdução a Banco de Dados e Access - inf.pucrs.bremoreno/undergraduate/MISC/ferrcomp/class_files/... · Introdução a Banco de Dados e Access Edson Ifarraguirre Moreno Porto

Modelo Entidade-Relacionamento

Tipos de chave

Chave estrangeira (FK - Foreign Key)

Coluna ou combinação de colunas cujos valores

aparecem necessariamente na chave primária de

outra tabela

Define um relacionamento entre as tabelas e pode

ocorrer repetidas vezes

Exemplo:

NumCliente Nome Endereço

1 Fulano Rua x

2 Beltrao Avenida y

NumPedido NumCliente Quantidade Valor

1 2 5 R$ 25,00

2 1 3 R$ 15,00

3 2 2 R$ 10,00

Chave primária

Chave primária Chave estrangeira

Page 35: Introdução a Banco de Dados e Access - inf.pucrs.bremoreno/undergraduate/MISC/ferrcomp/class_files/... · Introdução a Banco de Dados e Access Edson Ifarraguirre Moreno Porto

1. Conceitos Básicos de BD

2. Microsoft Access

3. Modelo Entidade-Relacionamento

4. Planejamento de Banco de Dados

Roteiro

Page 36: Introdução a Banco de Dados e Access - inf.pucrs.bremoreno/undergraduate/MISC/ferrcomp/class_files/... · Introdução a Banco de Dados e Access Edson Ifarraguirre Moreno Porto

Planejamento de Banco de Dados

Com um BD você não pode fazer muitas

experiências na base da tentativa e erro.

Antes que você crie seu BD, deverá fazer as

seguintes perguntas: 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 eu realizo no dia-

a-dia de minha empresa? Isso determina os formulários

de que você precisará.

Quais informações eu quero saber sobre o estado da

empresa? Essa resposta indica que relatórios e consultas

você desejará.

Page 37: Introdução a Banco de Dados e Access - inf.pucrs.bremoreno/undergraduate/MISC/ferrcomp/class_files/... · Introdução a Banco de Dados e Access Edson Ifarraguirre Moreno Porto

Planejamento de Banco de Dados

Determinando as tabelas

Tecnicamente, você só precisa de uma tabela, o

mínimo para que um banco de dados funcione.

Mas o maior erro que a maioria das pessoas

comete é colocar muitas informações em uma

única tabela.

O Access é um programa de gerenciamento de

banco de dados relacional: ele trata de muitas

tabelas e cria relacionamentos entre elas.

Page 38: Introdução a Banco de Dados e Access - inf.pucrs.bremoreno/undergraduate/MISC/ferrcomp/class_files/... · Introdução a Banco de Dados e Access Edson Ifarraguirre Moreno Porto

Planejamento de Banco de Dados

Por exemplo, em um banco de dados que

registra pedidos de clientes, você pode ter

as seguintes tabelas:

Clientes

Métodos de Entrega

Vendedores

Pedidos

Produtos

Detalhes do Pedido

Page 39: Introdução a Banco de Dados e Access - inf.pucrs.bremoreno/undergraduate/MISC/ferrcomp/class_files/... · Introdução a Banco de Dados e Access Edson Ifarraguirre Moreno Porto

Planejamento de Banco de Dados

Planejar as tabelas antes de criar seu banco

de dados é importante.

É difícil mudar a estrutura de uma tabela

depois que ela estiver preenchida com

dados (mas não impossível).

Page 40: Introdução a Banco de Dados e Access - inf.pucrs.bremoreno/undergraduate/MISC/ferrcomp/class_files/... · Introdução a Banco de Dados e Access Edson Ifarraguirre Moreno Porto

Planejamento de Banco de Dados

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, chamadas regras de

normalização, governam o modo como um

BD deve armazenar suas tabelas

Evitar informações repetidas

Evitar dados redundantes

Page 41: Introdução a Banco de Dados e Access - inf.pucrs.bremoreno/undergraduate/MISC/ferrcomp/class_files/... · Introdução a Banco de Dados e Access Edson Ifarraguirre Moreno Porto

Planejamento de Banco de Dados

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

Page 42: Introdução a Banco de Dados e Access - inf.pucrs.bremoreno/undergraduate/MISC/ferrcomp/class_files/... · Introdução a Banco de Dados e Access Edson Ifarraguirre Moreno Porto

Planejamento de Banco de Dados

Evitar informações repetidas

Uma maneira melhor é atribuir a cada cliente

um número de código.

Inclua esse número de código em uma tabela

contendo nomes e endereços.

Depois use o mesmo número de código como

um vínculo em uma tabela separada que

contenha as transações

Page 43: Introdução a Banco de Dados e Access - inf.pucrs.bremoreno/undergraduate/MISC/ferrcomp/class_files/... · Introdução a Banco de Dados e Access Edson Ifarraguirre Moreno Porto

Planejamento de Banco de Dados

Evitar informações repetidas

Exemplo com uma tabela:

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

Page 44: Introdução a Banco de Dados e Access - inf.pucrs.bremoreno/undergraduate/MISC/ferrcomp/class_files/... · Introdução a Banco de Dados e Access Edson Ifarraguirre Moreno Porto

Planejamento de Banco de Dados

Exemplo após normalizar:

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

Page 45: Introdução a Banco de Dados e Access - inf.pucrs.bremoreno/undergraduate/MISC/ferrcomp/class_files/... · Introdução a Banco de Dados e Access Edson Ifarraguirre Moreno Porto

Planejamento de Banco de Dados

Evitar dados redundantes

Suponha que você queira acompanhar quais

funcionários freqüentam certas aulas de

treinamento. Existem muitos funcionários e aulas.

Uma forma seria manter tudo em uma única tabela

Pessoal, da seguinte forma: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

Page 46: Introdução a Banco de Dados e Access - inf.pucrs.bremoreno/undergraduate/MISC/ferrcomp/class_files/... · Introdução a Banco de Dados e Access Edson Ifarraguirre Moreno Porto

Planejamento de Banco de Dados

Evitar dados redundantes

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.

Page 47: Introdução a Banco de Dados e Access - inf.pucrs.bremoreno/undergraduate/MISC/ferrcomp/class_files/... · Introdução a Banco de Dados e Access Edson Ifarraguirre Moreno Porto

Planejamento de Banco de Dados

Evitar dados redundantes

Uma maneira melhor seria criar tabelas separadas

para Funcionário, Aulas e Treinamento Realizado,

da seguinte forma:

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

Page 48: Introdução a Banco de Dados e Access - inf.pucrs.bremoreno/undergraduate/MISC/ferrcomp/class_files/... · Introdução a Banco de Dados e Access Edson Ifarraguirre Moreno Porto

Planejamento de Banco de Dados

Evitar dados redundantes

Tabela Aula

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