【发布时间】:2009-11-23 00:03:18
【问题描述】:
我必须在数据库中存储一组相关的关键字。截至目前,我正在考虑使用以下内容:
存储关键字本身:
CREATE TABLE keywords(
id int(11) AUTO_INCREMENT PRIMARY KEY,
word VARCHAR(255)
);
存储关系(存储相关关键字的id):
CREATE TABLE relatedkeywords(
id int(11) AUTO_INCREMENT PRIMARY KEY,
keyword1 int(11),
keyword2 int(11),
FOREIGN KEY (keyword1) REFERENCES keywords(id),
FOREIGN KEY (keyword2) REFERENCES keywords(id)
);
这是惯例还是有更好的方法?我看到的唯一问题是我需要检查这两个列,以便有时能够获得相关的关键字......我可能在这里遗漏了一些东西。
【问题讨论】:
-
你的意思是给keyword1和keyword2添加FOREIGN KEY约束,对吧?
-
是的..对不起...刚刚更新了我的帖子。忘了这两个陈述:) 感谢您指出这一点。
-
选择更好的列名,比如
parent_keyword和child_keyword,这样关系就更明显了。此外,虽然“相关”更短,但您实际上是在定义关键字 [子] 分类。 -
谢谢,我会改的。
标签: mysql database-design keyword