SQLServer中有五种约束,Primary Key约束、Foreign Key约束、Unique约束、Default约束和Check约束,今天使用SQL Server2008来演示下这几种约束的
2016-03-13 16:58
363 查看
SQLServer中有五种约束,Primary
Key约束、Foreign Key约束、Unique约束、Default约束和Check约束,今天使用SQL
Server2008来演示下这几种约束的创建和使用的方法。
1、Primary
在表中常有一列或多列的组合,其值能唯一标识表中的每一行。
这样的一列或多列成为表的主键(PrimaryKey)。一个表只能有一个主键,而且主键约束中的列不能为空值。只有主键列才能被作为其他表的外键所创建。
创建主键约束可以右键单击表,选择设计。
![](https://img-blog.csdn.net/20130427214806243)
选中要创建主键的列,然后单击上面的小钥匙。
![](https://img-blog.csdn.net/20130427214814539)
也可以右键需要创建主键的列,然后单击小钥匙。
![](https://img-blog.csdn.net/20130427214824633)
2、Foreign
外键约束是用来加强两个表(主表和从表)的一列或多列数据之间的连接的。创建外键约束的顺序是先定义主表的主键,然后定义从表的外键。也就是说只有主表的主键才能被从表用来作为外键使用,被约束的从表中的列可以不是主键,主表限制了从表更新和插入的操作。
右键单击需要设置外键的列(此时的表是作为从表在外键中出现),选择关系。
![](https://img-blog.csdn.net/20130427214833101)
接下来点击添加-->表和列规范。
![](https://img-blog.csdn.net/20130427214841726)
在主键表中选择主表和主表的主键列。
![](https://img-blog.csdn.net/20130427214849226)
设置完后保存即可。
右键单击要设置的列选择索引/键。
![](https://img-blog.csdn.net/20130427214856351)
然后单击添加按钮。
![](https://img-blog.csdn.net/20130427214904944)
选择需要设置的列,可以是一列也可以是多列的组合。
![](https://img-blog.csdn.net/20130427214911616)
关闭并保存设置。
以学生信息表为例,在表设计器中,为性别sex列填写默认值男。
![](https://img-blog.csdn.net/20130427214919022)
以学生信息表中的sex为例,我们要限制sex列的值只能为男或女。
![](https://img-blog.csdn.net/20130427214926037)
![](https://img-blog.csdn.net/20130427214935787)
![](https://img-blog.csdn.net/20130427214943146)
![](https://img-blog.csdn.net/20130427214949380)
关闭并保存设计。
致此,数据库中的五种约束情况又复习了一遍,约束确保了数据库中数据的完整性,但只有约束是远远不够的。
Key约束、Foreign Key约束、Unique约束、Default约束和Check约束,今天使用SQL
Server2008来演示下这几种约束的创建和使用的方法。
1、Primary
Key约束
在表中常有一列或多列的组合,其值能唯一标识表中的每一行。这样的一列或多列成为表的主键(PrimaryKey)。一个表只能有一个主键,而且主键约束中的列不能为空值。只有主键列才能被作为其他表的外键所创建。
创建主键约束可以右键单击表,选择设计。
选中要创建主键的列,然后单击上面的小钥匙。
也可以右键需要创建主键的列,然后单击小钥匙。
2、Foreign
Key约束
外键约束是用来加强两个表(主表和从表)的一列或多列数据之间的连接的。创建外键约束的顺序是先定义主表的主键,然后定义从表的外键。也就是说只有主表的主键才能被从表用来作为外键使用,被约束的从表中的列可以不是主键,主表限制了从表更新和插入的操作。右键单击需要设置外键的列(此时的表是作为从表在外键中出现),选择关系。
接下来点击添加-->表和列规范。
在主键表中选择主表和主表的主键列。
设置完后保存即可。
3、Unique约束
唯一约束确保表中的一列数据没有相同的值。与主键约束类似,唯一约束也强制唯一性,但唯一约束用于非主键的一列或者多列的组合,且一个表可以定义多个唯一约束。右键单击要设置的列选择索引/键。
然后单击添加按钮。
选择需要设置的列,可以是一列也可以是多列的组合。
关闭并保存设置。
4、Default约束
若在表中定义了默认值约束,用户在插入新的数据行时,如果该行没有指定数据,那么系统将默认值赋给该列,如果我们不设置默认值,系统默认为NULL。以学生信息表为例,在表设计器中,为性别sex列填写默认值男。
5、Check约束
Check约束通过逻辑表达式来判断数据的有效性,用来限制输入一列或多列的值的范围。在列中更新数据时,所要输入的内容必须满足Check约束的条件,否则将无法正确输入。以学生信息表中的sex为例,我们要限制sex列的值只能为男或女。
关闭并保存设计。
致此,数据库中的五种约束情况又复习了一遍,约束确保了数据库中数据的完整性,但只有约束是远远不够的。
相关文章推荐
- [POJ 2533]Longest Ordered Subsequence[LIS]
- UIImagePickerController选择图片发送后旋转90度的问题
- 根据UIScrollView的contentOffset值精确控制动画
- 【U3D日记-2016年3月12日】NGUI初入——基本控件
- STL之双端队列(deque)
- GUI
- 关于YES、NO和TRUE、FLASE的区别
- 74.Interesting Sequence(有趣的数列)(拓扑排序)
- 74.Interesting Sequence(有趣的数列)(拓扑排序)
- SEQUENCE自增列
- 设置GUI中Label的字体大小
- 用while(true)和continue、break来实现在一个大循环里switch
- STL list和deque
- NSThread、NSOperation/NSOperationQueue、GCD多线程
- Deep learning:四十四(Pylearn2中的Quick-start例子)
- poj-2478 Farey Sequence(dp,欧拉函数)
- iOS8新特性之基于地理位置的消息通知UILocalNotification
- Java中的continue、break和return
- Pop Sequence
- 子线程更新UI