我在一个网站上与不同国家的不同联系人合作;城市。
我想实现的是,当访问者访问一个包含法国-巴黎信息的页面时,脚本会在数据库中搜索联系人,并在页面上显示信息。
问题是,一个联系人可能负责多个国家/城市。
我已经有了国家和城市的表格。我不想对这些表进行任何更改或添加。
所以我唯一能想到的就是:
联系人_人员(表)
联系人_id
联系人姓名
以及其他信息。。。
接触(台)
联系人_id
国家
城市
例如:
月球漫步者-法国-巴黎
月球漫步者-法国-马赛
其他用户-荷兰-乌得勒支
但是这样可以吗?或者有其他方法可以解决这个问题吗?
提前谢谢。
p.s.:语言有PHP和MySql。
您可以按照如下所述的方式规范化数据。您将联系人、城市和国家/地区作为单独的数据区域,以避免重复。然后,您就有了一个表,可以在一对多关系中将联系人映射到城市(一个联系人=多个城市)。
[table_contacts]
- id
- name
[table_cities]
- id
- name
- country_id
[table_countries]
- id
- name
[table_contacts_cities]
- id
- contact_id
- city_id
[EDIT]感谢下面的评论,简化了。