SQL Server2000主键、唯一索引和聚集索引联系与区别

1.概念

·主键:同一张表用于标识各条记录的字段,就可以拿来做主键,和人的身份证号码一样;
·唯一索引:限制一个或多个组合列的值唯一;
·聚集索引:将一个或多个组合列值相同的记录进行排序移动(聚集)到一块,创建/删除聚集索引会导致非聚集索引重建;

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)  --创建唯一索引

3.主键和聚集索引



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

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