sql server 2000索引和约束的问题

来源:百度知道 编辑:UC知道 时间:2024/05/28 20:32:19
sql server 2000中索引有什么用?(稍微详细点)创建unique唯一性索引又
有什么用,能举个例子说明吗?索引和约束的区别?约束又有什么用?特别是unique唯一性索引和unique唯一性约束的区别以及各自的作用?
补充一下,我最不清楚的就是unique唯一性约束和unique唯一性索引的区别,看书上说unique唯一性索引:被定义为唯一性索引的列上的数据不能 有重复值.而unique唯一性约束:对被定义为唯一性约束的列要求数据唯一.我看不到它们的具体区别,请教!

作用楼上说了,我举个例子
比如建学生信息表

学号字段设为主键。因为学号是唯一的,不可能重复,而且学好需要关联到学分表、课程表什么的,查询经常要用到。
姓名字段建索引。应为经常要通过姓名查询人员信息,但姓名经常重复,所以建普通索引。
年龄字段上增加约束,不允许负值。
再假设有个宿舍床位字段,这里的值肯定不能重复(两人是一张床的可能不大),但用这个字段进行查询的机会比学号字段要少得多,所以应该将学号设主键,床位设唯一性约束。

再建个学分表

学号字段上可应该建个外键约束,设定增加的记录中,学号必须在学生信息表中存在。

补充:
唯一约束只是不允许重复值,没加索引,对查询没有影响。唯一性索引,不单不允许重复值,而且加了索引,能提高查询速度。+
主键=唯一约束+索引

索引: 创建索引主要目的是可以提高快速找到表或索引视图中的特定信息(简单的说根据索引字段查询就是能提高查询速度)

唯一约束: 为了控制某个字段的数据不重复, 和主键约束类似, 主键不能有空值, 唯一可以有空值. 一张表中只能创建一个主键(或联合主键)约束, 一张表可以创建多个唯一约束

楼上两位的综合起来已经够详细了。。
索引能提高查询速度。唯一性约束就是让数据唯一,一般主键本身就带着唯一性约束.