我是整个数据库场景的新手,在构建数据库结构时需要一些帮助。
我需要存储在一个表中的数据是ProjectID(主键(、日期、记录的小时数和使用的员工(1个或多个(
下一个表需要有EmployeeID(主键(、项目总数和总小时数。
如果我正确理解规范化,我就不需要第二个表,因为它们将在需要而不存储时进行计算。然而,我不确定如何有效地存储每个项目中使用的员工。这就是困扰我的部分。
我很确定你会想要这里的视图。另外,你的桌子现在有点薄。如果您希望ProejecteID作为主键,那么您只能有一行信息。您的结构:
PID : Date : Hours : Employee (ProjectEmployee table)
4 : today : 3 : 12
4 : yesterday : 4 : 12 <<<< ERROR cannot insert duplicate Primary key
新结构:
ID : PID : Date : Hours : Employee (ProjectEmployee table)
1 : 4 : today : 3 : 12
2 : 4 : yesterday : 4 : 12
现在,在一个名为projects的相关表格中,您将拥有
ProjectID : Name (Project Table)
1 : name1
2 : Name2
3 : Name3
4 : Name4
现在为了得到你真正想要的东西:
选择PID,SUM(小时(作为totalHours,Employee来自项目员工按PID分组,员工
结果:
PID : TotalHours : Employee
4 : 7 : 12
祝你好运。如果有效,请标记为答案。
给定以下内容://更新为显示多个员工在项目四中工作。
ID : PID : Date : Hours : Employee (ProjectEmployee table)
1 : 4 : today : 3 : 12
2 : 4 : yesterday : 4 : 12
3 : 4 : today : 3 : 5
查看的结果
PID : TotalHours : Employee
4 : 7 : 12
4 : 3 : 5
我不想向您展示如何加入员工表,但我认为您可以搜索基本的加入语法。