我的任务是使用 SQL Server 向现有的 Web 应用程序添加一些功能。
我的客户的公司提供一项服务,将密钥发给员工,然后他们去各个地点执行所请求的工作。她想跟踪谁拥有客户的钥匙。他们有大约 100-125 名客户和 6 名员工。她将是唯一一个使用 web gui 来发放和归还密钥的人。
为了获得灵感,我去谷歌找到了一个名为 KEY ORGANIZER 的演示程序,它可以在桌面上运行。它完全符合我的客户的要求,但它是桌面应用程序,而不是 Web 应用程序。所以,我想我只是对它进行逆向工程并根据客户的需求对其进行定制。桌面应用程序的功能远远超出了我的客户需求。以下是她正在寻找的内容的高级概述:
颁发密钥:
她单击客户姓名旁边的关键图像。假设她有 3 把客户钥匙,但所有 3 把钥匙都已签出给员工。她会收到某种警报,说明没有可发出的密钥,但在库存关闭的情况下仍允许她发出密钥(因此数据库需要能够处理负值)。如果有可用的密钥,则继续执行下一个项目符号。
在下一个窗口中,她会看到一个表格。(可供选择的员工姓名列表和今天的日期)。
她从下拉列表中选择员工并单击“确定”按钮,然后模式窗口关闭。
每次签出/签入都会输入一个日志条目,并且在每次签入和签出时都会向员工发送一封电子邮件。
钥匙归还:
她还希望能够选择客户姓名旁边的按钮以查看哪些员工当前拥有密钥,并能够选择员工姓名以返回密钥。
同样,我的客户希望单击员工的姓名以查看他们是否拥有密钥列表,并能够从列表中返回密钥。
每次签出/签入都会输入一个日志条目,并且在每次签入和签出时都会向员工发送一封电子邮件。
我不需要网页编码方面的帮助。我只需要一些关于如何正确设置数据库表的指导(例如,关键库存字段是否应该是现有表或不同表的一部分)以最好地处理循环密钥库存方案。
这是我想出的表格:
Customer_tbl(现有表)
• CustomerID
• KeyQTY(新字段?)
• KeyLabel(新字段?)
Employee_tbl(现有表)
• EmployeeID
• Fn
• Ln
KeyJournal_tbl(新表)
• JournalID
• ActionDate
• ActionPerformedID(密钥问题、密钥返回、密钥丢失等)
• CustomerID
• EmployeeID
• Inventory(从客户收到的密钥总数——或者应该在 Customer_tbl 下?)
• IssueReturnDate
KeyInventory_tbl(新表)
• KeyID
• CustomerID
• KeyTotal
注意:我添加了 SQL Server 2005 标签仅供参考。如果该标签具有误导性,我不需要有关 SQL 语句的帮助。