gpt4 book ai didi

mysql - 数据库设计——NULL或最大值来指示该日期值?

转载 作者:行者123 更新时间:2023-11-29 09:22:37 25 4
gpt4 key购买 nike

所以我正在开发一个使用 MySQL 数据库的日程应用程序。该网站的模块之一是供经理跟踪迟到、加类和缺勤情况。目前的网站一片困惑。它只是让经理输入关键数据,但并不将经理绑定(bind)到任何已知的数据(例如员工预计到达/离开的时间),甚至不要求他们使用标准格式。有些经理输入 30 分钟(意味着迟到 30 分钟),而其他经理可能输入 8:30(意味着他们应该在 8:00 到达),等等。

我的版本会受到更多限制。经理将选择员工,然后选择相关类次,他们基本上可以输入两个值:实际到达时间、实际离开时间。这样,当运行报告并验证时间表时,只需进行数学计算即可确定是否迟到/早到/加类。但我遇到了一个棘手的问题:

首先,如果有人请病假(或者只是没有出现),我会接受,这样经理只需选中一个复选框,他们根本不会做出任何时间调整。那段时间完全变黑了。我应该通过将两个时间值设置为 NULL 来做到这一点,并且当运行任何查询时,将根据需要处理 NULL(也许反转剩余时间和时间到达,以便两端都为零),或者我应该到达时间和剩余时间是否都设置为“预期类次结束”时间,以便计算为零?

我不喜欢使用 NULL,因为它感觉没有可用的数据,但我不喜欢使用预期的类次结束,因为它看起来好像它们真的到达了,就像它们也一样离开。

这实际上是一个如何使数据语义化而又不必使其过于复杂(使用 NULL)的问题。

最佳答案

NULL 在这种情况下是合适的,因为它代表没有数据的现实。这名员工不在那儿。你还能在那里放什么?

您应该在记录中附加某种状态来指示这一点,而不是寻找空值(恕我直言)。

关于mysql - 数据库设计——NULL或最大值来指示该日期值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1180751/

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