不错呦!smile@林凯西,确保“准备文件”中的几个文件都有安装,S...您好,看了您这篇帖子觉得很有帮助。但是有个问题想请...我的修改过了怎么还被恶意注册呢 @jjjjiiii 用PJ快9年了,主要是A...PJ3啊,貌似很少有人用PJ了,现在不是WP就是z...@332347365,我当时接入时错误码没有-10...楼主,ChkValue值应为-103是什么意思呢?...大哥 你最近能看到我发的信息,请跟我联系,我有个制...
SQL Server2000主键、唯一索引和聚集索引联系与区别
编辑:dnawo 日期:2012-03-30
1.概念
·主键:同一张表用于标识各条记录的字段,就可以拿来做主键,和人的身份证号码一样;
·唯一索引:限制一个或多个组合列的值唯一;
·聚集索引:将一个或多个组合列值相同的记录进行排序移动(聚集)到一块,创建/删除聚集索引会导致非聚集索引重建;
2.主键和唯一索引
主键和唯一索引都要求值唯一,但是它们还是有区别的:
①.主键是一种约束,唯一索引是一种索引;
②.一张表只能有一个主键,但可以创建多个唯一索引;
③.主键创建后一定包含一个唯一索引,唯一索引并一定是主键;
④.主键不能为null,唯一索引可以为null;
⑤.主键可以做为外键,唯一索引不行;
3.主键和聚集索引

在同一张表中,只能有一个主键和一个聚集索引,在SQL Server2000创建主键时,会自动创建聚集索引,以致有时将主键等同于聚集索引,这个观念是错误的,主键和聚集索引可以在不同的字段上创建,它们没有任何关系。
·主键:同一张表用于标识各条记录的字段,就可以拿来做主键,和人的身份证号码一样;
·唯一索引:限制一个或多个组合列的值唯一;
·聚集索引:将一个或多个组合列值相同的记录进行排序移动(聚集)到一块,创建/删除聚集索引会导致非聚集索引重建;
2.主键和唯一索引
主键和唯一索引都要求值唯一,但是它们还是有区别的:
①.主键是一种约束,唯一索引是一种索引;
②.一张表只能有一个主键,但可以创建多个唯一索引;
③.主键创建后一定包含一个唯一索引,唯一索引并一定是主键;
④.主键不能为null,唯一索引可以为null;
⑤.主键可以做为外键,唯一索引不行;
复制内容到剪贴板
程序代码

create table UserTB
(
[Id] int identity(1,1),
[Name] nvarchar(50),
[Age] int
)
alter table UserTB add constraint PK_Id primary key([Id]) --创建主键
create unique index IX_Name_Age on UserTB([Name] desc,[Age] desc) --创建唯一索引
(
[Id] int identity(1,1),
[Name] nvarchar(50),
[Age] int
)
alter table UserTB add constraint PK_Id primary key([Id]) --创建主键
create unique index IX_Name_Age on UserTB([Name] desc,[Age] desc) --创建唯一索引
3.主键和聚集索引

在同一张表中,只能有一个主键和一个聚集索引,在SQL Server2000创建主键时,会自动创建聚集索引,以致有时将主键等同于聚集索引,这个观念是错误的,主键和聚集索引可以在不同的字段上创建,它们没有任何关系。






评论: 0 | 引用: 0 | 查看次数: 5394
发表评论
请登录后再发表评论!