如何设计一个无限分类的数据库

qxg1123 2003-05-20 02:47:04
如何设计一个无限分类的数据库
...全文
470 35 打赏 收藏 转发到动态 举报
写回复
用AI写文章
35 条回复
切换为时间正序
请发表友善的回复…
发表回复
yzs_china 2010-06-09
  • 打赏
  • 举报
回复
左右值
csdnshao 2003-06-06
  • 打赏
  • 举报
回复
强烈关注
孟子E章 2003-06-06
  • 打赏
  • 举报
回复
http://xml.sz.luohuedu.net/tree/
xiaomu 2003-06-06
  • 打赏
  • 举报
回复
1)如何处理各分类的信息存储;
2)如何处理分类的亲缘关系;
3)如何处理对信息的查询;

亲缘关系的数据库处理与论坛的数据库处理类似,这里建个 type 的数据库用来处理分类:

建立字段:
id(int):用来记录各分类的自然序号
uid(int):用来记录该分类的父分类的 id 号
type(char):类别的名称
roue_id(varchar):亲缘树,以 :0:2:10:20: 的 id 连接表明亲源关系
roue_char(varchar):亲缘树,类似 :系统:linux:开发工具:gcc: (这个字段有没有都没关系,为了更方便地了解各亲缘关系当然字符表述比数字表述更直接^o^,不过最好加上这个字段)

这样一个无限分类的类别表就建立了起来,接下来就需要建立存储信息的数据库,处理查询一个表最方便所以这里建立一个表存储信息 type_message:

id(int):信息的序号;
typeid(int):所属类别的 id 号;
title(varchar):信息标题;
message(text):信息内容;
time:信息建立的时间;

这两个数据表就能够完成无限分类的这个任务了(两个表的辅助字段就没加了,读者可自行加入).
NavyBlue 2003-06-06
  • 打赏
  • 举报
回复
关注
Jaron 2003-06-06
  • 打赏
  • 举报
回复
动网的论坛好像就是,不过他限制只能20级,可以修改一下。
boy21cnthp 2003-06-06
  • 打赏
  • 举报
回复
学习
net205 2003-06-06
  • 打赏
  • 举报
回复
学习学习.........
BainStudio 2003-06-05
  • 打赏
  • 举报
回复
在补充一下.我的这个数据结构.在加上一个简单的递归就可以完全实现MSDN中也就是CSDN中的XML树形目录了.而且也是无限的.
BainStudio 2003-06-05
  • 打赏
  • 举报
回复
所以说.想把这东西搞好.要经过很详细的测试.尽量考虑到每种可能的产生.
这里的ParentStr中有个问题是比较讨厌的
就是在更换目录的时候.你需要修改的是数据中的一部分数据.不能对数据进行重新的排序,一来是比较麻烦.二来容易出错
nchen123 2003-06-05
  • 打赏
  • 举报
回复
还有一个问题相信也是比较头疼的,就是要写一个专门的程序来处理数据库中的脏数据,因为一般这种模式的数据库出点小问题是很有可能的,我目前也要搞一个类似的东西,很头疼!
qxg1123 2003-06-05
  • 打赏
  • 举报
回复
这我知道
可不可以用一条语句解决的
BainStudio 2003-06-05
  • 打赏
  • 举报
回复
是啊!就是因为要考虑到很多的因素.(目录的"父子"关系).为了按照WINDOWS的文件管理模式做.我就不得不做出那么多的字段了!
真的是很累.尤其是更改起来的时候.这个东东.我足足写了两周.

该数据模式不需要用递归
shauykee 2003-06-05
  • 打赏
  • 举报
回复
用递归算法可以很容易做到
nchen123 2003-06-05
  • 打赏
  • 举报
回复
呵呵,你说得也很有道理。其实,如何建立一个好的数据库模式,的确是个很难的问题,常常要折衷考虑。再听听大家的看法!
BainStudio 2003-06-05
  • 打赏
  • 举报
回复
to inelm(CWSCWS)
这个问题我已经考虑到了.为什么建立那么多看起来可能会有很多重复的字段是为了更好的扩展其功能所设置的.
在插入或修改的时候.我已经完全解决这些问题.目前只有一个还没有解决就是该目录下子目录的数量.因为我考虑了很长时间,才觉得只有像这样把数据给分细点,才可以达到任意创建及修改的目的.
但是,这个算法还是可以在简化的.还是有很多的地方向你所说的那样有冗余.这不就是想在回答问题的同时看看大家的看法么!?
qxg1123 2003-06-05
  • 打赏
  • 举报
回复
如何做到删除中间的一级就删除其下面的所有级呢
nchen123 2003-06-05
  • 打赏
  • 举报
回复
to :--〉BainStudio(胖胖狗)
我个人认为,这样的设计虽然查询方便,但是,好像冗余字段比较多。这样很可能会造成插入以及修改的问题。
wggipkhgef 2003-06-05
  • 打赏
  • 举报
回复
up
rolinson 2003-06-05
  • 打赏
  • 举报
回复
再UP
加载更多回复(15)

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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