我如何在mysql中組織國家數據(國家,州和城市等)?如何組織國家數據?
導致每個國家都有3個表格:國家,州和城市。
我應該將每個國家放在單獨的一組表格中嗎?或者我應該將它們全部放在這三張表格中嗎?如果我把它們全部放在同一張表中,恐怕行數會很大,因爲我傾向於擁有很多國家!
這是什麼最佳實踐?
我如何在mysql中組織國家數據(國家,州和城市等)?如何組織國家數據?
導致每個國家都有3個表格:國家,州和城市。
我應該將每個國家放在單獨的一組表格中嗎?或者我應該將它們全部放在這三張表格中嗎?如果我把它們全部放在同一張表中,恐怕行數會很大,因爲我傾向於擁有很多國家!
這是什麼最佳實踐?
countryTable(countryId(PK),countryName)
stateTable(stateId(PK),stateName,belongCountryId(FK))
cityTable(cityId(PK),cityTable,belongStateId(FK))
您可以使用「級聯查詢」或創建「查看」從這3個表中獲取信息。
這裏有一種方法:
country:
country_id (INT) | country_name (VARCHAR)
state:
state_id (INT) | country_id (INT) | state_name (VARCHAR)
city:
city_id (INT) | country_id (INT) | state_id (INT) | city_name (VARCHAR)
記住要允許(和測試),極端案例:並不是所有國家都有狀態。如盧森堡。並非所有國家都有城市。例如梵蒂岡城 – 2010-03-19 04:30:54