1

我正在使用 Azure 和 Idea Blade DevForce 做一些工作,我想知道在将实体映射到数据库表方面最好的方法是什么......

实体是否应该在数据库中拥有自己的表?这样做是否有任何性能优势/损害?

假设我们有一个“订单”实体、一个“产品”实体、一个“客户”实体和一个“地址”实体;将它们混合在一张桌子上与将它们全部分开的优点/缺点是什么?显然,如果我们不分离,数据库就不会处于第三范式,但是在使用 MEF/DevForce 时这有关系吗?

作为第二个(不那么做作的)示例,如果我们有一个“帐户”实体和一个“用户”实体会怎样?一个帐户可以有多个用户,但用户只能属于一个帐户......这样,将它们全部放在一个表中不会复制任何用户数据,但我(个人)仍然认为这种方法是完全错误的。有什么理由说明它会带来好处吗?

4

1 回答 1

2

取决于您喜欢复制数据的程度,以及您是否希望任何人认真对待您作为开发人员。把所有东西都扔进一堆是我能想到的最糟糕的反模式。

例如,您想为 2 个客户创建 4 个订单,每个订单包含 5 个产品。仅您的客户数据就会被每个客户重复 10 次。

编辑:我应该注意,我对这个问题的回答是强调“是的”。我有兴趣听取替代方案的论点......

于 2012-02-14T09:09:43.833 回答