Oracle 复习资料

Oracle 复习资料
Oracle 复习资料

Oracle复习题

一、填空

1.oracle有(内置函数)和(用户自定义函数)两种函数

2.用户要得到自己能访问的所有表的信息,要查看(all_tables)视图

3.启动和关闭oracle数据库的命令分别是(startup)和(shutdown)

4.查看一个表或视图的结构的命令是(describe)

5.把查询结果按salary的降序排序应该在查询语句中使用

(order by salary desc)

6.逻辑运算符中优先级最高的是(not)最低的是(or)

7. 通配符%表示(任意零个或多个字符)

8.oracle数据库中的字符串连接符是(||)

9.select instr(‘HelloWorld’,’w’) from dual的查询结果是(0)

10.select trunc(1542.35,-2) from dual的查询结果是(1500)

11.在查询语句中去掉重复记录,应该在查询语句加上(distinct)选项

12.当对一个表定义一个主键时,系统自动会为该表建立(唯一)索引

13.rollup操作符中一共有n个表达式,一共要执行(n+1)次grouping操作

14.改变会话时区,使用(alter session set time_zone)命令

15.当一个select语句块在一条查询语句多次使用时,我们可以使用(with)子句来提高性能

16.正则表达式{m,n}、|分别表示(连续的任意m~n个数字字符),(将两个匹配条件进行逻辑“或”运算)

1.设系统日期为今天,select to_char(to_date(’85-11-12’,’RR-MM-DD’),’YYYY-MM-DD’) from dual的查询结果为(C)

A.2085-11-12

B. 85-11-12

C.1985-11-12

D.2185-11-12

2. 与where salary between 2500 and 3500等价的语句是(D)

A.salary>2500 or salary <3500

B.salary>2500 and salary <3500

C.salary>=2500 or salary <=3500

D.salary>=2500 and salary <=3500

3. 下面哪一个like命令会返回名字像HOTKA的行(A?C)

A.where last_name like ‘_HOT%’

B. where last_name like ‘H_T%’

C. where last_name like ‘%TKA_’

D. where last_name like ‘%TOK%’

4. oracle数据库默认的最高管理员是(C)

A.administrator

B.sysman

C.sys

D.sa

5. 将字符串’05-3月-2009’转换成日期,下列写法正确的是(D)

A.to_date(’05-3月-2009’,’dd-mm-yyyy’)

B. to_date(’05-3月-2009’,’ yyyy -mm- dd’)

C. to_date(’05-3月-2009’,’ yyyy -mon- dd’)

D.

to_date(’05-3月-2009’,’dd-mon-yyyy’)

6. 下列哪条语句与select employee_id,last_name from employees where salary<(select min(salary) from employees)等价(B)

A. select employee_id,last_name from employees where salary in (select min(salary) from employees)

B. select employee_id,last_name from employees where salary

C. select employee_id,last_name from employees where salary

D. select employee_id,last_name from employees where salary<(select salary from employees)

7. 下列语句正确的是(D)

A.select department_id,avg(salary) from employees where

department_id=50

B. select department_id,avg(salary) from employees having

department_id=50

C. select department_id,avg(salary) from employees order by department_id

D. select department_id,avg(salary) from employees group by department_id

8. 下列语句不正确的是(B)

A.select sysdate-hire_date from employees

B. select sysdate+hire_date from employees

C. select sysdate-100 from employees

D. select sysdate+100 from employees

9. 下列语句哪两条是等价的(D)

1)select employee_id,last_name,department_name from employees natural join departments

2)select employee_id,last_name,department_name from employees full join departments

3)select employee_id,last_name,department_name from employees join departments

using (department_id)

4)select employee_id,last_name,department_name from employees a join departments b

on(a.department_id=b.department_id)

A.1和3

B.1和4

C.2和4

D.3和4

10.设一个名为test_seq的sequence,其当前值为100,每次增长10。 D 用户A执行select test_seq.nextval from dual,

接着用户B执行select test_seq.nextval from dual,

接着用户A执行select test_seq.currval from dual,

接着用户B执行select test_seq.currval from dual,

这四条语句分别得到的结果是(A)

A.110,120,120,120

B.110,110,110,110

C.120,120,120,120

D.110,120,110,120

1.知道oracle数据库系统中有哪些默认用户

SYS、SYSTEM、DBSNMP、SYSMAN、MGMT_VIEW五个

2.Oracle数据库的体系结构包括:物理存储逻辑、逻辑存储结构、内存结构和实例进程结构。物理存储结构分类:数据文件、日志文件和控制文件,另外还包括一些参数文件。

3.逻辑存储结构:是从逻辑的角度分析数据库的构成,即创建数据库后形成的逻辑概念之间的关系。Oracle在逻辑上将保存的数据划分成一个个小单元进行存储和管理。Oracle的逻辑存储单元从小到大依次为:数据块(DA TA BLOCKS)、盘区(EXTENT)、段(SEGMENTS)和表空间(TABLE SPACES)

Oracle数据库由多个表空间组成,而表空间又由多个段组成、段由多个盘区组成、盘区由多个数据块组成。

4.存储过程:一种PL/SQL程序块,它可以被赋予参数,存储在数据库中,可以被用户调用。

5.函数:一种存储在数据库中的命名程序块,也可以接受输入值,进行逻辑处理后将处理结果返回给调用者。函数与过程之间的主要区别在于,函数必须有返回值,并且可以作为一个表达式的一部分,但不能作为一个完整的语句使用。

程序包:负责在PL/SQL程序中的输入和输出。程序包就是一组相关的过程、函数、变量、常量和游标等PL/SQL程序设计单元。

5.触发器是一种在发生数据库时间时自动运行的PL/SQL代码块,它与特表上的DML操作相关联。注意触发器与数据库中其他过程的区别,或称或函数都是由用户直接调用,而触发器的执行用户则不能直接调用。Oracle会在相应时间发生时,自动调用触发器。在Oracle 系统中,触发器类似于过程和函数,他们都有声明部分,执行逻辑处理部分和异常处理部分,并且被存储在数据库中。

Oracle提供的触发器类型主要包括:DML触发器、替代触发器、系统触发器。

1.改正下列查询语句中的错误,写出正确的语句

select employee_id,last_name

sal*12 ‘ANNUAL SALARY’

from employees

where nvl(commission_pct,’not_pct’)=’not_pct’;

改正后为:

select employee_id,last_name,

salary*12 "ANNUAL SALARY"

from employees

where nvl(commission_pct,0)=0;【或者where commission_pct is null】

2.

2.用sql语言在oracle数据库中建立一个名为emp的表,其表结构如下:

列名ID last_name first_name salary hire_date

是否为主键Yes

默认值系统当前日期

数据类型number varchar2 varchar2 number date

长度7 25 25 7

create table emp

(id number(7) constraint emp_id_pk primary key,

last_name varchar2(25),

first_name varchar2(25),

salary number(7),

hire_date date default sysdate)

