超键:如bai果一个关系(表)du中所有属性(列)都由zhi一个属性集合决定,那么这组属性集合称为超键。
显然,由一个关系的所有属性组成的属性集合必然是这个关系的超键。
通俗地讲,超键用来唯一确定一个元组(行,记录)。
候选键:一个可以用来唯一确定一个元组的极小的属性集合,即极小超键。(minimal superkey)
主键:一个关系的所有候选键中选择一个用来唯一确定关系的元组,这个候选键成为主键。
外键:在一个关系中,如果一个属性集合是另一个关系的主键,这个属性集合称为外键。

键bai(super key):在关系中能唯一标识元组的属性集称为关系模式的超键
候选键(candidate key):不含有多余属性的超键称为候选键
主键(primary key):用户选作元组标识的一个候选键程序主键
比如一个小范围的所有人,没有重名的,考虑以下属性
身份证 姓名 性别 年龄
身份证唯一,所以是一个超键
姓名唯一,所以是一个超键
(姓名,性别)唯一,所以是一个超键
(姓名,性别,年龄)唯一,所以是一个超键
--这里可以看出,超键的组合是唯一的,但可能不是最小唯一的
身份证唯一,而且没有多余属性,所以是一个候选键
姓名唯一,而且没有多余属性,所以是一个候选键
--这里可以看出,候选键是没有多余属性的超键
考虑输入查询方便性,可以选择 身份证 为主键
也可以 考虑习惯 选择 姓名 为主键
--主键是选中的一个候选键

sql超键 候选键 主键相关推荐

  1. 数据库原理与应用(SQL Server)教程 主键、外键以及联合主键、复合主键和设置种子数目和增量

    文章目录 前言 一.主键.联合主键和复合主键 (一)主键 (二)联合主键 (三)复合主键 二.外键.设置种子数目和增量 (一)外键的概念 (二)添加外键 (三)设置种子数目和增量 结语 前言 这篇文章 ...

  2. sql主键_SQL主键

    sql主键 In a world driven with data all over, it is very easy to get duplicate data. The nightmare of ...

  3. SQL Server中如何给主键添加主键约束

    SQL Server中如何给主键添加主键约束? 方法/步骤 1 SQL Server中如何给表添加主键约束,下面为大家分享了两种方法希望大家能够速学速懂. 2 3 在如下图中大家可以看到的是一个Stu ...

  4. sql 复合主键 联合主键_学习SQL:主键

    sql 复合主键 联合主键 If you've already worked with databases, then you could hardly miss the term – Primary ...

  5. sql新增数据返回主键

    sql新增数据返回主键 @Options(useGeneratedKeys = true, keyProperty = "id", keyColumn = "id&quo ...

  6. mybatis使用statement.getGenreatedKeys(); useGeneratedKeys=”true”;使用自增主键获取主键值策略和Oracle不支持自增,Oracle使用序列

    parameterType: 参数类型, 可以省略 mysql支持自增主键,自增主键的获取, mybatis也是利用statement.getGenreatedKeys();  useGenerate ...

  7. mysql主键long_MySQL主键设计

    [TOC] 在项目过程中遇到一个看似极为基础的问题,但是在深入思考后还是引出了不少问题,觉得有必要把这一学习过程进行记录. MySQL主键设计原则 MySQL主键应当是对用户没有意义的. MySQL主 ...

  8. python字典添加主键_Python--MySql(主键的创建方式、存储引擎、存储过程、索引、pymsql)...

    主键的创建方式 1. create tablestud( idint not null unique, namevarchar(20) ); mysql> descstud;+-------+- ...

  9. oracle主键约束删除,oracle删除主键查看主键约束及创建联合主键

    oracle删除主键查看主键约束及创建联合主键 1,主键的删除 ALTER TABLE TABLENAME DROP PRIMARY_KEY 执行上面的SQL可以删除主键:如果不成功可以用 ALTER ...

最新文章

  1. Atitit hsv转grb  应该优先使用hsv颜色原则 方便人类
  2. 优化网站设计方案提升网站用户回头率
  3. javax.management.InstanceNotFoundException: org.springframework.boot:type=Admin,name=SpringApplicati
  4. Exception while invoking! org.apache.thrift.protocol.TProtocolException: Bad version in readMessageB
  5. 使用ASP.NET Core MVC的Vue.Js
  6. 零基础带你学习MySQL—自连接(二十一)
  7. HTTP Gzip压缩问题总结
  8. Android Metro风格的Launcher开发系列第一篇
  9. html 调用离线地图,百度地图API1.1制作的离线地图控件(html+webbroswer)
  10. 计算机格式化后,电脑格式化后需要重装系统吗_格式化电脑重装系统的方法步骤...
  11. Echarts16 ---散点图-趋势图
  12. php怎么弄面包屑,php实现面包屑导航例子分享
  13. 微软office认证课程
  14. 什么是库存周转率周转天数?
  15. 小试牛刀 python股票查询程序
  16. android webview问题汇总
  17. 基于Linux的tty架构及UART驱动详解
  18. 嵌入式Linux永久修改MAC和IP(特别适用多个网卡设计)
  19. 常用的 CSS 长度单位
  20. java做物理引擎_不使用物理引擎,自己动手做真实物理的模拟投篮游戏

热门文章

  1. CCS3.3 新建工程遇到的问题
  2. DSP CCS3.3安装问题与解决方案
  3. java导出excel表格设置行高_EasyExcel之不使用对象灵活生成Excel,并且调整行高、自动列宽与自由合并...
  4. MTL多目标学习介绍综述等
  5. 鸿蒙蕴含的哲理,蕴含哲理的唯美句子,喜欢的就收藏吧!
  6. 有关蓝色RGB的数值
  7. CMMI V2.0培训纪实
  8. 计算机夏令营英语自我介绍,保研夏令营英文自我介绍3篇
  9. Windows11 系统打开IE浏览器的方式(完整版)
  10. CT图像之Hu值变换与窗宽窗位调整