1:主键和外键的定义

主键(primary key):一列(或一组列),其值能够唯一区分表中每个行 。
外键(foreign key外键为某个表中的一列,它包含另一个表的主键值,定义了两个表之间的关系 
借用其他博客中的三个数据表解析一下:

学生表(学号,姓名,性别,班级)  //  学号唯一,能确定学生表的一行
课程表(课程编号,课程名,学分)   //  课程编号唯一,能确定课程表的一行
成绩表(学号,课程号,成绩)     //   学号和课程号才能唯一确定哪个人哪门课得了多少分,学号和课程号这两列为主键

2:是哪个表的外键?

以上面的成绩表为例,学号和课程号是成绩表的主键,那么学号是成绩表的外键还是学生表的外键?当然是成绩表的外键,因为学号是学生表的主键呀,怎么可能是外键?同理成绩表课程号也应该是成绩表的外键。其实,外键主要建立与其他表的联系,如果我们想知道成绩表中某一行成绩是谁考的,啥性别,在哪个班级,就可通过成绩表的外键学号与学生表建立一种关系。

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

 

看了网上某些博客有点绕,不懂还是先查书吧。以上参考书籍为《MySQL必知必会》,不错的一本小册子。



 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