3.创建2个用户testA和testB,密码为testA、testB,然后创建一个角色demo,并将建立连接、建表、建视图及对hr用户的employees表的select等权限赋给该角色,然后将该角色赋给testA和testB。写出以上语句。

create user testA identified by testA;

create user testB identified by testB;

create role demo;

grant create session,create table,create view to demo;

grant select on hr.employees to demo;

/*创建表空间

*/ CREATE TABLESPACE STUDENT LOGGING DATAFILE 'D:\app\tao\oradata\XSC J\STUDENT01.DBF' SIZE 100M; /*文件路径视本机情况而定*/

/*创建表

XSB*/ CREATE TABLE XSB ( XH char(6) NOT NULL PRIMARY KEY, XM ch ar(8) NOT NULL, XB char(2) DEFAULT '1' NOT NULL, CSSJ date NOT NULL, ZY char(12) NULL, ZXF number(2) NULL, BZ varchar2(200) NULL );

/*创建表

XSCP*/ CREATE TABLE XSZP ( XH char(6) NOT NULL PRIMARY KEY, ZP blob NULL );

/*创建表

KCB*/ CREATE TABLE KCB ( KCH char(3) NOT NULL PRIMARY KEY, KCM char(16) NOT NULL, KKXQ number(1) NULL, XS number(2) NULL, X F number(1) NOT NULL );

/*创建表

CJB*/ CREATE TABLE CJB ( XH char(6) NOT NULL, KCH char(3) NOT NU LL, CJ number(2) NULL, PRIMARY KEY(XH, KCH) );

/*创建视图

XS_KC_CJ*/ CREATE VIEW XS_KC_CJ AS SELECT XSB.XH,XSB.XM, XSB.ZY, KCB. KCH,KCB.KCM,CJB.CJ FROM XSB CROSS JOIN KCB

LEFT OUTER JOIN CJB ON CJB.XH=XSB.XH AND CJB.KCH=KCB.KCH;

游标是系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果。由系统或用户以变量的形式定义。用户可以用SQL语句逐一从游标中获取记录,并赋给主变量,交由主语言进一步处理,主语言是面向记录的,一组主变量一次只能存放一条记录在某些情况下,需要把数据从存放在磁盘的表中调到计算机内存中进行处

理,最后将处理结果显示出来或最终写回数据库。这样数据处理的速度才会提高,否则频繁的磁盘数据交换会

降低效率。用数据库语言来描述游标就是映射在结果集中一行数据上的位置实体,有了游标,用户就可以访问

结果集中的任意一行数据了,将游标放置到某行后,即可对该行数据进行操作,例如提取当前行的数据等。

游标有两种类型:显式游标和隐式游标。在程序中用到的

SELECT...INTO...

查询语句,一次只能从数据

库中提取一行数据,对于这种形式的查询和触发器操作,系统都会使用一个隐式游标。但是如果要提取多行数

据,就要由程序员定义一个显式游标,并通过与游标有关的语句进行处理。显式游标对应一个返回结果为多行多列的SELECT语句。

游标一旦打开,数据就从数据库中传送到游标变量中,然后应用程序再从游标变量中分解出需要的数据,

并进行处理。以下将通过详细的例子为您介绍显式游标和隐式游标。

2. 你必须利用备份恢复数据库,但是你没有控制文件,该如何解决问题呢?

解答:重建控制文件,用带backup control file 子句的recover 命令恢复数据库。

3. 如何转换init.ora到spfile?

解答:使用create spfile from pfile 命令

.

4. 给出两个检查表结构的方法

解答:1、DESCRIBE命令

2、DBMS_METADATA.GET_DDL 包

5. 比较truncate和delete 命令

解答:两者都可以用来删除表中所有的记录。区别在于:truncate是DDL操作,它移动HWK,不需要rollback segment .而Delete是DML操作, 需要rollback segment 且花费较长时间.

6. 解释归档和非归档模式之间的不同和它们各自的优缺点

解答:归档模式是指你可以备份所有的数据库transactions并恢复到任意一个时间点。非归档模式则相反,不能恢复到任意一个时间点。

但是非归档模式可以带来数据库性能上的少许提高

7. 如何建立一个备份控制文件?

解答:Alter database backup control file to trace.

15. 给出数据库正常启动所经历的几种状态?

解答:

STARTUP NOMOUNT –数据库实例启动

STARTUP MOUNT - 数据库装载

STARTUP OPEN –数据库打开

8:使用索引查询一定能提高查询的性能吗?为什么?

答:不能。如果返回的行数目较大,使用全表扫描的性能较好。

11:临时表空间的作用是什么?

答:临时表空间的作用:在sort_area_size中不能完成的部分在临时表空间完成,临时表空间在重建索引,创建临时表等都要用到。

5:回滚段的作用是什么?

答:保存数据的前像,保证数据读取的时间点一致性。Oracle里数据的多版本特性就是通过回滚段来实现的,正因为此,Oracle数据库实现了读写不竞争的性能优势!6:日志的作用是什么?

答:记录对数据库的操作,便于恢复。储过程运行时要用到)。

大数据一体化教学实训平台简介

大数据一体化教学实训平台简介 大数据一体化教学实训平台是由泰迪科技自主研发,旨在为高校大数据相关专业提供一体化教学实训环境及课程资源。 本平台共包含9大模块:云资源管理平台、教学管理平台、大数据分析平台、Python 数据挖掘建模平台、R语言数据挖掘建模平台、大数据开发实训平台、Python编程实训平台、R语言编程实训平台、大数据整合平台。以教学管理平台、云资源管理平台为支撑,以优质的课程、项目案例资源为核心,并以自主研发的数据挖掘建模平台为实训工具,把课程、软件、硬件内容统一结合,满足高校大数据教学与实训的一体化平台。 大数据一体化教学实训平台架构(总)

大数据一体化教学实训平台架构(理学方向) 大数据一体化教学实训平台架构(工学方向)

大数据一体化教学实训平台特点 ?B/S架构:可直接通过客户机的浏览器对服务器端的一体化教学实训平台进行访问。?模块丰富:提供软硬件管理、教学管理、实验实训等系列模块,满足不同的教学与实训场景使用。 ?拓展性强:教师自主开设新课程、添加各种课程资源与活动,满足用户的个性化需求。?单点登录:用户只需一次登录即可访问所有的教学与实训平台,解决了登录繁琐、操作不便等问题。 ?资源一体:提供教学大纲、教学视频、教学PPT、课后习题、实验指导书、实验数据、实验代码、实验环境等一系列的教学实训资源,全方位解决实际教学与实训过程中所遇到的问题。 ?教学一体:分别提供“教”与“学”的软件环境,教学与实训模块深度融合,真正实现一体化。 ?软硬件一体:硬件环境采用云柜的方式进行搭建,内部集成机柜、服务器(部署一体化教学实训平台)、供配电、UPS、变频空调、应急通风等,整个云柜架构和谐统一、方便安装与维护。 云资源管理平台简介 云资源管理平台主要对实验室云虚拟化资源进行管理及维护,负责对实验室所有软件系统进行管理与监控,将云存储资源、服务器资源和网络资源整合,然后通过虚拟化搭建私有云平台,在私有云平台上搭建教学管理平台与一系列的大数据实训平台。 云资源管理平台功能及特点 ●支持系统资源实时统计和监控 ●支持云主机批量操作和管理 ●支持云主机模板创建与分配 ●支持操作日志查看和可视化分析 ●支持物理服务器集群管理 ●支持基础网络与私有网络 ●云硬盘可独立挂于云主机 ●平台系统高可用,容错性强 ●云主机性能卓越,媲美物理机

