none
关于层次结构表设计的问题 RRS feed

  • 问题

  • 首先是分级的组织结构
    集团公司/分公司/部门/组/...
    然后是人员,可能同时属于某几个组的管辖

    要求:
    1、能够根据层次表生成树状菜单
    2、能够快速获取某个级别或某个级别的指定部门的所有人员

    该如何设计表才比较合理呢?
    2012年10月18日 6:42

答案

  • 看你是OLTP还是OLAP,根据设计复杂性性能等会有不同,对于数据仓库并不一定按照三范式来设计()。
    • 已标记为答案 Ken767 2012年10月19日 5:40
    2012年10月19日 1:07

全部回复

  • 数据仓库的雪花模型,不过如果数据不多的话可以讲集团公司/分公司/部门/组/.放入一张表,如果数据多的话,可以考虑多张表放然后用。

    至于生成树状菜单我一般是在CUBE中做的。 

    2012年10月18日 15:11
  • 我觉得应该有五张表

    1、分公司表

    分公司代码     分公司名称

    1                   集团总公司

    2                   广州分公司

    3                   上海分公司

    4                   成都分公司

    2、部门表 :因为一般不是某一个分公司只有特定的部门,一般是一个部门每个分公司都有,例如我们公司有售后部,各个分公司都有

    子部门代码    父部门代码       部门名称

    1                                         售后部

    2                                         开发部

    3                                         销售部

    4                                         财务部

    3、组表

    组别代码         组别名称

    1                     开发组

    2                     测试组

    3                     运维组

    4、组别对应表

    用户代码       组别代码

    111111          2

    111111          3

    5、用户表(人员表)

    用户代码                分公司            部门               

    111111                    1                   2                  


    给我写信: QQ我:点击这里给我发消息






    2012年10月18日 15:29
  • 看你是OLTP还是OLAP,根据设计复杂性性能等会有不同,对于数据仓库并不一定按照三范式来设计()。
    • 已标记为答案 Ken767 2012年10月19日 5:40
    2012年10月19日 1:07
  • 标准的组织结构设计呀,也是标准的BOM设计。。随便搜搜,大把思路和实现方式

    Try SQL Server 2008 QQ:315054403 dgdba@hotmail.com

    2012年10月19日 1:36
  • 你可以了解一下hierarchyid,再参考一下Type2的SlowlyChangingDimension

    人员要单独放


    想不想时已是想,不如不想都不想。

    2012年10月19日 4:47
    版主