比较三种分类的数据库设计?分不够再加100!

joinrry 2004-06-20 05:08:32
第一种:4个表 实现四级分类
一级表:ID1,IDName
二级表:ID2,IDname,FID(上一级id)
三级表:ID3,IDname,FID(上一级id)
四级表:ID4,IDname,FID(上一级id)

第二种:用树形结构表实现无限制级分类
表结构:id,fid(上一级id),idname

第三种:用编码的形式将fid和id的信息放在一个表里
用32(4+7+7+7+7)位整数来编码,其中,第一级分类有4位,可以表达16种分类。第二级到第五级分类分别有7位,可以表达128个子分类。
易趣好像就用的是这种方法

我现在有个网站商品种类信息非常多,而且不断变化
请问我用那种方法好一点?

第一种效率我觉得还可以 调整分类也还方便,就是级数固定,有些商品只有两级分类就不好处理了

第二种调整分类 级数变动都很方便,但听说分类达到几千之后效率就比较低了

第三种我没用过 不知道实现起来方便不?

大家帮我比较比较阿






...全文
131 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
yeeshengwei 2004-06-21
  • 打赏
  • 举报
回复
学习......
zjcxc 2004-06-20
  • 打赏
  • 举报
回复
个人意见:

第1种比较死板,而且用四个表,还不如用一个表,不喜欢,排除

第2,3种是比较常见的设计方法

第2种的优点很明显,支持无限分级,类别的调整也非常方便
缺点是数据量大的时候,要分级统计效率比较低

第3种在分级统计上比较容易处理,但不可能实现无限分级,分类的调整也比较麻烦
不有一个比较致命的问题,每级宽度是固定的,如果设计的时候,某个级别的宽度定义错误,就会千万较大的麻烦
在检索速度上,字符型比较数字型低


鉴于你的商品种类信息经常发生变化的情况,建议你用第2种,只要你的算法合理,效率不会太低
dut 2004-06-20
  • 打赏
  • 举报
回复
个人倾向用第二种,至于效率问题,可以对id,fid加索引以及优化查询来解决
dut 2004-06-20
  • 打赏
  • 举报
回复
另外两种主要看你的取舍,如果注重效率,选择1,如果注重适应性,选择2

dut 2004-06-20
  • 打赏
  • 举报
回复
首先,应该排除第三种,因为第三种固定只有四级,位操作比较麻烦,唯一的好处是节省空间,但是位操作对效率影响太大。

22,301

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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