这是我的模型:
class Item
include DataMapper::Resource
property :id, Serial
has 1, :firstitem
has 1, :seconditem
end
class FirstItem
include DataMapper::Resource
property :id, Serial
belongs_to :item
end
class SecondItem
include DataMapper::Resource
property :id, Serial
belongs_to :item
end
现在,我的问题是 - 如果我想要FirstItem并且SecondItem成为不同的模型,但希望它们都可能成为其中的一部分Item(但只有两者之一,所以记录 FirstItem不会也有 a SecondItem),我可以has 1为两者建立关系其中,只有一个被填满。
那么在关系数据库中,这样做有意义吗?有没有更好、更有效的方式来定义这种关系?