简单的数据库设计 - 存储消息

时间:2014-05-05 11:06:09

标签: database-design

我想设计一个包含消息的简单数据库。每条消息都有一个类别。每条消息都可以有一个或多个子类别,但它可能根本没有子类别。

CategoryTable
CategoryKey, 分类

SubCategoryTable
SubCategoryKey, CategoryKey, 子类别,

消息表
MessageKey, SubCategoryKey, 消息,

此设计的问题是,如果邮件类别没有子类别,我该如何检索该类别的邮件?

对此最好的方法是什么?我应该有一个"无"子类别?

1 个答案:

答案 0 :(得分:0)

更改消息表,使其指向“类别”表。

MessageTable
------------
MessageKey
CategoryKey
Message

为邮件可能包含的一个或多个子类别添加MessageSubcategory表。

MessageSubCategoryTable
-----------------------
MessageKey
SubCategoryKey

您可以使用以下psudeo-SQL获取任何SubCategories:

Select Subcategory
From SubCategoryTable, MessageSubCategoryTable
Where CategoryKey = CategoryKey from MessageTable 
And SubCategoryKey = SubCategoryKey from MessageSubCategoryTable