关系数据库中是否存在与任何其他表没有关系的表?

时间:2015-10-26 17:55:15

标签: sql database database-design relational-database entity-relationship-model

我有一个应用程序,我将PostId和属于帖子的关键字(Keyword)存储在名为KeywordsForPost的表中。该表的主键是PostIdKeyword的组合。 PostId不是唯一的,也不是Keyword

我需要这个实现,因为我可能需要搜索关于它们包含的关键字的帖子。

我有另一个名为NewKeywords的表。该表中唯一的一列是Keyword。创建帖子后,该帖子中的关键字将同时插入KeywordsForPostNewKeywords表中。操作将应用于用户命令表NewKeywords中的关键字,以便它们不再成为"新关键字"。因此,在应用该操作后删除这些关键字。目前,我的NewKeywords表与任何其他表没有关系。这种做法是否合理?还是有更好的做法?

我搜索并找到了这个答案。 can we have a table without any relation with the other tables
但没有找到令人满意的。 我也发现它与之前提出的问题不同,因为它提出了一个普遍的问题,而我的问题是具体的。我需要知道是否可以将关系添加到表中。到目前为止,我什么也没想到。

3 个答案:

答案 0 :(得分:0)

是的,你可以。唯一可能发生的事情是那些表与其他表没有关系。我不会说这是最好的方式,因为一切都取决于你的情况。而且,就像答案所说的那样:以后仍可以给予关系。

答案 1 :(得分:0)

要么我误解你的问题,要么实际上NewKeyWords和KeyWordsForPost之间存在关系。它是两个表共有的值(关键字),可用于关系连接。这可能是一个愚蠢的联接,没有人会想做,它可能真的很慢,缺乏相关的索引,关键字不是任何地方的声明键,但它仍然是一种关系。

这种关系是数据中固有的,无论你是否声明了它。

答案 2 :(得分:0)

我打算采取@rlartiga的方法。我将使用列Keywords创建一个Keyword表,并将其作为主键。然后,我将KeywordsForPostNewKeywords两个表引用Keyword中的Keywords。谢谢你的支持!如果您认为这不是适当的举措,请发表评论。