我有一个企业数据库设计是这样,主要存储企业名称及所在行业等信息,因为一个企业可能对应多种行业,所以,我想这样设计:一个企业表(企业ID、企业名称)、一个行业表(行业ID、行业名称)、一个企业行业表(企业ID、行业ID),这样的话是不是在各表中记录就是这样的形势:企业表:
----------------
企业ID  企业名称
  1      a       
  2      b
.....
----------------行业表
----------------
行业ID  行业名称
  1      aa       
  2      bb
.....
----------------企业行业表
------------------
企业ID   行业ID
   1        1
   1        2  
   2        1
   3        2
   3        3
.....
------------------这样设计行不行??请教大家了。。谢谢!

解决方案 »

  1.   

    一对多的话,两张表就够了,如下:
    企业表:
    ----------------
    企业ID  企业名称   所属行业ID
      1      a             1
      2      b             2
    .....
    ----------------行业表
    ----------------
    行业ID  行业名称
      1      aa       
      2      bb
    .....
    ----------------
    如果是多对多的关系,可以像你上面那样
      

  2.   

    这个是个多对多关系吧??如果用2张表的话
    企业表:
    ----------------
    企业ID  企业名称   所属行业ID
      1      a             1
      2      b             2
      2      b             1
    .....
    ----------------
    如果一个企业有2个行业,那这个企业表里不得加2条“企业名称”相同的数据呀(如上)?那是不是就有沉余数据了?不符合数据库的设计规律?
    还有个问题是第3个表的结构设计和记录添加方法对不对?
    企业行业表
    ------------------
    企业ID   行业ID
       1        1
       1        2  
       2        1
       3        2
       3        3
    .....
    ------------------
      

  3.   

    个人愚见:
    -------------
    企业表:
    ----------------
    企业ID  企业名称   所属行业ID
      1      a             1,2……
      2      b             2,3……
      3      c             1,3……
    .....
    ----------------
    行业表
    ----------------
    行业ID  行业名称
      1      aa       
      2      bb
      3      cc
    .....
    ----------------