为什么会有事务(Transaction)与分层开发思想?

1.         对数据库操作的事务主要的作用就是给数据入库和出库数据库的时候提供一个原子性(atomicity),一致性(consistency),隔离性(isolation),持久性(durability)的规定约束。

a)         这四大特性是数据库事务(Transaction)的属性。

                         i.              原子性:数据入库操作是出现回滚事务时数据库的数据记录能够和入库的数据流记录解耦,能够恢复到对数据库数据未操作时的状态,这就是数据的原子性。

                       ii.              一致性:数据库表的数据记录字段属性的一致性。

                      iii.              隔离性:对数据库表的数据入库操作事务相互独立,在高并发的状态下,每一个事务单元互不影响。这就像是单态和多态时的数据隔离机制一样。

                      iv.              持久性:一个事务操作提交之后,数据流可以持久化。

                       v.              注:数据入库操作为insertedit, delete;数据出库操作为:select

b)         在对数据库的数据入库和出库操作中,事务的作用就是为了防止对数据操作异常的发生而建立的安全机制。这个机制和服务端编程中的异常(exception)的设计思想是一致的。

c)         因为有了事务,即在对数据库的数据操作中可能会发生异常,所以当高并发地对数据库进行存储,更新后者是删除之后进行查询的操作的时候,就需要建立事务的隔离级别来防止异步操作时数据查询的不确定性。这就和服务端编程中的高并发时同步(synchronized)和异步(asynchronized)机制是一样的。

d)         数据库的操作         所对应的事务隔离级别                  防止数据查询时的不确定性

e)          

f)          增加(insert        读未提交(read uncommited    脏读

g)         删除(delete

h)         修改(update

i)            

j)           删除(delete       读已提交(read commited       不可重复读

k)         修改(update

l)            

m)       修改(update     可重复读(repeatable read       幻读

n)          

o)         查询(select       可串行化 serializable             保证数据的确定性

p)                                             快照(snapshot            保证数据的确定性

 

 

2.         分层开发思想也是分类思想,就是把相同的工作模块化,可以提高程序的可读性,可扩展性,可维护性以及开发效率。

a)         Java的核心思想就是高内聚,低耦合。

b)         对软件开发的要求:

c)         为什么会有事务(Transaction)与分层开发思想?_第1张图片

3.         做软件开发对英语是有一定的要求,特别是要做国际化的软件的时候,因为英文的可读性易用性和可理解性要比中文要好。英语是一门官方的交流使用工具,而中文是我们要深入研究的语言文化。

a)         编程语言向自然语言靠近,英语是最好的选择。因为计算机语言起源于美国,这是它的专属权利。

b)         前人开发的C/C++类库都是美国的计算机科学家贡献出来的。

c)         自然科学的前沿永远都是在西方,我们只有虚心学习和追赶。

 

你可能感兴趣的:(为什么会有事务(Transaction)与分层开发思想?)