我想在 SQL 关系数据库中存储可以用可变数量的标签标记的句子。所以,我可能会有这样的句子
'As the sun sets slowly in the west, we bid you a fine farewell.'
用以下标签标记:
'farewell', 'goodbye', 'amiable'
一个句子的标签数量可以变化。在此处给出的示例中,有三个标签。
在关系数据库中组织此类信息的明智方法是什么?什么表等是合理的?
谢谢!
最佳答案
你有一个多对多的关系。制作三个表:sentence
、tag
和sentence_tag
。 sentence
和 tag
表各有一个主键 id
字段,sentence_tag
有一个 sentence_id
字段和一个 tag_id
字段。要查找带有 id = $sID
的句子的标签,
SELECT tag_name FROM tags WHERE id IN (SELECT tag_id FROM sentence_tag WHERE sentence_id = $sID);
关于sql - 当与每条信息关联的标签数量可变时,在关系数据库中存储标签的好方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17619698/