【发布时间】:2010-01-22 02:11:35
【问题描述】:
这是背景:
销售代理销售保险。他们单独工作或在 2 人或更多人的机构中工作。当多个代理一起工作时,他们需要分摊佣金。佣金分配按百分比预定义。
例子
Joe、John 和 Saul 属于一个机构。
每卖出一份保单,Joe 将获得 40% 的佣金,John 获得 35%,Saul 获得 25%。
每个代理要么单独工作,要么是一个(也是唯一一个)代理的成员。
在数据库中对此建模的明显方法是 3 个表:一个 Agents 表、一个 Agency 表和一个 AgencyCommissionSplits 表。
代理表:
AgentID int PK
AgentName vchar(30),
AgencyID int FK Nullable
代理机构表:
AgencyID int PK,
AgencyName vchar(30)
CommissionSplits 表:
AgencyID int FK,
AgentID int FK,
Percentage dec(3,1)
(compound PK AgencyID, AgentID)
我看到的问题是我不知道如何确保任何给定机构的总百分比总和为 100%。我可以尝试在前端强制执行此操作,但我更希望在数据库中使用一种方式来强制执行此约束。
【问题讨论】:
标签: database-design