up似乎不对,city(市)与area(区)是一对多得关系。

解决方案 »

  1.   

    你的数据库对跨区的问题如何处理?
    STREET有可能跨区么?
    com(id,name,cityAreaStreetId,desc,option)增加一个OPTION字段,来确认一下是否跨区.ciry_area_street(id,cityAreaStreetId,cityAreaID,StreetID)
    streeid是何意思不是很明白?
    是否可以和COM表合并.
      

  2.   

    --设计
    city(市)(id,name)
    area(区)(id,name,cityid)
    street(街)(id,name,areaid)
    com(单位)(id,name,streetid)
    --连接所有的表:
    select * from city 
      join area on city.id=area.cityid
      join street on area.id=street.areaid
      join com on street.id=com.streetid---你可以根据需要在后面加上你的条件
      

  3.   

    1.table city_area:
    cityId
    areaID
    areaName
    ----------------------
    2.Table ciry_area_street
    areaID
    StreetID
    StreetName
    ---------------------
    3.Table com
    StreetId
    comID
    comName
      

  4.   

    pengdali(大力) 的结构比较好。我最近的系统也是这样设计的。
      

  5.   

    继续 以上的问题,--设计
    city(市)(id,name)
    area(区)(id,name,cityid)
    street(街)(id,name,areaid)
    com(单位)(id,name,streetid)请教如果,cityId 作为外键,areaid也作为外键
    请教做外键的好处和 坏处,另,做外键是否一定要做索引呢。