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



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

CategoryTable
CategoryKey,类别

SubCategoryTable
SubCategoryKey,CategoryKey,子类别,

MessageTable
MessageKey,SubCategoryKey,消息,

这种设计的问题是,如果消息类别没有子类别,我如何检索该类别的消息?

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

更改Message Table,使其指向Category表

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

为消息可能具有的一个或多个子类别添加MessageSubcategory Table。

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

您可以使用以下psudeo-SQL获取任何子类别:

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

最新更新