【发布时间】:2017-12-12 20:37:38
【问题描述】:
一家服务公司想要一份关于谁做了什么工作的注册表,在这种情况下,我们有 9 名员工,其中一名或多名员工一次可以开一张发票。
问题是:为了让管理层获得每个员工完成的工作(工资单)的查询,数据库应该如何存储员工所做的发票?
到目前为止,主管标记了在每张发票中工作的员工,并且 db 拥有所有 9 名员工,我无法将矩阵存储到列中 - 或者更确切地说是列中的员工列表。
在搜索员工#2 时,员工是否可以在没有找到员工 22 的情况下进行查询?
Invoice # List of Employees
1 3, 5
2 8, 1, 4
3 6
4 7, 2, 9, 3...
谢谢
【问题讨论】:
-
这是一个非常基本的数据库问题——你读过关系数据库的入门教程吗?如果是这样,您能否了解如何改进您的数据库设计以使这项任务变得更加容易?
-
显然我在设置关系数据库时遇到了麻烦,您在这里说明了这一点。
-
现在@koryakinp 已经为您设置了表格,请在 Google 上搜索“SQL JOIN”以了解如何检索您想要的数据。还需要一些时间来阅读外键,这是 EmployeeInvoice 表中发生的事情。假设您没有让我们为您做作业,还请阅读有关交易的信息,这将有助于您数据的完整性。