Fad*_*orm 21 mysql normalization hashtag
数据库设计问题.
假设我们有一个webapp或者使用20到40个字的笔记的标签.存储用户标签的最佳方法是什么.
例如,如果用户输入."I like to have #lunch at #sizzler"我们将句子存储为文本,我们可以将主题标签存储为JSON,逗号分隔列表或其他一些机制.
还值得指出的是标签需要可搜索,例如有多少人使用哈希标记午餐等.
关于此事的建议会很棒,在mysql中存储可变大小的输入时,我总是感到有点难过.每个音符可以有无限数量的标签,存储它们的最佳方式是什么?
DrC*_*ste 40
我建议使用消息和标签之间的典型多对多关系.
这意味着你需要3张桌子.
Messages自己的表(最低要求:列Id,UserId和Content)Tags(这里的最低要求是:列Id和TagName)TagMessageRelations来建立消息和标签之间的连接(通过外键MessageId和TagId)这样,您不会多次存储标记,而只会创建与消息的新关系(如果该标记已经存在于标记表中).
那样就可以了
Messages.Id)Tags.Id
| 归档时间: |
|
| 查看次数: |
11159 次 |
| 最近记录: |