数据表的设计

shangbeizizailiulang 2009-11-28 09:42:05
情况是这样的,
有一个商品表,但是根据商品种类不同呢,有不一样的属性,
比如第一种商品有A1,A2,A3,A4,A5,A6........等属性,
第二种商品有A2,A4,A5,A6,B3,B5,B6。。。。。等属性
第三种商品有A2,A5,A6,C1,C2,C4....等属性,
就是每种商品有共同的属性,又有各自的属性,但是在大体上算是一种商品,
我的问题是,数据库要怎么设计呢,
我想有两种方法,
第一种是一个大表,这个表包含有每种商品的所有属性,对应的字段有值就添加,无值便空着,这样是数据库表少了,但是好像冗余挺大的,
第二种是分别建立多个对应于不同种商品的表,每个表存储相对应的商品,但是又觉得的表多了,会不会也增加负担,
我对数据库不是很了解,高手们帮我分析下吧
...全文
151 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
foolbirdflyfirst 2009-11-28
  • 打赏
  • 举报
回复
不知道你的具体需求,帮你分析下。

1.属性表(属性id,属性name)
2.属性值表(商品id,分类id,属性id,属性值)
3.分类表(分类id,分类pid,分类名)
4.分类属性表(分类id,属性id)
5.商品分类(商品id,分类id)
6.商品表(商品id,商品name)

商品属于哪个分类,分类绑定那些属性,分类是无限级,每一级分类都可绑定相应属性,子类继承父类属性,本身可以再细分属性。


  • 打赏
  • 举报
回复
算是一种折中的方法了
dzxccsu 2009-11-28
  • 打赏
  • 举报
回复
第二种:建四个表吧
1.商品类别表 sid,name
2.共有属性表 gid,sid,name
3.专有属性表 zid,sid,name
4.商品属性表 pid,gid,zid,name
  • 打赏
  • 举报
回复
额,商品呢只是我举的一个例子,现在东西已经做了一半半了,改不了,有没有能分析一下
  • 打赏
  • 举报
回复
去ECSHOP里面弄吧,一个很成熟的商品销售管理程序。

| ecs_goods |
| ecs_goods_activity |
| ecs_goods_article |
| ecs_goods_attr |
| ecs_goods_cat |
| ecs_goods_gallery |
| ecs_goods_type |
| ecs_group_goods |


ACMAIN_CHM 2009-11-28
  • 打赏
  • 举报
回复
[Quote]第一种是一个大表,这个表包含有每种商品的所有属性,对应的字段有值就添加,无值便空着,这样是数据库表少了,但是好像冗余挺大的,[/Quote]

推荐用这种。存储上是有浪费,但查询上效率比较好。并且操作简单。
calvinp 2009-11-28
  • 打赏
  • 举报
回复
好东西。学习了。!

21,891

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