图解SQL Server2008创建约束

作者:追风筝的人 | 创建时间: 2023-04-18
SQLServer 中有五种约束, Primary Key 约束、 Foreign Key 约束、 Unique 约束、 Default 约束和 Check 约束。 本篇将使用SQL Server2008 来演示一下这几种约束的创建和使用的...
图解SQL Server2008创建约束

Primary Key 约束

在表中常有一列或多列的组合,其值能唯一标识表中的每一行。 这样的一列或多列成为表的主键(PrimaryKey)。一个表只能有一个主键,而且主键约束中的列不能为空值。只有主键列才能被作为其他表的外键所创建。 创建主键约束可以右键单击表,选择设计 ,如下图所示:

选中要创建主键的列,然后单击上面的小钥匙,如下图所示:

也可以右键需要创建主键的列,然后单击小钥匙,如下图所示:

Foreign Key 约束

外键约束是用来加强两个表(主表和从表)的一列或多列数据之间的连接的。创建外键约束的顺序是先定义主表的主键,然后定义从表的外键。也就是说只有主表的主键才能被从表用来作为外键使用,被约束的从表中的列可以不是主键,主表限制了从表更新和插入的操作。 查看FOREIGN KEY约束,展开Columns,可以看到灰色的小钥匙为Foreign Key;展开Keys,可以看到Foreign Key约束的名字为FK_contact_company,如下图所示:

在表设计器中,也可以点击上面的Relationships按钮,这样就可以查看到所有的Foreign Key约束,如下图所示:

上面的例子可以看到contact 表的companyid为外键,company 表的companyid为主键。 下面来演示一下如何创建的该Foreign Key约束。 同样是点击完Relationships按钮之后,在弹出的对话框中选择Add,如下图所示:

然后点击下面的红色圆圈内的按钮,如下图所示:

按下图中那样设置主表、主键和从表、外键,如下图所示:

然后点击 OK,不要忘记保存你的设计,如下图所示:

Unique 约束

唯一约束确保表中的一列数据没有相同的值。与主键约束类似,唯一约束也强制唯一性,但唯一约束用于非主键的一列或者多列的组合,且一个表可以定义多个唯一约束。 右键单击要设置的列选择索引 / 键,如下图所示:

然后单击添加按钮,如下图所示:

选择需要设置的列,可以是一列也可以是多列的组合, 关闭并保存设置,如下图所示:

Check 约束

Check 约束通过逻辑表达式来判断数据的有效性,用来限制输入一列或多列的值的范围。在列中更新数据时,所要输入的内容必须满足 Check 约束的条件,否则将无法正确输入。 以学生信息表中的 sex 为例,我们要限制 sex 列的值只能为男或女,如下图所示:

在弹出的CHECK约束对话框中,在常规中选择表达式,如下图所示:

在弹出的CHECK约束表达式对话框中,输入约束脚本,如下图所示:

修改标识中的约束的名称,如下图所示:

关闭并保存设计。 至此,数据库中的五种约束情况又复习了一遍,约束确保了数据库中数据的完整性,但只有约束是远远不够的。

点击展开全文

更多推荐