让你从此分清码,候选码和主码!!!
2015-11-29 18:57
267 查看
先说候选码,<span style="color:#FF0000;">候选码就是可以区别一个元组(即表中的一行数据)的属性或属性的集合</span>,比如学生表student(id,name,age,sex,deptno),其中的id是可以唯一标识一个元组的,所以id是可以作为候选码的,既然id都可以做候选码了,那么id和name这两个属性的组合可不可以唯一区别一个元组呢?显然是可以的,<span style="color:#FF0000;">此时的id可以成为码,id和name的组合也可以成为码</span>,但是id和name的组合不能称之为候选码<span style="color:#FF0000;">(超码)</span>,因为即使去掉name属性,剩下的id属性也完全可以唯一标识一个元组,就是说,候选码中的所有属性都是必须的,缺少了任何一个属性,就不能唯一标识一个元组了,给候选码下一个精确的定义就是:可以唯一标识一个元组的最少的属性集合。而码是没有最少属性这个要求的。另外,一个表的候选码可能有多个,从这些个候选码中选择一个做为主码,至于选择哪一个候选码,这个是无所谓的,只要是从候选码中选的就行。 至于主属性,刚才提到了,一个表可以有多个候选码,那么对于某个属性来说,<span style="color:#FF0000;">如果这个属性存在于所有的候选码中,它就称之为主属性</span>
从百度知道上看到的,觉得非常犀利,特此分享。
相关文章推荐
- Android系统服务-简介
- POJ-2823-Sliding Window
- OpenJudge_P1708 麦森数(快速幂+高精度)
- 线程同步通信技术Communication 02
- Android系统服务-WindowManager
- Bootstrap 提示工具(Tooltip)插件
- Struts2学习——(三)升级action的配置方式
- 【Eclipse】Win 7 下 Eclipse 图标无法锁定到任务栏的解决方法
- 设计模式小结
- YYKit 工具库的地址
- bzoj3323【scoi2013】多项式的运算
- 隔离级别之间的区别
- Hive_1. 数据存储 & 压缩
- Linus Is Not Matrix——Jenkins配置主从节点错误总结
- hdu 校赛 搬砖
- 信息安全系统设计基础第十二周学习总结
- OrzNiroBC
- 多线程之:ThreadLocal
- PAT1001
- Scrum猪和鸡的故事