数据库中,啥是超关键字,候选关键字,主关键字?麻烦举例说明
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库中,啥是超关键字,候选关键字,主关键字?麻烦举例说明相关的知识,希望对你有一定的参考价值。
1、主关键字:主关键字(primary key)是表中的一个或多个字段,它的值用于唯一的标识表中的某一条记录。主关键字又可以称为主键。 主键可以由一个字段,也可以由多个字段组成,分别称为单字段主键或多字段主键。并且它可以唯一确定表中的一行数据,或者可以唯一确定一个实体。
2、超关键字:二维表中,能够惟一确定记录的一个字段或几个字段的组合被称为“超关键字”。“超关键字”虽然能唯一确定记录,但是它所包含的字段可能是有多余的。
3、候选关键字:如果一个超关键字去掉其中任何一个字段后不再能唯一地确定记录,则称它为“候选关键字”(Candidate Key)。
扩展资料:
建立主关键字(主键)应该遵循的原则 :
1、主键应当是对用户没有意义的。如果用户看到了一个表示多对多关系的连接表中的数据,并抱怨它没有什么用处,那就证明它的主键设计地很好。
2、永远也不要更新主键。实际上,因为主键除了唯一地标识一行之外,再没有其他的用途了,所以也就没有理由去对它更新。如果主键需要更新,则说明主键应对用户无意义的原则被违反了。 注:这项原则对于那些经常需要在数据转换或多数据库合并时进行数据整理的数据并不适用。
3、主键不应包含动态变化的数据,如时间戳、创建时间列、修改时间列等。
4、主键应当由计算机自动生成。如果由人来对主键的创建进行干预,就会使它带有除了唯一标识一行以外的意义。一旦越过这个界限,就可能产生人为修改主键的动机,这样,这种系统用来链接记录行、管理记录行的关键手段就会落入不了解数据库设计的人的手中。
参考资料来源:百度百科-超关键字
参考资料来源:百度百科-候选关键字
参考资料来源:百度百科-主关键字
参考技术A超关键字:二维表中,能够惟一确定记录的一个字段或几个字段的组合被称为“超关键字”。“超关键字”虽然能唯一确定记录。
候选关键字:如果一个超关键字去掉其中任何一个字段后不再能唯一地确定记录,则称它为“候选关键字”。
候选关键字快速方法:
首先对于给定的R(U)和函数依赖集F。
L类,仅出现在F的函数依赖左部的属性。
R类,仅出现在F的函数依赖右部的属性。
以上内容参考:百度百科-候选关键字
参考技术B超关键字:二维表中,能够惟一确定记录的一个字段或几个字段的组合被称为“超关键字”。“超关键字”虽然能唯一确定记录,但是它所包含的字段可能是有多余的。
候选关键字:如果一个超关键字去掉其中任何一个字段后不再能唯一地确定记录,则称它为“候选关键字”。
主关键字:表中的一个或多个字段,它的值用于唯一的标识表中的某一条记录。主关键字又可以称为主键。 主键可以由一个字段,也可以由多个字段组成,分别称为单字段主键或多字段主键。并且它可以唯一确定表中的一行数据,或者可以唯一确定一个实体。
候选关键字快速方法
首先对于给定的R(U)和函数依赖集F,可以将它的属性划分为4类:
L类,仅出现在F的函数依赖左部的属性。
R类,仅出现在F的函数依赖右部的属性。
N类,在F的函数依赖左部和右部均未出现的属性。
LR类,在F的函数依赖左部和右部两部均出现的属性。
以上内容参考:百度百科-候选关键字
参考技术C 二维表中,能够惟一确定记录的一个字段或几个字段的组合被称为“超关键字”。“超关键字”虽然能唯一确定记录,但是它所包含的字段可能是有多余的。如果一个超关键字去掉其中任何一个字段后不再能唯一地确定记录,则称它为“候选关键字。候选关键字既能唯一地确定记录,它包含的字段又是最精炼的。也就是说候选关键字是最简单的超关键字。
主关键字(primary key)是表中的一个或多个字段,它的值用于唯一地标识表中的某一条记录。
比如在一张成绩表中,有字段:学号,科目,成绩,任课老师。
学号+科目+任何其他字段就是超关键字,但是如果去掉学号或者科目中的一个就无法确定成绩,所以学号和科目是两个候选关键字。
只有知道了学号和科目你才能确定一条记录,所以学号和科目两个字段组成了主关键字。本回答被提问者和网友采纳
数据库中啥是主关键字?主关键字与外关键字的区别与联系?
主关键字是用于唯一地标识表中的某一条记录。
联系:外键是相对于数据库设计中的参考完整性而言,与主键之间是彼此依赖的关系。
区别:
一、作用不同
1、主关键字:用来在一个表中引用来自于另一个表中的特定记录。是一种唯一关键字,表定义的一部分。
2、外关键字:公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外关键字。
二、组成不同
1、主关键字:主键可以由多个关键字共同组成,并且主关键字的列不能包含空值。主关键字是可选的,并且可在 CREATE TABLE 或 ALTER TABLE 语句中定义。
2、外关键字:可以为空值(除了SQLServer等一些数据库),但如果有值的话一定是参照的那个主表中的主键值。从表需要用到主表的属性,没有主表就没有从表。
三、特点不同
1、主关键字:可以由一个字段,也可以由多个字段组成,分别称为单字段主键或多字段主键。可以唯一确定表中的一行数据,或者可以唯一确定一个实体。
2、外关键字:.当一张二维表(如表A )的主关键字被包含在另一张二维表(如表B)中时,A表中的主关键字便成为B 表的外关键字。
参考资料来源:百度百科-外关键字
参考资料来源:百度百科-主关键字
参考技术A主关键字是本表的唯一标识属性,不能重复。如用户信息表中的用户ID,用户名,这些都是不能重复的,不过最好是设置用户ID为主关键字。
区别与联系:
1.主关键字是本表的唯一标识属性,不能重复。这些都是不能重复的,不过最好是设置用户ID为主关键字。外关键字是指该字段数据来源是来源于另一表的主关键字,所以说外关键字是关系数据库的基础。
2.对于一个二维表,候选关键字至少一个,可能有多个。从候选关键字中可以选出一个作为“主关键字”。对表中每个记录来说,主关键字必须包含一个不同于其它记录的唯一的值。
3.主关键字的值不能为空,否则主关键字不能起唯一标注记录的作用。
扩展资料:
主关键字作用:
1.保证实体的完整性
2.加快数据库的操作速度
3.在表中添加新记录时,ACCESS会自动检查新记录的主键值,不允许该值与其他记录的主键值重复。
4.ACCESS自动按主键值的顺序显示表中的记录。如果没有定义主键,则按输入记录的顺序显示表中的记录。
参考资料:百度百科——主关键字
参考资料:百度百科——外关键字
参考技术B 主关键字是本表的唯一标识属性,不能重复。如用户信息表中的用户ID,用户名,这些都是不能重复的,不过最好是设置用户ID为主关键字;外关键字是指该字段数据来源是来源于另一表的主关键字,如:用户登录主界面后,在存储某些信息时,系统会自动在前面添加上用户ID号来建立两个相对独立表之间的链接,所以说外关键字是关系数据库的基础。本回答被提问者和网友采纳
以上是关于数据库中,啥是超关键字,候选关键字,主关键字?麻烦举例说明的主要内容,如果未能解决你的问题,请参考以下文章