我正在建立一个友谊网站。我遇到的问题是我应该在哪里存储用户的位置(我需要存储两个变量[country] [state / province])。
友谊网站目前有一个问答表,用于存储用户宗教信息,用户眼睛颜色等用户属性......
向userAttributes表添加两个问题是否合适? (见下文选项1)
OR
国家和州是否属于userAttributes表中独立的表。 (见下文选项2)
选项1 - userAttributes表
Question | Answer
What is your eye color | blue
What is your eye color | green
What country | Canada
What state / province | Alberta
What state / province | Ontario
What country | United States
What state / province | New York
What state / province | Louisiana
What state / province | Georgia
etc ...
选项2 - ProfileLocation表
Id | country | province-state
1 | Canada | Alberta
2 | United States | New York
3 | United States | Louisiana
注意:该网站可能有900-1000个省/州,因此这将填满userAttributes表。
答案 0 :(得分:2)
您有两个问题,以及大量相互关联的答案。您应该将答案存储在两个表中,我将其称为countries
和provinces
。 provinces
表链接回countries
表,以便您轻松提取所需的数据。
这会给你
国家
id | Name
------------------------------
1 | USA
44 | United Kingdom
64 | New Zealand
省
id | Country ID | Name
1 | 1 | Oregon
2 | 1 | Arizona
3 | 1 | Kentucky
4 | 44 | London
5 | 44 | Kent
6 | 64 | Waikato
7 | 64 | Wairarapa
(你可以填写其余部分)
一个简单的查询将填充您网页上的countries
下拉菜单。 AJAX调用和第二个简单查询可以动态填充provinces
下拉列表(或者您可以在加载页面时发送列表,并使用一些Javascript来填充下拉列表)。 / p>