我必须在数据库中存储一组相关的关键字。截至目前,我正在考虑使用以下方法:关于用于存储相关关键字的数据库模式的任何建议?
要存储关键字本身:
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)
);
这是惯例还是有更好的方法来做到这一点?我所看到的唯一问题是我需要检查两栏以便能够有时获取相关的关键字......我可能会在这里丢失一些东西。
你的意思是添加外键约束关键字1和关键字2,对不对? – Dmitry 2009-11-23 00:05:18
是..对不起......刚更新了我的帖子。忘了那两个声明:)谢谢你指出。 – Legend 2009-11-23 00:08:08
选择更好的列名称,比如'parent_keyword'和'child_keyword',这样关系更明显。此外,虽然“相关”较短,但实际上定义了关键字[sub]分类。 – 2009-11-23 00:47:20