introdução a banco de dados e access isabel harb manssour porto alegre, maio de 2007 baseado no...
TRANSCRIPT
![Page 1: Introdução a Banco de Dados e Access Isabel Harb Manssour Porto Alegre, maio de 2007 Baseado no material das professoras Miriam Sayão, Adriana Beiler e](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc102497959413d8be73b/html5/thumbnails/1.jpg)
Introdução a Banco de Dados e Access
Isabel Harb Manssour
Porto Alegre, maio de 2007
Baseado no material das professoras Miriam Sayão, Adriana Beiler e Elisa Boff
![Page 2: Introdução a Banco de Dados e Access Isabel Harb Manssour Porto Alegre, maio de 2007 Baseado no material das professoras Miriam Sayão, Adriana Beiler e](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc102497959413d8be73b/html5/thumbnails/2.jpg)
1.1. Conceitos Básicos de Banco de Conceitos Básicos de Banco de DadosDados
2. Microsoft Access
3. Modelo Entidade-Relacionamento
4. Planejamento de Banco de Dados
Roteiro
![Page 3: Introdução a Banco de Dados e Access Isabel Harb Manssour Porto Alegre, maio de 2007 Baseado no material das professoras Miriam Sayão, Adriana Beiler e](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc102497959413d8be73b/html5/thumbnails/3.jpg)
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 Isabel Harb Manssour Porto Alegre, maio de 2007 Baseado no material das professoras Miriam Sayão, Adriana Beiler e](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc102497959413d8be73b/html5/thumbnails/4.jpg)
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 Isabel Harb Manssour Porto Alegre, maio de 2007 Baseado no material das professoras Miriam Sayão, Adriana Beiler e](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc102497959413d8be73b/html5/thumbnails/5.jpg)
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
FichaNome: ____Endereço: _____Telefone: ______CIC: ______RG: _______
Registro
Campos
![Page 6: Introdução a Banco de Dados e Access Isabel Harb Manssour Porto Alegre, maio de 2007 Baseado no material das professoras Miriam Sayão, Adriana Beiler e](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc102497959413d8be73b/html5/thumbnails/6.jpg)
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 Isabel Harb Manssour Porto Alegre, maio de 2007 Baseado no material das professoras Miriam Sayão, Adriana Beiler e](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc102497959413d8be73b/html5/thumbnails/7.jpg)
Conceitos Básicos de Banco de Dados
Arquivo seqüencial Exemplo:
Nome: JoãoEnd: ____Fone: ____Válido: V
Nome: MariaEnd: ____Fone: ____Válido: V
Nome: JoséEnd: ____Fone: ____Válido: V
Nome: AnaEnd: ____Fone: ____Válido: V
Nome: PauloEnd: ____Fone: ____Válido: V
Todos os registros possuem o mesmo tamanho e são armazenados seqüencialmente na memória
EOF
![Page 8: Introdução a Banco de Dados e Access Isabel Harb Manssour Porto Alegre, maio de 2007 Baseado no material das professoras Miriam Sayão, Adriana Beiler e](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc102497959413d8be73b/html5/thumbnails/8.jpg)
Conceitos Básicos de Banco de Dados
Arquivo seqüencial Pesquisa seqüencial
Nome: JoãoEnd: ____Fone: ____Válido: V
Nome: MariaEnd: ____Fone: ____Válido: V
Nome: JoséEnd: ____Fone: ____Válido: V
Nome: AnaEnd: ____Fone: ____Válido: V
Nome: PauloEnd: ____Fone: ____Válido: V
Nome: RitaEnd: ____Fone: ____Válido: V
EOF
![Page 9: Introdução a Banco de Dados e Access Isabel Harb Manssour Porto Alegre, maio de 2007 Baseado no material das professoras Miriam Sayão, Adriana Beiler e](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc102497959413d8be73b/html5/thumbnails/9.jpg)
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ãoEnd: ____Fone: ____Válido: V
Nome: MariaEnd: ____Fone: ____Válido: F
Nome: JoséEnd: ____Fone: ____Válido: V
Nome: AnaEnd: ____Fone: ____Válido: V
Nome: PauloEnd: ____Fone: ____Válido: V
Nome: RitaEnd: ____Fone: ____Válido: V
E100 E101 E102 E103 E104 E105
Arquivo de Dados
Arquivo de Índice
EOF
Chave: AnaPosição: E103
Chave: JoãoPosição: E100
Chave: JoséPosição: E102
Chave: MariaPosição: E101
Chave: PauloPosição: E104
Chave: RitaPosição: E105
EOF
![Page 10: Introdução a Banco de Dados e Access Isabel Harb Manssour Porto Alegre, maio de 2007 Baseado no material das professoras Miriam Sayão, Adriana Beiler e](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc102497959413d8be73b/html5/thumbnails/10.jpg)
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 Isabel Harb Manssour Porto Alegre, maio de 2007 Baseado no material das professoras Miriam Sayão, Adriana Beiler e](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc102497959413d8be73b/html5/thumbnails/11.jpg)
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 Isabel Harb Manssour Porto Alegre, maio de 2007 Baseado no material das professoras Miriam Sayão, Adriana Beiler e](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc102497959413d8be73b/html5/thumbnails/12.jpg)
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 Isabel Harb Manssour Porto Alegre, maio de 2007 Baseado no material das professoras Miriam Sayão, Adriana Beiler e](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc102497959413d8be73b/html5/thumbnails/13.jpg)
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 Isabel Harb Manssour Porto Alegre, maio de 2007 Baseado no material das professoras Miriam Sayão, Adriana Beiler e](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc102497959413d8be73b/html5/thumbnails/14.jpg)
1. Conceitos Básicos de Banco de Dados
2.2. Microsoft AccessMicrosoft Access
3. Modelo Entidade-Relacionamento
4. Planejamento de Banco de Dados
Roteiro
![Page 15: Introdução a Banco de Dados e Access Isabel Harb Manssour Porto Alegre, maio de 2007 Baseado no material das professoras Miriam Sayão, Adriana Beiler e](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc102497959413d8be73b/html5/thumbnails/15.jpg)
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 Isabel Harb Manssour Porto Alegre, maio de 2007 Baseado no material das professoras Miriam Sayão, Adriana Beiler e](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc102497959413d8be73b/html5/thumbnails/16.jpg)
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 Isabel Harb Manssour Porto Alegre, maio de 2007 Baseado no material das professoras Miriam Sayão, Adriana Beiler e](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc102497959413d8be73b/html5/thumbnails/17.jpg)
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 Isabel Harb Manssour Porto Alegre, maio de 2007 Baseado no material das professoras Miriam Sayão, Adriana Beiler e](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc102497959413d8be73b/html5/thumbnails/18.jpg)
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 Isabel Harb Manssour Porto Alegre, maio de 2007 Baseado no material das professoras Miriam Sayão, Adriana Beiler e](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc102497959413d8be73b/html5/thumbnails/19.jpg)
Microsoft Access
![Page 20: Introdução a Banco de Dados e Access Isabel Harb Manssour Porto Alegre, maio de 2007 Baseado no material das professoras Miriam Sayão, Adriana Beiler e](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc102497959413d8be73b/html5/thumbnails/20.jpg)
Microsoft Access
![Page 21: Introdução a Banco de Dados e Access Isabel Harb Manssour Porto Alegre, maio de 2007 Baseado no material das professoras Miriam Sayão, Adriana Beiler e](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc102497959413d8be73b/html5/thumbnails/21.jpg)
Microsoft Access
![Page 22: Introdução a Banco de Dados e Access Isabel Harb Manssour Porto Alegre, maio de 2007 Baseado no material das professoras Miriam Sayão, Adriana Beiler e](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc102497959413d8be73b/html5/thumbnails/22.jpg)
1. Conceitos Básicos de Banco de Dados
2. Microsoft Access
3.3. Modelo Entidade-RelacionamentoModelo Entidade-Relacionamento
4. Planejamento de Banco de Dados
Roteiro
![Page 23: Introdução a Banco de Dados e Access Isabel Harb Manssour Porto Alegre, maio de 2007 Baseado no material das professoras Miriam Sayão, Adriana Beiler e](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc102497959413d8be73b/html5/thumbnails/23.jpg)
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 Isabel Harb Manssour Porto Alegre, maio de 2007 Baseado no material das professoras Miriam Sayão, Adriana Beiler e](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc102497959413d8be73b/html5/thumbnails/24.jpg)
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 Isabel Harb Manssour Porto Alegre, maio de 2007 Baseado no material das professoras Miriam Sayão, Adriana Beiler e](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc102497959413d8be73b/html5/thumbnails/25.jpg)
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 Isabel Harb Manssour Porto Alegre, maio de 2007 Baseado no material das professoras Miriam Sayão, Adriana Beiler e](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc102497959413d8be73b/html5/thumbnails/26.jpg)
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 Isabel Harb Manssour Porto Alegre, maio de 2007 Baseado no material das professoras Miriam Sayão, Adriana Beiler e](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc102497959413d8be73b/html5/thumbnails/27.jpg)
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 Isabel Harb Manssour Porto Alegre, maio de 2007 Baseado no material das professoras Miriam Sayão, Adriana Beiler e](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc102497959413d8be73b/html5/thumbnails/28.jpg)
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 Isabel Harb Manssour Porto Alegre, maio de 2007 Baseado no material das professoras Miriam Sayão, Adriana Beiler e](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc102497959413d8be73b/html5/thumbnails/29.jpg)
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 Isabel Harb Manssour Porto Alegre, maio de 2007 Baseado no material das professoras Miriam Sayão, Adriana Beiler e](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc102497959413d8be73b/html5/thumbnails/30.jpg)
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 Isabel Harb Manssour Porto Alegre, maio de 2007 Baseado no material das professoras Miriam Sayão, Adriana Beiler e](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc102497959413d8be73b/html5/thumbnails/31.jpg)
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 Isabel Harb Manssour Porto Alegre, maio de 2007 Baseado no material das professoras Miriam Sayão, Adriana Beiler e](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc102497959413d8be73b/html5/thumbnails/32.jpg)
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 Isabel Harb Manssour Porto Alegre, maio de 2007 Baseado no material das professoras Miriam Sayão, Adriana Beiler e](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc102497959413d8be73b/html5/thumbnails/33.jpg)
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 Isabel Harb Manssour Porto Alegre, maio de 2007 Baseado no material das professoras Miriam Sayão, Adriana Beiler e](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc102497959413d8be73b/html5/thumbnails/34.jpg)
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 Isabel Harb Manssour Porto Alegre, maio de 2007 Baseado no material das professoras Miriam Sayão, Adriana Beiler e](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc102497959413d8be73b/html5/thumbnails/35.jpg)
1. Conceitos Básicos de Banco de Dados
2. Microsoft Access
3. Modelo Entidade-Relacionamento
4.4. Planejamento de Banco de DadosPlanejamento de Banco de Dados
Roteiro
![Page 36: Introdução a Banco de Dados e Access Isabel Harb Manssour Porto Alegre, maio de 2007 Baseado no material das professoras Miriam Sayão, Adriana Beiler e](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc102497959413d8be73b/html5/thumbnails/36.jpg)
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 Isabel Harb Manssour Porto Alegre, maio de 2007 Baseado no material das professoras Miriam Sayão, Adriana Beiler e](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc102497959413d8be73b/html5/thumbnails/37.jpg)
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 Isabel Harb Manssour Porto Alegre, maio de 2007 Baseado no material das professoras Miriam Sayão, Adriana Beiler e](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc102497959413d8be73b/html5/thumbnails/38.jpg)
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 Isabel Harb Manssour Porto Alegre, maio de 2007 Baseado no material das professoras Miriam Sayão, Adriana Beiler e](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc102497959413d8be73b/html5/thumbnails/39.jpg)
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 Isabel Harb Manssour Porto Alegre, maio de 2007 Baseado no material das professoras Miriam Sayão, Adriana Beiler e](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc102497959413d8be73b/html5/thumbnails/40.jpg)
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 Isabel Harb Manssour Porto Alegre, maio de 2007 Baseado no material das professoras Miriam Sayão, Adriana Beiler e](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc102497959413d8be73b/html5/thumbnails/41.jpg)
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 Isabel Harb Manssour Porto Alegre, maio de 2007 Baseado no material das professoras Miriam Sayão, Adriana Beiler e](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc102497959413d8be73b/html5/thumbnails/42.jpg)
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 Isabel Harb Manssour Porto Alegre, maio de 2007 Baseado no material das professoras Miriam Sayão, Adriana Beiler e](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc102497959413d8be73b/html5/thumbnails/43.jpg)
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 Isabel Harb Manssour Porto Alegre, maio de 2007 Baseado no material das professoras Miriam Sayão, Adriana Beiler e](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc102497959413d8be73b/html5/thumbnails/44.jpg)
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 Isabel Harb Manssour Porto Alegre, maio de 2007 Baseado no material das professoras Miriam Sayão, Adriana Beiler e](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc102497959413d8be73b/html5/thumbnails/45.jpg)
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 Isabel Harb Manssour Porto Alegre, maio de 2007 Baseado no material das professoras Miriam Sayão, Adriana Beiler e](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc102497959413d8be73b/html5/thumbnails/46.jpg)
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 Isabel Harb Manssour Porto Alegre, maio de 2007 Baseado no material das professoras Miriam Sayão, Adriana Beiler e](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc102497959413d8be73b/html5/thumbnails/47.jpg)
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 Isabel Harb Manssour Porto Alegre, maio de 2007 Baseado no material das professoras Miriam Sayão, Adriana Beiler e](https://reader036.vdocuments.site/reader036/viewer/2022062623/552fc102497959413d8be73b/html5/thumbnails/48.jpg)
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