从设计规范来说,作为主键的编码字段,如果位数充许不同,这种设计合理吗?
-------------------------
一般来讲,编码字段的位数相同比较规范.比如人员编码,设计时考虑到单位的员工总数,如果不会超过9999人,则可以令位数为4,
然后编码从 '0001'可以排到'9999',位数是相同的,都是4位.
可是我现在有一个想法,就是编码如果充许位数不同,这种设计思路合理吗?
比如一个部门表,部门编码是主键.比较特别的是部门是有级别的,比如生产部下面还有生产一部,生产二部,所以部门编码如果位数相同,就不好区分部门的级别了.而用不同的位数就好区分,比如
市场部:02
市场一部:0201
市场二部:0202这种思路就会导致部门编码的位数不相同,一级部门两位,二级部门四位,三级部门6位,
请问大家,我的这种设计合理吗?

解决方案 »

  1.   

    这种方式当然是可以解决问题.但按照范式法则,应该建部门表,楼主这种方式表结构应该说清楚.方便以后维护.
      

  2.   

    我觉得这样也很好。没有必要必须遵循范式规则。
    规则是死的,设计的人是活的。依据具体需求进行设计我认为是对的。
      

  3.   

    这种方式又叫做"层级编码",是一种具有可读性的树状结构标识方案。不错
      

  4.   

    但是有一点,现实当中有些企业的组织结构经常调整。这种方式的调整就比较麻烦了。
      

  5.   

    这中方式好理解
    但也我们做项目的时候有时候用这个,对于比较大的公司,比如整个中石油
    但对于小公司,如中石油分公司的下属部门就没必要了
      

  6.   

    这种方式当然是可以解决问题.但按照范式法则,应该建部门表,楼主这种方式表结构应该说清楚.方便以后维护.
    --------------
    谢谢,您所说的部门表是什么呀,我是不也是部门表吗?
    请再指教.
      

  7.   

    但是有一点,现实当中有些企业的组织结构经常调整。这种方式的调整就比较麻烦了。 ---------------------
    麻烦在哪里,请指教.
      

  8.   

    你说的好象跟范式有关系吗? 020000补零不是一样吗?
      

  9.   

    部门代码必然被其他表所引用(比如员工表中要有其归属部门)。层级代码的方式本身包含了组织结构的信息。
    如果某个部门变更其上级归属,那么,部门代码要调整,同时,该部门原所属员工的部门代码也要调整;还包括其他引用部门代码的地方。