一个动漫商品网站大类有五类
商品种类,动漫游戏,体育周边,影视明星,其他
小类为每一个大类里面的分类
现在问题是一种商品可能不止在一个大类里面
如我有“火影怀表”
那么这个商品则包换在
“商品种类”-“怀表”里面
和“动漫游戏”-”火影忍者“里面
所以以前对商品表为
-------------------------
id  大类id  中类id  .....
-------------------------
这样则会出表一种商品占有N条记录的问题会让真正商品数类不正确
后来设计为
商品表
id  商品名称 价格 ....
商品类型表
id   中类id  商品id            //也就是把原有的商品表改为两个表
-------------------------------------------------
问:
请问一下我这个数据库结构怎么样,有没有更科学的方法谢谢

解决方案 »

  1.   

    可以.
    要保证一个商品只对一个中类ID还可简化一下,商品种类表:
    ID 名称 ParentId
    大类的parentid 为0
    中类的parentid为大类ID.可无限分级.
    商品表.id 类型ID
      

  2.   

    用cpp2017(幕白兄) ( ) 的无限分级是个好办法
      

  3.   

    还有问一下:大类,中类和商品表,商品分类表,大家都是怎么取名字的
    我的是:
    Class
    id   classname
    MinClass
    id  classid  MinName
    Product
    id   Pro_name ...
    ProductClass
    id   MinID  ProID
    问:大家都是怎么取名字的就像我上面一样你们是怎么样的
    谢谢
      

  4.   

    總合兩人的。还可简化一下,商品种类表:
    ID 名称 ParentId
    大类的parentid 为0
    中类的parentid为大类ID.可无限分级.
    商品表
    id  商品名称 价格 ....商品表(一對多)
    id 商品种类ID