pipeline 之数据库设计 ----by 王莹
今天完成了数据库整体框架的设计,首先对要存储的数据进行分类:三种数据:1)问答对;2)视频类;3)文档类
下面分别进行一下说明:
一. 首先来说一下问答对:
在这个问题上我们准备建立二张表:1._TableQuestion:用来存放问题的一张表:
_Id | _Question | _FirstTag | _SecondTag | _ThirdTag |
其中_Id为主键,且从一开始自增,_Question为要存放的问题,_FirstTag,_SecondTag,_ThirdTag分别为计算机学科的三级分类,为了快速查找数据,最后会根据学科分类建立散列索引,增快查找速度。同时方便数据库UI展示数据库中的内容。
2._TableAnswers:用来存放问题的答案:
_Id | _Answer | _QuestionId | _Rank |
考虑到一个问题可能有多个答案,因此我们专门建立一张表用来存储问题的答案,表中的_Id 如上面一样,_Answer是答案,_QuestionId是一个外部码,用来存放该答案所属的问题。
二. 接下来是文档类的表:
_Id |
_Author |
_Title |
_Description |
_PubTime |
_UrlLink |
_FilePath |
_Rank |
_KeyWords |
_FirstTag |
_SecondTag |
_ThirdTag |
_Id不用说了,_Author,_Title,_Description ,_PubTime,_KeyWords是文章的一些属性,三级标签如前面一样,_UrlLink是用来存放该文章的来源,
重点要说的是_FilePath.这个属性是用来存放文档在服务器存储的路径的。由于ui的小组最近突然要提出来要搞上传/下载文档的功能。所以我们才不得不搞这样一个东西出来。这里我们只是提供了一个路径,而具体的上传,下载功能的实现就要靠UI组自己的实现,如果这也要我们来做的话就没有天理了。。
三. 视频类的数据库:
_Id |
_Title |
_Description |
_PubTime |
_UrlLink |
_Rank |
_FirstTag |
_SecondTag |
_ThirdTag |
视频的这个表和前面文档的表大同小异,由于没有视频的上传/下载功能,那我们就无需存放视频,当然也就无需存放视频的路径。。
上面是我们数据库中几张基本表,而对于我们自己可能还需要几张表来存储我们的数据,从而完成我们程序的功能。。关于表中各个字段数据类型的定义,以及表中的各种约束条件在这里没有写出来。。
以上是我们目前建立的数据库,可能有些结构上还不是很合理,请UI组的大神么勿喷,私底下好好商量。。
最后又一个问题就是我们要做双语的搜索吗?如果要是做双语搜索的话,我们的标签可能还要做两套,而相应的数据库也要发生一些变化。。
posted on 2012-11-07 16:08 fightingsnail1 阅读(425) 评论(0) 编辑 收藏 举报