我必須在數據庫中存儲一組相關的關鍵字。截至目前,我正在考慮使用以下方法:關於用於存儲相關關鍵字的數據庫模式的任何建議?
要存儲關鍵字本身:
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