用戶位置應該如何存儲在數據庫中?是否需要user_Country_state_city
表?有沒有人有更好的設計,那麼下面列出的是什麼?存儲國家,州,市SQL設計
User
表:
user_Country_state_city
:
ID | CountryID | StateID | CityID
0 | 0 | 0 | 0
Country
:
ID | Country Name
0 | United States
State
:
ID | Country ID | State
0 | 0 | Michigan
City
:
ID | State ID | City
0 | 0 | Detroit
OR
User
表:
ID | User | CountryID | StateID | CityID
0 | John | 0 | 0 | 0
Country
:
ID | Country Name
0 | United States
State
:
ID | Country ID | State
0 | 0 | Michigan
City
:
ID | State ID | City
0 | 0 | Detroit
因此,例2我只用cityID創建,城市表就會提及國家和州。你是這個意思嗎? – 2015-04-05 00:52:51
@LeslieJones - 在第二個例子中,您仍然有三個來自'User':'CountryId','StateId'和'CityId'的引用。我相信戈登建議在'User'中只有'CityId'。想想它是什麼意思。用戶是否可以選擇僅隸屬於一個國家或必須指定州和城市?如果是這樣,你爲什麼要允許用戶排到意大利,曼尼託巴,莫斯科?如果你只允許一個城市,並用它來定位國家,那麼你就排除了這個問題。 – HABO 2015-04-05 02:12:55
這是一個很好的觀點,我明白你的意思。 – 2015-04-07 23:08:08