为组织的管理结构开发rdbms。每个员工属于某个部门,并与多个项目相关联。每个经理都是一个管理多个项目的员工以及几个员工。每个项目都会执行一段时间。员工在组织中呆了一段时间。
查询:
编辑:
我无法决定如何处理最后3个查询中的时间限制。
我已经制作了3张桌子:
以上内容有助于我回答第一个查询,但如何添加时间限制来回答其余查询。我是否需要日期时间属性或简单的持续时间属性才能使用或者此处需要其他内容?请帮忙。
答案 0 :(得分:0)
ALLOTMENT是EMPLOYEE和PROJECT之间的交集。它记录了从事项目的员工。
但是,员工加入项目并离开项目。项目的资源增长和缩减。因此,显然ALLOTMENT需要列来指示特定任务的时间跨度,例如START_DATE和END_DATE。
添加这些列后,您将能够回答其余问题。其中一些仍然很棘手(尤其是2)但至少你会得到所需的信息。
顺便说一下,您可能应该有一个DEPARTMENT表,但是如果没有它,您可以编写这些查询。此外,在现实生活中,PROJECT将具有开始日期和(我们希望)完成日期。但是,对于您必须编写的查询,它们也不是必需的。
答案 1 :(得分:-2)
在project
表中,考虑添加两列start_date
和duration
|该项目的End_date
。我认为这足以让您完成最后3次查询。
您可以考虑在No_of_Employees_under_project
表中使用另一列project
,该列已标准化并将动态反映加入或离开项目的员工。只有在针对gain
衡量cost of normalization
后才能添加此列。