Lógica de relacionamento
Olá gente, eu estou modelando uma base de dados para um sistema de alocação de empresas por cidade, bairros e ceps, e estou com uma dúvida sobre a eficácia da minha lógica.
Vocês poderiam dar uma opnião sobre a mesma?
Vou mostrá-la abaixo:
Indice de nomes das tabelas
E = EMPRESAS
C = CIDADES
B = BAIRROS
A = ALOCACAO
CP = CEP
Segue a lógica
/applications/core/interface/imageproxy/imageproxy.php?img=http://www.megatrends.com.br/blog/img_externas/relacionamento.jpg&key=39e2ea873e244361a18624752443ed4ed48bc1c5c1caea1495628a19f09f3f9b" alt="Imagem Postada" />
Onde a teoria da lógica é:
Muitas empresas podem ser alocadas nas mesmas cidades, onde esta cidade tem muitos bairros, porém um bairro só pode ser alocado por uma empresa, e muitos ceps pertencem a um bairro que estes ceps também lógicamente só podem existir pra uma empresa.
Entenderam?
Digamos que eu sou a empresa, sou alocado no RJ para trabalhar nos bairros: Meier, Madureira e Cascadura atingindo todos os CEPs dos três bairros.
Meu concorrente, também pode ser alocado na cidade do Rio de janeiro, porém não pode trabalhar nem no Meier, nem em Madureira e nem em Cascadura, muito menos atingir os mesmo CEPs que eu.
Bom minha lógica foi, criar a tabela ALOCAÇÃO para relacionar todas as tabelas a ela da forma que demonstre na imagem.
ID empresa com ID Alocação
A_cidade com A_alocação
A_bairro com A_alocação
A_cep com A_alocação
C_cidade com C_bairro
B_cep com B_bairro
Onde os codigos:
ID, A, B e C são as chaves primárias e Estrangeiras das tabelas sendo:
ID_empresa = PK,
A_alocação = PK
C_cidade = PK,
B_bairro = PK.
e:
ID_alocação = FK
A_cidade, A_bairro, a_cep = FK
C_bairro = FK,
B_cep = FK
Resumidamente, está correta minha lógica?
Aceito sugestões e correções.
grato!
Discussão (1)
Carregando comentários...