复合主键怎么设置

复合主键怎么设置,第1张

CREATE TABLE [UserRole] (

a INT NOT NULL,

b INT NOT NULL, c INT NOT NULL,

PRIMARY KEY(a,b)

)

这是在查询分析器里运行的。

如果手工建表的话,只需按住Ctrl键同时选择两个字段就可以设置复合主键了。

例如:\x0d\x0a已有一个表test_key,其中a1列为主键。\x0d\x0acreate table TEST_KEY\x0d\x0a(\x0d\x0a a1 VARCHAR2(3) not null,\x0d\x0a a2 VARCHAR2(3),\x0d\x0a b1 VARCHAR2(3),\x0d\x0a b2 VARCHAR2(3)\x0d\x0a)\x0d\x0a \x0d\x0aalter table TEST_KEY\x0d\x0a add constraint PK_TEST_KEY primary key (A1)\x0d\x0a using index\x0d\x0a \x0d\x0a现在要将a2,b1也增加到主键中与原有的a1一起组成复合主键。语句如下:\x0d\x0aalter table TEST_KEY\x0d\x0a drop constraint PK_TEST_KEY cascade\x0d\x0aalter table TEST_KEY\x0d\x0a add constraint PK_TEST_KEY primary key (A1, A2, B1)\x0d\x0a using index\x0d\x0a \x0d\x0a这样就可以了。

创建复合主键

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

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

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

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

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

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

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

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

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

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

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

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

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

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

或其他所需的特性。


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

原文地址: http://outofmemory.cn/zaji/7026587.html

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

发表评论

登录后才能评论

评论列表(0条)

保存