【发布时间】:2011-11-04 04:00:01
【问题描述】:
我正在开发一个 ruby on rails 项目,该项目需要记录一些简单的用户数据,这些数据适合多对多关系(将其视为一组用户兴趣)。我在使用 has_many :through 和 HABTM 处理多对多关系方面经验丰富,但是当事情足够简单以至于可以表示为一个单词时,创建新模型并必须进行所需的连接似乎有点矫枉过正访问它。除了兴趣本身的名称之外,我认为不需要记录其他属性,因此使用模型的论点没有说服力。我知道 noSQL 对此有好处,但我想知道从性能和良好设计的角度来看,使用关系数据库执行此操作的正确方法是什么(我正在使用 postgres)。我正在考虑使用的方法是使用文本数据类型将其记录为用户模型中的分隔字符串,然后将其解析为数组。或者这可以是一个表示哈希键数组的字符串,然后查询哈希表或键/值存储数据库以获取数据。我敢肯定有很多不同的方法可以解决这个问题,但我很高兴知道最佳实践是什么,因为我希望我将来必须经常实施这一点。此外,如果您能推荐任何有助于这方面的工具/宝石/框架,那将非常有帮助。
谢谢。
【问题讨论】:
标签: ruby-on-rails database-design relational-database