Sql 按层分配的数据库表结构
我有一个四层账户结构(从上到下):Sql 按层分配的数据库表结构,sql,sql-server-2012,Sql,Sql Server 2012,我有一个四层账户结构(从上到下): 师级 部门级 销售代表级别 帐户级别 业务用户需要能够在四个级别中的任意一个级别分配/分配产品单元。在师级分配100个单位可以让任何更深层次的单位从这个平衡中获益。将100个单位分配给销售代表级别只允许他/她的帐户从该余额中提取 我知道如何在4表结构中对此进行建模,但这是正确的方法吗?是否所有四个级别的记录都应存储在同一个表中,并有一列指示在哪个级别分配单元 如果我将它们都放在同一个表中,我如何说明部门、部门、销售代表和帐户代码是四个不同表中四种不同类型代码的
话虽如此,我相信提出的解决方案将解决我早些时候提到的问题,并允许在数据方面而不是对象方面进行更改,从而实现更大的灵活性。这显然是一个速写,但我想你知道我要去哪里。至少,请至少考虑一下我对你们目前的建议提出的挑战。看起来是个有趣的项目,祝你好运 在四个表中的每个表中添加一个
AllocatedUnits
列是否更有意义?否。这四个表是每个级别的维度。例如,DivisionId、DivisionName。。。。。或SalesRepId,SalesRepName。。。。等等如果我将分配放在一个表中,我会在一些外键中有空值。也许我们彼此误解了。我指的是向每个“结构”表添加AllocatedUnits
。例如,创建表部门(部门ID、部门名称、分配单位…
和创建表部门(部门ID、部门名称、分配单位…
等)。如果只有一种分配单位,这是有意义的。如果有多种分配类型,那么我的建议将不适用。有多种类型的项目等等。然而,如果我这样做的话,听起来就像我的图表中的选项2。是的,我倾向于同意选项2。我想你会为AllocationType
添加一个专栏吧?我同意这两个都不是很有前途的,这就是我在这里发布的原因。然而,这种结构在公司已经存在了20多年。并不是说它不能改变,但肯定是非常静态的。我确实有你所说的结构(为了简洁起见,请不要提及),但我认为你提到了我所害怕的东西。我需要复杂的逻辑来动态引用