第1个回答 2013-04-27
多对多需要用中间表来表示。
------------------------------------------------------------------------------------
student(student_id,user_name....)
teacher(teacher_id,teacher_name)
student_teacher(student_teacher_id,student_id,teacher_id)
和上面给图的哥们一样
-----------------------------------------------------------------------------------
select 加上你需要查询的字段
from student as s,teacher as t, student_teacher as st
where s.student_id = st.student_id and t.teacher_id=st.teacher_id
and s.studnet_id = 1;//表示学生1对应的老师。
------------------------------------------------------------------------------------
select 加上你需要查询的字段
from student as s,teacher as t, student_teacher as st
where s.student_id = st.student_id and t.teacher_id=st.teacher_id
and t.teacher_id = 1;//表示老师1对应的学生。
--------------------------------------------------------------------------------------本回答被网友采纳
第3个回答 2013-04-25
其实很简单,建立两个表比如学生表有: IdStu(学生ID),。。。。(学生信息)
老师表: IdStu(老师Id),。。。。。(老师信息),idStus(学生表中的学生IDS)
这是最简单的,但是对数据库压力很大,还有比较难的,你要是还想知道跟多的话,可以联系我
追问恩 想知道 想知道 说说嘛!
追答一对一张表的关系和一对多张表的关系,很复杂的,慢慢你会明白
一张表对一张表性能消耗大,但是理解简单,如果是多张表对多张表,你的数据库还要用到二维数组,很麻烦,不是说说就能清楚的。 多看书吧,以后工作你就明白了