Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql DB设计员工工作计划_Sql_Postgresql_Date_Database Design_Schedule - Fatal编程技术网

Sql DB设计员工工作计划

Sql DB设计员工工作计划,sql,postgresql,date,database-design,schedule,Sql,Postgresql,Date,Database Design,Schedule,我正在设计一个员工数据库。我想将他们的可用时间存储到未来3周。这是我的要求 员工标准工作时间在表或字段中定义(主要在9到5之间) 一些员工在不同的时间段工作(比如早上7点到3点) 有时员工可能会分配工作时间(早上7点到11点,然后晚上5点到9点) 我想将它们存储在DB中,以便查看它们的日历并了解它们的可用性。这是我的设计 EmpID - int Date - Date StartTime - Time EndTime - Time 表格样本 EmpID | Date | Star

我正在设计一个员工数据库。我想将他们的可用时间存储到未来3周。这是我的要求

  • 员工标准工作时间在表或字段中定义(主要在9到5之间)
  • 一些员工在不同的时间段工作(比如早上7点到3点)
  • 有时员工可能会分配工作时间(早上7点到11点,然后晚上5点到9点)
  • 我想将它们存储在DB中,以便查看它们的日历并了解它们的可用性。这是我的设计

    EmpID - int
    Date - Date
    StartTime - Time
    EndTime - Time
    
    表格样本

    EmpID | Date        | StartTime | EndTime
    -----------------------------------------
        1 |   8.12.2014 |      9:00 |   17:00
        2 |   9.12.2014 |      9:00 |   17:00
        2 |   9.12.2014 |      7:00 |   15:00
        1 |  10.12.2014 |      7:00 |   11:00
        1 |  10.12.2014 |     15:00 |   19:00
    
    此处员工2的默认时间为9到17。提前3周为每位员工创建默认条目。现在,2014年12月9日,员工2希望从7点工作到15点。在这种情况下,我将在表中创建附加条目,该条目将覆盖以前的计划

    我提前3周为每位员工创建每日日历

    问题

  • 因为我要提前3周为所有员工创建每日日历,所以DB的负载将很重

  • 这不是一个有效的方法。由于它的士气低落,我将能够很容易地获得细节,但很难维持


  • 请为我推荐一些针对此类员工可用性问题的良好数据库设计

    我认为这个数据库设计会起作用。虽然我需要提前填充数据,这可能会产生一些与数据相关的重复。但这将加快检索速度,因为我的应用程序将经常检索日历数据

    你的“问题”实际上是陈述,请澄清你的实际问题。另外,您使用的是哪种数据库系统?在此处快速搜索此网站会返回许多很好的示例PostgreSQL。我也找遍了那些。这些是基于事件的。意味着存储公正的事件。我必须存储他们的空闲时间,这可能是标准时间(9点到5点)以外的任何时间。因为如果我想在某个时间安排一些会议,我必须知道员工没有任何约会+员工在一天的这个时间段工作。