從美國的50個州開始,其中大多數州都有除路易斯安那州和阿拉斯加州之外的縣。如何處理州,縣,市關係? (針對美國50個州)
我的表是這樣的
**State_tbl**
State_id
State_name
**County_tbl**
County_id
State_id ->state_tbl
County_name
**City_tbl**
City_id
County_id ->county_tbl
City_name
然而,由於兩個州阿拉斯加和路易斯安那州沒有縣,我會執行這些問題。而且我還看到,在一個州內沒有縣或者屬於兩個縣的城市(不知道這是否屬實)。
什麼是設計數據庫的最佳方法?
UPDATE更多信息:
我有這將註冊成服務(一個國家內)特定城市的用戶。當我檢索數據時,我希望能夠顯示所服務的城市以及縣。用戶與所服務城市之間會存在多對多的關係,以及城市與縣之間的一對多關係。
即:
約翰的K - 在STATE_A服務(所有縣市以下屬於STATE_A)
-cities服務:City_A(county_x),City_B(County_Y),City_C(County_Y)
-counties服務: County_X,County_Y
此外,我是否能夠檢索用戶的信息和一個查詢中服務的所有城市和縣?
如果您需要跟蹤各縣出於某種原因,使用相同的場跟蹤教區和行政區出於同樣的原因(不管它可能是什麼)聽起來是合理的。比如說,紐約市覆蓋5個縣,你如何設計這個將取決於你對數據做什麼,你不告訴我們。 – geoffspear
Wooble是對的。給我們更多的信息,你會得到更好的答案。 – Jeffrey
添加了更多信息。通過你給出的答案,我傾向於做1-> N郡1-> N城市表。每個縣屬於一個國家,每個城市都屬於一個縣(或任何形式的組織)。 – Cristian