Escolar Documentos
Profissional Documentos
Cultura Documentos
Modelagem de
Dados
em Microsoft
Access 95
I D E O L G I C A P R O D U T I V I D A D E E M P R E S A R I A L E I N F O R M T I C A
Modelagem de Dados
em Microsoft Access 95
ndice
Analtico
Introduo modelagem de dados
Por que Projetar?
Problemas Resultantes de um Projeto Pobre
Introduo ao Projeto de Banco de Dados
Modelo Domnio/Chave
O Processo de Normalizao
1
2
2
3
5
7
ii
Introduo modelagem de
dados
Aprenda os conceitos bsicos de
normalizao
Captulo
e/ou
aplicao
no
podem
funcionar
Fornecedor
Endereo
Cidade
Regio
Pas
OR
USA
34
Sasquatch Ale
Bigfoot Breweries
Bend
27
Schoggi Schokolade
Heli Swaren
GmbH
Tiergartenstrae 5
Berlin
Germany
68
Scottish Longbreads
Specialty Biscuits,
Ltd.
29 Kings Way
Manchester
UK
42
Singaporean Fried
Mee
Leka Trading
Singapore
Singapore
20
Sir Rodneys
Marmalade
Specialty Biscuits,
Ltd.
29 Kings Way
Manchester
UK
21
Specialty Biscuits,
Ltd.
29 Kings Way
Manchester
UK
61
Sirop drable
Forts drables
SteHyacinthe
46
Spegesild
Lyngbysild
Lyngbysild Fiskebakken
10
Lyngby
35
Steeleye Stout
Bigfoot Breweries
Bend
Qubec
Canada
Denmark
OR
USA
OR
USA
Lumbermans Lager
Bigfoot Breweries
Bend
Modificaes Anmalas
Fornecedor
Endereo
Cidade
Regio
Pas
OR
USA
34
Sasquatch Ale
Bigfoot Breweries
Bend
27
Schoggi Schokolade
Heli Swaren
GmbH
Tiergartenstrae 5
Berlin
Germany
68
Scottish Longbreads
Specialty Biscuits,
Ltd.
29 Kings Way
Manchester
UK
42
Singaporean Fried
Leka Trading
Singapore
Singapor
Mee
37
Lumbermans Lager
Bigfoot Breweries
Bend
20
Sir Rodneys
Marmalade
Specialty Biscuits,
Ltd.
29 Kings Way
Manchester
UK
21
Specialty Biscuits,
Ltd.
29 Kings Way
Manchester
UK
61
Sirop drable
Forts drables
SteHyacinthe
46
Spegesild
Lyngbysild
35
Steeleye Stout
Bigfoot Breweries
Bend
OR
Qubec
USA
Canada
Denmark
OR
USA
Excluses Anmalas
Descrio
Fornecedor
Endereo
Cidade
Regio
OR
Pas
34
Sasquatch Ale
Bigfoot Breweries
Bend
27
Schoggi Schokolade
Heli Swaren
GmbH
Tiergartenstrae 5
Berlin
Germany
68
Scottish Longbreads
Specialty Biscuits,
Ltd.
29 Kings Way
Manchester
UK
42
Singaporean Fried
Mee
Leka Trading
Singapore
Singapor
e
20
Sir Rodneys
Marmalade
Specialty Biscuits,
Ltd.
29 Kings Way
Manchester
UK
21
Specialty Biscuits,
Ltd.
29 Kings Way
Manchester
UK
61
Sirop drable
Forts drables
SteHyacinthe
46
Spegesild
Lyngbysild
Lyngbysild Fiskebakken
10
Lyngby
35
Steeleye Stout
Bigfoot Breweries
Bend
Qubec
USA
Canada
Denmark
OR
USA
IDProdut
o
Descrio
Fornecedor
Endereo
Cidade
Regio
OR
Pas
34
Sasquatch Ale
Bigfoot Breweries
Bend
27
Schoggi Schokolade
Heli Swaren
GmbH
Tiergartenstrae 5
Berlin
German
y
68
Scottish Longbreads
Specialty Biscuits,
Ltd.
29 Kings Way
Manchester
UK
20
Sir Rodneys
Marmalade
Specialty Biscuits,
Ltd.
29 Kings Way
Manchester
UK
21
Specialty Biscuits,
Ltd.
29 Kings Way
Manchester
UK
61
Sirop drable
Forts drables
SteHyacinthe
46
Spegesild
Lyngbysild
Lyngbysild Fiskebakken
10
Lyngby
35
Steeleye Stout
Bigfoot Breweries
Bend
Qubec
USA
Canada
Denmar
k
OR
USA
Uma excluso anmala faz com que percamos mais informaes do que
o necessrio. Ns perdemos dados sobre mais de um assunto a cada
excluso.
Insero Anmala
Descrio
Fornecedor
Endereo
Cidade
Regio
OR
Pas
34
Sasquatch Ale
Bigfoot Breweries
Bend
27
Schoggi Schokolade
Heli Swaren
GmbH
Tiergartenstrae 5
Berlin
Germany
68
Scottish Longbreads
Specialty Biscuits,
Ltd.
29 Kings Way
Manchester
UK
42
Singapore
Singapore
20
Sir Rodneys
Marmalade
Specialty Biscuits,
Ltd.
29 Kings Way
Manchester
UK
21
Specialty Biscuits,
Ltd.
29 Kings Way
Manchester
UK
61
Sirop drable
Forts drables
SteHyacinthe
46
Spegesild
Lyngbysild
Lyngbysild Fiskebakken
10
Lyngby
35
Steeleye Stout
Bigfoot Breweries
Bend
OR
USA
???
??????
StarStruck, Inc.
101 Mariposa
Seattle
WA
USA
Qubec
USA
Canada
Denmark
Modelo Domnio/Chave
Teorias relacionais tm classificado os esquemas de banco de dados que
tm inconsistncias, baseando-se nas anomalias a qual eles so
suscetveis . Voc pode ter encontrado discusses sobre diferentes
formas. Uma das nicas normalizaes foi propostas por R. Fagin, em
1981, e usada como a base desta apresentao. Fagin apurou que se
as tabelas em seu banco de dados esto no Modelo Domnio/Chave,
ento eles esto livres de modificaes anormais .
Para compreender este modelo a esto quatro termos que devem ser
compreendidos: dependncia, chave, domnio e restrio .
Dependncia
Uma dependncia uma relao que pode existir entre duas colunas .
Dados os valores da primeira coluna , voc estar apto para determinar
o valor de uma outra. Vamos usar a tabela dos exemplos anteriores.
Dados o nmero do produto, ns estaremos capazes de determinar as
descries dos produtos. Esta uma dependncia: descries so
dependncias nos nmeros dos produtos. Dados um nome de
fornecedor, seremos ns capazes de determinar a descrio do produto?
No necessariamente . No caso do BigFoot Breweries, este fornecedor
tem um nmero de produtos associados a ele. Portanto , nas tabelas
acima, descrio no uma dependncia de fornecedores.
Para detectar uma dependncia, pergunte a si mesmo o seguinte:
Nesta tabela, pode o valor de uma coluna determinar TODOS OS
VALORES POSSVEIS de outra coluna?
IDProduto
determina Descrio?
SIM
Fornecedor
determina Endereo?
SIM
Fornecedor
determina IDProduto?
NO
Chave
A maior parte das tabelas deve ter uma coluna ou uma combinao de
colunas que unicamente identifique uma linha de dados. Uma coluna
chave se todas as outras colunas numa linha de dados so dependentes
dela.
A primeira olhada, pode parecer que a coluna IDProduto em nosso
exemplo unicamente identifica uma linha de dados. Mas IDProduto 34
identifica o fornecedor como BigFoot Breweries, que tambm faz parte
dos nmeros 35 e 37. Portanto, a coluna IDProduto no uma chave.
Domnio
Restrio
O Processo de Normalizao
Normalizar o banco de dados garante que a estrutura permitir as
mudanas a serem feitas sem que ocorram conseqncias inesperadas.
O papel da normalizao manter estvel, e com dados confiveis, o
banco de dados, atravs de um bom projeto.
O objetivo de um bom projeto de banco de dados assegurar que todas
as restries sejam conseqncias lgicas das restries de domnio e
chave.
Tabelas, como pargrafos, devem ter um s tema. A tabela nos
exemplos de anomalias teve dois temas:
Informaes sobre os produtos.
Informaes sobre os fornecedores dos produtos.
A maneira de administrar esta informao mais eficientemente dividir
a tabela em duas: uma tabela de produtos e uma tabela de
fornecedores.
Produtos
IDProdu Descrio
to
Fornecedor
34
Sasquatch Ale
Bigfoot Breweries
27
Schoggi Schokolade
68
Scottish Longbreads
42
Leka Trading
20
21
61
Sirop drable
Forts drables
46
Spegesild
Lyngbysild
35
Steeleye Stout
Bigfoot Breweries
Fornecedores
Fornecedor
Endereo
Cidade
Regi
o
Pas
Bigfoot Breweries
Bend
OR
USA
Tiergartenstrae 5
Berlin
German
y
29 Kings Way
Manchester
UK
Leka Trading
Singapore
Singapo
re
Forts drables
Ste-Hyacinthe
Qubec Canada
Lyngbysild
Denmar
k
Um Mtodo de Projeto de
Banco de Dados
Assim como voc viu, o projeto de banco de dados desempenha o maior
papel na estabilidade e confiana de seus dados. Nesta seo, ns
mostraremos a voc o processo de projetar um banco de dados. Para
ajudar a ilustrar este processo, um banco de dados chamado Zipper
ser criado para um fictcio atacadista e fabricante de roupas chamado
Zipper.
Apesar de existirem vrias regras que devero ser seguidas no projeto
da estrutura do banco de dados, o processo de projeto muito mais
uma arte que uma cincia. Siga estas regras sempre que possvel, mas
no at o ponto de perder a funcionalidade que to importante ao
usurio.
Fazer o projeto do banco de dados primeiramente no papel traz diversas
vantagens:
Economiza dinheiro, tempo e sanidade;
Torna o sistema mais seguro; evita potenciais problemas com
modificaes de dados;
Serve de planta para discusses;
Ajuda a estimar custos e tamanho.
Um bom projeto dever ter os seguintes objetivos:
Ir ao encontro a necessidade dos usurios
Solucionar o problema
Ser livre de modificaes anmalas
Ter um confivel e estvel banco de dados, onde as tabelas sejam to
independentes quanto possvel
Ser fcil de usar
Relacione os objetos.
2.
3.
4.
5.
6.
7.
8.
Cliente
Taxa de Embarque
Produto
Fatura
Funcionrio
Dependente
Funcionrio
Cliente
Fatura
Produto
Dependente
Taxa de
Embarque
estado , taxas
Tabela:
CLIENTE
Tabela: PRODUTO
Nome
Tipo
COMPANY
TEXTO
CADD1
Compr
Nome
Tipo
45
PRODNAME
TEXTO
30
TEXTO
30
PRODDESC
TEXTO
50
CADD2
TEXTO
30
PRODCOST
MOEDA
CCITY
TEXTO
25
PMARKUP
NM
CSTATE
TEXTO
CZIP
TEXTO
10
CAC
TEXTO
Nome
Tipo
CTELPH
TEXTO
DLAST
TEXTO
15
CONTACT
TEXTO
30
DFIRST
TEXTO
10
TITLE
TEXTO
30
DDOB
D/H
Tabela: FATURA
Nome
Tipo
INVDATE
Compr
Tabela: DEPENDENTE
Compr
Tabela: FUNCIONRIO
Compr
Nome
Tipo
Compr
D/H
ESSN
TEXTO
11
REQDATE
D/H
ELASTN
TEXTO
15
SHIPNAME
TEXTO
45
EFIRSTN
TEXTO
10
SHIPADDR
TEXTO
30
EDOB
D/H
SHIPCITY
TEXTO
25
EGENDER
TEXTO
SHIPZIP
TEXTO
10
EMARITAL
TEXTO
INVTOTAL
MOEDA
EADDR1
TEXTO
30
EADDR2
TEXTO
20
ECITY
TEXTO
25
ESTATE
TEXTO
Nome
Tipo
Compr
EZIP
TEXTO
10
SHIPST
TEXTO
EAC
TEXTO
SHIPRATE
NM
EHOMEPH
TEXTO
CLIENTE
FUNCIONRIO
DEPENDENTE
PRODUTO
FATURA
TAXA DE EMBARQUE
Vrias
Um
Um
A tabela Taxa de Embarque ilustra a idia de que uma tabela pode ser
includa num banco de dados no precisando de relacionamentos com
qualquer outra tabela.
CLIENTE
A chave CUSTID
(CONTADOR). COMPANY
pode no ser nica.
FUNCIONRIO
A chave EMPID
(CONTADOR). Poderia ser
usada ESSN mas TEXTO.
DEPENDENTE
Chave complexa. Todas
as colunas.
PRODUTO
A chave PRODID
(CONTADOR). PDESCRIP
pode no ser nica.
FATURA
A chave INVID
(CONTADOR)
TAXA DE EMBARQUE
Chave complexa. Todas
as colunas.
PRODUTO
A chave PRODID
(CONTADOR). PDESCRIP
pode no ser nica.
INVOICE
A chave INVID
(CONTADOR)
FUNCIONRIO
A chave EMPID
(CONTADOR). Poderia ser
usada ESSN mas TEXTO.
TRANSAO
Complex key. PRODID and
INVID.
DEPENDENTE
Chave complexa. Todas as
colunas.
TAXA DE EMBARQUE
Chave complexa. Todas as
colunas.
Cada tabela possui um tema nico? Assim deve ser. Cada coluna
dever ser um fato sobre a chave.
2.
3.
4.
5.
6.
COMPANY
CADD1
CADD2
CCITY
CSTATE
CZIP
CAC
CTELPH
CONTACT
TITLE
Uma vez que o banco de dados tenha sido projetado no papel, o prximo
passo desenvolver o banco de dados no Microsoft Access. Quando
definir tabelas no Microsoft Access, extremamente importante manter
seu projeto de papel em mente. Desenvolver um banco de dados sem
parmetros pode causar problemas que podem ser difceis de desfazer.
(Lembre-se das anomalias anteriormente descritas.)
No Microsoft Access 2.0, existem duas ferramentas que o ajudaro a
completar a implementao de seu projeto. O Assistente de The Table
Tabelas pode ser usado para gerar uma variedade de tabelas comuns. A
janela de sistema grfico de relaes pode ser usada para criar
relacionamentos e dependncias chave. Perceba que, enquanto usar o
Assistente de Tabelas assegura um desenvolvimento relacional eficaz, os
A seguir est uma lista das tabelas finais, colunas e domnios para a
Zipper, incluindo colunas elo:
Tabela:
CLIENTE
Tabela:
PRODUTO
Nome
Tipo
CUSTID
CONTADOR
COMPANY
TEXTO
CADD1
TEXTO
CADD2
Comp
r
Nome
Tipo
PRODID
CONTADOR
45
PNOME
TEXTO
30
30
PDESCRIP
TEXTO
50
TEXTO
30
PCOST
MOEDA
CCITY
TEXTO
25
PMARKUP
NM
CSTATE
TEXTO
CZIP
TEXTO
10
CAC
TEXTO
CTELPH
TEXTO
Nome
Tipo
CONTACT
TEXTO
30
SHIPST
TEXTO
TITLE
TEXTO
30
SHIPRATE
NM
Tabela:
FATURA
Compr
Compr
2
Tabela:
TRANSAO
Nome
Tipo
Comp
r
Nome
Tipo
INVID
CONTADOR
INVID
NM
CUSTID
INVDATE
NM
PRODID
NM
D/H
TQTY
NM
REQDATE
D/H
SHIPNOME
TEXTO
45
TDISC
NM
TPRICE
MOEDA
SHIPADDR
TEXTO
30
SHIPCITY
TEXTO
25
SHIPST
TEXTO
SHIPZIP
TEXTO
10
INVTOTAL
MOEDA
Compr
Tabela:
FUNCIONRIO
Nome
Tipo
EMPID
CONTADOR
Compr
ESSN
TEXTO
11
ELASTN
TEXTO
15
EFIRSTN
TEXTO
10
EDOB
D/H
EGENDER
TEXTO
1EMARITAL
TEXTO
EADDR1
TEXTO
30
EADDR2
TEXTO
20
ECITY
TEXTO
25
ESTATE
TEXTO
EZIP
TEXTO
10
EAC
TEXTO
EHOMEPH
TEXTO
Tabela:
DEPENDENTE
Nome
Tipo
Compr
EMPID
NM
DLAST
TEXTO
15
DFIRST
TEXTO
10
DDOB
D/H