两个表之间通过相同的列名,在数据表间创建关系,从 而将一个表与另一个表连接。
表与表之间的3种关系: 一对一、一对多、多对多
1、一对一关系
表a中的一条记录在表b中有且只有一条相匹配的记录。
若两个相关列都是主键或具有唯一约束,则为一对一关系。
例1.1 创建一个教师表teacher(从表)和一个课程表course(主表),通过两个表的主键tno和cno连接两个表,创建一对一关系(一个老师有且仅有一个对应的课程)。
设置关系操作r
(1)创建教师表teacher
(2)创建课程表course
(3)设置教师表teacher的主键tno
(4)设置课程表course的主键cno
(5)通过课程表course中的cno字段右击一下,创建一对一关系
(6)选择关系栏下点击一下添加按钮
(7)在常规下的表和列规范对应的空白栏左侧的三个点样图标
(8)编辑主键表和外键表的设置信息
以上步骤完成后,点击确定。
注意: 创建一对一关系之前,tno、cno两个字段都应设置为这两个表的主键,且关联的字段类型必须相同。
2、一对多关系
表a中的行可以在表b中由许多相匹配的行,但表b中的行只能在表a中有一个能匹配的行。
若相关列中只有一列是主键或具有唯一约束,则创建的就是一对多关系。
例2.1 创建一个课程表course(从表)和一个学生表student(主表)。 通过两个表的主键sno和cno连接两个表,创建一对多关系(一个学生对应多门课程)。
(1)到(7)的步骤如上例1.1的类似
(8)编辑主键表和外键表的设置信息
·
3、多对多关系
每个表的行在相关表中具有多个匹配行。在数据库中,多对多关系的建立是基于第3个表连接实现,连接表包含相关的两个表的主键列,然后从两个相关表的主键列分别创建于连接表中匹配列的关系。
创建一个commodity商品表和一个order订单表,再利用两个表中的主键创建corder商品订单表
最后将两个表中的匹配列与第三个表的相关列进行设置关系。