gpt4 book ai didi

sql - 在这种情况下,您如何避免数据库设计出现空值?

转载 作者:搜寻专家 更新时间:2023-10-30 20:34:08 24 4
gpt4 key购买 nike

假设一个标准的人力资源数据库包含以下实体:员工、评估、培训、角色、部门、地点。

如果我们想要找到员工的典型退休年龄,那么假设设计这个的最佳方法是什么?如果我们将“Retirement_Date”作为 Employee 实体下的一个属性,那么我们将留下空值。

我们是否需要创建一个名为“退休”的实体来存储退休员工的数据?

最佳答案

似乎还有其他与退休人员相关的属性不适用于在职员工。将这些属性(包括退休日期)放在单独的退休人员表中。

将两种不同类型的人合并到一个表中(也称为“捆绑”)的一个危险是,它可能会出现不一致的状态:员工具有一个或多个退休特定属性,但不是全部。您可以添加额外的约束来防止出现这种情况,但不将不同类型的数据捆绑在一起通常更简单。当他们不是雇员时,将人员记录在名为 Employee 的表中似乎也违反直觉。

使用空值通常会使编写查询和从数据中得出有用的结果变得更加困难。 Null 实际上保证了某些查询会给出与您试图表示的现实不相符的结果。

关于sql - 在这种情况下,您如何避免数据库设计出现空值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49659994/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com