|  | 
 
| 有个小问题想麻烦大家,帮看下..出来咋到,请多帮助还 假设有数据表A
 由:信息ID(PK) 信息本身这两个字段构成
 另外有数据表B
 由关键字ID(PK) 关键字本身(INDEX)真两个字段够成
 另外有数据表C
 由关键字ID(PK) 关键字本身(INDEX)真两个字段够成
 其中数据表B放着的是数据表A的一种类型的标签
 数据表C放着的是数据表A的另外一种类型的标签
 现在我要根据数据表B及数据表C的关键字(各一个关键字)查找出来数据表A中的一条记录
 (一条信息可以对应B表及C表中的多个关键字...一个B表或者C表中的关键字可以对应多条信息)
 那么我现在选择的方案为
 一:
 建立数据关系表A_B
 由字段 关系ID(PK) A表的信息ID(INDEX) B表的关键字ID(INDEX) 构成
 建立数据关系表A_C
 由字段 关系ID(PK) A表的信息ID(INDEX) C表的关键字ID(INDEX) 构成
 也就是说如果一条信息对应B表5个关键字,对应C表2个关键字
 那么A_B中要有关于这条信息的5条记,A_C中要有关于这条信息的2条记录
 二:
 修改表B,表C
 分别增加一个字段,也就是A表ID的字段
 这样有个不好的地方就是在B\C表本身形成了多对多的关系
 也就是说如果一条信息对应B表5个关键字,对应C表2个关键字
 那么B中要有关于这条信息的5条记,C中要有关于这条信息的2条记录
 
 三:
 采用方案一的改进方案
 建立一个A_B_C数据关系表
 由关系ID(PK) A表的信息ID(INDEX) C表的关键字ID B表的关键字ID
 (C和B为复合索引)
 ...同样
 如果一条信息对应B表5个关键字,对应C表2个关键字
 那么A_B_C中要有关于这条信息的10条记录也就是2X5
 然后,现在问题就来了,嘎嘎
 问题一:我应当选择哪个方案比较好呢
 问题二:选择任意或者新的方案后我做查询的时候用以下哪种方式好呢:
 一.联表查询
 二.子查询
 三.一次只查询一个表,查询到最后形成信息ID的数组,最后用IN (1,2,3)这种方式从表A提取信息
 我上面说的子查询是指嵌套子查询,呵呵
 | 
 |