我正在尝试实现个性化新闻聚合器。我必须在数据库中保存用户的首选新闻来源。我是否应该将用户喜欢的所有新闻源存储为 JSON 字符串,然后在检索后对其进行解码?
提要 |用户
或者每个新闻来源都有单独的栏(没有新闻来源大约是 200 个)?
feed_name1 | feed_name2 | ..... | user
最佳答案
听起来像是多对多的情况。使用 person 表、newsfeed 表和 person_newsfeed 表的解决方案可能是合适的。网上有很多关于此的文章,任何好的数据库理论书籍(或类似 Oracle 的书籍:完整引用)都应该详细介绍这一点。
这篇文章是一个相当不错(但很短)的总结: http://www.databaseprimer.com/pages/relationship_xtox/
Oracle8 The Complete Reference 在第 35 页左右在讨论第三范式时通过 worker、skill、workerskills 示例介绍了这一点。
关于mysql - 数据库设计 : How should I store user's news preferences in MySQL database?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30713429/