‘壹’ 在数据库中,什么是主关键字,超关键字,候选关键字,合成关键字,外部关键字它们的定义分别是什么
事实上,关系模型不允许表格包含有重复记录。所以,一个表格里字段或者列的值必须是唯一的。唯一性可以通过检查key(关键字)来确定,关键字可以由一个单列或者列的组合构成,这样的列叫做composite key(复合关键字)。
关键字有很多不同的类型:
超关键字(Super key):唯一辨别表格里记录的一个列或者一组列。
备选关键字(Candidate key):包含有确定唯一性所需要的最少列的超关键字。
主关键字(Primary key):用来唯一辨别表格里记录的备选关键字。
备用关键字(Alternate key):没有被选为主关键字的备选键。
外来关键字(Foreign key):表格内匹配同一表格或者另一表格里备选关键字的一个列或者一组列。外来键允许你将一个表格里的记录和另一个表格里的数据相关联。
这里列出来的关键字的类型并不是相互排斥的;一个关键字可以同时被归入多个类。从定义上说,每个表格必须至少有一个主关键字。
‘贰’ 数据库技术:求候选关键字 A→D,E→D,D→B,BC→D,DC→A
题目要补充完整,必须给出集合U
已知R(U,F),其中 U={A,B,C,D,E}, F={A→D,E→D,D→B,BC→D,DC→A},求候选关键字。
①取L类属性(仅出现在F的函数依赖左侧的)——E,C
②求EC关于F的闭包(即由EC可以推出哪些属性)——(EC)+ = ABCDE,包含了U的全部属性,故EC为候选关键字
注:若U={A,B,C,D,E,P},P不在F中左侧或右侧,则P为N类属性,(ECP)+ =ABCDEP,同样包含了U的全部属性,那么候选关键字就为ECP
附:
定理一:对于给定的关系模式R(U,F),若X(X属于U)是L类属性,则X必为R的任一候选码的成员(组成部分)。
推论一:已知R(U,F),若X(X属于U)是L属性,且X+F包含了R的全部属性U,则X必为R的唯一候选码。
定理二:给定R(U,F),若X(X属于U)是R类属性,则X不在任何候选码中。
定理三:给定R(U,F),若X是R的N类属性,则X必包含在R的任一候选码中。
推论二:已知R(U,F),若X是R的N类和L类属性组成的属性集,且X+包含了R的全部属性U,则X是R的唯一候选码。
‘叁’ 关系数据库中关键是什么
关系数据库中关键是关键字、主关键字和候选关键字。
1、关键字:某个字段或多个字段的值可以唯一地标识一条记录,该字段或字段组就称为关键字。
2、主关键字:一个关键字是用以标识每条记录的唯一性,并作为该表与其他表实现关联之用,称其为主关键字或主码。
3、候选关键字:除主关键字以外的关键字称为候选关键字。
‘肆’ 什么是候选关键字
如果某个字段或多个字段的值可以唯一地标识一条记录,则该字段就称为关键字。
如果一个关键字是用以区别每条记录的唯一性标志,并作为该表与其他表实现关联的,则称为主关键字或主码。
除主关键字以外的其他关键字称候选关键字。
如有一个表,字段为:
id firstname lastname address phone IDcard
那么id或IDcard或firstname+lastname都可以说是关键字。
其中id为主关键字,IDcard和firstname+lastname为候选关键字
‘伍’ 数据库,关系,关键字概念及举例说明
数据库一个存放数据的仓库,它是可共享数据的集合;关系就是二维表,由行和列组成,关键字是表中的主键,就是唯一标识记录的字段,比如学生数据库中一个关系叫学生表,则学生表中的学号字段就是关键字
‘陆’ 关系数据库中的主关键字和候选关键字的区别
二维表中,能够惟一确定记录的一个字段或几个字段的组合被称为“超关键字”。“超关键字”虽然能唯一确定记录,但是它所包含的字段可能是有多余的。
如果一个超关键字去掉其中任何一个字段后不再能唯一地确定记录,则称它为“候选关键字。候选关键字既能唯一地确定记录,它包含的字段又是最精炼的。也就是说候选关键字是最简单的超关键字。
主关键字(primary key)是表中的一个或多个字段,它的值用于唯一地标识表中的某一条记录。
比如在一张成绩表中,有字段:学号,科目,成绩,任课老师。
学号+科目+任何其他字段就是超关键字,但是如果去掉学号或者科目中的一个就无法确定成绩,所以学号和科目是两个候选关键字。
只有知道了学号和科目你才能确定一条记录,所以学号和科目两个字段组成了主关键字。
‘柒’ 求候选关键字、主关键字、主属性
1.(1)候选关键字2个:(学号),(身份证号)
(2)主关键字:(学号)
(3)主属性2个:学号,身份证号
(4)非主属性2个:姓名,系别
2. (1)候选关键字1个:(学号,课程号)
(2)主关键字:(学号,课程号)
(3)主属性2个:学号,课程号
(4)非主属性1个:成绩
(5)外部关键字:学号(引用学生信息表中的学号),课程号(引用课程信息表中的课程号)
3.(1)候选关键字1个:(课程号)
(2)主关键字:(课程号)
(3)主属性1个:课程号
(4)非主属性2个:课程名,学分
‘捌’ 数据库中,什么是超关键字,候选关键字,主关键字麻烦举例说明
1、主关键字:主关键字(primary key)是表中的一个或多个字段,它的值用于唯一的标识表中的某一条记录。主关键字又可以称为主键。 主键可以由一个字段,也可以由多个字段组成,分别称为单字段主键或多字段主键。并且它可以唯一确定表中的一行数据,或者可以唯一确定一个实体。
2、超关键字:二维表中,能够惟一确定记录的一个字段或几个字段的组合被称为“超关键字”。“超关键字”虽然能唯一确定记录,但是它所包含的字段可能是有多余的。
3、候选关键字:如果一个超关键字去掉其中任何一个字段后不再能唯一地确定记录,则称它为“候选关键字”(Candidate Key)。
(8)数据库候选关键字扩展阅读:
建立主关键字(主键)应该遵循的原则 :
1、主键应当是对用户没有意义的。如果用户看到了一个表示多对多关系的连接表中的数据,并抱怨它没有什么用处,那就证明它的主键设计地很好。
2、永远也不要更新主键。实际上,因为主键除了唯一地标识一行之外,再没有其他的用途了,所以也就没有理由去对它更新。如果主键需要更新,则说明主键应对用户无意义的原则被违反了。 注:这项原则对于那些经常需要在数据转换或多数据库合并时进行数据整理的数据并不适用。
3、主键不应包含动态变化的数据,如时间戳、创建时间列、修改时间列等。
4、主键应当由计算机自动生成。如果由人来对主键的创建进行干预,就会使它带有除了唯一标识一行以外的意义。一旦越过这个界限,就可能产生人为修改主键的动机,这样,这种系统用来链接记录行、管理记录行的关键手段就会落入不了解数据库设计的人的手中。
‘玖’ 数据库中主键、主码、主属性、关键字、候选关键字、码的区别
你好,他们俩是有区别的,主键就是能够唯一标识表中某一行的属性或属性组,一个表只能有一个主键,但可以有多个候选索引,当有多个候选码时,可以选定一个作为主码,选定的候选码称主键
而主码可以有多个。