Normalization question regarding address,city,country data Normalization question regarding address,city,country data database database

Normalization question regarding address,city,country data


That's an unnecessary set of relationships - you can get the regions/country from the city instead.

Note that I've got regions and countries the wrong way round in the image below, but it illustrates what I mean!

enter image description here

Naturally, it would be useful to define a view combining cities, countries and regions for actually writing your queries with. I also think that normalizing to this level is a very good idea in practice. When you come to add a new field to your locations table you will be very glad you've split it out ;-)


I think you are already overdoing it. Regions, Cities and Countries as seperate tables is great, as you have the ability to easily manage the entries without creating data inconsistence. But storing address data for each user / organisation in a seperate (locations) table is unnecessary. Add those fields to the user / organisation tables.

EDIT: RB illustrated it in much more detail :)