关于SQL Server数据库主键与索引的几点区别

数据库 SQL Server
在SQL Server数据库中,主键是每一张表中必须有的,它是唯一的,唯一能标识每一条记录. 索引只是加快查询,排序速度,主键和外键定义后可保证数据完整性,省去编写某些触发器。本文我们主要介绍了SQL Server数据库中主键和索引的区别,希望能够对您有所帮助。

我们在使用SQL Server数据库的时候常常会创建主键索引,那么主键和索引到底有什么样的不同呢?本文我们主要介绍了主键和索引的区别。

主键和索引的区别如下:

主键是索引,但索引不一定是主键。 

主键具有唯一性,而只有唯一性索引才具有唯一性;主键的值不能为空,不能重复。 索引可以在程序中动态创建删除。也可以是任何有序的字段。

如果在一个表中,列A、B、C   被设为主键的情况下,当需要将A,B,C 设为索引时,A,B,C被设为主键,数据库自动会建立索引,不需要再建索引;另外需要对列A,B,C,D,E建立索引时,不能只对D,E建立索引,必须在索引中包含所有的索引列即:A,B,C,D,E。

主键、外键、索引:

索引只是为了排序与加快浏览度!也可对表数据作证!一个表只能有一个主键,外键与主键差不多!两者都能将表联系起来,定义规则!

主键,每一张表中必须有的,它是唯一的,唯一能标识每一条记录。

外键,一张表中的外键在另一张表中只能是主键,一般情况下,要删除一张表中的主键必须首先要确保其它表中的没有相同外键(即该表中的主键没有一个外键和它相关联)   

索引只是加快查询,排序速度,主键和外键定义后可保证数据完整性,省去编写某些触发器。主键最好每张表上都定义,小数据库用唯一索引也可以。

每个表最好有主键,用来保证数据完整性。表的外键是另一表的主键,外键将两表联系起来。   索引只是提高查询排序的速度。

关于SQL Server数据库主键和索引的区别就介绍到这里,希望能够带给您一些收获。

【编辑推荐】

  1. SQL Server数据同步Merge的一个BUG及解决方法
  2. SQL Server CPU性能排查及优化相关SQL语句使用简介
  3. 如何将SQL Server 2008的数据降级到SQL Server 2005
  4. CASE WHEN END条件和汇总函数SUM结合使用实现查询
  5. 使用SQL Server 2008 R2的主数据服务调用API创建Model
责任编辑:赵鹏 来源: 博客园
相关推荐

2011-08-23 15:16:54

OracleMySQL

2011-07-25 18:11:47

SQL Server数复合主键

2011-03-28 14:29:46

SQL Server数主键列

2010-07-22 13:59:14

MS SQL Serv

2011-08-16 18:29:45

SQL Server 数据货场

2010-05-10 18:54:12

Oracle数据库索引

2011-08-03 10:04:57

SQL Server数没有主键的表

2010-07-01 14:18:09

SQL Server数

2010-07-09 11:28:12

SQL Server数

2010-07-15 17:28:50

SQL Server

2010-07-07 10:31:43

SQL Server数

2011-08-16 09:05:21

SQL Server数测试索引空间换时间

2011-08-05 11:01:15

MySQL数据库设计

2010-07-16 15:53:19

SQL Server数

2010-10-21 14:54:32

查询SQL Serve

2010-07-21 14:11:36

SQL Server

2010-07-08 11:05:14

SQL Server数

2010-08-05 14:58:57

DB2数据库

2010-07-21 14:17:36

SQL Server数

2021-05-08 14:07:26

SQLServer数据库
点赞
收藏

51CTO技术栈公众号