删除分 物理删除 和 逻辑删除 你可以在课程表里加个字段 status,正常情况为1,删除的时候把这个字段update成 0 在所有关联课程表的搜索查询里加 and status = 1
因为你在成绩表里面存放课程ID,然后另外在课程表里面存放课程名称,这样做在很大程度上能够减少数据的冗余(如果用直接在成绩表里放课程名的话,当有很多学生都修这门课时,数据冗余比较大),所以肯定要这么做的!可以不用主外键关联啊,你这样设计的表,只是在查询的时候,可以查询出某门课程和其对应的成绩,所以可以在查询的时候进行联接,就可以搞定!假设课程表:course(id,name),成绩表:score(stu_id,sub_id,int score),用下面的语句完全就可以搞定! select s.stu_id,c.name,s.score from course as c,score as s where s.sub_id=c.id
你可以在课程表里加个字段 status,正常情况为1,删除的时候把这个字段update成 0
在所有关联课程表的搜索查询里加 and status = 1