DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

Fórum DevMedia


Autor
Mensagem
JOÃO NIVALDO LOMBARDI SALES
 

País: Brasil
Estado: MG
Cidade: Uberaba
Mensagens: 9
 Postado em: 28/1/2012 3:53:17 PM

Opa a todos,

Pessoal me ajudem em uma duvida. Estou me aventurando no MySQL a pouco tempo e tenho um duvida basica.

MOdelo:
Tabela Cliente:
ID, int, autoincrement
Nome, varchar(100)
cod_bairro, int
cod_cidade, int
cod_estado, int
FK_bairro, tabela bairros campo codigo, delete: set NULL, update: cascata

Tabela estados
ID, int, autoincremente
nome, varchar(100)

Tabela cidades
ID, int, autoincremente
cod_estado, int
nome, varchar(100)
FK_estado, tabela estados campo codigo, delete: cascata, update: cascata

Tabela bairros
ID, int, autoincremente
cod_cidade, int
nome, varchar(100)
FK_cidade, tabela cidade campo codigo, delete: cascata, update: cascata

Perguntas:
1-Qual a diferenca em criar a chave estrangeira nesta ordem: de bairro para cidade e de cidade para estado ou nesta estado para cidade e cidade para bairro?
2- Na tabela cliente e correto eu deixar apenas o campo cod_bairro, pois o mesmo ja se referencia a cidade e estado ou devo deixar com os 3 campos, cod_bairro, cod_cidade e cod_estado fazendo 3 chaves estrangeiras?

Obrigado
vagner da costa almeida
 

País: Brasil
Estado: PB
Cidade: patos
Mensagens: 99
 Postado em: 13/4/2012 11:21:52 AM
Procure aqui mesmo na parte de cursos, algum curso sobre modelagem de dados.
Caso não tenha acesso, procure pela net materiais sobre modelagem de dados, Modelo Entidade-Relacionamento (MER) ou (ER).
É o conhecimento que você precisa para responder essas perguntas.
Pois a decisão em algumas estruturas de modelagem dependem muito das regras do negócio.

 
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2012 - Todos os Direitos Reservados a web-03