【发布时间】:2015-10-27 12:41:32
【问题描述】:
我有一个应用程序,其中我将属于 Post 的 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
但是没有觉得满意。
我还发现它与之前提出的问题不同,因为它提出了一个一般性问题,而我的问题是具体的。我需要知道是否可以将关系添加到表中。到目前为止,我一无所获。
【问题讨论】:
-
你对这个答案有什么不满意的地方?
-
正如您提供的问题中的所有答案所示 - 是的,这样做非常好。仅仅因为您在关系数据库中工作并不意味着所有表必须至少相互关联。
-
“关系型数据库”中的“关系型”实际上并不是指表之间的关系(外键),而是指表中单行的相关数据。例如,客户表可能有名字、姓氏、出生日期和地址。这些单独的项目是相关的,因为它们指的是同一个客户。
-
为什么没有一个带有“New”标志的关键字表,并使用该表的键作为KeywordsForPost的外键?
-
@rlartiga 这听起来很有趣。让我看看它是否适用于我的情况。非常感谢您的回复!
标签: sql database database-design relational-database entity-relationship