知识就是一遍又一遍的学,每次的学习都有不一样的收获和感受,然后得到了收获就该是分享的过程了,很多人都不易区分超键、候选键、主键、外键这四个键的区别,下来为了大家少走弯路,特总结了此篇博客!

1、书中的定义

超键(super key): 在关系中能唯一标识元组的属性集称为关系模式的超键

候选键(candidate key): 不含有多余属性的超键称为候选键。也就是在候选键中,若再删除属性,就不是键了!

主键(primary key): 用户选作元组标识的一个候选键程序主键

外键(foreign key):如果关系模式R中属性K是其它模式的主键,那么k在模式R中称为外键。

2、咱们创建简单的两个表,说明一下各个键!

学生信息(学号 身份证号 性别 年龄 身高 体重 宿舍号)和 宿舍信息(宿舍号 楼号)

超键:只要含有“学号”或者“身份证号”两个属性的集合就叫超键,例如R1(学号 性别)、R2(身份证号 身高)、R3(学号 身份证号)等等都可以称为超键!

候选键:不含有多余的属性的超键,比如(学号)、(身份证号)都是候选键,又比如R1中学号这一个属性就可以唯一标识元组了,而有没有性别这一属性对是否唯一标识元组没有任何的影响!

主键:就是用户从很多候选键选出来的一个键就是主键,比如你要求学号是主键,那么身份证号就不可以是主键了!

外键:宿舍号就是学生信息表的外键

数据库——彻底明白超键、候选键、主键、外键相关推荐

  1. 数据库中什么是主键,什么是外键?

    数据库中什么是主键,什么是外键? 作者:不染丹心  来源:博客园  发布时间:2009-12-17 22:57  阅读:128 次  原文链接   [收藏]   这需要理清几个概念: 1)候选键: 关 ...

  2. SQL语句 -非空约束 - 唯一约束 - 主键约束 - 默认约束 -外键约束

    文章目录 约束 约束介绍和分类 非空约束 唯一约束 主键约束 默认约束 案例练习 外键约束 约束 约束介绍和分类 约束的概念: 约束是作用于表中列上的规则,用于限制加入表的数据 约束的存在保证了数据库 ...

  3. 外键查询_详解MySQL数据库删除所有表的外键约束、禁用外键约束相关脚本

    概述 数据库的外键虽然能保证数据数据一致性和完整性,但是也一定程度地影响了数据更新的性能.在开发中,我们使用PowerDesigner建立物理数据模型时,为了结构的清晰,增加可读性,会创建表与表之间的 ...

  4. 数据库表设置外键VS不设置外键,哪个更好?

    转发自极光轻学,原文链接:https://jiguangqingxue.com/info/24 必须设置外键VS不要设置外键的争论 数据库表到底要不要设置外键约束,一直具有非常大的争议.我认为完全没有 ...

  5. mysql主外键添加_mysql 增加外键:(+创建主键)

    MySQL是开源免费的数据库软件,是一款很优秀的软件,作为我们的学生或者科研人员在开发软件的时候,最好用也是最省钱的.所以MySQL学好是至关重要的! SQL语言包含4个部分: ※ 数据定义语言(DD ...

  6. mysql设置外键_mysql怎么增加外键

    mysql增加外键的方法:1.在CREATE TABLE语句中,通过FOREIGN KEY关键字来添加外键:2.在ALTER TABLE语句中,通过ADD和FOREIGN KEY关键字来添加外键. M ...

  7. mysql的外键_mysql如何查看外键

    展开全部 查看mysql外键方式主要是通过第三方工具或者62616964757a686964616fe4b893e5b19e31333431373233是sql语句,主要有以下三种方式 1.使用Nav ...

  8. 是否有必要使用外键?为什么不用外键?

    什么是外键: 如果一个实体的某个字段指向另一个实体的主键,就称为外键.被指向的实体,称之为主实体(主表),也叫父实体(父表).负责指向的实体,称之为从实体(从表),也叫子实体(子表) 外键的作用: ① ...

  9. mysql 外键详解_mysql外键详解

    1.1.MySQL中"键"和"索引"的定义相同,所以外键和主键一样也是索引的一种.不同的是MySQL会自动为所有表的主键进行索引,但是外键字段必须由用户进行明确 ...

  10. mysql表定义外键语法_mysql设置外键的语法怎么写?

    2012-08-31 回答 mysql外键设置详解 (1) 外键的使用: 外键的作用,主要有两个: 一个是让数据库自己通过外键来保证数据的完整性和一致性 一个就是能够增加er图的可读性 有些人认为外键 ...

最新文章

  1. MySQL Cluster安装
  2. 自整理IE6,IE7,IE8,Firefox兼容方案。。。
  3. 在 MyEclipse 中配置 tomcat
  4. 淘淘商城之技术选型、开发工具和环境、人员配置
  5. 【PAT Advanced Level】1011. World Cup Betting (20)
  6. Atitit..jdk java 各版本新特性 1.0 1.1 1.2 1.3 1.4 1.5(5.0) 1.6(6.0) 7.0 8.0 9.0 attilax 大总结...
  7. Java中对象及常量,局部变量,全局变量的存储位置
  8. (Sublime Text 3)完美替换 GAMS 难用的编辑器
  9. python基础篇--从零开始(下)
  10. 信创办公--基于WPS的Word最佳实践系列(图片背景的删除)
  11. git 上传文件过大问题
  12. SuiteScritp 2.0开发实例 自定义工单+领料单 单据流转 打印
  13. 操作演示 | 如何将示波器波形直接保存到PC端
  14. 学计算机减肥,电脑瘦身(教你一分钟让电脑瘦身)
  15. 【PTA题目】7-1 计算摄氏温度 (5 分)
  16. 金蝶erp系统服务器端,金蝶erp系统能够带来哪些服务
  17. Safari 浏览器 16.0 发布(含独立安装包下载)
  18. python如何办公自动化培训_用python进行办公自动化都需要学习什么知识呢?
  19. Maven学习之推送本地jar到远程仓库
  20. [附源码]Python计算机毕业设计SSM基于Java的班主任管理系统的实现(程序+LW)

热门文章

  1. 数据的描述性统计与python实现
  2. 游戏感:虚拟感觉的游戏设计师指南——第二章 游戏感与人类感知能力
  3. libjpeg的安装与使用
  4. libjpeg库使用举例
  5. Datastage性能优化
  6. 对于十进制转化为任意进制数的简单算法分析
  7. ReactHooks——使用lodash中的throttle
  8. 腾讯云「邮件证书」重磅发布!从此告别邮件安全漏洞
  9. Oracle数据库账号密码设置
  10. 随手记安全吗?随手科技获选深圳市南山区“绿色通道”企业