If I have one table which has a City field and as expected this field will repeat itself so only separate it to another table can be ok for normalizing concepts? I mean separated table who has only one field can be meaningful and can help performance gaining?
+1
A:
It is unlikely to help much. You would need to invent a 'City ID' which would, presumably, be an integer type for cross-referencing to the table of city names. You would complicate the data; when presenting the address information, you'd have to do a join - so simple data dumps would be less readily meaningful (you need two dumps - the main table and the city table - to make sense of a simple data dump).
Jonathan Leffler
2010-06-10 08:08:06
And different people may spell the same city differently. Think Beijing. So your 'City ID' isn't really identifying a city.
Sebastian
2010-06-10 08:18:18
If single Field which takes long string can change your answer ?
Freshblood
2010-06-10 08:38:22
Even if you have many people from Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch (in Wales), I would probably not bother to push the City into a separate table. If I did, it would be part of a bigger hierarchy, because the same city name can appear in many places around the world (London appears in countries other than England - USA and Canada; Boston is a town in England as well as in Connecticut; Paris is a town in the USA as well as in France).
Jonathan Leffler
2010-06-10 20:11:06