views:

23

answers:

1

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
And different people may spell the same city differently. Think Beijing. So your 'City ID' isn't really identifying a city.
Sebastian
If single Field which takes long string can change your answer ?
Freshblood
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