我正在开发银行应用程序,我想为表格中的每条记录添加制造商,检查器和授权的功能。我在下面详细解释
假设我有一个名为invmast table的表。有3个用户,一个是制造商,第二个是检查员,最后一个是授权。因此,当制造商用户在数据库中创建一个事务时,该记录不是活动的(意味着该记录在invmast表中不可用)。一旦检查员检查了记录和授权者授权记录,记录就会生效(意味着该记录将插入到invmast表中)。同样适用于更新和删除。所以我想要一个表结构如何实时实现这一点。请提供建议。 我正在使用vb.net和sql server 2008
答案 0 :(得分:0)
读作家庭作业......
解决这个问题的方法很多,这是一个常见的设计模式:
让invmast_draft表与invmast相同但在表中有一个额外的status列。应用需要了解此表,状态列及其值的含义。在您的情况下,它可以至少有3个值 - 草稿,检查,授权。制造商首先在此表中创建一个事务。完成制造商后,将在状态列中使用值“draft”提交该行。 Checker然后知道有一个新行要检查并完成他的工作。完成后,将更新行,并将状态设置为已选中。授权人做她的事。当授权者将状态更新为“已授权”时,您可以立即将行复制或移动到最终的invmast表。或者,您可以定期唤醒进程以复制/移动批量行。一切都取决于您的业务需求。可以在此处执行各种优化,但您可以获得一般的想法。