一对多关系的 ERD 最佳实践
ERD best practice for one to many relationships
我想知道是否存在一对多关系的最佳实践。我正在计划一个简单的 rails 应用程序,它将有一个具有以下任一场景的关系数据库:
Scenario A ERD:一个用户可以有零个或多个列表,一个列表可以有零到多个项目。我知道这意味着用户不能直接创建项目。只能通过列表创建项目。一个项目实际上属于一个列表,而一个列表属于一个用户。
Scenario B ERD:一个用户可以有零个或多个列表,用户也可以有零个或多个项目。这意味着一切都直接与用户相关联。由于外键,项目将通过列表 ID 关联到列表。
是否有 use/not 使用任一场景的最佳实践?
提前致谢!
场景 A 是更好的方法。
class User < ActiveRecord::Base
has_many :lists
has_many :items, :through => :lists
end
class List < ActiveRecord::Base
has_many :items
end
我想知道是否存在一对多关系的最佳实践。我正在计划一个简单的 rails 应用程序,它将有一个具有以下任一场景的关系数据库:
Scenario A ERD:一个用户可以有零个或多个列表,一个列表可以有零到多个项目。我知道这意味着用户不能直接创建项目。只能通过列表创建项目。一个项目实际上属于一个列表,而一个列表属于一个用户。
Scenario B ERD:一个用户可以有零个或多个列表,用户也可以有零个或多个项目。这意味着一切都直接与用户相关联。由于外键,项目将通过列表 ID 关联到列表。
是否有 use/not 使用任一场景的最佳实践?
提前致谢!
场景 A 是更好的方法。
class User < ActiveRecord::Base
has_many :lists
has_many :items, :through => :lists
end
class List < ActiveRecord::Base
has_many :items
end