【发布时间】:2011-04-25 18:31:52
【问题描述】:
可能重复:
Is there ever a time where using a database 1:1 relationship makes sense?
为了简单起见,我将直接问一个问题:数据库设计中的一对一关系应该避免还是可以接受?
我知道这个“项目”的所有属性都可以托管在一个表中,但我觉得当我通过 ORM 将我的数据库设计转换为业务对象时,它会用不必要的属性使实体变得混乱。
通过 UI,希望这能画出更好的画面,我有一个包含所有必要属性的主窗体。我将有一个按钮,允许用户单击它,它会弹出一个新表单来附加额外的属性。与主窗体(实体)关联的条目不能超过 1 个,即它是 0..1 结束关系。
我们将不胜感激。
【问题讨论】:
-
请记住,在数据库外观(具有很好的拆分表)和查询复杂性(当您突然必须加入所有这些表时)之间需要权衡取舍
-
所有物品都会有所有属性吗?
-
另一点是,取决于您的 ORM - 您可以将单个表映射到多个实体。您可以使用 .NET Entity Framwork 4 做到这一点。最终结果 - 更好的数据库设计和更好的代码 OO。
标签: database database-design orm