Ruby on rails Rails正在加载仅包含1条数据的关系表

Ruby on rails Rails正在加载仅包含1条数据的关系表,ruby-on-rails,database,ruby-on-rails-3,database-design,Ruby On Rails,Database,Ruby On Rails 3,Database Design,为了简化我的问题,假设我有一个歌曲和一个艺术家表: songs ----- id name artist_id artists ------- id name 大多数时候我都在查询歌曲,我总是需要附上艺术家的名字。在歌曲中添加另一个名为artist_name的专栏,这样我就不需要做了,包括(:artist)急切加载,这有意义吗 我认为我目前的设计是典型的,但在rails中,什么是最有效的设计,或者什么是处理这种情况的最佳方法?回答我自己的问题: Song.find(2, :include =

为了简化我的问题,假设我有一个歌曲和一个艺术家表:

songs
-----
id
name
artist_id

artists
-------
id
name
大多数时候我都在查询歌曲,我总是需要附上艺术家的名字。在歌曲中添加另一个名为artist_name的专栏,这样我就不需要做了,包括(:artist)急切加载,这有意义吗


我认为我目前的设计是典型的,但在rails中,什么是最有效的设计,或者什么是处理这种情况的最佳方法?

回答我自己的问题:

Song.find(2, :include => :artist)
数据库非规范化似乎只有在读量大的应用程序中才有意义,应该首先对其进行广泛的分析

一些选择:

  • 将包含添加到歌曲的默认范围
  • 取消艺术家名称的规范化,并使用模型挂钩来确保数据完整性
  • 对不起,我写了。加入(:艺术家),但我是想写。包括(:艺术家),这是我目前正在做的。