2017-05-26 32 views
-2

我想知道是否有這樣的事情作爲一對多關係的最佳實踐。我打算一個簡單的Rails應用程序,將有一個關係數據庫與以下任一情形:一對多關係的ERD最佳實踐

  • Scenario A ERD:用戶可以具有零個或多個列表,列表可以有0到多個項目。我知道這意味着用戶無法直接創建項目。一個項目只能通過列表創建。一個項目實際上屬於一個列表,並且一個列表屬於一個用戶。

  • Scenario B ERD:用戶可以有零個或多個列表,用戶也可以有零個或多個項目。這意味着一切都直接與用戶相關聯。由於外鍵通過列表ID,項目將與列表關聯。

是否有最佳做法使用/不使用任何一種情況?

在此先感謝!

+0

列表和項目中包含哪些信息?根據這些信息,更具體地說是您的使用案例,可以提出最佳做法。 – coffeebytes

+0

列表/項目中的信息是字符串 - 列表將會像待辦事項列表或購物清單一樣。 – codejoe

回答

0

情景A是一種更好的方法。

class User < ActiveRecord::Base 
    has_many :lists 
    has_many :items, :through => :lists 
end 

class List < ActiveRecord::Base 
    has_many :items 
end 
+0

感謝您的迴應! – codejoe