您的位置:首页 > 数据库

pipeline 之数据库设计 ----by 王莹

2012-11-07 16:08 127 查看
今天完成了数据库整体框架的设计,首先对要存储的数据进行分类:三种数据:1)问答对;2)视频类;3)文档类

下面分别进行一下说明:

一. 首先来说一下问答对:

在这个问题上我们准备建立二张表:1._TableQuestion:用来存放问题的一张表:

_TableQuestion

_Id _Question_FirstTag_SecondTag_ThirdTag
其中_Id为主键,且从一开始自增,_Question为要存放的问题,_FirstTag,_SecondTag,_ThirdTag分别为计算机学科的三级分类,为了快速查找数据,最后会根据学科分类建立散列索引,增快查找速度。同时方便数据库UI展示数据库中的内容。

                2._TableAnswers:用来存放问题的答案:

_TableAnswer

_Id_Answer_QuestionId_Rank
考虑到一个问题可能有多个答案,因此我们专门建立一张表用来存储问题的答案,表中的_Id 如上面一样,_Answer是答案,_QuestionId是一个外部码,用来存放该答案所属的问题。

二. 接下来是文档类的表:

_TableDoc

_Id

_Author

_Title

_Description

_PubTime

_UrlLink

_FilePath

_Rank

_KeyWords

_FirstTag

_SecondTag

_ThirdTag

_Id不用说了,_Author,_Title,_Description ,_PubTime,_KeyWords是文章的一些属性,三级标签如前面一样,_UrlLink是用来存放该文章的来源,

重点要说的是_FilePath.这个属性是用来存放文档在服务器存储的路径的。由于ui的小组最近突然要提出来要搞上传/下载文档的功能。所以我们才不得不搞这样一个东西出来。这里我们只是提供了一个路径,而具体的上传,下载功能的实现就要靠UI组自己的实现,如果这也要我们来做的话就没有天理了。。

三. 视频类的数据库:

_TableVideo

_Id

_Title

_Description

_PubTime

_UrlLink

_Rank

_FirstTag

_SecondTag

_ThirdTag

视频的这个表和前面文档的表大同小异,由于没有视频的上传/下载功能,那我们就无需存放视频,当然也就无需存放视频的路径。。

上面是我们数据库中几张基本表,而对于我们自己可能还需要几张表来存储我们的数据,从而完成我们程序的功能。。关于表中各个字段数据类型的定义,以及表中的各种约束条件在这里没有写出来。。

以上是我们目前建立的数据库,可能有些结构上还不是很合理,请UI组的大神么勿喷,私底下好好商量。。

最后又一个问题就是我们要做双语的搜索吗?如果要是做双语搜索的话,我们的标签可能还要做两套,而相应的数据库也要发生一些变化。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: