SQLServer中有五种约束类型,分别是PRIMARYKEY约束、FOREIGNKEY约束、UNIQUE约束、DEFAULT约束、和CHECK约束。查看或者创建约束都要使用到MicrosoftSQLServerManagmentStudio。
1.PRIMARYKEY约束
在表中常有一列或多列的组合,其值能唯一标识表中的每一行。这样的一列或多列成为表的主键(PrimaryKey)。一个表只能有一个主键,而且主键约束中的列不能为空值。
查看PRIMARYKEY约束可以在objectexplorer中依次展开Databases–>选择你要查看的数据库(在我的例子中是chargesystem)–>表–>你要查看的表(在我的例子中是BasicTale)->列
如上图所示,PrimaryKey有一把金色的小钥匙。ModifyIDea即为BasicTable表的primarykey。
创建PRIMARYKEY约束可以右键点击表,然后选择设计,打开表设计器,选中行,点击上面的金色小钥匙,来创建PrimaryKey。
也可以右键点击想设为主键的行,然后选择设置主键。
2.FOREIGNKEY约束
外键(ForeignKey)是用于建立和加强两个表(主表与从表)的一列或多列数据之间的连接的。创建约束的顺序是先定义主表的主键,再对从表定义外键约束。
查看FOREIGNKEY约束,展开列,可以看到灰色的小钥匙为ForeignKey;展开Keys,可以看到ForeignKey约束的名字为FK_contact_company。
在表设计器中,也可以点击上面的关系按钮,这样就可以查看到所有的ForeignKey约束
上面的例子可以看到billTable表的OperatorID为外键,OperatorIDea表的OperatorIDea为主键。
下面来演示一下如何创建的该ForeignKey约束。
同样是点击完关系按钮之后,在弹出的对话框中选择添加
然后点击下面的红色框内的按钮:
按下图中那样设置主表、主键和从表、外键
然后点击OK,不要忘记保存你的设计。
3.UNIQUE约束(唯一键或索引)
UNIQUE约束用于确保表中的两个数据行在非主键中没有相同的列值。与PRIMARYKEY约束类似,UNIQUE约束也强制唯一性,但UNIQUE约束用于非主键的一列或多列组合,且一个表可以定义多个UNIQUE约束,另外UNIQUE约束可以用于定义多列组合。
还以BillTable为例,假设我们要约束BillIDea为唯一的,点击管理索引和键
然后点击Add来添加Unique约束
选择列为BillID(ASC),是唯一的为是。
关闭并保存你的设计,这样一个Unique约束就创建好了。