前两个表是信息表,一个存储学生信息,一个存储老师信息。这个两个表的关系表就是第三个表,班级表。你的班级表中少一个学生id。
班级表的含义就是 哪一个学生属于这个班级,这个班级的老师是哪一个,这里只需要存储一个id信息就行,记录信息通过id去 学生信息表和老师信息表查询。这样就把这三个表关联起来了,明白了么。

解决方案 »

  1.   

    教师表:ID,名字,其他
    宿舍表:ID,名字,其他
    班级表:ID,名字,其他
    假设学生与上述三者都是一对一,即一个学生只能有一个宿舍,老师,班级,反过来都是一对N,即一个班级表有多个学生。
    学生表:ID,名字,其他,老师ID,宿舍ID,班级ID
    以上四表ID均为主键。
    学生表的三个外键对应三表主键,即可联表。
    通常来说还应有个课程表。
    课程表:课程ID,名字,其他
    课程-老师-学生为1-1-N关系。
    课程-老师-学生关系表:课程ID,老师ID,学生ID,其他。
    这个关系表的主键为前三个字段。
      

  2.   

    crenshu number(10),--班级人数
    这个字段还是去除吧,留着它你还得写代码去维护,用的时候计算出来就可以了。另外学生、老师、班级的关系也是这样,不建议在库中直接保存学生和老师的关系,这个是可以通过学生-班级-老师来查询的,你如果维护了在学生转班、老师更换班级等操作时又要多维护一批数据,且维护出错的情况下可能会出现一些很怪异矛盾的统计结果。
      

  3.   


    那  crenshu number(10),--班级人数  有什么意义呢