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

京东商城商品图片是如何设计的?


他这里有个颜色分类,选不同的颜色,左侧就显示对应颜色的图片。
还有一种情况就是没有颜色分类,左侧直接显示所有的图片。
还有一种情况是选择不同的版本,左侧对应不同版本的图片,这个倒是和颜色类似了。

我想问下这个情况数据库如何设计比较好。
一张产品表 一张颜色表  一张图片表
颜色表和产品表有主外键关系。
考虑到有的产品没有颜色,那么图片表需要同时和产品表还有颜色表都要有对应的主外键关系、
我感觉这个设计不太好啊。
谁能提供点好的设计思路呢

------解决方案--------------------
引用:
Quote: 引用:



一个表就够了,

ID 编码 标题  颜色 码数 图片地址  等等...

编码是唯一的,说明一个款式

对后台对JS代码生成变量
所有编码一样的放数组,或者你觉得别的数据类型更好用
var ALL数组={ 编码一样的鞋子,颜色,码数}

单击小图片,用JS的IF 输出符合条件的图片地址显示出来即可,,


缺点:同一款式鞋子可能有很多条信息在库里,需要设计好 数据提交页面,

你这个也不可取,你考虑下后台添加图片的时候,难道每添加一张图片就要去填写一下颜色信息?
颜色信息肯定也是需要用一个ID的,后台人员添加的时候选择一个颜色,如果输入文字,会有写错的情况的


你觉得问题在哪里?
一种颜色 有很多 图片  对吧?

比如我添加

编号001 的鞋子  红色  图片地址1:图片地址2:图片地址3....
    001 的鞋子  花色  图片地址1:图片地址2:图片地址3:图片地址4....
    002 波鞋子  蓝色  图片地址1:图片地址2:图片地址3....
    002 波鞋子  白色  图片地址1:图片地址2....
    002 ...

是一个颜色 多张图  而不是一张图一条信息
------解决方案--------------------
“颜色表和产品表有主外键关系。”
这句话表达你的思维只有1对多,  其实还有多对多的设计
三张表 Product  Picture  ProductPictureMapping
当然这样设计还是不够的~
可以参考一些开源项目
我是参考nopCommerce的

------解决方案--------------------
引用:
Quote: 引用:

“颜色表和产品表有主外键关系。”
这句话表达你的思维只有1对多,  其实还有多对多的设计
三张表 Product  Picture  ProductPictureMapping
当然这样设计还是不够的~
可以参考一些开源项目
我是参考nopCommerce的

这个地方一对多,不知道你怎么想的?
一张商品图只可能属于一个商品,不可能属于多个商品。
一个商品是可以有多张图片。
不知道从哪可以看出来需要多对多的关系?

颜色 和 商品 吧
------解决方案--------------------
他这里有个颜色分类,选不同的颜色,左侧就显示对应颜色的图片。
还有一种情况就是没有颜色分类,左侧直接显示所有的图片。
还有一种情况是选择不同的版本,左侧对应不同版本的图片,这个倒是和颜色类似了。

我觉得 它(商品)这里都是一样 只是类型不同而已;类型分为颜色 版本号 款式;
商品表
类型表
类型信息表
------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:

Quote: 引用: