学生表:   id   student_name   other_column课程表:   id   class_name中间表:   id   student_id  class_id  result在现在的数据库设计模式中,多对多的关系只能采用中间表来解决

解决方案 »

  1.   

    多对多的关系只能有中间表来解决.先学生表先和中间表映射多对一(mang-to-one)关系.在中间表和课程表映射一对多双向自己关联关系,估计可以解决你的问题...
      

  2.   

    同意楼上的各位,但楼主要尽量少用多对多的关系,采取延迟加载(Lazy Loading)来避免无谓的开支
      

  3.   

    其实我一度倾向于wizardblue() 的方法,因为如果用many-to-many的关系的话对中间表的读取就显得不那么“面向对象”了是吧?大家讨论下这个是不是最好的方法了呢
      

  4.   

    同意wizardblue()的说法,学生跟课程本来是多对多的关系,如果你不想用多对多,那就再引如考试的概念,这样学生跟考试,以及课程对考试都是一对多的关系了,也就是把一个多对多关系分成两个一对多的关系.