http://www.mypm.net/blog/user1/liurm/archives/2011/83421.html

看下题目先

在SQL Server数据库中,有一个学生信息表如下所示,在该表中不能作为候选键的属性集合为( ) (选择一项)

学号 姓名 性别 年龄 系别 专业
20020612 李辉 男 20 计算机 软件开发
20060613 张明 男 18 计算机 软件开发
20060614 王小玉 女 19 物理 力学
20060615 李淑华 女 17 生物 动物学
20060616 赵静 男 21 化学 食品化学
20060617 赵静 女 20 生物 植物学

a){学号}
b){学号、姓名}
c){年龄、系别}
d){姓名、性别}
e){姓名、专业}

可能大家不知道如何来选择。如果这个题目我们可以正确的解答,那么对于超键以及候选键和主键的概念已经有很深刻的认识了。

看下概念:
超键:在关系中能惟一标识元组的属性集称为关系模式的超键。
候选键:不含有多余属性的超键称为候选键。也就是在候选键中,若要再删除属性就不是键了。
主键:用户选作元组标识的一个候选键称为主键。

透过概念,我们可以了解到,超键包含着候选键,候选键中包含着主键。主键一定是惟一的。为什么呢?因为他的爷爷超键就是惟一的。

我们分析一下上面的题目,abcde5个答案都可以作为超键,他们组合在一起的集合可以用来惟一的标识一条数据记录(实体)。

请注意我们的要求:候选键。候选键要求是不能包含多余属性的超键,我们看一下答案b。在答案b中,如果我们不使用姓名也可以惟一的标识一条数据实体,可以说姓名字段在这里是多余的。那么很明显,b选项包含了多余字段属性。那么这题答案应该选择b ,那么其他的4个选项都可以作为候选键,假设很幸运,a)学号 被选择作为用户正在使用的候选键来惟一标识元组了,那么他很幸运的获得了主键的称号

一题搞懂什么是数据库候选键相关推荐

  1. 干货文——一文带你搞懂爬虫储存数据库MongoDB

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 夜阑卧听风吹雨,铁马冰河入梦来. ...

  2. 麻烦你先搞懂这几个问题,简历再写熟悉数据库!!!

    原创声明 本文作者:黄小斜 转载请务必在文章开头注明出处和作者. 本文思维导图 数据库和关系型数据库 作为一个程序员,不了解数据库怎么能行,那么数据库到底是个啥呢,作为一个Java工程师,平时和数据库 ...

  3. 2.1.5 校验码(一文带你分析搞懂:奇偶校验码、海明码、CRC码)

    文章目录: 什么是校验码? 为什么要有校验码? 1.奇偶校验码 怎么通过奇偶校验码判断数据是正确还是错误呢? (1)奇校验 (2)偶校验 为什么无法检查出偶数个错误? 2.海明(汉明)校验码 什么是海 ...

  4. 一文搞懂积分不等式证明(积分证明题总结笔记3/3)

    积分证明题是考研中难度较大的板块,很多学弟学妹们希望我出一篇总结文章,故作本文,希望对大家有所帮助. 本文所涉及题目,均是来自市面上常见题册(李林880,张宇1000题,汤家凤1800等) 由于内容较 ...

  5. 一文搞懂MySQL数据库分库分表

    如果数据量过大,大家一般会分库分表.分库需要注意的内容比较少,但分表需要注意的内容就多了. 工作这几年没遇过数据量特别大的业务,那些过亿的数据,因为索引设置合理,单表性能没有影响,所以实战中一直没用过 ...

  6. LeetCode刷题复盘笔记—一文搞懂0 - 1背包之494. 目标和问题(动态规划系列第九篇)

    今日主要总结一下动态规划0-1背包的一道题目,494. 目标和问题 题目:494. 目标和 Leetcode题目地址 题目描述: 给你一个整数数组 nums 和一个整数 target . 向数组中的每 ...

  7. LeetCode刷题复盘笔记—一文搞懂完全背包之322. 零钱兑换问题(动态规划系列第十四篇)

    今日主要总结一下动态规划完全背包的一道题目,322. 零钱兑换 题目:322. 零钱兑换 Leetcode题目地址 题目描述: 给你一个整数数组 coins ,表示不同面额的硬币:以及一个整数 amo ...

  8. 都2021年了,再不学ES6你就out了 —— 一文搞懂ES6

    JS干货分享 -- 一文搞懂ES6 导语:ES6是什么?用来做什么? 1. let 与 const 2. 解构赋值 3. 模板字符串 4. ES6 函数(升级后更爽) 5. Class类 6. Map ...

  9. Java中的线程池如何实现,一文彻底搞懂

    前言 为什么要用线程池一键获取线程相关资料,还可获取最新java面试真题库 在 HotSpot VM 的线程模型中,Java 线程被一对一映射为内核线程. Java 在使用线程执行程序时,需要调用操作 ...

最新文章

  1. telnet时显示:允许更多到 telnet 服务器的连接。请稍候再试
  2. 数据链路层协议_数据链路层 基本数据链路协议
  3. mysql 硬盘空间不够_mysql磁盘空间不足的查排
  4. mysql中文时好时坏_mysql索引的问题,时好时坏
  5. 邮箱有什么用_大公司为什么要用企业邮箱?大公司企业邮箱用什么比较好?
  6. python实现数字形式转换
  7. SAP UI5 local sandbox bootstrap的执行细节
  8. 使用Spock测试您的代码
  9. MVC系列——MVC源码学习:打造自己的MVC框架(一:核心原理)(转)
  10. 六大举措深耕光通信市场
  11. 远程计算机或设备将不接受连接,谷歌浏览器无法上网
  12. 输入两个正整数,求其最大公约数和最小公倍数
  13. python编译器哪个最好用_python编写器哪个好用?
  14. Spring Data JPA 查询方法的命名语法与参数
  15. C++STL开发温习与总结(六): 6.C++语言输入/输出流定义之输入/输出格式控制
  16. asp毕业设计——基于asp+access的网上选题系统设计与实现(毕业论文+程序源码)——网上选题系统
  17. 那怎样的文档才是好的产品文档呢
  18. jQuery中ajax跨域请求
  19. 复杂网络中节点重要性方面的研究热点问题
  20. 疯狂的红色石头孵化出疯狂的鸡蛋

热门文章

  1. libnids分析(9)---nids.h注释
  2. 【原创】开源OpenIM:轻量、高效、实时、可靠、低成本的消息模型
  3. 进程和线程的区别 进程间的通信方式
  4. Intel MKL FATAL ERROR: Cannot load libmkl_avx512.so or libmkl_def.so.
  5. 【指标计算】老妈再也不担心我的指标算不好了(教你用MyTT、TA-Lib、Pandas TA计算股票指标,附源代码)
  6. VMware 虚拟网卡防火墙问题
  7. 控制器模式_前控制器模式简介,第1部分
  8. PHP与MySQL外文文献译文和原文_计算机外文翻译---基于PHP和MYSQL的网站设计和实现...
  9. 烽火算法针对的是什么,烽火算法对网站优化有什么好处
  10. AcWing 1089 烽火传递 题解(动态规划—DP—单调队列优化DP)