SQL Server笔记(二)约束(Constraint)与触发器

来源:互联网 发布:好的莆田鞋淘宝店 编辑:程序博客网 时间:2024/06/06 00:25

一、约束

  • not null
  • Primary Key
  • Foreign Key
  • Unique
  • Check
  • Default

1、not null
约束强制列不接受null值
2、Primary Key :PRIMARY KEY 约束唯一标识数据库表中的每条记录。
(1)主键必须包含唯一值
(2)主键不能为null
(3)每个表都应该有一个主键,且只能有一个 主键
这里写图片描述
http://www.w3school.com.cn/sql/sql_primarykey.asp
3、Foreign Key:一个表中的Foreign Key指向另一个表中的Primary Key。
这里写图片描述
http://www.w3school.com.cn/sql/sql_foreignkey.asp
4、unique: 约束唯一标识数据库表中的每条记录。
(1)unique和Primary Key均可以约束唯一标识数据库中的每条数据
(2)Primary Key自动添加Unique标识
(3)一张表中可以有多个Unique,却只能有一个Primary Key。
这里写图片描述
http://www.w3school.com.cn/sql/sql_unique.asp
5、Check:用于限定列中值的范围
(1)如果对单个列定义 CHECK 约束,那么该列只允许特定的值。
(2)如果对一个表定义 CHECK 约束,那么此约束会在特定的列中对值进行限制。
这里写图片描述
http://www.w3school.com.cn/sql/sql_check.asp
6、Default:约束用于向列中插入默认值。
如果没有规定其他的值,那么会将默认值添加到所有的新记录。
这里写图片描述

二、断言

(1)主动元素:是一个表达式或者语句。该表达式或语句只需编写一次,存储在数据库中,然后在适当的时间被执行。主动元素的执行可以是由于某个特定事件引发,如对关系插入元组,或者是当修改数据库的值引起某个逻辑为真等。
(2)断言:关系之间的约束称之为断言,是SQL逻辑表达式,并且总是为真。
(3)触发器是与某个事件相关的一系列动作,例如向关系中插入元组。触发器总是当这些事情发射时被执行。

create assertion <断言名称> check (<条件>)

当建立断言时,断言条件必须为真,并且要永远保持为真。

三、触发器

。。。。。。
总结:以我现在的水平看断言和触发器还很难,过段时间继续回来看。

原创粉丝点击