我目前将在 vb.net 中设计一个应用程序来使用访问后端数据库。我一直在想办法减少数据冗余,下面有一个示例场景:
让我们想象一下,出于示例目的,我有一个客户表,需要突出显示 WI 中的所有客户并向他们发送一封信。客户表将包含与客户关联的所有客户和属性(姓名、地址等),因此我们将查询表中状态为“WI”的位置。然后我们将获取该数据的结果,并将其附加到带有“完成”指示符的表中(因此从“CUSTOMERS”到“WI_LETTERS”表)。
让我们假设需要进行一些处理,因此当其完成时,将该表中的一个字段标记为“完成”,然后允许使用邮件合并打印字母。(从 'WI_LETTERS' 中选择,其中 INDICATOR = 完成)。
该项目现已完成并完成。但是可以说,每隔一个奇数年(2013 年),我们也会向表中的每个人发送一个通知,状态为“WI”。我们现在在年份为奇数且客户状态为“WI”时查询客户表。然后将该数据附加到一个名为“通知”的表中,并带有完成指示符,并将其标记为完成。
这似乎使数据保持“基于任务”,因为数据仅基于手头的任务。但是,这不被认为是冗余数据吗?这种设置意味着许多账户可以有一种交易类型(甚至年复一年地多次到同一个账户),但它不应该是一个账户对许多交易吗?
这个设计如何变得更好?