Today I have a table containing:
Table a -------- name description street1 street2 zipcode city fk_countryID
I have a discussion on what is the best way to normalize this in terms of quick search. For instance. find all rows filtered by city or zip code. The proposed new structure is as follows:
Table A -------- name description fk_streetID streetNumber zipcode fk_countryID Table Street -------- id street1 street2 fk_cityID Table City ---------- id name Table Country ------------- id name
. The question is to have only one field for the name of the street instead of two.
My argument is that having two feilds is considered normal for supporting international addresses.
The pro argument is that it will be worth the cost of performance when searching and possible duplication.
I am wondering what is the best way to go here.
UPDATE
I aim to have 15,000 brands associated with 50,000 stores, where 1,000 users will perform multiple searches every day via the Internet and iPhone. In addition, I will have 3 parties receiving data from the database for their sites.
The site has not yet been launched, so we have no idea about the workload. And we will have about 1,000 brands associated with about 4,000 stores when we start.
source share