欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

主键和外键

程序员文章站 2022-05-17 16:17:54
1:主键和外键的定义 主键(primary key):一列(或一组列),其值能够唯一区分表中每个行 。外键(foreign key) 外键为某个表中的一列,它包含另一个表的主键值,定义了两个表之间的关系 借用其他博客中的三个数据表解析一下: 2:是哪个表的外键? 以上面的成绩表为例,学号和课程号是成 ......

1:主键和外键的定义

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

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

2:是哪个表的外键?

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

 

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