【发布时间】:2010-08-25 17:00:55
【问题描述】:
我有 3 种数据类型——a)公共列 b)层次结构——并且想知道如何设计数据库。
假设在顶层,有一个讨论。其中有 DiscussionMessages、Files 和 Comments。它们都有共同的字段(UserID、CreateDate、Text),但也有唯一的列(FileName、ContentType 等)。评论可以与任何类型(甚至其他评论)相关联,并且与文件相关联。
在这里查看了一些问题后,我想我想要类表继承——一个基表 (DiscussionParts) 来存储公共元素,然后是每种数据类型的特定表。
DiscussionParts:PartID、DiscussionID、ParentID、PartType(M、F、C)、UserID、Text、CreateDate
消息:MessageID、PartID、标题
文件:FileID、PartID、FileName、ContentType
评论:评论ID、PartID、来源
ParentID 列用于跟踪层次结构。 DiscussionID 是为了让用户可以在一个简单的查询中搜索他/她的所有讨论中的文本。
这是对具有层次结构的类表继承的推荐设计吗?
【问题讨论】:
标签: database database-design database-management