上述的4张表之间具有密切的关系,图6-1给出了上面四张表以及表与表之间可能的关系。
图6-1 学生、教师、课程、成绩表之间的关联关系
表与表之间存在的关系具有一定的语义关联,例如,一个老师承担多门课程,一门课程也可以由多个老师承担,这样,课程信息表与教师信息表之间存在的关系是(N 个老师可以承担M 门课程)。
实体之间的关系具有特定的语义,例如,每门课程具有一个成绩,一个老师可以承担多门课程,一门课程可以被多个老师承担。
实体之间的语义关系可以具有方向性,例如,一个老师给出一门课程的成绩;N 个老师可以教授M 个学生,M 个学生也可以上N 个老师的课。大多时候,会简化实体之间的方向性,如图6-1所示。(www.xing528.com)
理论上讲,四张表之间的关系是4×3,如果不考虑方向性,则简化为4×3/2组合关系。
可以简化这种关联关系,引申为“表A 与表B之间直接关联的是那个有意义的列”,例如,学生信息表与课程成绩表,可以通过课程信息表之间建立连接,关联的主要信息是“课程编号”和“学号”。
因为查询某个学生的上课信息时,寻找的是“学号”这样的学生信息,然后找到课程编号,就能从课程信息表获取课程所有信息。“学号”和“课程编号”就是主键值(primary key value)。
把表称为实体,每个实体含有若干个字段或属性(表的列),每个字段的数据类型是一样的。例如,性别可以为布尔型,期末成绩可以是浮点数,学号是字符串型。区分主键值和一般字段的属性是重要的,用主键值表达两个表的关联关系。
注意:图6-1 的关系简称为实体-关系(ER,Entity Relationship)图。这里用的是Relationship,不要和6.2节的relation(关系)搞混。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。