【发布时间】:2014-03-04 05:30:01
【问题描述】:
我的程序有一个描述生产力统计数据和目标的网格,并带有时间间隔列。此数据从 SQL Server 2005 数据库中查询,将生成的数据行与每行的时间戳相加。通常,时间间隔为 1 小时:
|6AM-7AM | 7AM-8AM | 8AM-9AM |
Units Produced | 25 | 27 | 24 |
Unit Goal | 26 | 26 | 26 |
但是,在预计生产力为零的休息时间段内,用户希望将休息时间段包括在前一个时间间隔中,同时保持目标数量。
以 30 分钟的用餐时间为例:
|6AM-7AM | 7AM-8AM | 8AM-9AM | 9AM-10:30AM | 10:30AM-11:30AM |
Units Produced | 25 | 27 | 24 | 26 | 21 |
Unit Goal | 26 | 26 | 26 | 26 | 26 |
在 8.5 小时的全天(包括 7.5 个工作小时)中,还将包含两次 15 分钟的休息时间。
我当前的实现将这些小时范围值硬编码在他们自己的表中,但这不允许休息时间的轻松变化。根据用户的要求,“限制”目标值是不可接受的(这是我的第一个设计)。
这应该在数据库层还是在应用层处理,最好的实现模式是什么?
【问题讨论】:
标签: c# tsql sql-server-2005