用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去指向呢?因为我这里是考虑属性是可以通用的,而不是单独定制的,因此结构也就有所不同。


[ 点击查看详细]

你可能感兴趣的:(数据结构,OO,asp.net,asp,bbs)