数据库设计 - 所有与图像相关的数据(尽管图像文件本身)都应存储在一个表中吗?

时间:2014-12-11 18:15:48

标签: ruby-on-rails postgresql database-design

我想知道将所有应用程序用户上传的图像的数据存储在同一个表格中是否有意义 - 例如,"图像"表

我打算创建多个表格 - 例如," usersImages"," productImages"等等 - 但是模糊地回忆一下有关提供非联接表格的内容一个包含两个名词的名称,表示数据库结构不佳的问题,问题基本上就是像" productImages"描述了两个离散的实体,每个实体都需要自己的表和一个连接表,如果需要将两者联系起来。所以,那就是"图像"包含所有图像数据的表格是个好主意吗?

1 个答案:

答案 0 :(得分:1)

http://guides.rubyonrails.org/association_basics.html#polymorphic-associations

完全是你的情况

class Image < ActiveRecord::Base
  belongs_to :imageable, polymorphic: true
end

class User < ActiveRecord::Base
  has_many :images, as: :imageable
end

class Product < ActiveRecord::Base
  has_many :images, as: :imageable
end