我想设计一个包含消息的简单数据库。每条消息都有一个类别。每条消息都可以有一个或多个子类别,但它可能根本没有子类别。
CategoryTable
CategoryKey,
分类
SubCategoryTable
SubCategoryKey,
CategoryKey,
子类别,
消息表
MessageKey,
SubCategoryKey,
消息,
此设计的问题是,如果邮件类别没有子类别,我该如何检索该类别的邮件?
对此最好的方法是什么?我应该有一个"无"子类别?
答案 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