我正在爲我的項目設計一個數據庫模式,在那裏我似乎被一個奇怪的視覺模塊卡住了(從某種意義上說,我之前從未遇到過這個問題,因爲它實際上很容易解決,除了在這個特定案件 - 對我來說)如何刪除此數據庫設計異常?
我有一個實體homes
,可以有各種facilities
。
因此,我宣佈一個模型:FacilitySet
,看起來像:
id, home_id, parking, electricity
正如你所看到的,facility_sets
表的每一行對應一個家庭。
但是,在我看來,如果我能說:如果我能說一個家庭has_many設施,而不是家庭has_one facility_set,那麼對我來說,這將會更加合理。這也提供了一個好處,我可以簡單地說:@ home.facilities,而不是@ home.facility_set
真正的問題是我無法理解如何在數據庫中構造facilities
表,這樣我可以簡單地聲明:
class Home << ActiveRecord::Base
has_many :facilities
..
end
和接入設施,如:@home.facilities
我,目前,這樣做的:
class Home << ActiveRecord::Base
has_one :facility_set
..
end
和訪問設施,如:@home.facility_set
,這真的讓我覺得我正在做一些可怕的錯誤! :〜)
在這裏清晨,我真的很感激任何ray-of-ho(m)e
對我來說。
問候
謝謝,因爲:)這個方法的任何問題,你可以想想,通過FacilitySets?這是更好的方法嗎? – Stoic
@Stpoc。一件好事就是您可以添加新的設施類型,而無需更改模式。另一個是數據標準化的所有好處,例如使查詢具有特定設施的家庭更容易。 – Mori