1)执行该表上的before触发器
2)激活触发器上的sql语句
3)执行该表上的after触发器。
规范化
设R(U)是属性集U上的关系模式。X,Y是U的子集。如果对于R(U)的任意一个可能的关系R,R中不可能存在两个元组在X上的属性值,而在Y上的属性值不等,则称x函数圈定y,或者是y函数依赖于x。
1.完全函数依赖
在R(U)中,如果y函数依赖于y,并且对于x的任何一个真子集x',都有y函数不依赖于x'.则称y对x完全函数依赖。
2.范式
1)。一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式的激活。这种过程叫做规范化。
2)。关系,作为一张二维表,对他有一个最起码的要求:每一个分量必须是不可分的数据项。满足这一条件的关系模式就属于第一范式。
3.如果关系R属于第一范式,且每一个非主属性完全函数依赖于吗,即消除部分函数依赖,来达到第二范式。
4)。关系模式R中如果不存在这样的吗Y,属性组Y及非数主属性Z(Z不属于Y),使得y函数依赖于X,且Z函数依赖于Y成立,X不依赖于Y.。则称关系模式属于第三范式。如果是第三范式,它的任何非键属性都并不传递依赖于任何候选键。
进程
进程的概念一分为二,task是申请资源的最小单位,而thread是调度和运行的最小单位。一个task可以有多个thread,这些thread共享task的所有资源,共同完成一个任务。
1.线索机制与进程机制的比较
1)线索比进程占用更少的资源。
2线索调度比较灵活。.
3)线索切换开销较小:线索共享同一地址空间,而进程的地址空间是私有的。
4)线索通信简便
游标
系统为用户开设的一个数据缓冲池,存放sql语句的执行结果,每一个游标区都有一个名字。
PL/SQL ( procedural language/sql)
pl/sql是编写数据库存储过程的一种过程语言,是对sql的扩展,使其增加了过程化语句功能。
1.pl/sql概述
pl/sql程序的基本结构是块,每个快完成一个逻辑操作

注:
1.pl/sql块主要有两种类型,即命名块和匿名块。匿名块每次执行时都要进行编译,它不能存储到数据库中,也不能在其他的pl/sql块中引用。
2.存储过程和函数是命名快,他们被编译后保存在数据库中,可以被反复的调用,运行速度较快。
pl/sql的创建
1.creste procedure 过程名(【参数1,参数2,...】)
as
2.alter procedure 过程名1 rename to 过程名2;
执行pl/sql
call /perform procedure 过程名(【参数列表】);
删除pl/sql
drop procedure 关系名();
注:
1.l优化时,在既有选择操作和链接操作时,应当先做选择操作,这样参加连接的元组就可以大大减少。者是代数优化
2.选择操作算法有全表扫描和索引扫描,应当选用索引扫描。
3.表的连接采用index join代价页较小。这是物理优化。
总结
1.关系的完整性约束条件包括三大类:实体完整性、参照完整性和用户自定义完整性。
2.存储过程与函数的区别
存储过程是用户定义的一系列sql语句的集合,设计特定的表或其他对象的任务,用户可以调用存储过程;
而函数通常是数据库已定义的方法,它接受参数并返回某种类型的值并且不涉及特定的用户表。