类别表:
ClassID   
0001     
0002
0003 

一种是都存储一个字段里
信息表
ID   ClassID
1    0001,0002
2    0001,0002,0003
3    0002,0003
另一种是在加上一个映射表映射表
ID   ClassID
1    0001
1    0002
2    0001
2    0003
请问以上两种哪一个比较好。映射方式最简单,但是要多建立一个表,如果用第一种则应该怎么样查询和放置脏数据
另外还有别的办法吗?

解决方案 »

  1.   

    第一种方式查询不好做,一般只能用Like去查询,但是这样就不是很精确。没有什么特别的方法,成熟的设计方式一般都是第二种,但是这个不是绝对的,比如应用于一些特殊要求时,也可以设计成第一种。这个不是绝对的,但是大多数都是第二种。
      

  2.   

    用这个好:加上一个映射表映射表
    ID ClassID
    1 0001
    1 0002
    2 0001
    2 0003
      

  3.   

    第二种方式要好,一般多对多的情况下,比如a与b是多对多的关系,则增加一个c表,记录a与b的关系,c表主要就是a.id,b.id,a与b的关系