关于SQL Server数据表的五中约束
1、主键约束(PRIMARY KEY)
主键约束可以在表中定义一个主键值,它可以唯一确定表中每一条记录,每个表中只能有一个主键约束(只能有一个主键约束的意思并不是说受主键约束的列只能有一个),并且受主键约束的列不能为空值。如果主键约束定义在不止一列上,则某一列中的值可以存在重复,但是受主键约束的所有列的组合值必须唯一。
2、唯一性约束(UNIQE)
唯一性约束确保在非主键列中不输入重复的值。用于指定一个或多个列的组合具有唯一性,以防止在列中输入重复的值。可以在一个表中定义多个唯一性约束,但是只能定义一个主键约束。唯一性约束允许空值,但是当和参与唯一性约束的任何值一起使用时,每列只允许一个空值。
3、检查约束
检查约束对于输入列或者整个表中的值设置检查条件,可以限制输入值,以保证数据库之间的完整性。检查约束通过数据的逻辑表达式来确定有效值。例如:定义一个age年龄字段,可以通过创建CHECK约束条件,将age字段里面的值的范围限定在0到150之间(age >=0 AND age<=150)。
- 每个字段只能设置一个检查约束。
- 检查约束中不能包含子查询。
- 一个列级检查约束只能与限制的字段有关,一个表级检查约束只能与限制的表中的字段有关。
4、默认约束
默认约束指定在插入操作中如果没有提供输入值时,系统会自动制定插入值,即使该值是NULL。当必须向表中加载一行数据但是不知道某一列的值,或者是该值尚不存在时,此时可以使用默认值约束。
5、外键约束
外键约束用于强制参照完整性,提供单个字段或者多个字段的参照完整性。
关于SQL Server数据表的五中约束的更多相关文章
- SQL Server 数据表代码创建约束
约束 非空约束 --NN,ont null constraint 必须填写数据不能为空 --指定表 Student 添加名为NN_Student_sClassId非空约束(指定列名sClassId), ...
- [SQL]SQL Server数据表的基础知识与增查删改
SQL Server数据表的基础知识与增查删改 由张晨辉(学生) 于19天 前发表 | 阅读94次 一.常用数据类型 .整型:bigint.int.smallint.tinyint .小数:decim ...
- 关于SQL Server数据表的五种约束
1.主键约束(PRIMARY KEY) 主键约束可以在表中定义一个主键值,它可以唯一确定表中每一条记录,每个表中只能有一个主键约束(只能有一个主键约束的意思并不是说受主键约束的列只能有一个),并且受主 ...
- C#向sql server数据表添加数据源代码
HoverTree解决方案 学习C#.NET,Sql Server,WinForm等的解决方案. 本文链接http://hovertree.com/h/bjaf/0jteg8cv.htm 使用的技术. ...
- sql server数据表大小初始化
sql server表在存储大数据和处理大数据表时,经常会遇到表空间越来越大,有时候会超出应该占有空间大小很多,此时如果表数据是压缩存储的,那么重新执行一下压缩脚本,数据的大小会重新初始化,然后再使用 ...
- [SQL SERVER] - 数据表 保存 / 查看 海量文本的方法
背景 WCF + EF + Sql Server 提供服务,包含一个数据上传功能,该方法接收客户端上传的对象列表(多张表单,每个表单包含千余条相关记录). 瓶颈 WCF 默认有文件大小(4M)和超时限 ...
- SQL Server数据表设计编辑后无法保存处理办法
关于使用 SQL Server 企业管理器,表[设计]界面,修改数据表字段或类型无法保存的问题处理过程: 使用SQL Server数据库的你是否遇到过每次数据库编辑工具内点击设计修改表字段或类型要保存 ...
- EF Core中,通过实体类向SQL Server数据库表中插入数据后,实体对象是如何得到数据库表中的默认值的
我们使用EF Core的实体类向SQL Server数据库表中插入数据后,如果数据库表中有自增列或默认值列,那么EF Core的实体对象也会返回插入到数据库表中的默认值. 下面我们通过例子来展示,EF ...
- SQL Server系统表sysobjects介绍与使用(转)
SQL Server系统表sysobjects介绍与使用 关于SQL Server数据库的一切信息都保存在它的系统表格里.我怀疑你是否花过比较多的时间来检查系统表格,因为你总是忙于用户表格.但是,你可 ...
随机推荐
- 4.java.lang.NumberFormatException(数据类型转换异常)
字符串转换为数字异常 当试图将一个String转换为指定的数字类型,而该字符串确不满足数字类型要求的格式时,抛出该异常.如现在讲字符型的数据“123456”转换为数值型数据时,是允许的. 但是如果字符 ...
- [置顶] Android系统移植与调试之------->如何修改Android设备状态条上音量加减键在横竖屏的时候的切换与显示
这两天由于一个客户的要求,将MID竖屏时候的状态条上的音量键去掉.所以尝试修改了一下,成功了,分享一下经验. 先看一下修改后的效果图,如下所示 . 横屏的时候:有音量加减键 竖屏的时候:音量加减键被去 ...
- KVO和通知中心
苹果其实在语言层面为我们做了很多事,比如Category实现装饰模式的意图,target-action实现命令模式意图等等,对于观察者模式,苹果也提供了KVO和通知中心,给开发者提供了极大的便利. 观 ...
- 一起学习iOS开发专用词汇,每天记3个,助你变大牛
大家做开发最大的问题是什么?英语的问题应该困扰很多的同学的地方,我们提倡科学学习开发中的常用词汇.我们不要求大家有特别好的听.说.写,只要能够记住,能够认识这些常用词汇你以后的开发也将游刃有余.我们的 ...
- Objective-C中的@dynamic
一.@dynamic与@synthesize的区别 @property有两个对应的词,一个是@synthesize,一个是@dynamic.如果@synthesize和@dynamic都没写,那么默认 ...
- SAN实现
Linux 上主要有三个 iSCSI Target(基于internet scsi协议的target) 实现: Linux SCSI Target – STGT / tgt Linux-IO Targ ...
- Spring MVC详细示例实战教程【转】
一.SpringMVC基础入门,创建一个HelloWorld程序 1.首先,导入SpringMVC需要的jar包. 2.添加Web.xml配置文件中关于SpringMVC的配置 1 2 3 4 5 6 ...
- access 语句错误
一直说是语句错误,一直没有找出来是什么错误,原来access的语句需要在字段上套一个[],这是最正确的写法,关键是动软生成的是我们一贯用的,和标准还是有些差别的,害了我好久都不知道是哪里的问题
- 2014.9.25DOM元素操作
2.操作样式class a.className=”block” class样式,代码赋值的方式 (五)找相关元素 a.nextSibling 下一层,下一个同辈元素 a.previousSibling ...
- 关于scala和java 在maven项目中混编的问题
1.需要添加scala 相关maven配置: <properties> <scala.version>2.10.1</scala.version> <slf4 ...