gpt4 book ai didi

mysql - 设计一个单元格有多个引用的表格的最佳方法?

转载 作者:行者123 更新时间:2023-11-30 23:59:23 25 4
gpt4 key购买 nike

我的问题是关于如何设计数据库。

我有一个名为 posts 的表,其中包含以下列:

ID, subject, keywords, (and a few other columns)

还有另一个名为关键字的表:

kw_id, keyword.

现在,每个“帖子”都有几个关键字,有时,关键字会因为没有意义或重复而被删除。

我的问题是:

  • posts 中的 keywords 列可以是外键吗? (每行会有多个关键字)

  • 如果不能,确保数据完整性的最佳方法是什么(特别是在删除关键字时)?

提前致谢

编辑:您能指出我应该阅读的有关数据库设计的任何书籍或文档吗?看来我缺乏有关数据库设计的关键知识。

最佳答案

你必须翻转依赖关系:表 KEYWORD 应该引用回 post。您可能希望介于两者之间以查找给定关键字的所有帖子(伪代码):

POST
POST_ID
...

KEYWORD
KEYWORD_ID
NAME /* the keyword */

POSTKEYWORDREL /* relationship */
POST_ID /* foreign key to POST */
KEYWORD_ID /* foreign key to KEYWORD */

现在,您只需删除 POSTKEYWORDREL 中的关系,即可轻松从给定帖子中删除关键字。

编辑:与往常一样,对于文档,让我向您指出 Wikipedia .您还应该看看 normalization (在我看来,这是数据库设计中最重要的概念)。

关于mysql - 设计一个单元格有多个引用的表格的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7222284/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com