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

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

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

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

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

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

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

v.              注:数据入库操作为insert,edit, 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)         

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

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

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

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

时间: 2024-11-06 15:33:07

为什么会有事务(Transaction)与分层开发思想?的相关文章

C#深入.NET平台的软件系统分层开发

今天我们来讲讲分层开发,你从标题能不能简单的认识一下什么是分层呢? 不懂也没关系,接下来我来给你讲讲. 第一章 软件系统的分层开发 (1)其实分层模式可以这样定义:将解决方案中功能不同的模块分到不同的项目中实现,每一层中的组件应保持内聚性,每一层都应该与它下面的各层保持松耦合.        分层模式是最常见的一种架构模式,甚至可以说分层模式是很多架构模式的基础.        数据访问层:           这一层处于最底层,负责与数据库的交互,也成为DAL(Data Access Laye

深入.NET平台的软件系统分层开发

第一章 软件系统的分层开发 案例 学生管理 建类库DAL 添加类 建窗体把数据绑定到datagrivel 因为不同一个项目下 所以要引用 数据访问层 Data Access Layer(DAL) using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; using System.Text; using System.Threa

java的分层开发

既然是分层开发,首先我们需要知道的是分为那几个层,并且是干什么的? 1.实体层(entity) 对应数据库中的一张表,有了它可以降低耦合性,同时也是数据的载体. 2.数据访问对象(data access object)主要包含两个java源文件,一个是BaseBao,还有一个是所需要查询表的接口 package cn.news.dao; import java.sql.Connection; import java.sql.DriverManager; import java.sql.Prepa

分层开发——软件系统的分层开发

分层模式可以这样定义:将解决方案中功能不同的模块分到不同的项目中实现.每一层中的组件应保持内聚性,每一层都应与它下面的各层宝石耦合.分层模式是最常见的一种架构模式,甚至可以说分层模式是很多架构模式的基础. 数据访问层:这一层处于最底层,负责与数据库的交互,也称为:DAL(Data Access  Layer) 表示层:这一层直接和用户打交道,负责显示或者获取数据,也称为UI层(User Interface Layer)无论用控制台还是用windows窗体显示数据,都是表示层的一种应用. 表示层依

Android学习---SQLite数据库的增删改查和事务(transaction)调用

上一篇文章中介绍了手工拼写sql语句进行数据库的CRUD操作,本文将介绍调用sqlite内置的方法实现CRUD操作,其实质也是通过拼写sql语句. 首先,创建一个新的android项目: 其次,查看代码实现增删查改: 1.创建DB工具类 MyDBHelper.java(创建数据库的操作) package com.amos.android_db; import android.content.Context; import android.database.sqlite.SQLiteDatabas

事务(Transaction)

什么是事务(Transaction) 指访问并可能更新数据库中各种数据项的一个程序执行单元(unit)-- 也就是由多个sql语句组成,必须作为一个整体执行 这些sql语句作为一个整体一起向系统提交, 要么都执行.要么都不执行 为什么需要事务 如,借钱问题: 假定钱从A转到B,至少需要两步: A的资金减少 然后B的资金相应增加 语法步骤: 开始事务:BEGIN TRANSACTION 事务提交:COMMIT TRANSACTION 事务回滚:ROLLBACK TRANSACTION 判断某条语句

Spring事务Transaction配置的五种注入方式详解

Spring事务Transaction配置的五种注入方式详解 前段时间对Spring的事务配置做了比较深入的研究,在此之间对Spring的事务配置虽说也配置过,但是一直没有一个清楚的认识.通过这次的学习发觉Spring的事务配置只要把思路理清,还是比较好掌握的. ??? 总结如下: ??? Spring配置文件中关于事务配置总是由三个组成部分,分别是DataSource.TransactionManager和代理机制这三部分,无论哪种配置方式,一般变化的只是代理机制这部分. ???DataSou

软件系统的分层开发

(1)其实分层模式可以这样定义:将解决方案中功能不同的模块分到不同的项目中实现,每一层中的组件应保持内聚性,每一层都应该与它下面的各层保持松耦合.        分层模式是最常见的一种架构模式,甚至可以说分层模式是很多架构模式的基础.        数据访问层:           这一层处于最底层,负责与数据库的交互,也成为DAL(Data Access Layer)        表示层:          这一层直接与用户打交道,负责显示或者获取数据,也称为UI(User Interfac

关于FMDB事务(Transaction)的解读

事务(Transaction)的描述: 事务(Transaction)是并发控制的基本单位.所谓的事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位.例如,银行转账工作:从一个账号扣款并使另一个账号增款,这两个操作要么都执行,要么都不执行.所以,应该把它们看成一个事务.事务是数据库维护数据一致性的单位,在每个事务结束时,都能保持数据一致性.针对上面的描述可以看出,事务的提出主要是为了解决并发情况下保持数据一致性的问题. 事务的标准定义: 指作为单个逻辑工作单元执