当我们需要在数据库设计中使用1对1关系时?

问题描述:

我们什么时候需要在数据库设计中使用1对1关系?在我看来,如果两个表是1对1的关系,他们可以组合成一个表。这是真的吗?

When do we need to use a 1-to-1 relationship in database design? In my opinion, if two tables are in a 1-to-1 relationship, they can be combined into one table. Is this true?


  1. 大型表格的垂直分割以减少I / O,

  1. Vertical partitioning for large tables to reduce I/O and cache requirements -- separate columns that are queried often vs rarely.

alter table >添加列到生产系统时, code>是太贵。

Adding a column to a production system when the alter table is "too expensive".

超级类型/子类型 模式。

Super-type/subtype pattern.

垂直分区以从表(连接)消除中受益 - 提供优化器
支持它(再次减少I / O和缓存)。

Vertical partitioning to benefit from table (join) elimination -- providing optimizer supports it (again to reduce I/O and cache) .

锚定建模 - 与4类似,但最终缩小为 6NF

Anchor modeling -- similar to 4, but down to 6NF.