什么是主键

天龙八部丐帮2023-02-20  25

主键,即主关键字,是被挑选出来,作表的行的唯一标识的候选关键字。

一个表只有一个主关键字。主关键字又可以称为主键。 主键可以由一个字段,也可以由多个字段组成,分别称为单字段主键或多字段主键。又称主码。并且它可以唯一确定表中的一行数据,或者可以唯一确定一个实体。

它的值用于唯一地标识表中的某一条记录。在两个表的关系中,主关键字用来在一个表中引用来自于另一个表中的特定记录。并且主关键字的列不能包含空值。主关键字是可选的,并且可在 CREATE TABLE 或 ALTER TABLE 语句中定义。

扩展资料:

遵循原则

1、主键应当是对用户没有意义的。如果用户看到了一个表示多对多关系的连接表中的数据,并抱怨它没有什么用处,那就证明它的主键设计地很好。

2、永远也不要更新主键。实际上,因为主键除了唯一地标识一行之外,再没有其他的用途了,所以也就没有理由去对它更新。如果主键需要更新,则说明主键应对用户无意义的原则被违反了。

3、主键不应包含动态变化的数据,如时间戳、创建时间列、修改时间列等。

4、主键应当由计算机自动生成。如果由人来对主键的创建进行干预,就会使它带有除了唯一标识一行以外的意义。一旦越过这个界限,就可能产生人为修改主键的动机,这样,这种系统用来链接记录行、管理记录行的关键手段就会落入不了解数据库设计的人的手中。

参考资料来源:百度百科—主关键字

什么叫“主键”?

在SQL SERVER中,主键是一个表中的约束。这个约束,一张表只能有一个,一般作为ID使用,这个约束一般给别人外键引用。这个约束的功能就是,不可重复,保证了唯一性,正是这种特性,使得大多数人都把他作为表中ID的字段使用。

什么是主键与外键?

这需要理清几个概念:

1)候选键: 关系中的一个属性组,其值能唯一标识一个元组,若从该属性组中去掉任何一个属性,它就不具有这一性质了,这样的属性组称作候选码。

2)主键:当有多个候选码时,可以选定一个作为主码,选定的候选码称主键

3)外键: 关系R中的一个属性组,它不是R的候选码,但它与另一个关系S的候选码相对应,则称这个属性组为R的外码或外键。

举个例子:

有两个关系:

student(s#,sname,d#),即学生这个关系有三个属性:学号,姓名,所在系别

dep(d#,dname),即院系有两个属性:系号、系名

则s#、d#是主键,也是各自所在关系的唯一候选键,d#是stu埂ent的外键。

1、主键就是被挑选出来,作表的行的唯一标识的候选关键字。主键可以由一个字段,也可以由多个字段组成,分别称为单字段主键或多字段主键。

2、一般来说,主键的作用有四个:

①可以保证实体的完整性;

②能够加快数据库的操作速度;

③在表中添加新记录时,ACCESS会自动检查新记录的主键值,不允许该值与其他记录的主键值重复;

④ACCESS自动按主键值的顺序显示表中的记录,但如果没有定义主键,则按输入记录的顺序显示表中的记录。

扩展资料

主键建立的注意事项

1、主键应当是对用户没有意义的。如果用户看到了表中的数据,并抱怨它没有什么用处,那就证明它的主键设计得很好。所以主键不包含动态变化的数据,如时间戳、创建时间列、修改时间列等。

2、永远也不要更新主键。因为主键除了唯一地标识一行之外,再没有其他的用途了,所以也就没有理由去对它更新。如果主键需要更新,则说明主键应对用户无意义的原则被违反了。

3、主键应当由计算机自动生成。如果由人来对主键的创建进行干预,就会使它带有除了唯一标识一行以外的意义。一旦越过这个界限,就可能产生人为修改主键的动机。

参考资料:百度百科-主关键字


转载请注明原文地址:https://juke.outofmemory.cn/read/2986035.html

最新回复(0)