1

关于数据库设计的快速问题;

鉴于我将User数据存储在数据库中,我可以识别与用户关联的两种(看似)独立的数据形式;帐户数据个人资料数据

大多数配置文件数据是可选的,并且是不必要的(可以,而且经常是NULL),而帐户数据是用户不可或缺的,他们使用服务的能力(很少或没有记录可以/将是NULL

将其拆分为两个表有什么好处1-to-1吗?仅从设计的角度来看,这似乎是合乎逻辑的,但是在谈论性能时,这是一种常见的(好的)做法吗?

4

2 回答 2

3

我认为为个人资料和帐户数据制作单独的表格是常见的良好做法。我已经多次看到并使用过这种风格。

于 2011-07-25T05:58:17.070 回答
3

从逻辑设计的角度来看,实体类型是由它所具有的属性定义的。每个独特的属性集定义了不同的事物,并且应该放在自己的表中,除非您有充分的理由不这样做。使用范式和正交设计原则等设计原则来验证哪些属性属于哪个表。

这样做的好处是您不需要为不存在的属性值创建空值或虚拟值。以这种方式使用空值几乎不可避免地会导致错误、模棱两可的结果和以后的妥协。

于 2011-07-25T09:33:58.497 回答