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约束表达式对话框中,输入约束脚本,如下图所示:
修改标识中的约束的名称,如下图所示:
关闭并保存设计。 至此,数据库中的五种约束情况又复习了一遍,约束确保了数据库中数据的完整性,但只有约束是远远不够的。