01. 事务
什么是事务?
事务是单个的工作单元 如在某一项事务成功,则在该事务中进行的所有数据更改均会提交,成为数据库中的永久组成部分.如果事务遇到错误且必须取消或回滚,则所有数据更改均被清楚
为什么需要事务?
在银行业务中,有一条记账原则 ,即又借有贷,借贷相等,为了保证这种原则,每发生一笔银行业务,就必须确保会记账目上 借方科目和贷方科目至少各记一笔,并且这两笔账要么同时成功,要么同时失败.
视图使得人们可以为一个或者多个数据表定义一个特殊的表现形式。视图在表现行为上与表没有差别,可以select查询,也可以用insert,update,delete来修改数据。
一般使用视图的理由有两个,一个是安全,例如一个表中包含了员工的个人资料,那像电话姓名这些是所有人都可以查询的,但是像薪水这些东西就只有特定的人能查询了,因此最好的办法就是将所有人都可以访问的数据部分创建为一个视图,供别人查询。另一个是方便,视图使用起来很方便,不用输入复制的命令
在视图里修改数据:能不能修改某个视图中的数据取决于视图的select命令,可刷新的视图需要满足以下几个条件:
(1)当初定义的select中不得包含group by、distinct、limit、union或having等子命令
(2)如果视图中的数据来自一个以上的表,那它总是不可刷新的
(3)视图中应包含主键索引,唯一索引,外间约束条件所涉及到的所有数据列
事务
为什么要使用事务操作? 有助于提高数据库系统的运行效率和安全性,举个例子,要从一个人的账户装100美元到另一个的账户中,需要两步操作,更新第一个人的账户余额,更新第二个人的账户余额,如果第一个操作执行完以后系统出了问题,那后果就严重了。如果有事务的话,如果成功了,那就最好,如果在执行到一半的时候失败了,那执行了的部分也会被撤销。事务也可以保证同一批数据不会被两位用户同时修改,并发控制。
ACID原则:
原子性:这意味事务就想原子那样是不可分割的
稳定性:这意味着事务执行完毕后数据库必须处于一个稳定的状态
隔离性:多个事务可以独立运行,不受彼此干扰,如果有一个事务提交了,所有受到影响的事务将自动撤销并返回错误信息,这样便于用户进行操作处理
可靠性:事务一定能够经受住软、硬件或者其他意外故障,故障消除后能够继续执行
视图
视图视图的作用
视图的优点:
03.索引