欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

SQL Server 2008 如何查看与创建约束

程序员文章站 2022-06-10 14:04:21
...

原创地址: 转载请注明出处 SQL Server中有五种约束类型,分别是 PRIMARY KEY约束、FOREIGN KEY约束、UNIQUE约束、DEFAULT约束、和CHECK约束。查看或者创建约束都要使用到 Microsoft SQL Server Managment Studio。 1. PRIMARY KEY约束 在表中常有一列或多列

原创地址:

转载请注明出处

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

1. PRIMARY KEY约束

在表中常有一列或多列的组合,服务器空间,其值能唯一标识表中的每一行。这样的一列或多列成为表的主键(Primary Key)。一个表只能有一个主键,而且主键约束中的列不能为空值。

查看PRIMARY KEY约束可以在object explorer中依次展开Databases –> 选择你要查看的数据库(在我的例子中是testdatabase) –> Tables –> 你要查看的表(在我的例子中是company)-> Columns

SQL Server 2008 如何查看与创建约束

如上图所示,Primary Key 有一把金色的小钥匙。companyid 即为company表的primary key。

创建PRIMARY KEY约束可以右键点击表,然后选择Design,打开表设计器

SQL Server 2008 如何查看与创建约束

选中column,点击上面的金色小钥匙,来创建Primary Key。

SQL Server 2008 如何查看与创建约束

也可以右键点击column,然后选择Set Primary Key。

SQL Server 2008 如何查看与创建约束

2. FOREIGN KEY约束

外键(Foreign Key)是用于建立和加强两个表(主表与从表)的一列或多列数据之间的连接的。创建约束的顺序是先定义主表的主键,再对从表定义外键约束。

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

SQL Server 2008 如何查看与创建约束

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

SQL Server 2008 如何查看与创建约束

SQL Server 2008 如何查看与创建约束

上面的例子可以看到contact 表的companyid为外键,company 表的companyid为主键。

下面来演示一下如何创建的该Foreign Key约束。

同样是点击完Relationships按钮之后,在弹出的对话框中选择Add

SQL Server 2008 如何查看与创建约束

然后点击下面的红色圆圈内的按钮:

SQL Server 2008 如何查看与创建约束

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

SQL Server 2008 如何查看与创建约束

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

SQL Server 2008 如何查看与创建约束

3. UNIQUE约束

UNIQUE约束用于确保表中的两个数据行在非主键中没有相同的列值。与PRIMARY KEY约束类似,UNIQUE约束也强制唯一性,香港服务器,但UNIQUE约束用于非主键的一列或多列组合,且一个表可以定义多个UNIQUE约束,网站空间,另外UNIQUE约束可以用于定义多列组合。

还以company table为例,假设我们要约束company name为唯一的,点击Manage Indexes and Keys

SQL Server 2008 如何查看与创建约束

然后点击Add来添加Unique约束

SQL Server 2008 如何查看与创建约束

选择column为companyname, Is Unique为Yes。

SQL Server 2008 如何查看与创建约束

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

4. DEFAULT约束

若在表中某列定义了DEFAULT约束,用户在插入新的数据行时,如果该列没有指定数据,那么系统将默认值赋给该列,当然该默认值也可以是空值(NULL)。

以contact表为例,在表设计器中,为性别(sex)列填写属性默认值 (‘M’)。

SQL Server 2008 如何查看与创建约束

5. CHECK约束

CHECK约束用于限制输入一列或多列的值的范围,通过逻辑表达式来判断数据的有效性。一个列的输入内容必须满足CHECK约束的条件,否则数据无法正常输入。

还以contact表为例, 我们要限制sex列的值只能为 ´M´ 或者 ´F´。在表设计器中点击Manage Check Constraints

SQL Server 2008 如何查看与创建约束

点击Add添加新的constraint

SQL Server 2008 如何查看与创建约束

点击红圈内的按钮,填写表达式。我们例子中用的表达式是 SEX='M' OR SEX='F'

SQL Server 2008 如何查看与创建约束

关闭并保存设计。向contact表中插入一行数据,如果sex列的值不为´M´ 或 ´F´, 插入就会报错。