日期:2014-05-18  浏览次数:20600 次

一个一对多表的设计问题
有这么一个产品表Product(productId, productName, productCode),表中的每个产品可能在全国不同的城市进行销售
SQL code

1,产品1,pr0001
2,产品2,pr0002
.
.
.
 



要是在产品表加cityIds来对应所有的城市
Product(productId, productName, productCode, cityIds)
SQL code

1,产品1,pr0001,[1,2,3,4,5,6,7,8,9]
2,产品2,pr0002,[1....10000]
.
.
.




不知道这样是否妥当?如果不妥,有什么好的设计方案?

------解决方案--------------------
产品表应该是独立的一张表
城市也一样,这两个都是基本表
对于不同城市销售的产品需要加一张表来关联

BS_Re_ProductCity

id cityid productcode remark
------解决方案--------------------
这个是肯定的,不建议楼主说的将城市id存为 1,2,3,4,5,... 这样的形式,前台后台都不好处理
按照行记录来做,假设有1000个产品,100个城市都有销售,那么这个关系表10W的数据量,算少的了。