有四张数据表:Class(班级表),Students(学生表),Course(课程表),Result(成绩表)为了建立4张表的关系,平常建立多表外键时;不知道如果在哪些表间建立外键,总是很混乱。所以请问:如何建立表之间的外键比较好?外键约束建立的规则是什么?

解决方案 »

  1.   

    各表之间的关系弄清楚就不乱了。1、学生属于某个表,那么 学生表中有一个外键关联到班级表2、学生有成绩,但是成绩是根据课程来的。所以我们可以建一个关联表。
    即关联表A(学生id、课程id、成绩)---这个表也就是成绩表,学生id外键关联学生表,课程id外键关联课程表。
      

  2.   

    Class(#ClassID)
    Students(#StudentID,ClassID)
        FOREIGN KEY FK_Students_ClassID REFERENCES Class(ClassID)
    Course(#CourseID)
    Result(#StudentID,#CourseID,Score)
        FOREIGN KEY FK_Result_StudentID REFERENCES Students(StudentID)
        FOREIGN KEY FK_Result_CourseID REFERENCES Course(CourseID)其中,带#的字段表示主键。(#只是说明,建表时字段名不要带特殊字符)
      

  3.   

    一般规则是:
    A.cola REFERENCES B(colb)
    通常情况下colb是B的主键。
    根据需要,在A.cola上建索引。