实验系统,老师发布作业,学生写作业,用的SSH框架,现在用hibernate来处理三者的关系,自己的想法是五张表,老师,学生,作业,老师作业中间表,学生作业中间表。老师作业中间表有teacherid,homeworkid, 学生中间表有studentid,homeworkid。问题是,现在要不要把作业表中的老师发布内容的这个字段放到中间表,学生的做的内容放到学生作业中间表。如果不这样的话,那干脆三张表不就可以了?
究竟怎样设计恰当,字段究竟要放在哪些表中,如学生完成作业的时间,老师发布作业的时间,这些感觉既可以全部放在作业表,又可以放在中间表。有经验的希望提出宝贵的意见,因为之前做的东西很少涉及表关联。多谢!数据库表

解决方案 »

  1.   

    老师: id 姓名……
    学生: id 姓名……
    学生&老师中间表: 老师id 学生id
    老师布置作业: 老师id 作业题目
    学生完成作业: 学生id 老师布置作业id 作业内容我觉得这五张表可以满足你的需求
    至于你说的“干脆三张表就可以”,其实也可以,要取决与你每张表的字段数及数据访问量
    目测你的实验系统字段数少,数据量也不大,所以3张表就ok,这样写sql要链接的表也少,速度会较快;如果数据量大,字段多,就按书本上的那几个原则设计比较好。
      

  2.   


    http://blog.csdn.net/shadowsick/article/details/8903278
    可以参考下我博客里的项目实例,相信对你有比较大的帮助,谢谢支持