(JAVA自学笔记)java数据库操作

day:20130109

        JAVA访问数据库主要的方法是JDBC,它是java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法,下面是对JDBC的总结。

       一、Java访问数据库的具体步骤:(待续P88)

       二、JDBC事务

       什么是事务?事务就是一组操作数据库的动作集合。事务是现代数据库理论中的核心概念之一。如果一组处理步骤或者全部发生或者一步也不执行,我们称该组处理步骤为一个事务。当所有的步骤像一个操作一样被完整的执行,我们称该事务被提交。由于其中的一部分或多部分执行失败,导致没有步骤被提交,则事务必须回滚到最初的系统状态。事务必须服从ISO/IEC所制定的ACID原则。ACID是原子性(atomicity)、一致性(consistency)、隔离性(isolation)和持久性(durability)的缩写。

     1. 事务的原子性表示事务执行过程中的任何失败都将导致事务所做的任何修改失效。

     2.一致性表示当事务执行失败时,所有被该事务影响的数据都应该恢复到事务执行前的状态。

     3.隔离性表示当事务执行过程中对数据的修改,在事务提交之前对其他事务不可见。

     4.持久性表示已提交的数据在事务执行失败时,数据的状态都应该正确。

     T-SQL使用下列语句来管理事务:

     开始事务:BEGIN TRANSACTION

     提交事务:COMMIT TRANSACTION

     回滚(撤销)事务:ROLLBACK TRANSACTION

     一旦事务提交或回滚,则事务结束。

     判断某条语句执行是否错误:使用全局变量@@ERROR,只能判断当前一条T-SQL语句执行是否有错,为了判断事务中所有T-SQL语句是否有错,我们需要对错误进行累计

如:SET @errorSun = @errorSun + @@error。

      事务的分类:

      显示事务:用BEGIN TRANSACTION明确指定事务的开始,这是最常用的事务类型。

      隐式事务:通过设置SET IMPLICIT_TRANSACTIONS ON语句,将隐性事务模式设置为打开,下一个语句自动   启动一个新事物。当该事务完成时,再下一个T-SQL语句又将启动一个新事务。

     自动提交事务:这是SQL Server的默认模式,它将每条单独的T-SQL语句视为一个事务,如果成功执行,则自动提交;如果错误,则自动回滚。

 

    三、索引

   (以sqlserver为例)看一下什么是索引:

    SQL Server中的数据也是按页(4KB)存放。

    索引:是SQL Server编排数据的内部方法。它为SQL Server提供一种方法来编排查询数据。 

    索引页:数据库中存世索引的数据页;索引 页类似于汉语词典中按拼音或笔画排序的目录页。

    索引的作用:通过使用索引,可以大大提高数据库的检索速度,改善数据库性能。

    索引类型:

    1.唯一索引:不允许两行具有相同的索引值。

    2.主键索引:为表定义一个主键将主动创建主键索引,主键索引是唯一索引的特殊类型。主键索引要求主键的每个值是唯一的,并且不能为空。

    3.聚集索引:表中各行的物理顺序与键值的逻辑(索引)顺序相同,每个表只能有一个。

    4.非聚集索引:非聚集索引指定表的逻辑顺序。数据存储在一个位置,索引存储在另一个位置,索引中包含指向数据存储位置的指针。可以有多个,小于249个。

     使用T-SQL创建索引:

      CREATE [UNIQUE] [CLISTERED|NONCLUSTERED]

           INDEX index_name

              ON table_name(column_name...)

                 [WITH FILLFACTOR = x]

 

   四、视图

      视图是一张虚拟表,它表示一张表的部分数据或多张表的综合数据,其结构和数据是建立在堆表的查询基础上。视图中病不存放数据,二是存放在视图所引用的原始表(基表)中的同一张原始表,根据不同 用户的不同需求,可以创建不同的视图。

      使用T-SQL语句创建视图的语法:

      CREATE  VIEW view_name

         AS

           <select   语句>

 

    五、存储过程

         才存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过制定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程用来执行管理任务或应用复杂的业务规则,存储过程可以带参数也可以返回结果。存储过程的优点:执行速度更快,允许模块化程序设计,提高系统安全性,减少网络流通量。

        存储过程分类:

       1.系统存储过程:由系统定义,存放在master数据库中,类似Java语言类库中的方法。系统存储过程的名称都以“sp_”或"xp_"开头。

       2.用户自定义存储过程:由用户在自己的数据库中创建的存储过程。

定义存储过程的语法:

        CREATE PROC[EDURE]    存储过程名

               @参数1  数据类型  = 默认值  OUTPUT,

                  ........

               @参数n  数据类型 = 默认值  OUTPUT

               AS

               SQL 语句

       GO

执行存储过程的语法:

      调用的语法

       EXEC 过程名 [参数]

 

 

 

 

     

    

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值