SQL约束

DBMS大多数约束是在表定义中完成的。

主键

主键是一种约束,用来保证一列(或一组列)中的值是唯一的,而且永不改动。

换句话说,表中的一列(或一组列)的值唯一标识表的每一行。

外键

外键是表中的一列,其值必须列在另一个表的主键中。

唯一约束

用来保证一列(或一组列)中的数据是唯一的。

与主键有以下区别:

1.表可包含多个约束,但一个表只能有一个主键。

2.唯一约束列可包含NULL值。

3.唯一约束列的值可重复使用。

4.唯一约束列不能定义为外键。

检查约束

用来保证一列的数据满足一组指定的条件。

检查约束的常见用途:

1.检查最小值或最大值。

2.指定范围。例如指定发货日期大于等于今天的日期。

3.只允许特定的值。

索引

 例如找出字典中“苹果”的‘苹’字。一种方法是,从第一页开始浏览每一行。这样不是一种好方法。所以

聪明的人相处了使用字母顺序找出“苹”字的位置。

触发器

 触发器是特殊的存储过程,它在特定的数据库活动发生时自动执行。触发器可以与特定表的INSERT、UPDATE和DELETE操作关联。

与存储过程不一样的(存储过程只是简单的存储SQL语句),触发器与单个表相关联。

比如与Orders表上的INSERT操作相关联的触发器只在Orders表中“插入行”时执行。

触发器可在特定操作执行之前或之后执行。

1.保持数据一致。

2.跟踪变动情况。例如每当更新或删除一行时,将审计跟踪记录写入某个日志表

3.保证某个顾客的可用资金不超限定,阻塞插入

4.更新时间戳

数据库安全

大多数DBMS给管理员提供了管理机制,利用管理机制授予或限制对数据的访问。

 游标

sql检索操作返回一组行称为结果集,这组返回的行都是与SQL语句相匹配的行。

游标的作用就是查看检索出的行的前进行或后退行

游标不是一条SELECT语句,而是被该语句检索出来的结果集。

 存储了游标后,应用程序可以根据需要滚动或浏览其中的数据。

游标对基于Web的应用(如ASP、ASP.NET.PHP、Python、Ruby等)用处不大。

事务处理

如果数据库出现故障,此时脚本容易产生不想要的结果,所以,我们可以约定事务让它在故障后必须去执行。

原文地址:https://www.cnblogs.com/liuguangshou123/p/13877231.html