日期:2014-05-17  浏览次数:20527 次

商店类型的数据库设计问题,一家商店有多个类型,如何设计数据库,并且在前台好调用?
小弟在做一个外卖网,客户要求把每个商店分类,比如有早餐,中餐,午餐,
快餐,中餐,西餐之类的,但是问题来了,如果一家商店类型有中餐,也有西餐
这数据库该如何设计啊?在前台用户点击那个类型商店怎么把该类型的商店
全部显示出来啊?请教有这方面的前辈详细指点一下?数据库结构如何设计包括
在前台如果显示?谢谢了!
数据库 电子商务

------解决方案--------------------
设计一个type字段,其值可能如下:

早餐
早餐,西餐,午餐
中餐
...

要显示早餐的:

select * from db where ','+type+',' like '%,'+'早餐'+',%'
------解决方案--------------------
楼上+1
------解决方案--------------------
用逗号拼接(数据量大了,按类型查询的效率会比较低)
或者干脆单独建一张关联关系表,比如商店ID为1的同时两种类型
id(PK) storeId TypeId
1           1      A
2           1      B
------解决方案--------------------
晕死!还有以like查询为“设计”的?!这从概念上就应该知道是要在设计时特意考虑尽量避开的。
------解决方案--------------------
引用:
小弟在做一个外卖网,客户要求把每个商店分类,比如有早餐,中餐,午餐,
快餐,中餐,西餐之类的,但是问题来了,如果一家商店类型有中餐,也有西餐
这数据库该如何设计啊?在前台用户点击那个类型商店怎么把该类型的商店
全部显示出来啊?请教有这方面的前辈详细指点一下?数据库结构如何设计包括
在前台如果显示?谢谢了!


只要搞懂一个概念,就明白纠结在哪里了。

有些人只会搞什么“分类”。是实际上,你这里是的分类是商店的属性,只不过这个属性可以取多个值。考虑一下,假设“商店有多个店员”你是怎样表示的?那么分类跟店员一样。