一个这样的需求,一个员工信息表
(编号,姓名,单位,...........)
单位这有些要求
省份一个3位的编号 市级一个3位编号  县级一个3位的编号 ,单位一个3位的编号 组成我信息表里的单位
请问这样的表该怎么设计

解决方案 »

  1.   

    还是要看你的具体业务需求如果将来要显示到前台,且只显示单位或显示单位和县(反正不显示全),那么推荐用4个字段递增式地记录编号,如tanqimin(厨师卡尔) 所说的,不过是3位一增.
    这样的好处就是看到任何一级的编号都知道上面所有级别的信息.对于不完整的显示和as报表统计都很有好处.如果没有上述的需求,仅仅是为了记录下这些信息,那么推荐使用4个字段独立地记录各自的3位编号.减少数据冗余.
      

  2.   

    用数据字典,省市县一共六位,XXXXXX,前两位省,中间两位市,后两位县。可以直接使用国内的邮政编码,如果不用考虑国外的情况,这样就可以了。单位就按照你自己的来编码
      

  3.   

    MARK
    可以把省、市、县的编号和名称作成数据字典,单独建表
    1、在单位编号表里把这些组合成一个字段,提取的时候按照3位3位的提取出来对照
    2、在单位表里将省、市、县分别编在不同字段
    我觉得主要看你的管理系统怎么用了,比如你存和取得时候都是分开的就分别编字段,如果是一次存储的就用一个字段,因为数据量不会特别大,所以对效率都没有太大的影响。这种思路挺好的~省市县都做成不同的字典表来做~多表操作,而且库的结构更突出了~
      

  4.   

    如果一个员工直接在省级机关工作
    那么编号是不是写成: 
       江苏省   某某企业
       001      001        = 001001
    按照 tanqimin(厨师卡尔) 的方法
      001001是不是也可以表示 江苏省南京市
      所以,是不是有必要将 省,市,县,单位,用不同的关键字母分开。  我想用数据字典来保存省,市,县,单位,
      各级单位仍然按照 tanqimin(厨师卡尔) 的方法 去定义编号。
      省市县的记录去管理。
      在程序中怎么用都可以。  在这里我追加一个问题。
      如果,按照省,市,县,单位,来计算单位所在的层级
      那么,要怎样来计算层级呢。
       
      江苏 南京 江浦 某某单位  层级
      001  001  001  001       4
      上海 某某区 某某单位
      002  001    001          4
      上海 某某区           
      002  001                 3
      上海 
      002                      1  按照字段的长度肯定不行。
      有没有什么好的办法。
      
      

  5.   

    省:province( id, name)
    市:city (id,name,parentid)
    区/县:area (id,name,parentid)
    单位:company(id,name,parentid)
    省级单位:province.id+"000"+"000"+company.id
    市级单位:province.id+city.id+"000"+company.id
    县级单位:province.id+city.id+area.id+company.id页面显示时,将四个号组合成一个号码显示。
      

  6.   

    将省、市、县、单位全部放在一个表中,然后按级别区分,表的格式可以参考如下样式:
             Id     Name      Grade    ParentGrade ...(后面的字段可以任加)
     举例: 0001    湖北省      1            0
            0002    武汉市      2           0001
            0003    湖南省      1            0
            0004    汉阳县      3           0002
            0005    ××单位    4           0004那么在生成你所需的树形结构时可一次按Grade有其ParentGrade来确定其处于哪个级别。生成的树形结构为:
            0 (可任意设一个根名称)
            |--0001   湖北省
                   |--0002    武汉市
                          |--0004    汉阳县
                                 |--0005    ××单位
            |--0003   湖南省
      

  7.   


    省:province( id, name)
    市:city (id,name,parentid)
    区/县:area (id,name,parentid)
    单位:company(id,name,parentid)
    省级单位:province.id+"000"+"000"+company.id
    市级单位:province.id+city.id+"000"+company.id
    县级单位:province.id+city.id+area.id+company.id页面显示时,将四个号组合成一个号码显示。
      

  8.   

    要我就直接放一段里,让客户自己去输入
    然后要用的时候用SUBSTRING去取就可以了
    弄个那么麻烦