我有一个应用程序,我将PostId
和属于帖子的关键字(Keyword
)存储在名为KeywordsForPost
的表中。该表的主键是PostId
和Keyword
的组合。 PostId
不是唯一的,也不是Keyword
。
我需要这个实现,因为我可能需要搜索关于它们包含的关键字的帖子。
我有另一个名为NewKeywords
的表。该表中唯一的一列是Keyword
。创建帖子后,该帖子中的关键字将同时插入KeywordsForPost
和NewKeywords
表中。操作将应用于用户命令表NewKeywords
中的关键字,以便它们不再成为"新关键字"。因此,在应用该操作后删除这些关键字。目前,我的NewKeywords
表与任何其他表没有关系。这种做法是否合理?还是有更好的做法?
我搜索并找到了这个答案。
can we have a table without any relation with the other tables
但没有找到令人满意的。
我也发现它与之前提出的问题不同,因为它提出了一个普遍的问题,而我的问题是具体的。我需要知道是否可以将关系添加到表中。到目前为止,我什么也没想到。
答案 0 :(得分:0)
是的,你可以。唯一可能发生的事情是那些表与其他表没有关系。我不会说这是最好的方式,因为一切都取决于你的情况。而且,就像答案所说的那样:以后仍可以给予关系。
答案 1 :(得分:0)
要么我误解你的问题,要么实际上NewKeyWords和KeyWordsForPost之间存在关系。它是两个表共有的值(关键字),可用于关系连接。这可能是一个愚蠢的联接,没有人会想做,它可能真的很慢,缺乏相关的索引,关键字不是任何地方的声明键,但它仍然是一种关系。
这种关系是数据中固有的,无论你是否声明了它。
答案 2 :(得分:0)
我打算采取@rlartiga的方法。我将使用列Keywords
创建一个Keyword
表,并将其作为主键。然后,我将KeywordsForPost
和NewKeywords
两个表引用Keyword
中的Keywords
。谢谢你的支持!如果您认为这不是适当的举措,请发表评论。