2

我想在 SQL 关系数据库中存储可以用可变数量的标签标记的句子。所以,我可能有一个句子,比如

'As the sun sets slowly in the west, we bid you a fine farewell.'

用以下标签标记:

'farewell', 'goodbye', 'amiable'

一个句子的标签数量可能会有所不同。在此处给出的示例中,有三个标签。

在关系数据库中组织此类信息的明智方法是什么?什么表等是合理的?

谢谢!

4

1 回答 1

7

你有一个多对多的关系。制作三个表sentencetagsentence_tagsentence和表将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);
于 2013-07-12T16:42:37.810 回答