access 如何设置两个主键啊

access 如何设置两个主键啊,第1张

创建复合主键

可以指定多个字段的组合用作表的主键,但是现在很

少这样做。这种主键通常称为复合主键。如图2-23 所示,

选择要在复合主键中包括的多个字段,然后单击" 工具"

功能区选项卡中的钥匙图标。当然,如果在表设计中这些

字段排列在一起会更有助于快速 *** 作。

开发人员强烈感觉到主键应该由数据库中原本出现的

数据所组成时,这时才会使用复合主键。过去曾告诉所有

开发人员,每个表都应该有一个原本天生的主键。

现在很少使用复合主键的原因是: 开发人员已经认识到数据是很难预测的。即使用户承诺某

些字段的组合在表中决不会出现重复,但实际情况会与计划偏离。使用替代的主键〈如"自动编

号" ) 将袤的设计与表的数据分开。最后,使用原本天生的主键(也就是表中原本出现的数据〉的

问题在于数据集足够大时,选择作为表的主键的字段值很可能出现重复。

另外,使用复合主键时,维护表间的关系也变得越来越复杂,因为必须在包含相关数据的所

有表中复制字段。使用复合主键只会增加数据库的复杂性,而不会提高数据库的稳定性、完整性

或其他所需的特性。

同一个表只能建立一个主键,但是你可以再创建一个唯一约束
建立主键语句:
alter
table
表名
add
constraint
pk_Id
primary
key
(字段名)
建立唯一约束语句
alter
table
表名
add
constraint
uq_Id
unique
(字段名)

建立联合主键有两种方式:

一种是在建表时就写出,语句如下:

Create Table 表名 (字段名1 Int Not Null,

字段名2 nvarchar(13) Not Null Primary Key (字段名1, 字段名2),

字段名3…………

字段名N………… )

另一种是在建表后更改,语句如下:

alter table 你的表名 add constraint pk_你的表名  primary key (字段1,字段2)

ALTER TABLE 表名 WITH NOCHECK ADD

CONSTRAINT [PK_表名] PRIMARY KEY  NONCLUSTERED

(

[字段名1],

[字段名2]

)

创建联合主键还可以这样写:

create table huayunkeji_today(device_id int , year int, month int, day int, hour int, temperature float, humidity float,

primary key(device_id,year,month,day,hour));

扩展资料:


联合主键的使用情况及优点:

联合主键就是用2个或2个以上的字段组成主键。用这个主键包含的字段作为主键,这个组合在数据表中是唯一,且加了主键索引。

可以这么理解,比如,你的订单表里有很多字段,一般情况只要有个订单号bill_no做主键就可以了,但是,现在要求可能会有补充订单,使用相同的订单号,那么这时单独使用订单号就不可以了。

再使用个订单序列号bill_seq来作为区别。把bill_no和bill_seq设成联合主键。即使bill_no相同,bill_seq不同也是可以的。

创建复合主键

可以指定多个字段的组合用作表的主键,但是现在很

少这样做。这种主键通常称为复合主键。如图2-23 所示,

选择要在复合主键中包括的多个字段,然后单击" 工具"

功能区选项卡中的钥匙图标。当然,如果在表设计中这些

字段排列在一起会更有助于快速 *** 作。

开发人员强烈感觉到主键应该由数据库中原本出现的

数据所组成时,这时才会使用复合主键。过去曾告诉所有

开发人员,每个表都应该有一个原本天生的主键。

现在很少使用复合主键的原因是: 开发人员已经认识到数据是很难预测的。即使用户承诺某

些字段的组合在表中决不会出现重复,但实际情况会与计划偏离。使用替代的主键〈如"自动编

号" ) 将袤的设计与表的数据分开。最后,使用原本天生的主键(也就是表中原本出现的数据〉的

问题在于数据集足够大时,选择作为表的主键的字段值很可能出现重复。

另外,使用复合主键时,维护表间的关系也变得越来越复杂,因为必须在包含相关数据的所

有表中复制字段。使用复合主键只会增加数据库的复杂性,而不会提高数据库的稳定性、完整性

或其他所需的特性。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13354155.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-20
下一篇 2023-07-20

发表评论

登录后才能评论

评论列表(0条)

保存