MySQL数据库 -- 主键和外键的区别

先看一个例子

例如:

  • 在一张学生表中, 有 " 学号, 姓名, 性别, 班级 " 4个属性. 而只有 "学号" 是唯一可以标识是哪位同学的, 因此将这张学生表的学号设置为 "主键" 
  • 在一张课程表中, 有 " 课程编号, 课程名, 学分 " 3个属性, 而只有 "课程编号" 是唯一可以标识是哪门课程的, 因此将这张课程表的课程编号设置为 "主键"
  • 而在一张学生成绩表当中, 单一一条属性是无法唯一标识一条记录的, 因此需要将 "学号" 和 "课程编号" 这两个属性组合起来才能唯一标识一条记录, 因此将 "学号" 和 "课程编号"组合起来的属性组设置为 "主键" 

1. 什么是主键

       关系型数据库中的一条记录中有若干个属性, 若其中某一个属性组(注是组)能唯一标识一条记录, 该属性组就可以成为一个主键

2. 什么是外键

      外键又称作外关键字

      如果公共关键字在一个关系中是主关键字, 那么这个公共关键字被称为另一个关系的外键.

  例如: 学生表中的学号是学生表中的主键,  但并不是成绩表中的主键, 它只有和课程编号组合起来的属性组才是成绩表中的主键,  但成绩表中的学号和学生表中的学号相对应,  因此称为, " 成绩表中的学号是学生表中的外键." 同理, 成绩表中的课程编号是课程表中的外键

 

以另一个关系的外键作为主键的表被称为主表, 如: 学生表, 课程表

具有此外键的表被称为主表的从表. 如: 成绩表

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值