关于数据库设计的快速问题;
假设我将 User
数据存储在数据库中,我可以识别两种(看似)与用户关联的独立数据形式; 帐户数据和个人资料数据。
大多数配置文件数据是可选的,并且是不必要的(可以,而且通常会是 NULL
),而帐户数据对于用户来说是不可或缺的,并且他们能够使用服务(很少或没有记录可以/将是 NULL
)
1-to-1
将其分成两个表有什么好处吗?仅从设计的角度来看,这似乎合乎逻辑,但在谈到性能时,这是一种常见的(好)做法吗?
最佳答案
从逻辑设计的角度来看,实体类型是由它所具有的属性定义的。每组独特的属性都定义了不同的事物,除非您有充分的理由不这样做,否则应该放在自己的表中。使用范式和正交设计原则等设计原则来验证哪些属性属于哪个表。
这样做的好处是您不需要为不存在的属性值创建空值或虚拟值。以这种方式使用 null 几乎不可避免地会导致错误、不明确的结果和以后的妥协。
关于sql - 数据库表;将它们散开,还是将它们归零?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6812241/