具有1对1关系的多个表的用途是什么

时间:2017-09-25 12:04:38

标签: database

以下显示两个表,一个包含员工详细信息并具有其地址。如果两个表都有一对一的表格。关系(即一个员工只有一个地址,反之亦然),那么为什么不将两者合并为一个表,如下所示。

  • 两个关系为1对1的表格

enter image description here

  • 两个表合并为一个。

enter image description here

3 个答案:

答案 0 :(得分:0)

有两种数据库分析方法。 第一种形式是在使用的表的情况下简化模式的形式,雇员和应该合并的地址。 另一种方法称为第三种形式,它包括使表尽可能独立。在表格员工和地址的情况下,它应该是分开的。没有正确或错误的方法可以做出选择。 但是,如果数据库包含许多表,那么简化和获取第一个表格更为明智,但没有义务。

答案 1 :(得分:0)

如果你总是有一个1-1的关系,那么你就有一个相互的功能依赖,所以你没有得到正常化的好处。

但是可能有理由这样做:

  1. 更容易管理权限差异。
  2. 更容易管理空值
  3. 表格中的更快聚合
  4. 避免在不必要的频繁更新上运行重型触发器
  5. 另一方面,整个联接的聚合变得更加昂贵。

答案 2 :(得分:0)

规范化是一种质量决策,而去规范化是一种绩效决策。

如果要加入这两个表并将它们存储为一个表,那么您的读写操作会更快,因为您不必通过查询来连接这两个表来处理它们的组合数据。

但是,如果您将表格分开,那么查看单个表格的数据可能对您更有意义,并且您可以自由修改一个表格的数据而无需触及其他表格。但是,以1对1关系处理两个表的连接数据会强制您每次都写一个(可能是不必要的)连接查询。

最终决定你的决定。 IMO,除非分离表的性能低于接受程度,否则以更干净的方式存储数据可能是更好的主意。