SQL Server中有五种约束类型,各自是 PRIMARY KEY约束、FOREIGN KEY约束、UNIQUE约束、DEFAULT约束、和CHECK约束。查看或者创建约束都要使用到 Microsoft SQL Server Managment Studio。


1. PRIMARY KEY约束

在表中常有一列或多列的组合,其值能唯一标识表中的每一行。这种一列或多列成为表的主键(Primary Key)。

一个表仅仅能有一个主键,并且主键约束中的列不能为空值。

查看PRIMARY KEY约束能够在object explorer中依次展开Databases –> 选择你要查看的数据库(在我的样例中是chargesystem) –> 表 –> 你要查看的表(在我的样例中是BasicTale)-> 列

sql server知乎 sql server key_sql server知乎

 

 

如上图所看到的,Primary Key 有一把金色的小钥匙。ModifyIDea 即为BasicTable表的primary key。

创建PRIMARY KEY约束能够右键点击表。然后选择设计。打开表设计器。选中行,点击上面的金色小钥匙。来创建Primary Key。


sql server知乎 sql server key_外键_02

 

 

 

 

也能够右键点击想设为主键的行,然后选择设置主键。

 

2. FOREIGN KEY约束

外键(Foreign Key)是用于建立和加强两个表(主表与从表)的一列或多列数据之间的连接的。

创建约束的顺序是先定义主表的主键,再对从表定义外键约束。

查看FOREIGN KEY约束。展开列,能够看到灰色的小钥匙为Foreign Key;展开Keys。能够看到Foreign Key约束的名字为FK_contact_company。

 

 

在表设计器中,也能够点击上面的关系button。这样就能够查看到全部的Foreign Key约束

 

sql server知乎 sql server key_数据库_03

 

sql server知乎 sql server key_数据库_04

 

sql server知乎 sql server key_主键_05

 

 

上面的样例能够看到billTable 表的OperatorID为外键,OperatorIDea 表的OperatorIDea为主键。

 

以下来演示一下怎样创建的该Foreign Key约束。


相同是点击完关系button之后,在弹出的对话框中选择加入

sql server知乎 sql server key_主键_06

 

然后点击以下的红色框内的button:

sql server知乎 sql server key_外键_07

 

按下图中那样设置主表、主键和从表、外键

sql server知乎 sql server key_数据库_08

 

然后点击 OK,不要忘记保存你的设计。

sql server知乎 sql server key_多列_09

 

3. UNIQUE约束(唯一键或索引)

UNIQUE约束用于确保表中的两个数据行在非主键中没有同样的列值。与PRIMARY KEY约束类似,UNIQUE约束也强制唯一性,但UNIQUE约束用于非主键的一列或多列组合,且一个表能够定义多个UNIQUE约束,另外UNIQUE约束能够用于定义多列组合。

 

还以BillTable为例。如果我们要约束BillIDea为唯一的,点击管理索引和键

sql server知乎 sql server key_数据库_10

 

然后点击Add来加入Unique约束

sql server知乎 sql server key_数据库_11

 

选择列为BillID(ASC), 是唯一的为是。


sql server知乎 sql server key_多列_12

 

关闭并保存你的设计,这样一个Unique约束就创建好了。


SQL Server中有五种约束类型,各自是 PRIMARY KEY约束、FOREIGN KEY约束、UNIQUE约束、DEFAULT约束、和CHECK约束。查看或者创建约束都要使用到 Microsoft SQL Server Managment Studio。


1. PRIMARY KEY约束

在表中常有一列或多列的组合,其值能唯一标识表中的每一行。这种一列或多列成为表的主键(Primary Key)。

一个表仅仅能有一个主键,并且主键约束中的列不能为空值。

查看PRIMARY KEY约束能够在object explorer中依次展开Databases –> 选择你要查看的数据库(在我的样例中是chargesystem) –> 表 –> 你要查看的表(在我的样例中是BasicTale)-> 列

sql server知乎 sql server key_sql server知乎

 

 

如上图所看到的,Primary Key 有一把金色的小钥匙。ModifyIDea 即为BasicTable表的primary key。

创建PRIMARY KEY约束能够右键点击表。然后选择设计。打开表设计器。选中行,点击上面的金色小钥匙。来创建Primary Key。


sql server知乎 sql server key_外键_02

 

 

 

 

也能够右键点击想设为主键的行,然后选择设置主键。

 

2. FOREIGN KEY约束

外键(Foreign Key)是用于建立和加强两个表(主表与从表)的一列或多列数据之间的连接的。

创建约束的顺序是先定义主表的主键,再对从表定义外键约束。

查看FOREIGN KEY约束。展开列,能够看到灰色的小钥匙为Foreign Key;展开Keys。能够看到Foreign Key约束的名字为FK_contact_company。

sql server知乎 sql server key_数据库_15

 

 

在表设计器中,也能够点击上面的关系button。这样就能够查看到全部的Foreign Key约束

 

sql server知乎 sql server key_数据库_03

 

sql server知乎 sql server key_数据库_04

 

sql server知乎 sql server key_主键_05

 

 

上面的样例能够看到billTable 表的OperatorID为外键,OperatorIDea 表的OperatorIDea为主键。

 

以下来演示一下怎样创建的该Foreign Key约束。


相同是点击完关系button之后,在弹出的对话框中选择加入

sql server知乎 sql server key_主键_06

 

然后点击以下的红色框内的button:

sql server知乎 sql server key_外键_07

 

按下图中那样设置主表、主键和从表、外键

sql server知乎 sql server key_数据库_08

 

然后点击 OK,不要忘记保存你的设计。

sql server知乎 sql server key_多列_09

 

3. UNIQUE约束(唯一键或索引)

UNIQUE约束用于确保表中的两个数据行在非主键中没有同样的列值。与PRIMARY KEY约束类似,UNIQUE约束也强制唯一性,但UNIQUE约束用于非主键的一列或多列组合,且一个表能够定义多个UNIQUE约束,另外UNIQUE约束能够用于定义多列组合。

 

还以BillTable为例。如果我们要约束BillIDea为唯一的,点击管理索引和键

sql server知乎 sql server key_数据库_10

 

然后点击Add来加入Unique约束

sql server知乎 sql server key_数据库_11

 

选择列为BillID(ASC), 是唯一的为是。


sql server知乎 sql server key_多列_12

 

关闭并保存你的设计,这样一个Unique约束就创建好了。