标准数据库事务完整性约束
为什么80%的码农都做不了架构师?>>>
1、commit work:提交当前事务,也就是将事务所做的更新在数据库中持久保存,在事务被提交后,一个新的事务自动开始。
2、rollback work:回滚当前事务,即撤销该事务中所有SQL语句对数据的更新。这样,数据库就恢复到执行该事务第一条语句之前的状态。
3、一个完整性约束可以是属于数据库的任意谓词。但检测代价太高,大多数数据库允许指定那些只需要极小开销就可以检测的完整性约束。
4、完整性约束通常被看成是数据库模式设计过程的一部分,她作为用于创建关系的create table命令的一部分被声明。
5、单个关系上的约束,not null,unique,check < 谓词>。
6、check(p)子句指定一个谓词P,关系中的每个元组都必须满足谓词P。通常用check子句保证属性值满足指定的条件,实际上创建了一个强大的类型系统。
7、我们通常希望保证在一个关系中给定的属性集上的取值也在另一个关系的特定属性集的取值中出现。这种情况称为参照完整性。
8、外码声明了相关联的on delete cascade删除参照了被删除系的元组。on update cascade更新被参照字段,将参照的元组也一并更新。QL允许指明foreign key子句指明出cascade以外的其他动作,如果约束被违反,可将参照系域设置为null,或者置为域的默认值。如果存在设计多个关系的外码依赖链,则在链的一段所做的删除或更新可能传至整个链。
9、在某一步之后完整性约束也许会暂时被违反,但是后面的某一步也许就会消除这个违反。SQL允许将initially deferred子句加入到约束声明中去,这样完整性约束不是在事务的中间步骤上检查,而是在事务结束的时候检查。一个约束可以被指定为可延迟的约束。set constraints constraint-list deferred语句作为事务的一部分,会导致对指定约束的检查延迟到该事务结束时执行。
10、一个断言就是一个谓词,它表达了我们希望数据库总能满足的一个条件。断言,create assertion <name> check <expression>。
转载于:https://my.oschina.net/loveyj/blog/204460
总结
以上是生活随笔为你收集整理的标准数据库事务完整性约束的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: ccccasda
- 下一篇: 使用JDBC-ODBC桥接方式访问Acc