一、基本信息表
字段名称        取值单位名称        市二中      
所属系统        教育系统
单位类别        事业单位-》全额事业单位-》教育事业单位
二、代码表
1、所属系统代码表
字段名称        可能取值
所属系统        教育系统
                卫生系统  
                党群系统
                政法系统
2、单位类别代码
字段名称        可能取值
                  一层         二层         三层单位类别        事业单位-》全额事业单位-》教育事业单位
                           差额事业单位
                           自收自支事业单位
                      
                行政单位-》党委部门-》组织部门
                                      纪检部门
                                      宣传部门
                            政府部门
                            法检部门
                            人大政协
                 企业单位-》国有
                            外资
                            私有
                            民营
                 其它类别
单位类别的取值是层次型的,而且层次有深有浅,如果分拆成几个表,关系势必会变得复杂,到底相当怎样设计呢?

解决方案 »

  1.   

    uid自增长
    name类别名称
    c1_id一级父类的编号
    c2_id二级父类的编号
    c3_id三级父类的编号
    ......
    cn_id n级父类的编号c1_id到cn_id缺省为0,表示为一级分类,没有父类
    c1_id不为0,其他为0,表示为二级分类;
    c1_id不为0,c2_id不为0,其他为0,表示为三级分类
    依次类推
      

  2.   

    这样分类是否会导致查询语句的复杂?
    如果我用特点的字符把取值分层,这样不是简单些吗?
    比如:
    我的办法   区委组织部   行政单位/党委部门/组织部门你的办法 
       区委组织部   02 01 001
    如果要完成一个查询
      select dwlb='行政单位/党委部门/组织部门'//这些汉字取值是不可能重复的
      或者
      select dwlb='0201001'
    你的查询还必须要有代码还原的语句,这样肯定要复杂些