1、主关键字:主关键字(primary key)是表中的一个或多个字段,它的值用于唯一的标识表中的某一条记录。主关键字又可以称为主键。 主键可以由一个字段,也可以由多个字段组成,分别称为单字段主键或多字段主键。并且它可以唯一确定表中的一行数据,或者可以唯一确定一个实体。
2、超关键字:二维表中,能够惟一确定记录的一个字段或几个字段的组合被称为“超关键字”。“超关键字”虽然能唯一确定记录,但是它所包含的字段可能是有多余的。
3、候选关键字:如果一个超关键字去掉其中任何一个字段后不再能唯一地确定记录,则称它为“候选关键字”(Candidate Key)。
扩展资料:
建立主关键字(主键)应该遵循的原则 :
1、主键应当是对用户没有意义的。如果用户看到了一个表示多对多关系的连接表中的数据,并抱怨它没有什么用处,那就证明它的主键设计地很好。
2、永远也不要更新主键。实际上,因为主键除了唯一地标识一行之外,再没有其他的用途了,所以也就没有理由去对它更新。如果主键需要更新,则说明主键应对用户无意义的原则被违反了。 注:这项原则对于那些经常需要在数据转换或多数据库合并时进行数据整理的数据并不适用。
3、主键不应包含动态变化的数据,如时间戳、创建时间列、修改时间列等。
4、主键应当由计算机自动生成。如果由人来对主键的创建进行干预,就会使它带有除了唯一标识一行以外的意义。一旦越过这个界限,就可能产生人为修改主键的动机,这样,这种系统用来链接记录行、管理记录行的关键手段就会落入不了解数据库设计的人的手中。
参考资料来源:百度百科-超关键字
参考资料来源:百度百科-候选关键字
参考资料来源:百度百科-主关键字
超关键字:二维表中,能够惟一确定记录的一个字段或几个字段的组合被称为“超关键字”。“超关键字”虽然能唯一确定记录。
候选关键字:如果一个超关键字去掉其中任何一个字段后不再能唯一地确定记录,则称它为“候选关键字”。
候选关键字快速方法:
首先对于给定的R(U)和函数依赖集F。
L类,仅出现在F的函数依赖左部的属性。
R类,仅出现在F的函数依赖右部的属性。
以上内容参考:百度百科-候选关键字
超关键字:二维表中,能够惟一确定记录的一个字段或几个字段的组合被称为“超关键字”。“超关键字”虽然能唯一确定记录,但是它所包含的字段可能是有多余的。
候选关键字:如果一个超关键字去掉其中任何一个字段后不再能唯一地确定记录,则称它为“候选关键字”。
主关键字:表中的一个或多个字段,它的值用于唯一的标识表中的某一条记录。主关键字又可以称为主键。 主键可以由一个字段,也可以由多个字段组成,分别称为单字段主键或多字段主键。并且它可以唯一确定表中的一行数据,或者可以唯一确定一个实体。
候选关键字快速方法
首先对于给定的R(U)和函数依赖集F,可以将它的属性划分为4类:
L类,仅出现在F的函数依赖左部的属性。
R类,仅出现在F的函数依赖右部的属性。
N类,在F的函数依赖左部和右部均未出现的属性。
LR类,在F的函数依赖左部和右部两部均出现的属性。
以上内容参考:百度百科-候选关键字
二维表中,能够惟一确定记录的一个字段或几个字段的组合被称为“超关键字”。“超关键字”虽然能唯一确定记录,但是它所包含的字段可能是有多余的。
如果一个超关键字去掉其中任何一个字段后不再能唯一地确定记录,则称它为“候选关键字。候选关键字既能唯一地确定记录,它包含的字段又是最精炼的。也就是说候选关键字是最简单的超关键字。
主关键字(primary key)是表中的一个或多个字段,它的值用于唯一地标识表中的某一条记录。
比如在一张成绩表中,有字段:学号,科目,成绩,任课老师。
学号+科目+任何其他字段就是超关键字,但是如果去掉学号或者科目中的一个就无法确定成绩,所以学号和科目是两个候选关键字。
只有知道了学号和科目你才能确定一条记录,所以学号和科目两个字段组成了主关键字。