Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Mrjoni

chave estrangeira

Recommended Posts

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

Compartilhar este post


Link para o post
Compartilhar em outros sites
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?

 

Eu faria na hierarquia menor para maior bairro>>cidade>>uf

 

 

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?

 

Pela forma normal sim, na prática muitas vezes se desnormaliza para facilitar as queries.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Motta boa noite,

 

Olha muito obrigado pela sua ajuda, mas so para entender por que você faria a hieraquia do bairro para o estado?

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

=ou- como você fez.

Grosso Modo

 

bairro
------
cod
nome
cod_cidade (fk cidade.cod)

cidade
------
cod
nome
uf (fk uf.uf)

uf
--
uf
nome_uf

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.