用OO设计数据库结构之我解
前段时间,dv的上水道曾在dv的web版发过一贴,地址:
http://bbs.dvbbs.net/dispbbs.asp?boardid=1&replyid=1864723&id=1028215&page=1&skin=0&Star=1
当时没怎么看明白,但昨天叶子这笨蛋说起一个多功能的系统中分类表不能放在一起时,偶就突然有了自己的一点理解,今天在看了一遍上水道的贴子,就感觉怎么好象和他想到一块了。呵呵,,,,
入正题
现有的系统,假设有下载、相册、文章功能,按照现有的一般性习惯,都会把那三个功能中需要用到的分类分表存放,例如
tb_DownSort、tb_AlbumSort、tb_ArticleSort
然后各表的结构都不尽相同。当然,我不会说这种方法不好。我现在只谈我用OO设计数据库结构的方法。
1、先建立一个分类表,也可以称为一个基本类,里面只有
SortID SortName SortType .....[这里是怎么实现无限分类的扩展字段,基于各种分类方法不同,因此不列出]
这里的sorttype就是决定他是拥有哪种属性的了。
2、建立一个属性表,也可以称为分类这个基本类的扩展属性,但这里字段该怎么设计,尚未想好。
3、建立视图,通过基本类的SortType和属性表进行关联,以实现实例化
4、这样程序方面就可以通过直接查询视图,来获得具体某个分类的所有信息了。
注:这里为什么要在基本表里设置sorttype而不是在属性表通过sortid去指向呢?因为我这里是考虑属性是可以通用的,而不是单独定制的,因此结构也就有所不同。
相关文章:
- NB文章系统(NBArticle) 的SuperPassport(数据接口) 的使用及开发说明 - 2006年02月09日 06:30
- 纠正一些人的误区——什么才是ajax?ajax是拿来做什么的? - 2006年02月07日 18:01
- NB文章系统(NBArticle) v2.10 终于可以发布了。 - 2005年10月27日 04:25
- 视图的作用 - 2005年09月24日 18:58
- SB的mysql!!! - 2005年09月13日 23:09
- 最新使用mysql5的一点笔记 - 2005年08月30日 18:20
- NB文章系统(NBArticle) v2.00 Beta 1 终于可以发布了,呵呵 - 2005年05月12日 07:56
- 新版的在线维护,除了tag=9那里比较难处理,其他的基本上都可以了。 - 2004年06月18日 21:30
- 在线情况维护程序-趁NB论坛重新开发,先拿东西过来,别一会又关了 - 2004年06月17日 00:38
[2009年04月14日 09:31]
有一个办法,通过配置属性来生成表。
有一个办法,通过配置属性来生成表。
[2005年09月24日 23:30]
视图的作用就是靠关联而把不同属性的类实例化,即如果有两个功能类,即有两个视图。
vi_DownSort
vi_ArticleSort
视图的作用就是靠关联而把不同属性的类实例化,即如果有两个功能类,即有两个视图。
vi_DownSort
vi_ArticleSort
[2005年09月24日 23:28]
bc,偶有说把会员组的放进去吗????
不过bbs的版块倒是可以考虑放进去。
偶之所有没有把第2步写出来,就是如何实现扩展属性,你如果以为是靠字段来实现那我根本无需要这样OO来设计,我做的要是靠值来实现。
bc,偶有说把会员组的放进去吗????
不过bbs的版块倒是可以考虑放进去。
偶之所有没有把第2步写出来,就是如何实现扩展属性,你如果以为是靠字段来实现那我根本无需要这样OO来设计,我做的要是靠值来实现。
[2005年09月24日 19:50]
不是不能在一起.
比如用户分类和bbs板块,cms板块分类等糅合在一个表
你是觉得整个操作是简单了还是复杂了呢???
为了少2个表=_=
确实可以通过扩展属性做到.可是bbs和cms等的.附属属性毕竟相差的太远了...
上视图...个人觉得有点....
不是不能在一起.
比如用户分类和bbs板块,cms板块分类等糅合在一个表
你是觉得整个操作是简单了还是复杂了呢???
为了少2个表=_=
确实可以通过扩展属性做到.可是bbs和cms等的.附属属性毕竟相差的太远了...
上视图...个人觉得有点....
发表评论
正在加载...
