我将在未来几个月内设计一个数据库,我认为这将是一个重大挑战。
如何使用和/或条件跟踪协议条款与产品之间的关系。
所以我们真正感兴趣的是客户对各种产品的协议,以及协议是并发还是脱节。
要记住的一些事情
1)单个客户可以签订多份协议,涵盖各种产品。
2)单一协议看起来像这样(尽管它们会变得更加复杂):
5 of Product-A AND 10 of Product-B OR 50 of Product-C OR $500 of Product-D
因此,对我来说,挑战在于(希望有些)规范化的结构中代表这些变化和复杂的条件协议。这将是一个生产数据库,数据完整性至关重要。
数据源位于此DB的上游,现在协议存储为每个产品/协议组合[AgreementID] - [Product] - [Terms]
的单行。但是,如果我能找到更好的方法,它可能会迁移到新数据库。
有没有人遇到过这类问题,或者有任何建议?
非常感谢任何帮助!
答案 0 :(得分:1)
你可以像这样设计你的架构:
客户(CustomerID,名称) Customer_Agreements(CustomerID,AgreementID,DateSigned) 协议(AgreementID,AgreementValidStart,AgreementValidEnd,Body)
使用协议表的时间点架构设计来查看协议是最新的,还是过去有效的:https://www.simple-talk.com/sql/database-administration/database-design-a-point-in-time-architecture/。