冒险工作中过度规范化的表格

Moh*_*efi 2 sql sql-server adventureworks sql-server-2008

我刚刚开始使用数据库,并希望了解冒险 - 工作 - 数据库表设计概念的原因.为什么我们将BusinessEntity视为一个表而我们没有将它放在人员表中?是不是有过度规范化的表?

在此输入图像描述

Nig*_*elK 5

表通常应代表一件事/对象/概念.如果你要在Person中包含BusinessEntity的内容,那么模型就是说Person BusinessEntity,反之亦然,我猜这不是真的.虽然我接受BusinessEntity当前没有任何东西,除了对Person的引用.

然而,现有的模型很容易扩展.您可能希望将来向BusinessEntity添加新列(例如公司编号,税务登记代码).这样的attritubes不属于一个人,所以不会真正属于Person表.因此,如果您的应用程序具有业务实体的概念,那么最好按照图表对其进行建模.