医学数据库(目前最全)

美国医学协会出版物 美国医学协会出版,新闻,文摘或全文,包括以下部分.内科学文卷,皮肤病文卷,外科学文卷,眼科学文卷,美国医学会志,美国医学新闻,神经病学文卷,妇女健康杂志,家庭医疗文卷,普通精神病学文卷,耳鼻喉,头颈外科,儿科及青春期医学 British Medical Journal 英国医学杂志 Medical Conference 医学会议库,4500多条会议信息,每日更新. NIST Webbook and Chemistry Webbook 美国国家标准与技术研究所数据集','免费查询5000多种化合物的红外光谱,8000多种 化合物质谱等等') New England Journal of Medicine 报道医学重要研究成果的周刊,提供全部过刊信息及现刊的论文摘要. 基础研究站点 ? ? 国际微生物菌种数据网络MS 国际计算机用微生物编码系统 法国细菌名称数据库 SCOP蛋白结构分类数据库 FSSP蛋白质结构数据库 BMCD生物大分子结晶数据库

NCBI GenBank数据库 欧洲分子生物学实验室核酸数据库 日本DNA数据库(DDBJ) 表达序列标签库(dbEST) SwissProt蛋白序列数据库 PIR蛋白序列数据库 PDB蛋白结构数据库 PSdb蛋白质结构数据库 序列标签位点库(dbSTS) 遗传病基因数据库 肿瘤基因数据库 Rutgues大学的核酸数据库 人基因组数据库(GDB)GDB 基因组序列数据库(GSDB) 大肠杆菌基因组数据库(ECDC)ECDC TIGR Microbial Database Mouse Genome Database Portable Dictionary of the Mouse Genome

北邮数据库原理与应用阶段作业

一、单项选择题(共10道小题,共100.0分) 1. 数据库事务的隔离性通过_______实现。 2. 1.DBMS的事务管理子系统 2.应用程序员 3.DBMS的并发控制机制 4.DBMS的恢复子系统 知识点:事务的概念 学生答案:[C;] 标准答 案: C; 得分:[10]试题分 值: 10.0 提示: 3. 数据库的一致性状态由_______来负责。 4. 1.DBMS的事务管理子系统 2.应用程序员 3.DBMS的并发控制机制 4.DBMS的恢复子系统 知识点:事务的概念 学生答案:[B;] 标准答 案: B; 得分:[10]试题分 值: 10.0 提示: 1. 事务开始前,数据库处于一致性的状态;事务结束后,数据库必须仍处

于一致性状态。这指的是事务的_____。 2. 1.一致性 2.隔离性 3.持久性 4.原子性 知识点:事务的概念 学生答案:[A;] 标准答 案: A; 得分:[10]试题分 值: 10.0 提示: 1. 一个事务一旦提交之后,它对数据库的影响必须是永久的,无论发生何种系统故障。这指的是事务的____。 2. 1.一致性 2.隔离性 3.持久性 4.原子性 知识点:事务的概念 学生答案:[C;] 标准答 案: C; 得分:[10]试题分 值: 10.0 提示: 1. 系统必须保证事务不受其它并发执行事务的影响,这指的是事务的________。 2.

2.隔离性 3.持久性 4.原子性知识点:事务的概念 学生答案:[B;] 标准答 案: B; 得分:[10]试题分 值: 10.0 提示: 1. 一个事务中所有对数据库的操作是一个不可分割的操作序列。每个事务的操作序列要么都被成功地执行,要么一个也不被执行,这指的是事务的______。 2. 1.一致性 2.隔离性 3.持久性 4.原子性 知识点:事务的概念 学生答案:[D;] 标准答 案: D; 得分:[10]试题分 值: 10.0 提示: 1. DBS运行的最小逻辑单位是__________。 2. 1.事务 2.表 3.属性

智慧出行大数据一体化管理平台整体建设方案V6.0

智慧出行大数据一体化 管理平台 建 设 方 案 1

目录 第1章前言 (11) 第2章总体设计 (12) 2.1、系统概述 (12) 2.2、系统设计原则 (14) 2.3、系统框架 (16) 第3章出行大数据采集子系统 (20) 3.1、前端采集技术 (20) 3.2、数据共享和交换平台 (22) 3.3、框架支撑平台 (23) 3.3.1、基础网络服务平台 (23) 3.3.2、架构 (24) 3.3.3、服务端/NetServer (25) 3.3.4、NetBusiness (25) 3.3.5、NetClient (26) 3.3.6、核心技术 (26) EPOLL多路复用I/O模型 (26) 3.3.7、共享内存数据库 (29) 2

3.3.8、概述 (29) 3.3.9、设计思路 (30) MEMORYCACHE的通道 (30) 3.3.10、消息组件 (40) 3.3.11、日志管理 (44) 3.3.12、系统预警及系统告警与状态管理 (45) 3.3.13、一致性哈希分发 (46) 第4章大数据资源整合存储子系统 (58) 4.1、基础出行数据 (58) 4.1.1、城市路网数据 (59) 4.1.2、公交线路数据 (106) 4.1.3、公交车辆数据 (109) 4.1.4、长途客运车数据 (110) 4.1.5、出租车数据 (113) 4.1.6、危化品车数据 (114) 4.1.7、共享单车数据 (115) 4.1.8、火车客运数据 (116) 4.1.9、民航客运数据 (119) 3

4.1.10、出行资产数据 (121) 4.1.11、出行需求数据 (122) 4.1.12、公路费用数据 (127) 4.1.13、气象数据 (127) 4.1.14、监控设备数据 (128) 4.1.15、追逃车辆数据 (129) 4.2、实时采集数据 (129) 4.3、实时计算数据 (129) 4.3.1、城市出行运行数据 (130) 4.3.2、公交车实时位置数据 (133) 4.3.3、公交(地铁)卡刷卡数据 (134) 4.3.4、长途客车实时数据 (135) 4.3.5、出租车实时数据 (136) 4.3.6、危化品车实时数据 (137) 4.3.7、共享单车实时数据 (138) 4.3.8、路口通行量 (139) 4.3.9、套牌嫌疑车数据 (139) 4.3.10、基于车辆识别的OD分析数据 (140) 4

