Ola, normalizei a parte de endereço de um sistema que estou fazendo ( para agregar conhecimentos ) e gostaria de saber se a forma que normalizei o endereço esta correta.
Qualquer comentário construtivo é bem vindo.
Segue imagem.
Ola, normalizei a parte de endereço de um sistema que estou fazendo ( para agregar conhecimentos ) e gostaria de saber se a forma que normalizei o endereço esta correta.
Qualquer comentário construtivo é bem vindo.
Segue imagem.
Do ponto de vista da normalização está certo, mas há alguns problemas nesse modelo.
Um cep identifica uma rua (ou trecho dela).
Um rua pertence a um bairro. (eu acho que apenas 1, não tenho certeza)
Um bairro pertence a uma cidade, que pertence a um estado, que pertence a um país.
Você não deve direcionar todos relacionamentos com a tabela final de endereço.
Tem que representar essa hierarquia.
Por fim, rua não seria um bom nome, já que existe avenidas, travessas, largos, etc.
Então levando em conta as nossas analogias:
um estado pertence a um pais
uma cidade pertence a um ou mais estados ( tendo em vista que existem cidades em estados diferentes com o mesmo nome )
um bairro pertence a uma ou mais cidades ( tendo em vista que existem bairros em cidades diferentes com o mesmo nome )
um logradouro pertence a um ou mais bairros (tendo em vista que uma rua/avenida etc. pode se estender por mais de um bairro)
um logradouro pertence a um ou mais ceps (não sei se estou certo, mas se digito meu cep no google maps aparece em outra rua aqui perto, e se digito o nome completo aparece este mesmo cep).
e por fim o logradouro pertence ao endereço.
Segue imagem:
o que acha?
Sei que o post é antigo, mais vou fazer o comentário, você não precisa na tabela de endereço ter cidade, estado e país, precisa somente ter a cidade, pois na tabela de cidade você vai ter o estado e na tabela de estado você vai ter o país.