表的信息以前都是存在excel文件里的,现在要建立数据库。但是有一个地方叫我很头大,问问大家一般都是怎么建立的。有一个地点这个表。在excel中就这样写了 level1 level2 level3 level4 level5 level6 level7 level8
举个例子 中国 广东省 广州市 xx区 xx街道 xx更细的地址总共有level8 但是有一些level可以为空我应该怎么见表啊?可以使得冗余比较小
顺道问问把excel导入到数据库都有什么特别好的方法
谢谢了

解决方案 »

  1.   

    这个并无定式。哪怕就按EXCEL这种方法来说也没什么问题,毕竟城市或地区的名称占不了几个字。标准的范式设计则是国家表(ID,名称)
    省区表(ID,名称)
    城市表(ID,名称)
    但显然这并不是一种好的设计方法。 大部分情况下会设计成
    城市表 (城市ID,国家,省区,城市)
    区县表(区县ID,城市ID,区县名称)
    街道表(。
      

  2.   

    什么工具 什么工具 谢谢 我用的是ms excel  和 mysql
      

  3.   

    那你还是直接 另存为CSV文件,然后用MYSQL的 LOAD DATA INFILE命令导入吧。
      

  4.   


    跟 ACMain学到东西了,每次看他回复都是赏心悦目啊!
      

  5.   


    我最先想到的是省区表(ID,名称, pid)
    城市表(ID,名称, pid)
    ...然后觉得操作太繁琐了 所以才来求救的
      

  6.   


    这个不太可行 我第一次初始化没问题 
    后来是要做成jsp 的   以后每次更新都不是我做了 
    所以说越简单越好
      

  7.   


    你可以创建一个树状的行政级别表。如
    areaid par_id areaname 
    1      0      中国
    2      1      广东
    3      2      深圳
    4      3      福田
    5      3      南山
    6      5      九街这样的一级级下来。然后在LEVEL1,2,3里面存入areaid就可以了。
      

  8.   


    这样的方式你维护起来是最简单的。
    当然你也可以直接在每个字段存入地区的名称,也可以把所有的名称都存在一个表里,如
    ID  AREANAME
    1   北京
    2   海淀
    3   深圳
    4   中关村

      

  9.   

    用navicat可以直接导入excel的
      

  10.   

    id  location level parent_id
    1   中国     0     null
    2   北京     1     1
    2   朝阳     2     2这样,冗余不算大了,查找也方便
      

  11.   

    sorry……
    id location level parent_id
    1 中国 0 null
    2 北京 1 1
    2 朝阳 2 3
      

  12.   

    晕,改又改错地了
    sorry again:
    id location level parent_id
    1 中国 0 null
    2 北京 1 1
    3 朝阳 2 2