首页 新闻 会员 周边 捐助

如何设计一张表,来存储下面数据??

0
悬赏园豆:30 [已解决问题] 解决于 2008-09-19 16:31

要设计一张表,来存储下面数据:

项目,大分类,中分类,小分类1,小分类2

有多个项目,一个项目对应多个大分类,一个大分类对应多个中分类,

一个中分类对应多个小分类1,一个小分类1有的包含多个小分类2,有的不包含。

请问如何设计啊?帮帮忙!

问题补充: 如果我给出了一个小分类,这个小分类可能是小分类1,也有可能是小分类2,设计的表能够方便查询小分类对应的小分类1(如果有),中分类,大分类和项目。
itman020的主页 itman020 | 初学一级 | 园豆:0
提问于:2008-09-18 09:44
< >
分享
最佳答案
0

还有一种方式:

Table(CategoryID, CategoryName, ParentID)

无限级分类的标准设计,嘿嘿~~~

丁学 | 专家六级 |园豆:18730 | 2008-09-18 10:01
其他回答(7)
0

可以看做一个分类的表啊,,

项目代表一级节点,,,大分类是二级节点....

wingoo | 园豆:1513 (小虾三级) | 2008-09-18 09:49
0

最标准的设计

table 项目 (项目ID, ...)

table 大分类 (大分类ID, 项目ID, ...)

table 中分类 (中分类ID, 大分类ID, ...)

table 小分类1 (小分类1ID, 中分类ID, ...)

table 小分类2 (小分类2ID, 小分类1ID, ...)

最快速的设计

table 表(项目ID, 大分类ID, 中分类ID, 小分类1ID, 小分类2ID, ...)这样很冗余

Gray Zhang | 园豆:17610 (专家六级) | 2008-09-18 09:50
0

同意gray Zhang的,最好还是设计成多个表,建立一对多的关系...

有所为,有所不为 | 园豆:1200 (小虾三级) | 2008-09-18 10:09
0

楼主或许是多对多的关系呢,还是丁大虾的无限实用,就是绕的厉害,到时查询的时候,别维护的人都不知道该查多少层,当前层是哪层(楼主的大、小):)

陛下 | 园豆:3938 (老鸟四级) | 2008-09-18 10:14
0

你可以去找个平衡点,如果是我的话,我会这样做:

table1 项目 (项目ID, ...)   注:项目和分类一定分的,因为项目表的字段和分类表的字段应该不同的

table2 大分类 (大分类ID, 项目ID, ...) 注:其实下面就看你的存储需要,如果父类数据多的话,直接参照table4的结构,如果子类分的很细,就再分一表

table3 中分类 (中分类ID, 大分类ID, ...)

table4 小分类 (小分类ID, 中分类ID, ParentID)

zjy | 园豆:3194 (老鸟四级) | 2008-09-18 10:29
0

貌似一颗树。。。

天堂口 | 园豆:514 (小虾三级) | 2008-09-18 11:04
0

table 项目 (项目ID, ...)

table 大分类 (大分类ID, 项目ID, ...)

table 中分类 (中分类ID, 大分类ID, ...)

table 小分类1 (小分类1ID, 中分类ID, ...)

table 小分类2 (小分类2ID, 小分类1ID, ...)

强烈推荐使用这种方式......

Jared.Nie | 园豆:1940 (小虾三级) | 2008-09-18 16:37
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册