犀利!分清候选码和主码

先说候选码,候选码就是可以区别一个元组(即表中的一行数据)的属性或属性的集合,比如学生表student(id,name,age,sex,deptno),其中的id是可以唯一标识一个元组的,所以id是可以作为候选码的,既然id都可以做候选码了,那么id和name这两个属性的组合可不可以唯一区别一个元组呢?显然是可以的,此时的id可以成为码,id和name的组合也可以成为码,但是id和name的组合不能称之为候选码,因为即使去掉name属性,剩下的id属性也完全可以唯一标识一个元组,就是说,候选码中的所有属性都是必须的,缺少了任何一个属性,就不能唯一标识一个元组了,给候选码下一个精确的定义就是:可以唯一标识一个元组的最少的属性集合。而码是没有最少属性这个要求的。另外,一个表的候选码可能有多个,从这些个候选码中选择一个做为主码,至于选择哪一个候选码,这个是无所谓的,只要是从候选码中选的就行。
至于主属性,刚才提到了,一个表可以有多个候选码,那么对于某个属性来说,如果这个属性存在于所有的候选码中,它就称之为主属性。

原文出处:http://blog.csdn.net/ergouge/article/details/7687569
 
时间: 2024-10-14 02:11:35

犀利!分清候选码和主码的相关文章

双码流 主码流子码流(转)

  双码流采用一路高码率的码流用于本地高清存储,例如QCIF/CIF/D1编码,一路低码率的码流用于网络传输,例如QCIF/CIF编码,同时兼顾本地存储和远程网络传输.双码流能实现本地传输和远程传输两种不同的带宽码流需要,本地传输采用高码流可以获得更高的高清录像存储,远程传输采用较低的码流以适应CDMA/ADSL等各种网络而获得更高的图像流畅度. 双码流在现有网络瓶颈下兼顾了图象质量和传输质量,可以突破网络瓶颈,根据网络带宽灵活选择码流格式,达到本地高清存储,同时后端低码流网络传输.实际上,双码

码-主码-候选码辨析

三者定义 码:表中的某个属性组,它可以唯一确定一个元组. 候选码:若关系中某一属性组的值能唯一的标识一个元组,则称该属性组为候选码. 主码:若一个关系有多个候选码,择选其中一个为主码. 候选码中的所有属性都是必须的,即只有这些属性在一起时才能确定下一个元组,而码却没有最少属性的要求. 例如在学生表S中有如下关系: S(sid,name,dept) 对于给定一个学号sid便可唯一的确定这个学生的姓名name,所在系dept,所以sid是候选码. 对于(sid,name)的组合也可以唯一确定这个学生

监控里的主码流和子码流是什么意思

主码流用于本地存储,子码流适用于图像在低带宽网络上传输. 双码流采用一路高码率的码流用于本地高清存储,例如QCIF/CIF/D1编码,一路低码率的码流用于网络传输,例如QCIF/CIF编码, 同时兼顾本地存储和远程网络传输.双码流能实现本地传输和远程传输两种不同的带宽码流需要,本地传输采用高码流可以获得更高的高清录像存储, 远程传输采用较低的码流以适应CDMA/ADSL等各种网络而获得更高的图像流畅度.

普通索引、唯一索引、主索引、外键索引、复合索引、非主码索引、聚集主码(聚集索引)、单列索引、多列索引

强烈建议看了第一个参考文献再来看这个篇博文,因为此处不准备讲底层数据结构的实现. 索引:索引(Index)是帮助MySQL高效获取数据的数据结构.提取句子主干,就可以得到索引的本质:索引是数据结构.其表达的是存储引擎的范畴,也就是说只有在存储引擎级别谈索引才有意义.MyISAM.InnoDB.Memory等.此处单纯就InnoDB存储引擎讨论. B-TREE.B+TREE数据结构. 在数据之外,数据库系统还维护着满足特定查找算 法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这

主码流说明

说明: 仅支持以下能力的设备才具有相对应的功能. 视频码流 码流类型 ■ 活动帧率控制(ACF)功能,使用不同帧率进行录像,针对重要事件使用高帧率录像,对于定时事件使用低帧率录像.动态检测录像和报警录像的帧率可单独设置. ■ 包括普通码流,动检码流,报警码流三种编码码流.针对不同的录像事件选择不同的编码码流. 编码模式 ■ H.264 : Main Profile编码方式. ■ H.264H : High Profile编码方式. ■ H.264B : Baseline Profile编码方式.

主码流 辅助码流说明

说明: 仅支持以下能力的设备才具有相对应的功能. 主码流 以流媒体选中的协议连接,在 主码流配置 下进行视频的监视或关闭.一般用于存储和监视. 辅码流1 以流媒体选中的协议连接,在 辅码流1配置 下进行视频的监视或关闭.在网络带宽不足时,用于代替主码流进行网络监视. 辅码流2 以流媒体选中的协议连接,在 辅码流2配置 下进行视频的监视或关闭.在网络带宽不足时,用于代替主码流进行网络监视. 流媒体协议 选择视频监视协议,支持TCP.UDP和组播. 视频窗口功能选项 区域聚焦 - 点击该按钮,使用鼠

ZXing拍码后区分扫描到的是一维码、二维码、其他码

以前没有怎么接触过二维码,最近遇到一个问题,如何判断条码扫描到的是一维码还是二维码,经过自己艰苦奋斗一下午,加上网上查询资料, 总结出两种方式可以解决该问题(推荐采用第二种方式): 1.修改源码(具体后面会提到) 2.通过返回的编码来判断 实现方式一: 源码的修改,关键涉及到三个类,CaptureActivity.DecodeThread.DecodeFormatManager 1.首先让我们来看下Zxing的源码,里面有一个DecodeFormatManager编码管理类:该来原本的final

请求码和结果码

请求码和结果码 一.简介 请求码: 例如请求页面有多个button,根据请求码就知道是哪个button在请求 结果码: 多个请求可以打开多个页面,根据结果码就知道我们打开的是哪个界面 请求码是用来标识请求源的,结果码是用来标识结果源的. 二.具体步骤 这里演示结果码的 1.界面1里面的结果码是100 setResult(100, intent); 2.界面2里面的结果码是200 setResult(200, intent); 3.在主界面的 onActivityResult方法中根据结果码判断数

二维码快速扫码优化方案介绍(一)--怎么在光线不足时,手机自动进行补光。

二维码扫码已经是一个很通用的技术了,也有很多的开源项目可以实现,比如Zxing项目.https://github.com/zxing 这里重点不是介绍Zxing中是怎么样来实现二维码扫码的,而是来介绍一下,微信上的快速扫码技术是如何来做到优化体验的. 要实现在光线不足时,手机自动进行补光,其实很简单,每个人都知道,手机上有很多的传感器,其中有一个很重要的传感器就是光线传感器. 这个大家平时在拍照的时候,都用到过.那么如何能把这个应用到二维码的扫码体验上来呢. 我们可以利用手机的光线传感器进行外部