常用的医学数据库

众所周知,互联网是个宝库,有各种各样的医学资料。可是,在我们需要的时候,常常找不到自己想要的资源。今天,我就给大家介绍一实用的医学网站及其特点,希望对大家能有所帮助。 1,常用的医学数据库: 1,Pubmed检索 说到医学数据库,就不的不说大名鼎鼎的Pubmed(https://www.360docs.net/doc/7f5493281.html,/)了。PubMed 提供生物医学方面的论文搜寻以及摘要,而且更重要的是这些免费,它为研院校图书馆以外的用户提供了一个强大的数据检索平台。数据库来源为MEDLINE。其核心主题为医学,该搜寻引擎是由美国国立医学图书馆提供,作为Entrez 资讯检索系统的一部分。虽然PubMed 的资讯并不包括期刊论文的全文,但可能提供指向全文提供者(付费或免费)的连结。PubMed是美国国家医学图书馆(NLM)下属的国家生物技术信息中心(NCBI)开发的、基于WWW,查询方便快捷。 但是使用Pubmed使用上有一个很大的问题,不支持中文检索。由于语言的限制,造成我们的检索效率很低,其实大可不必为输入繁琐的医学词汇出错而头痛。我国的技术人员聪明的想了出Pubmed汉化检索,汉化检索的地址是:https://www.360docs.net/doc/7f5493281.html,/pubmed/pubmed_search.jsp 有兴趣了大家可以试试。该程序可以自动对汉语完成匹配,大大提高了检索效率,同时还能对检索到的摘要信息进行全文求助(付费服务,要是能免费就好了)。 还有我国国产的两个期刊数据库,一个是万方(https://www.360docs.net/doc/7f5493281.html,),另一个是知网(https://www.360docs.net/doc/7f5493281.html,/),都是收费服务,如果你所在的医院没有包库,只有羡慕那些免费检索的人了,不过知网不知怎么回事,最近好像更新很慢。还有许多国内外免费医学数据库。篇幅有限这里就不多说了。发个链接,挺全面的的,大家自己去看看吧。 https://www.360docs.net/doc/7f5493281.html,/cate/733.htm 2 国内著名医学论坛一览表: 1 丁香园论坛(https://www.360docs.net/doc/7f5493281.html,)丁香园是国内老牌的医学、生命科学论坛,路人皆知,这里就不多说了。 2 协和眼科联盟(https://www.360docs.net/doc/7f5493281.html,/bbs/)是国内资深的眼科专业论坛,眼科的朋友请不要错过。 3 爱爱医,(https://www.360docs.net/doc/7f5493281.html,)主要是面向低年资医师和乡村医师的交流平添,如果你刚毕业进入医疗领域,不妨去要去看看。 4,好医生论坛(https://www.360docs.net/doc/7f5493281.html,/),是好医生网站一个栏目。人气挺旺的。

Oracle数据仓库-电信行业应用案例

转眼,从事电信行业BI/DW已经有三年时间了,一直想写点东西,给大家共同分享,感谢ERP 100给我了一个展示的平台! 连载时间:一周一篇 连载提纲: 第一篇数据仓库建设目标、系统规模及项目面临的技术挑战 第二篇选择数据仓库平台的考虑 第三篇选择Oracle产品的原因 第四篇系统现状分析、DW数据仓库建设原则及整体规划的实现 第五篇整体规划的实现、新增应用优先级的确定及螺旋式建设方法 第六篇数据仓库的效益、成本和风险控制 第七篇数据模型设计方法 第八篇构建闭环的信息流、数据模型-分层设计、DW中的数据功能划分 第九篇数据抽取策略、数据抽取过程管理、对脏数据的管理、数据去重及元数据管理及 第十篇典型的应用流程、主题分析及应用推广方法 (第一篇)数据仓库建设目标、系统规模及项目面临的技术挑战 1 数据仓库项目建设目标: 建立统一的数据信息平台,实现客户资料和生产数据的集中存储。利用先进的数据仓库技术和决策分析技术为市场营销和客户服务工作提供有效的支撑: 2 目前系统规模: 包含12个月的话单;数据库容量为65TB,其中原始数据为25TB;最大的表包含1800亿话单

3 项目面临的技术挑战: 数据存储-系统要求存储12-18个月的详单数据; 数据装载-按小时装载详单数据,要求每天在8小时内装载5亿条详单;高峰时一个小时装载6500万条详单;在8小时内同时完成1亿7000万个汇总操作 数据访问-支持680个并发用户,支持8000个系统用户;5%的预定义查询操作在5秒钟内完成;每秒钟23个查询操作 Sina微薄互动地址:https://www.360docs.net/doc/7f5493281.html,/2186879022/zDx5x29Cw 感谢大家的参与和鼓励,pathwide的建议很好,下面列举出该连载的计划提纲,如下: 连载周期:一周一篇 连载提纲: 第一篇数据仓库建设目标、系统规模及项目面临的技术挑战 第二篇选择数据仓库平台的考虑 第三篇选择Oracle产品的原因 第四篇系统现状分析、DW数据仓库建设原则及整体规划的实现 第五篇整体规划的实现、新增应用优先级的确定及螺旋式建设方法 第六篇数据仓库的效益、成本和风险控制 第七篇数据模型设计方法 第八篇构建闭环的信息流、数据模型-分层设计、DW中的数据功能划分 第九篇数据抽取策略、数据抽取过程管理、对脏数据的管理、数据去重及元数据管理及 第十篇典型的应用流程、主题分析及应用推广方法 希望大家积极参与,共同分享BI/DW的项目经验,同时,有不到位的地方,还请大家多多指正,谢谢! 选择数据仓库平台时的考虑 4 选择数据仓库平台时的考虑 4.1 强大的ETL支持能力-支持按小时的数据装载 4.2 高效的数据访问-硬件的支持:多CPU 大内存并发处理 分区技术 索引技术 数据库内置分析能力 4.3 高可用性7 * 24小时不间断运行 4.4 数据访问每秒钟23到100个并发查询操作; 95%的查询在1秒内完成 4.5 数据表分区-混合分区 按地区建立列表分区; 按时间建立范围分区; 4.6 可传输的表空间 操作系统文件的直接复制;不需要数据的导入、导出

提升数据保护:Oracle数据仓库的实时数据采集

提升数据保护:Oracle数据仓库的实时数据采集在使用数据仓库软件时,最常见的约束之一是源系统数据批量提取处理时的可用时间窗口。通常,极其耗费资源的提取流程必须在非工作时间进行,而且仅限于访问关键的源系统。 低影响实时数据整合软件可以释放系统的批处理时间。当提取组件使用非侵入式方法时,如通过读取数据库事务日志,只会捕捉发生变化的数据,不会对源系统产生影响。因此,数据提取流程可以在任意时段全天候执行,即使用户在线也可以。 当以实时方式提取数据时,虽然必须改变数据采集流程中各个元素支持实时数据的方式,但是这些数据可以带来不一般的业务价值。而且,这些数据必须得到有效的保护,同时也很难针对这些不停变化的数据应用灾难恢复和备份技术。 但是,在数据仓库中应用实时数据整合的技术也可以进一步保护数据。毕竟,实时移动数据的技术也可以实时操作数据,从而形成一个数据保护技术入口。但是,变化数据的速度和效率可能会受制于数据保护流程的延迟。

这意味着,在转到整合数据仓库的主动数据采集模式时,首要考虑的问题之一是数据经过IT系统的流程和可能产生的延迟。换而言之,实时数据整合要求理解变化的数据,以及促进或妨碍这种变化的组件。 显然,企业希望保护他们的数据。然而,随着数据容量需求的增长,存储技术也成为业务持续性依赖的重要业务资产。而且,随着实时分析成为业务流程的一部分,它也归入到业务持续性的范畴之中。实现数据安全性和持续性的最基本方法是硬件或软件复制,它会自动保存第二个关键数据副本。此外,自行创建或基于开源软件创建的备份方法也不存在。 企业级数据管理应用主要涉及5个重要领域:灾难恢复、高可用性、备份、数据处理性能和更高级数据库移植。这促使IT不停地追寻先进技术,如实现数据整合及其相关基础架构元素。此外,这些战略投资能够提供符合预算的资源,在加快实时技术应用的同时,提高投资回报和修正实时数据整合项目的商业提案。

事务管理与数据库安全性(二)有答案

事务管理与数据库安全性(二) 一、选择题 1. 数据库恢复的基础是利用转储的冗余数据。这些转储的冗余数据包括________。 A.数据字典、应用程序、审计文档、数据库后备副本 B.数据字典、应用程序、审计文档、日志文件 C.日志文件、数据库后备副本 D.数据字典、应用程序、数据库后备副本 答案:C 2. 事务的持久性是指________。 A.事务中包括的所有操作要么都做,要么都不做 B.事务一旦提交,对数据库的修改就是永远的 C.一个事务内部的操作及使用的数据对并发执行的其他事务是隔离的 D.事务必须是使数据库从一个一致性状态变到另一个一致性状态 答案:B 3. 设有两个事务T1和T2,其并发操作序列如下表所示。下列说法中正确的是________。

A.该操作序列不存在问题 B.该操作序列丢失修改 C.该操作序列不能重复读 D.该操作序列读出“脏”数据 答案:C 4. 在对数据库的系统故障进行恢复时,需要对日志文件进行________。 A.反向扫描 B.正向扫描 C.双向扫描 D.随机扫描 答案:C 5. 事务的持久性是由数据库系统中的哪个部件负责?________。 A.完整性控制部件 B.安全性控制部件 C.恢复管理部件 D.并发控制部件

答案:C 6. 设有两个事务T1和T2,其并发操作序列如下表所示。下面说法中正确的是________。 A.该操作序列不存在问题 B.该操作序列丢失更新 C.该操作序列不能重复读 D.该操作序列读出“脏”数据 答案:B 7. 下列权限中,哪一个不是数据库的访问权限?________。 A.Read权限 B.Resource权限 C.Update权限 D.Lock权限 答案:D

一体化数据管理平台DATRIX产品介绍120515

一体化数据管理平台DATRIX 产品介绍 因“虚”而实,数据管理创新

需求篇 IDC数字宇宙研究《从混沌中提取价值》指出,全球的数据量每18个月就要翻一番,目前每年产生的数据量已经高达40EB(1EB=10000PB),未来十年全球的大数据将增加50倍。数据飞速的甚至是爆炸式的增长方式,每个信息用户都深有体会,从上世纪早期数据容量大多以MB为单位,到上世纪末过渡到以GB为单位,再到当前TB已是标准单位,甚至PB级别的数据量在很多系统中也不再是一个偶然现象,种种迹象表明,大数据的时代已真正到来。 大数据这个词汇越来越多地被提及,从大数据的定义来说,大数据具备三个V的显著特性: 1、Volume:数据量巨大,起码是TB级别以上的数据量才称之为大数据,对于大数据来说,数据量的巨大导致访问、处理、传输各个方面开销显著增加,也就有必要使用更好的处理方式来应对。 2、Variety:数据类型繁多,结构化数据、非结构化数据和半结构化数据各自均包含多种数据类型。结构化数据中主要为数据库数据(ORACLE、DB2、SQL等);非结构化数据类型更为丰富(办公文档、文本、图片、XML、HTML、各类报表、视频、音频等);半结构化数据是一种新型的定义方式,相对于结构化数据的先有结构再有数据,半结构化数据则是先有数据再有结构。多种数据类型并存导致整个数据处理难度加大,无法用统一的手段来解决全数据问题。 3、Velocity:数据增长非常快速,这种增长速度之前是难以想象的,随着更多的业务发展(社交媒体、云计算、物联网等),各种先进数据格式的出现(高清、3D、富媒体等),导致了数据是爆炸式的增长速度。这种爆炸式的数据增长主要是由数据的属性所多样化带来的,数据首先具备时间属性,历史数据、当前数据和未来数据均需要保持和考虑,需要保留多个历史副本;其次数据具备多格式的特性,一份数据会因应用系统的不同而带来不同格式的访问需求;最后数据还要有多位置的属性,在个人、家庭、单位及云环境下会有多个副本,用于多个场景。 非结构化数据管理难题 非结构化数据在大数据中时代的地位无疑是最为重要的,根据Gartner统计,在当前的环境中,企业有20%的数据是结构化数据,80%的数据是非结构

数据库并发控制

数据库是一个共享资源,可以提供多个用户使用。这些用户程序可以一个一个地串行执行,每个时刻只有一个用户程序运行,执行对数据库的存取,其他用户程序必须等到这个用户程序结束以后方能对数据库存取。但是如果一个用户程序涉及大量数据的输入/输出交换,则数据库系统的大部分时间处于闲置状态。因此,为了充分利用数据库资源,发挥数据库共享资源的特点,应该允许多个用户并行地存取数据库。但这样就会产生多个用户程序并发存取同一数据的情况,若对并发操作不加控制就可能会存取和存储不正确的数据,破坏数据库的一致性,所以数据库管理系统必须提供并发控制机制。并发控制机制的好坏是衡量一个数据库管理系统性能的重要标志之一。 DM用封锁机制来解决并发问题。它可以保证任何时候都可以有多个正在运行的用户程序,但是所有用户程序都在彼此完全隔离的环境中运行。 一、并发控制的预备知识 (一) 并发控制概述 并发控制是以事务(transaction)为单位进行的。 1. 并发控制的单位――事务 事务是数据库的逻辑工作单位,它是用户定义的一组操作序列。一个事务可以是一组SQL 语句、一条SQL语句或整个程序。 事务的开始和结束都可以由用户显示的控制,如果用户没有显式地定义事务,则由数据库系统按缺省规定自动划分事务。 事务应该具有4种属性:原子性、一致性、隔离性和持久性。 (1)原子性 事务的原子性保证事务包含的一组更新操作是原子不可分的,也就是说这些操作是一个整体,对数据库而言全做或者全不做,不能部分的完成。这一性质即使在系统崩溃之后仍能得到保证,在系统崩溃之后将进行数据库恢复,用来恢复和撤销系统崩溃处于活动状态的事务对数据库的影响,从而保证事务的原子性。系统对磁盘上的任何实际数据的修改之前都会将修改操作信息本身的信息记录到磁盘上。当发生崩溃时,系统能根据这些操作记录当时该事

一体化数据采集平台解决方案

数据采集一体化解决方案 第一章项目 1.1项目概况 近年来随着互联网信息化发展,大部分传统企业的信息化发展是相当迅速,对信息化监管更是需求很多,其中以商混行业较为突出。信息化监管不仅仅是企业本身的需要,也是诸如政府监管、民间自发组织商混协会监督、集团公司旗下多个商混站监控等的迫切需要。 1.2项目目标 结合市场情况及客户的实际需要,加强客户监管力度,提高质量水平,做到实时监控生产,满足客户监管要求,达到一体化监管目标。 1.3需求分析 由于客户多站点,管理比较粗放,信息化水平较低,监管困难,任务分配不均,导致资源浪费即有生产公司忙不过来,无生产公司空闲的资源浪费浪费,合理的分配也是一个重大需求。总结以上主要有以下两点需求 (1)实时监控生产状况并对各个企业进行数据分析(达到以单生产线为基础单元的目标) (2)通过平台监管合理分配生产:通过各企业生产情况进行多维度分析,进而合理分配任务 第二章数据采集一体化信息服务平台 该平台是以微软Microsoft SQLserver数据库为基础,B/S架构模式

进行部署,客户使用以浏览器为媒介查看采集数据,内部数据传输以服务端与采集端两个模块,属分布式系统 2.2数据采集一体化信息服务平台结构简介 通信协议采用TCP数据通信,Webservice对外统一接口等技术,实时的将各个节点的信息采集到平台端。 2.3采集客户端及服务端 本系统数据采集主要以混凝土拌合站生产数据信息采集及服务器端接收数据 采用TCP数据通信,使用计算机网络进行数据传输。客户端将采集到的数据实时发送到服务器端,已达到数据采集的目的。 只需要在客户机上部署采集模块实现采集上传,服务器端部署采集客户端接收采集端的数据 2.4技术要求 服务器端: 建议使用固定IP,无固定IP需申请域名,至少20M宽带,不建议移动网络,推荐电信,联通,服务器硬件依据客户商混站数量适当提高要求,建议增加UPS,增加硬件防火墙,安装杀毒软件采集端:采集端电脑能够连接Internet网络至少4M宽带 第三章平台后期维护 3.1 平台维护

常用的医学数据库

常用的医学数据库集团文件发布号:(9816-UATWW-MWUB-WUNN-INNUL-DQQTY-

众所周知,互联网是个宝库,有各种各样的医学资料。可是,在我们需要的时候,常常找不到自己想要的资源。今天,我就给大家介绍一实用的医学网站及其特点,希望对大家能有所帮助。 1,常用的医学数据库: 1,Pubmed检索 说到医学数据库,就不的不说大名鼎鼎的Pubmed()了。PubMed 提供生物医学方面的论文搜寻以及摘要,而且更重要的是这些免费,它为研院校图书馆以外的用户提供了一个强大的数据检索平台。数据库来源为MEDLINE。其核心主题为医学,该搜寻引擎是由美国国立医学图书馆提供,作为 Entrez 资讯检索系统的一部分。虽然PubMed 的资讯并不包括期刊论文的全文,但可能提供指向全文提供者(付费或免费)的连结。PubMed是美国国家医学图书馆(NLM)下属的国家生物技术信息中心(NCBI)开发的、基于WWW,查询方便快捷。 但是使用Pubmed使用上有一个很大的问题,不支持中文检索。由于语言的限制,造成我们的检索效率很低,其实大可不必为输入繁琐的医学词汇出错而头痛。我国的技术人员聪明的想了出Pubmed汉化检索,汉化检索的地址是:有兴趣了大家可以试试。该程序可以自动对汉语完成匹配,大大提高了检索效率,同时还能对检索到的摘要信息进行全文求助(付费服务,要是能免费就好了)。 还有我国国产的两个期刊数据库,一个是万方(),另一个是知网(),都是收费服务,如果你所在的医院没有包库,只有羡慕那些免费检索的人了,不过知网不知怎么回事,最近好像更新很慢。还有

许多国内外免费医学数据库。篇幅有限这里就不多说了。发个链接,挺全面的的,大家自己去看看吧。 2 国内着名医学论坛一览表: 1 丁香园论坛()丁香园是国内老牌的医学、生命科学论坛,路人皆知,这里就不多说了。 2 协和眼科联盟()是国内资深的眼科专业论坛,眼科的朋友请不要错过。 3 爱爱医,()主要是面向低年资医师和乡村医师的交流平添,如果你刚毕业进入医疗领域,不妨去要去看看。 4,好医生论坛(),是好医生网站一个栏目。人气挺旺的。 5 医生圈()是个后起之秀,资源挺多的,有空去看看。 国内的医学论坛很多,我就不一一列出来了,医学导航网()收的挺全的,有兴趣的都去尝试尝试。 医学资源分布在网络的各个角落,寻找起来费时费力,网上有许多医学导航网站,对医学资源进行了归类整理,内容全面,很值得收藏。我常用的医学导航网站是:国内外的网站收录的全的,推荐给大家。

Oracle数据仓库中的OLAP及ODM技术分析

1Oracle数据仓库中的OLAP多维分析技术 在传统的数据仓库技术中,数据访问技术经常分为两部分,复杂度较低的、简单的查询应用可直接访问基于关系数据库的数据仓库服务器,而复杂度较高的联机分析处理应用(OLAP)程序则需要通过专门的多维数据库和工具实现。虽然专门的多维数据库提供一整套的分析功能,查询性能更好,但系统的维护十分困难。多维数据库需要从数据仓库复制数据,获取数据的时间延迟相当长,并需要独立的管理过程,专门的数据建模、ETL过程、安全措施和灾难恢复方案。特别是当数据仓库的容量迅速膨胀时,系统性能会急剧下降,使数据访问应用变得不可使用。 1.1OLAP的体系结构 Oracle数据库作为数据仓库的核心和引擎,它集成了OLAP,Oracle数据库的OLAP选项是一种可用的关系多维数据库。多维技术和关系技术共存在同一平台上,实现了数据可管理性和分析能力之间的平衡。通过对SQL的扩充以及在关系数据库中提供OLAP功能,支持复杂分析查询和提供卓越性能的同时,简化了数据迁移过程并降低了维护数据的费用。 1.2Oracle数据仓库中OLAP的相关特点 与传统的多维数据库相比,它集成了oracle数据库管理系统的优势。 (1)由于OLAP集成在Oracle数据库中,将所有的管理任务整合到单一的数据库中,从而简化了管理。 (2)Oracle数据库提供了基于角色的权限管理,没有授权的用户是无法访问Oracle数据库的。数据库中的所有数据,包括OLAP数据,都得到了单一安全策略的保护。所有的用户都被定义在单一的用户目录中,通过标准的Oracle安全功能,例如GRANT和PRIVILEGE来分配权限。 (3)Oracle数据库是能够对关系和多维数据同时提供SQL和OLAPAPI访问的数据库。应用程序开发者可选择使用OLAPAPI的计算和多维数据功能,或使用标准的SQL访问多维数据,任何OLAP计算都可通过SQL进行查询。 提供AnalyticWorkspaceManage(简称AVM)。 它是完全集中于分析工作区中维度模型定义和实施的管理工具。通过它可以方便地创建维表及其结构、事实表以及多维数据库与关系数据库之间的映射,并不需要编程就可实现各种运算。如最大、最小、平均、加权平均、比率和求和运算。并通过oracle提供的OLAPDML语言,这是一种过程编程语言,可用于表达各种类型的计算、设计自定义分析函数以及控制与多维数据类型相关的数据加载和计算过程。O-LAPDML集成了大量的分析函数,可用于产生任何类型的多维计算。如汇总、分配/n分摊、数据选择、财务、预测和回归、数学和统计、模型、定制维度成员等函数类型。通过SQL和PL/SQL以及OLAPWorksheet工具可以访问OLAPDML。2Oracle数据仓库中的ODM应用技术 数据挖掘可以帮助用户发现在数据中隐含的有用信息和规律。Oracle数据库中集成了数据挖掘功能,它避免了把大量数据卸载到外部专用分析服务器的复杂过程。所有的数据挖掘功能都嵌入到了Oracle数据库中,这样,数据准备、模型建立以及模型评估活动都在数据库内进行。ODM可通过Java和PL/SQL应用程序程序员接口(API)以及数据挖掘客户端访问ODM模型构建和模型计分函数,并提供了多种模型建立向导(Wizard),能够协助业务分析人员和开发人员快速地建立数据挖掘模型和对模型进行检验。Oracle数据挖掘可以为多种数据挖掘算法提供支持,这些算法包括属性重要性、分类和回归、集群、关联、特性提取、文本挖掘、序列匹配和比对—BLAST等算法。 3结语 随着数据仓库技术的广泛应用,许多数据库厂商纷纷提出数据仓库解决方案。作为全球最大的关系数据库厂商,Oracle公司也提出了自己的数据仓库解决方案。与传统的数据仓库解决方案相比,Oracle公司提出了完整的数据仓库架构与集成方案。 Oracle数据仓库中的OLAP及ODM技术分析 □李发军 (西北民族大学榆中校区计算机科学与信息工程学院甘肃?兰州730124) 摘要:本文对Oracle数据仓库中的OLAP多维分析技术,以及Oracle数据仓库中的ODM应用技术进行分析研究。 关键词:OracleOLAPODM 中图分类号:C914文献标识码:A文章编号:1007-3973(2007)10-088-1 信息化之窗 88 科协论坛?2007年第10期(下)

气象数据一体化平台设计方案

项目编号:RJ 气象数据一体化信息服务平台 设计方案 2016年1月 南京助事达软件科技有限公司

目录 1?概述?3 1、1?背景与预期?3 1、2建设内容.................................................................................................................................................. 42设计方案?5 2、1?系统架构?5 2、1、1、平台总体架构图 5 2、1、2、?数据流概览.................................................................................................................................. 6 2、2?分布式解析引擎 (6) 2、2、1、?分布式解析引擎概述 (6) 2、2、2、?分布式解析设计架构?7 2、3气象分布式数据库设计........................................................................................................................ 12 2、3、1、?气象一体化平台分布式数据库设计概述?12 2、3、2、分布式数据库设计架构 15 2、4?气象资料云服务引擎?17 2、4、1、?应用授权机制 (17) 2、4、2、授权认证机制 17 2、4、3、?服务请求基础参数体系建立 (17) 2、5?服务版本管理体系建立? 18 18 2、5、1、............................................................................................................................... 版本管理设计? 2、5、2、建立服务API帮助文档 18

数据仓库和Oracle-BI

数据仓库和Oracle-BI

一、数据仓库和Oracle BI ORACLE数据库11GR2:数据仓库- 网上课程 二、甲骨文快递/ OLAP 打不开 三、商业智能 1.Oracle商务智能11g的R1:创建分析和仪表盘 2.Oracle商务智能11g的R1:BUILD库 3.Oracle商业智能套件企业版10g第3版:BUILD库 4.Oracle商业智能套件企业版10g第3版:创建报表和仪表板 5.ORACLE BI EE10g第3版:报表/仪表板及商业智能发布加速 6.Oracle商业智能发布11G R1:基本面 7.Oracle商业智能10G:分析概述 8.Oracle BI应用7.9:对于Oracle EBS实施 9.Oracle商业智能套件企业版10g BOOTCAMP 10.Oracle BI应用7.9:开发数据仓库 11.ORACLE的实时决策(RTD)开发 12.ORACLE的实时决策3.0(RTD)开发 13.Oracle商业智能10G:分析概述– RWC 14.Oracle商业智能应用7.9.6实施

15.到Siebel商业分析7.7:第二部分- 网上课程 16.Oracle BI应用7.9:概述- 网上课程 17.到Siebel商业分析7.7:第一部分- 网上课程 18.Data WarehousingOracle商务智能11g的简介:最终用户工具- 网上课程 四、数据挖掘 打不开 五、Oracle Warehouse Builder将10g的 1.Oracle Warehouse Builder中10G:实现部分我 2.Oracle Warehouse Builder中10G:第二部分实施 3.Oracle Warehouse Builder中10G:新功能- 在线课程 4.Oracle9i的仓库构建器:脚本- 网上课程 六、Oracle商务智能 1.Oracle商务智能11g的升级和新功能 2.ORACLE BI Discoverer管理员11G:制定一个EUL 3.Oracle商务智能Discoverer Plus中11G:关系型和OLAP数据进行分析 4.Oracle商业智能发布10g第3版:基本面 5.ORACLE BI Discoverer管理员11G:制定一个EUL 6.Oracle商务智能11g的R1:系统管理- 网络课程

Oracle和IBM数据仓库方案对比

Oracle和IBM数据仓库方案对比 概述 成功地实施一个数据仓库项目,通常需要很长的时间。如果仅仅着眼于短期成果,缺乏整体考虑,采用一种不健全的体系结构,不仅会增加系统开发和维护成本,而且必将对发挥数据仓库的作用造成不利的影响。 Oracle公司是世界上最大的数据仓库厂家,能够提供完整的数据仓库解决方案。根据第三方专业咨询机构TDWI-Forrester所做的市场调查显示,Oracle是大多数IT主管选择数据仓库平台时的首选。 IBM数据仓库的市场占有率低于Oracle。权威市场分析机构IDC发布《全球数据仓库平台工具2006年度供应商市场份额》报告,根据2006年度软件收入,把甲骨文评为数据仓库平台工具领域的领先供应商(数据仓库平台工具包括ETL工具、数据仓库存储平台、多维数据库、前端展现工具)。IDC把甲骨文评为数据仓库管理领域的领先供应商,是因为甲骨文的市场份额已接近41%。在数据仓库管理工具市场,甲骨文排名最近的竞争对手的各项指标几乎只有甲骨文的一半,市场份额仅占22.8%。下图是另一家权威市场分析机构Gartner的数据仓库象限图: IBM同样低于Oracle。 ETL工具 IBM的ETL工具有三个:收购的DataStage(通常市场上说的IBM的ETL工具指的就是Datastage,不提供增量数据捕获功能,价格昂贵),数据联邦工具:Information Integrator(异构连接性好、提供增量数据捕获功能,但是不提供完整的数据源到目标数据库的ETL功能,尤其是数据转换功能很弱,没有ETL步骤打包、流程编排功能,没有按照事件或者时间触发ETL流程的功能,价格昂贵),包在Data Warehouse Edition中的ETL工具SQL Warehousing(功能很弱,异构连接性差,不提供增量数据捕获,是一个新工具,没有什么用户,不是IBM的主流ETL工具)。 功能点 使用场景或者益处 Oracle IBM 增量数据捕获 增量数据加载时,如果数据源系统没有时间戳,或者时间戳不可靠,需要利用读取数据源系统日志或者触发器方式获取增量数据,然后根据需要可以复制到目标数据库上或者批量同步到目标数据库上。 Oracle Data Integrator,对于Oracle数据库和DB2 400可以采用读取日志方式,其他数据库采用触发器方式

数据库事务管理小结

数据库事务管理小结 --by 小马哥 前面一篇小结<数据库学习小结(JDBC-DAO)>是本文小结的基础,我觉得需要对数据库的事物管理单独作为一个章节来总结一下,否则有可能说不清楚. 先来个引子,其实就是把<数据库学习小结(JDBC-DAO)>文中第八章节的内容拷过来了. 一.jdbc 对事物的控制 事物本身,也不想多讲了.事物本身的定义可以参照书本<数据库系统概论>里面的讲解.这里只大致介绍一下jdbc 对事物的支持,jdbc 是通过commit()和rollback()两个函数来实现的. 书本里面,对事物的举例,用的是一个转账的例子,张三给李四转账1000元,不能扣了张三的钱之后李四的钱却没加上去,这就是一个事物.我这里由于不想改代码,所以我就不写转账的示例代码了,下面的例子,我们假定添加"李莉"和"李刚"两个操作,是一个原子性的操作,来理解下面代码(还是仔细看注释): 看代码中标黄的位置,我们最初把其注释掉(假定数据库之前没有"李莉"和"李刚"这两个人的数据).OK,执行完了之后查看数据库 : 发现"李莉"被添加了进来,但是"李刚"并没有被添加进去.而且控制台的输出打印了"haha2",说明后面添加李刚的代码并没有被执行到,而是走到异常处理中去了. OK,删掉数据库中"李莉"的数据,然后把注释的两行加上,再执行代码,发现控制台的打印依旧存在,但是"李莉"的数据如我们所愿,也没有被写入到数据库,这就和我们假定的是一样了.

二.数据库隔离级别 第一章节中,我们通过例子可以看到,jdbc 是通过commit()和rollback()两个函数来实现事物的提交和回滚(rollback 本文中没有给出范例代码).我们先来看看下面的这个表格table1,它是个抽象的概念,表示数据库的几种隔离级别,有的数据库(如mysql)支持很多种隔离级别,可以自己配置.有的就只支持很简单的一两种.表格中的V 表示,有可能会出现这种情况,x 表示,这种情况不会发生.隔离级别的作用是能够保证多个线程同时操作一条数据时的正确性,它是一个非常重要的概念,也是一个不容易理解透的概念.希望我能讲清楚: 读未提交(Read 数据,还没有进行提交,别人就可以看到,这个时候就会产生脏读,可以重复读,幻读了. 读已提交(Read committed):他的隔离级别稍微高一些,意思就是说当一个线程的操作事务没有提交,别人是无法读取的得到的,但是他还是不能解决不可重复读和幻读. 可重复读(Repeatable read ):隔离级别更高了,它是mysql 的默认隔离级别,它能保证不会读到其他线程未提交的数据,也能保证每次读到的数据是一样的,但是不能避免幻读的问题. 可串行化(Serializable ):这是级别最高的隔离级别,它可以避免脏读,不可重复读,幻读的问题. 隔离级别越高,对数据正确性的保证会越好,但同时牺牲很多的数据库性能,并发性会越差,具体的调整需要根据自己的需要进行,建议不要设置为可串行化与读未提交这样的级别,当然各个数据库提供对隔离级别的支持是不一样的,有些数据库压根就没有实现和支持相应的隔离级别。 ok ,我们还是通过在mysql 数据库中来操作一遍,根据例子来理解上面的那个表格table1,在做实验之前,先必须了解一个mysql 的知识. 要记住mysql 有一个autocommit 参数,默认是on,它的作用是每一条单独的查询都是一个事务,并且自动开始,自动提交.这种模式会在每条语句执行完毕后把它作出的修改立刻提交给数据库并使之永久化.事实上,这相当于把每一条语句都隐含地当做一个事务来执行.如果你想明确地执行事务,需要禁用自动提交模式并告诉MySQL 你想让它在何时提交或回滚有关的修改. 我们来看看默认的mysql 中,这个autocommit 模式是什么: 可以看到,autocommit 默认是打开的. 执行事务的常用办法是发出一条START TRANSACTION (或BEGIN )语句挂起(暂停)自动提交模式,然后执行构成本次事务的各条语句(即从start transaction 语句开始,到commit 语句结束这中间的语句),最后用一条COMMIT 语句结束事务并把它们作出的修改永久性地记入数据库.万一在事务过程中发生错误,用一条ROLLBACK 语句撤销事务并把数据库恢复到事务开始之前的状态. START TRANSACTION 语句"挂起"自动提交模式的含义是:在事务被提交或回滚之后,该模式将恢复到开始本次事务的START TRANSACTION 语句被执行之前的状态.(如果自动提交模式原来是激活的,结束事务将让你回到自动提交模式;如果它原来是禁用的,结束当前事务将开始下一个事务) 比如说这个就表示,一个线程有 可能会读取到另外一个线程的未 提交的某个数据

相关文档
最新文档