『壹』 数据库中关系模型中的主键是什么
数据库中,关系模型中的主键是对每条数据记录的唯一标识,不可重复。主键可以是属性集,比如一张表R(A,B,C,D),主键为A+B是可以的。
主键,即主关键字(primary key)是表中的一个或多个字段,它的值用于唯一地标识表中的某一条记录。在两个表的关系中,主关键字用来在一个表中引用来自于另一个表中的特定记录。主关键字是一种唯一关键字,表定义的一部分。
一个表的主键可以由多个关键字共同组成,并且主关键字的列不能包含空值。主关键字是可选的,并且可在 CREATE TABLE 或 ALTER TABLE 语句中定义。
(1)数据库主键无意义扩展阅读:
建立主键应该遵循的原则:
1、主键应当是对用户没有意义的。如果用户看到了一个表示多对多关系的连接表中的数据,并抱怨它没有什么用处,那就证明它的主键设计地很好。
2、 永远也不要更新主键。因为主键除了唯一地标识一行之外,再没有其他的用途了,所以也就没有理由去对它更新。如果主键需要更新,则说明主键应对用户无意义的原则被违反了。
3、主键不应包含动态变化的数据,如时间戳、创建时间列、修改时间列等。
4、主键应当由计算机自动生成。如果由人来对主键的创建进行干预,就会使它带有除了唯一标识一行以外的意义。一旦越过这个界限,就可能产生人为修改主键的动机。
『贰』 数据库中为何要设置主键呢有什么作用
数据库主键,指的是一个列或多列的组合,其值能唯一地标识表中的每一行,通过它可强制表的实体完整性。
主键可以用来表示一个精确定位的特定的行,如果没有主键,你就无法精准定位一条记录是否就是你要的相关行记录,这样就会导致更新或删除表中特定的行很困难。
而如果我们有主键来约束行记录的唯一性后,就可以利用主键来解决这个问题。
主键的作用:
1)保证实体的完整性;
2)加快数据库的操作速度。
3) 在表中添加新记录时,DBMS会自动检查新记录的主键值,不允许该值与其他记录的主键值重复。
4) DBMS自动按主键值的顺序显示表中的记录。如果没有定义主键,则按输入记录的顺序显示表中的记录。
(2)数据库主键无意义扩展阅读:
主键的必要性
在有些数据库中,虽然主键不是必需的,但最好为每个表都设置一个主键,不管是单主键还是复合主键。它存在代表着表结构的完整性,表的记录必须得有唯一区分的字段,主键主要是用于其他表的外键关联,以及本记录的修改与删除。
主键的无意义性
在开发过程中,可能会看到将一些表使用有意义的字段表示主键,例如“用户登录信息表”将“登录名”(英文名)作为主键,“订单表”中将“订单编号”作为主键,如此设计主键一般都是没什么问题,因为将这些主键基本不具有“意义更改”的可能性。
但是,也有一些例外的情况,例如“订单表”需要支持需求“订单可以作废,并重新生成订单,而且订单号要保持原订单号一致”,那将“订单编号”作为主键就满足不了要求了。因此读者在使用具有实际意义的字段作为主键时,需要考虑是否存在这种可能性。
『叁』 数据库中什么字段可设为主键
在Access中,通常每个表都应有一个主键。主键是唯一标识表中每一条记录的一个字段或回多个字段的组合。只有答定义了主键,表与表之间才能建立起联系,从而能够利用查询、窗体和报表迅速、准确地查找和组合不同表的信息,这也是数据库的主要作用之一。
在Access中,有两种类型的主键:单字段主键和多字段主键。
单字段主键是以某一个字段作为主键来唯一标识表中的记录。这类主键的值可由用户自行定义。可将自动编号类型字段定义为主键。自动编号主键的特点是:当向表中增加一条新记录时,主键字段值自动加1:但是在删除记录时,自动编号的主键值会出现空缺变成不连续,且不会自动调整。如果在保存新建表之前未设置逐渐,则Access会询问是否要创建主键。如果回答“是”,则Access将创建自动编号类型的主键。
多字段主键是由两个或更多字段组合在一起来唯一标识表中的记录。多字段逐渐的字段顺序非常重要,应在设计视图中排列好。
如果表中某一字段值可以唯一标识一条记录,例如“学生”表中的“学生编号”,那么就可以将该字段定义为主键。如果表中没有一个字段的值可以唯一标识一条记录,那么就可以考虑选择多个字段组合在一起作为主键。
『肆』 什么是主键有什么作用
1、主键就是被挑选出来,作表的行的唯一标识的候选关键字。主键可以由一个字段,也可以由多个字段组成,分别称为单字段主键或多字段主键。
2、一般来说,主键的作用有四个:
①可以保证实体的完整性;
②能够加快数据库的操作速度;
③在表中添加新记录时,ACCESS会自动检查新记录的主键值,不允许该值与其他记录的主键值重复;
④ACCESS自动按主键值的顺序显示表中的记录,但如果没有定义主键,则按输入记录的顺序显示表中的记录。
(4)数据库主键无意义扩展阅读
主键建立的注意事项
1、主键应当是对用户没有意义的。如果用户看到了表中的数据,并抱怨它没有什么用处,那就证明它的主键设计得很好。所以主键不包含动态变化的数据,如时间戳、创建时间列、修改时间列等。
2、永远也不要更新主键。因为主键除了唯一地标识一行之外,再没有其他的用途了,所以也就没有理由去对它更新。如果主键需要更新,则说明主键应对用户无意义的原则被违反了。
3、主键应当由计算机自动生成。如果由人来对主键的创建进行干预,就会使它带有除了唯一标识一行以外的意义。一旦越过这个界限,就可能产生人为修改主键的动机。