编辑推荐
清华大学出版社“案例课堂”大系
丛书以案例的形式讲解软件的内容,读者可以在实践中熟练掌握软件的使用方法。
每一个案例都精挑细选,同时配有全程语音讲解的视频文件,方便读者学习。
案例的选材广泛,涉及到软件应用的各个领域、各个行业,学习无死角。
 ;
内容简介
本书以零基础讲解为宗旨,用实例引导读者深入学习,采取“数据库基础知识→数据库基本操作→SQL查询语句→数据库高级管理→项目开发实战”的讲解模式,深入浅出地讲解Oracle的各项技术及实战技能。 本书第1篇“Oracle数据库基础”主要讲解初识Oracle 12c、Oracle的安装与环境配置等;第2篇“Oracle数据库基本操作”主要讲解数据库和数据表的基本操作,数据类型和运算符,视图的操作,插入、更新与删除数据等;第3篇“SQL查询语句”主要讲解Oracle函数、查询数据、PL/SQL编程、存储过程、Oracle触发器、游标的应用等;第4篇“Oracle数据库高级管理”主要讲解事务与锁、管理表空间和数据文件、Oracle的安全管理、控制文件和日志、数据备份与还原、性能优化、SQL Plus工具详解;第5篇“Oracle开发与案例设计”主要讲解Java操作Oracle数据库、设计论坛管理系统数据库、设计新闻发布系统数据库、设计公司人事管理系统数据库、设计学生信息管理系统数据库。 在DVD光盘中赠送了丰富的资源,诸如Oracle案例源码命令、教学幻灯片、本书精品教学视频、Oracle常用命令速查手册、数据库工程师职业规划、数据库工程师面试技巧、数据库工程师常见面试题、Oracle常见错误及解决方案、Oracle数据库经验及技巧大汇总等。另外光盘中还包含20小时的全程同步教学录像。 本书适合任何想学习Oracle的人员,无论您是否从事计算机相关行业,或者您是否接触过Oracle,通过学习均可快速掌握Oracle的管理方法和技巧。
作者简介
暂无
目录
目 录
第1篇 Oracle数据库基础
第1章 初识Oracle 12c 3
1.1 数据库基础 4
1.1.1 什么是数据库 4
1.1.2 表 4
1.1.3 数据类型 5
1.1.4 主键 5
1.2 数据库技术构成 5
1.2.1 数据库系统 5
1.2.2 SQL 6
1.2.3 数据库访问技术 7
1.3 什么是Oracle 12c 8
前沿
前 言
目前,Oracle的技术广泛应用于各行各业,其中电信、电力、金融、政府及大量制造业都需要Oracle技术人才,而且各个大学的计算机课程中有Oracle课程,学生也需要做毕业设计。通过本书的实训,读者能够迅速掌握Oracle最新的核心技术,并能胜任企业大型数据库管理、维护、开发工作,从而帮助解决公司与学生的双重需求问题。
本书特色
1. 零基础、入门级的讲解
无论您是否从事计算机相关行业,或者您是否接触过Oracle数据库,都能从本书中找到最佳起点。
2. 超多、实用、专业的范例和项目
本书在编排上紧密结合深入学习Oracle数据库技术的先后过程,从Oracle数据库的基本操作开始,带领大家逐步深入地学习各种应用技巧,侧重实战技能,使用简单易懂的实际案例进行分析和操作指导,让读者读起来简明轻松,操作起来有章可循。
3. 随时检测自己的学习成果
每章首页中,均提供了“本章要点”,以指导读者重点学习及学后检查。
每章最后的“跟我学上机”板块,均为根据本章内容精选而成,读者可以随时检测自己的学习成果和实战能力,做到融会贯通。
4. 细致入微、贴心提示
本书在讲解过程中,在各章中使用了“注意”“提示”“技巧”等小栏目,使读者在学习过程中更清楚地了解相关操作、理解相关概念,并轻松掌握各种操作技巧。
5. 专业创作团队和技术支持
本书由IT应用实训中心编著和提供技术支持。
“Oracle数据库”学习最佳途径
本书以学习“Oracle数据库”的最佳制作流程来分配章节,从最初的数据库安装和配置的准备阶段开始,然后讲解Oracle数据库的基本操作、SQL语句查询、数据库高级管理知识等。同时在最后的项目实战环节特意补充了Java操作Oracle数据库、论坛管理系统数据库设计实战、新闻发布系统数据库设计实战、设计公司人事管理系统数据库、设计学生信息管理系统数据库,以便更进一步提高大家的实战技能。
超值光盘
1. 20小时全程同步教学录像
涵盖本书所有知识点,详细讲解每个实例及项目的过程及技术关键点。比看书更轻松地掌握书中所有的Oracle数据库设计知识,而且扩展的讲解部分使您得到比书中更多的收获。
2. 超多容量王牌资源大放送
赠送大量王牌资源,包括Oracle案例源码命令、教学幻灯片、本书精品教学视频、Oracle常用命令速查手册、数据库工程师职业规划、数据库工程师面试技巧、数据库工程师常见面试题、Oracle常见错误及解决方案、Oracle数据库经验及技巧大汇总等。
读者对象
* 没有任何Oracle基础的初学者。
* 有一定的Oracle基础,想精通Oracle的人员。
* 有一定的Oracle基础,没有项目经验的人员。
* 正在进行毕业设计的学生。
* 大专院校及培训学校的老师和学生。
创作团队
本书由刘玉红策划,IT应用实训中心高级讲师编著,参加编写的人员有郭广新、李园、胡同夫、付红、侯永岗、蒲娟、王月娇、包慧利、陈伟光、梁云梁和周浩浩。
在编写本书的过程中,我们尽所能地将最好的讲解呈现给读者,但也难免有疏漏和不妥之处,敬请不吝指正。
免费在线读
第1章
初识Oracle 12c
Oracle是以关系数据库为数据存储和管理作为构架基础构建出的数据库管理系统。它是世界上第一个支持SQL的商业数据库,定位于高端工作站,以及作为服务器的小型计算机,如IBM P系列服务器、HP的Integrity服务器和Sun Fire服务器等。本章主要介绍数据库的基础知识,通过本章的学习,读者可以了解数据库的基本概念、数据库的构成和Oracle的基本知识。
本章要点(已掌握的在方框中打钩)
了解数据库的基本概念
掌握什么是表、数据类型和主键
熟悉数据库的技术构成
熟悉什么是Oracle
熟悉常见的Oracle工具
1.1 数据库基础
数据库是由一批数据构成的有序的集合,这些数据被存放在结构化的数据表里。数据表之间相互关联,反映了客观事物间的本质联系。数据库系统提供对数据的安全控制和完整性控制。本节将介绍数据库中的一些基本概念,包括数据库的定义、数据表的定义和数据类型等。
1.1.1 什么是数据库
数据库的概念诞生于60年前,随着信息技术和市场的快速发展,数据库技术层出不穷,随着应用的拓展和深入,数据库的数量和规模越来越大,其诞生和发展给计算机信息管理带来了一场巨大的革命。
数据库的发展大致划分为以下几个阶段:人工管理阶段、文件系统阶段、数据库系统阶段、高级数据库阶段。其种类大概有3种:层次式数据库、网络式数据库和关系式数据库。不同种类的数据库按不同的数据结构来联系和组织。
对于数据库的概念,没有一个完全固定的定义,随着数据库历史的发展,定义的内容也有很大的差异,其中一种比较普遍的观点认为,数据库(DataBase,DB)是一个长期存储在计算机内的、有组织的、共享的、统一管理的数据集合。它是一个按数据结构来存储和管理数据的计算机软件系统,即数据库包含两层含义:保管数据的“仓库”,以及数据管理的方法和技术。
数据库的特点包括:实现数据共享,减少数据冗余;采用特定的数据类型;具有较高的数据独立性;具有统一的数据控制功能。
1.1.2 表
在关系数据库中,数据库表是一系列二维数组的集合,用来存储数据和操作数据的逻辑结构。它由横向的行和纵向的列组成,行被称为记录,是组织数据的单位;列被称为字段,每一列表示记录的一个属性,都有相应的描述信息,如数据类型、数据宽度等。
例如一个有关作者信息的名为authors的表中,每个列包含所有作者的某个特定类型的信息,比如“姓名”;而每行则包含了某个特定作者的所有信息,如编号、姓名、性别、专业,如图1-1所示。
编号
姓名
性别
专业
100
张三
f
? 计算机
101
李芬
m
? 会计
102
岳阳
f
? 园林
图1-1 authors表结构与记录
1.1.3 数据类型
数据类型决定了数据在计算机中的存储格式,代表不同的信息类型。常用的数据类型有:整数数据类型、浮点数数据类型、精确小数类型、二进制数据类型、日期/时间数据类型、字符串数据类型。
表中的每一个字段就是某种指定数据类型,比如图1-1中“编号”字段为整数数据,“性别”字段为字符型数据。
1.1.4 主键
主键(Primary Key)又称主码,用于唯一地标识表中的每一条记录。可以定义表中的一列或多列为主键,主键列上不能有两行相同的值,也不能为空值。假如,定义authors表,该表给每一个作者分配一个“作者编号”,该编号作为数据表的主键,如果出现相同的值,将提示错误,系统不能确定查询的究竟是哪一条记录;如果把作者的“姓名”作为主键,则不能出现重复的名字,这与现实不相符合,因此“姓名”字段不适合作为主键。
1.2 数据库技术构成
数据库系统由硬件部分和软件部分共同构成,硬件主要用于存储数据库中的数据,包括计算机、存储设备等。软件部分则主要包括DBMS、支持DBMS运行的操作系统,以及支持多种语言进行应用开发的访问技术等。本节将介绍数据库的技术构成。
1.2.1 数据库系统
数据库系统有3个主要的组成部分。
(1) 数据库:用于存储数据的地方。
(2) 数据库管理系统:用于管理数据库的软件。
(3) 数据库应用程序:为了提高数据库系统的处理能力所使用的管理数据库的软件补充。
数据库提供了一个存储空间用以存储各种数据,可以将数据库视为一个存储数据的容器。一个数据库可能包含许多文件,一个数据库系统中通常包含许多数据库。
数据库管理系统(Database Management System,DBMS)是用户创建、管理和维护数据库时所使用的软件,位于用户与操作系统之间,对数据库进行统一管理。DBMS能定义数据存储结构,提供数据的操作机制,维护数据库的安全性、完整性和可靠性。
数据库应用程序(Database Application)主要为用户管理数据库提供一个可视的界面及相关的功能。虽然已经有了DBMS,但是在很多情况下,DBMS无法满足对数据管理的要求。数据库应用程序的使用可以满足对数据管理的更高要求,还可以使数据管理过程更加直观和友好。数据库应用程序负责与DBMS进行通信,访问和管理DBMS中存储的数据,允许用户插入、修改、删除DBMS中的数据。
数据库系统如图1-2所示。
图1-2 数据库系统
1.2.2 SQL
对数据库进行查询和修改操作的语言叫作SQL。SQL的含义是结构化查询语言(Structured Query Language)。SQL有许多不同的类型,有3个主要的标准:ANSI(美国国家标准机构)SQL,对ANSI SQL修改后在1992年采纳的标准,称为SQL-92或SQL2。最近的SQL-99标准从SQL2扩充而来并增加了对象关系特征和许多其他新功能。其次,各大数据库厂商提供不同版本的SQL,这些版本的SQL不但能包括原始的ANSI标准,而且在很大程度上支持新推出的SQL-92标准。
SQL语言包含以下4个部分。
(1) 数据定义语言(DDL):DROP、CREATE、ALTER等语句。
(2) 数据操作语言(DML):INSERT(插入)、UPDATE(修改)、DELETE(删除)语句。
(3) 数据查询语言(DQL):SELECT语句。
(4) 数据控制语言(DCL):GRANT、REVOKE、COMMIT、ROLLBACK等语句。
下面是一条SQL语句的例子,该语句声明创建一个叫students的表:
CREATE TABLE students
(
student_id number(11),
name VARCHAR2(30),
sex CHAR(2),
PRIMARY KEY (student_id)
);
该表包含3个字段,分别为student_id、name、sex,其中student_id定义为表的主键。
现在只是定义了一张表格,但并没有任何数据,接下来这条SQL声明语句,将在students表中插入一条数据记录:
INSERT INTO students (student_id, name, sex, birth)
VALUES (41048101, Lucy Green, 1);
执行完该SQL语句之后,students表中就会增加一行新记录,该记录中字段student_id的值为41048101,name字段的值为Lucy Green,sex字段值为1。
再使用SELECT查询语句获取刚才插入的数据,如下:
SELECT name FROM students WHERE student_id = 41048101;
NAME
------------
Lucy Green
上面简单列举了常用的数据库操作语句,仅给读者一个直观的印象,读者可能还不能理解,接下来会在学习Oracle的过程中详细介绍这些知识。
1.2.3 数据库访问技术
不同的程序设计语言会有各自不同的数据库访问技术,程序语言通过这些技术,执行SQL语句,进行数据库管理。主要的数据库访问技术有以下几种。
1.ODBC
ODBC(Open Database Connectivity,开放数据库互联)技术为访问不同的SQL数据库提供了一个共同的接口。ODBC使用SQL作为访问数据的标准。这一接口提供了最大限度的互操作性:一个应用程序可以通过共同的一组代码访问不同的 SQL 数据库管理系统(DBMS)。
一个基于ODBC的应用程序对数据库的操作不会依赖任何DBMS,也不直接与DBMS打交道,所有的数据库操作由对应的DBMS的ODBC驱动程序完成。也就是说,不论是Access、Oracle还是Oracle数据库,均可用ODBC API进行访问。由此可见,ODBC的最大优点是能以统一的方式处理所有的数据库。
2.JDBC
JDBC(Java Database Connectivity,Java数据库连接)用于Java应用程序连接数据库的标准方法,是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。
3.ADO.NET
ADO.NET是微软在.NET框架下开发设计的一组用于和数据源进行交互的面向对象类库。ADO.NET提供了对关系数据、XML和应用程序数据的访问,允许和不同类型的数据源以及数据库进行交互。
4.PDO
PDO(PHP Data Object)为PHP访问数据库定义了一个轻量级的、一致性的接口,它提供了一个数据访问抽象层,这样,无论使用什么数据库,都可以通过一致的函数执行查询和获取数据。PDO是PHP 5新加入的一个重大功能。
1.3 什么是Oracle 12c
Oracle数据库是积聚了众多领先技术的数据库系统,在集群技术、高可用性、商业智能、安全性、系统管理等方面都在业界居于领先地位。Oracle是一个大型关系数据库管理系统,目前已经成为企业级开发的首选。本节主要介绍Oracle数据库的发展历程和Oracle 12c的新功能。
1.3.1 Oracle的发展历程
Oracle是由甲骨文公司开发出来的,并于1989年正式进入中国市场,成为第一家进入中国的世界软件巨头。Oracle的发展历程如下。
1977年,Larry Ellison、Bob Miner和Ed Oates等人组建了Relational软件公司(Relational Software Inc.,RSI)。他们决定使用C语言和SQL界面构建一个关系数据库管理系统(Relational Database Management System,RDBMS),并很快发布了第一个版本(仅是原型系统)。
1979年,RSI首次向客户发布了产品,即第2版。该版本的RDBMS可以在装有RSX-11操作系统的PDP-11机器上运行,后来又移植到了DEC VAX系统。
1983年,发布的第3个版本中加入了SQL,而且性能也有所提升,其他功能也得到增强。与前几个版本不同的是,这个版本是完全用C语言编写的。同年,RSI更名为Oracle Corporation,也就是今天的Oracle公司。
1984年,Oracle的第4版发布。该版本既支持VAX系统,也支持IBM VM操作系统。这也是第一个加入了读一致性(Read-consistency)的版本。
1985年,Oracle的第5版发布。该版本可称作是Oracle发展史上的里程碑,因为它通过SQL*Net引入了客户端/服务器的计算机模式,同时它也是第一个打破640KB内存限制的MS-DOS产品。
1988年,Oracle的第6版发布。该版本除了改进性能、增强序列生成与延迟写入(Deferred Writes)功能以外,还引入了底层锁。除此之外,该版本还加入了PL/SQL和热备份等功能。这时Oracle已经可以在许多平台和操作系统上运行。
1991年,Oracle RDBMS的6.1版在DEC VAX平台中引入了Parallel Server选项,很快该选项也可用于许多其他平台。
1992年,Oracle 7发布。Oracle 7在对内存、CPU和I/O的利用方面作了许多体系结构上的变动,这是一个功能完整的关系数据库管理系统,在易用性方面也做了许多改进,引入了SQL*DBA工具和Database角色。
1997年,Oracle 8发布。Oracle 8除了增加许多新特性和管理工具以外,还加入了对象扩展(Object Extension)特性。(这一版本已能在Windows系统下使用)
2001年,Oracle 9i release 1发布。这是Oracle 9i的第一个发行版,包含RAC(Real Application Cluster)等新功能。
2002年,Oracle 9i release 2发布,它在release 1的基础上增加了集群文件系统(Cluster File System)等特性。
2004年,针对网格计算的Oracle 10g发布。该版本中Oracle的功能、稳定性和性能的实现都达到了一个新的水平。
2007年7月12日,甲骨文公司推出最新数据库软件Oracle 11g。Oracle 11g有400多项功能,经过了1500万小时的测试,开发工作量达到了3.6万人/月。相对之前版本而言,Oracle 11g具有与众不同的特性。
2013年6月26日,Oracle Database 12c版本正式发布,12c里面的c是cloud,也就是云计算的意思。
与Oracle数据库基本同时期的还有Informix数据库系统。两者使用的用户有所侧重。Oracle数据库系统银行业使用较多,Informix数据库系统,通信业使用较多。由于Oracle数据库产品是当前数据库技术的典型代表,除了数据库系统外,还有应用系统和开发工具等。
1.3.2 Oracle 12c版本的新功能
新版Oracle Database 12c汇集了参会者最多的目光,Larry Ellison也在开幕演讲中重点介绍了12c的一些新特性。在学习Oracle Database 12c之前,数据库管理员应提前了解它的一些新功能、新特性。
(1) PL/SQL性能增强:类似在匿名块中定义过程,现在可以通过WITH语句在SQL中定义一个函数,采用这种方式可以提高SQL调用的性能。
(2) 改善Defaults:包括序列作为默认值,自增列,当明确插入NULL时指定默认值,metadata-only default值指的是增加一个新列时指定的默认值。和11g中的区别在于,11g的default值要求NOT NULL列。
(3) 放宽多种数据类型长度限制:增加了VARCHAR2、NVARCHAR2和RAW类型的长度到32K,要求兼容性设置为12.0.0.0以上,且设置了初始化参数MAX_SQL_STRING_SIZE为EXTENDED,这个功能不支持CLUSTER表和索引组织表;最后这个功能并没真正改变VARCHAR2的限制,而是通过OUT OF LINE的CLOB实现。
(4) TOP N的语句实现:在SELECT语句中使用“FETCH next N rows”或者“OFFSET”,可以指定前N条或前百分之多少的记录。
(5) 行模式匹配:类似分析函数的功能,可以在行间进行匹配判断并进行计算。在SQL中新的模式匹配语句是“match_recognize”。
(6) 分区改进:Oracle Database 12c中对分区功能做了较多的调整,其中共分成以下五个部分。
* INTERVAL-REFERENCE分区:把11g的INTERVAL分区和REFERENCE分区结合,这样主表自动增加一个分区后,所有的子表、孙子表、重孙子表到重重重……孙子表都可以自动随着外接列新数据增加,自动创建新的分区。
* TRUNCATE和EXCHANGE分区及子分区。无论是TRUNCATE还是EXCHANGE分区,在主表上执行,都可以级联地作用在子表、孙子表、重孙子表到重重重……孙子表上同时运行。对于TRUNCATE而言,所有表的TRUNCATE操作在同一个事务中,如果中途失败,会回滚到命令执行之前的状态。这两个功能通过关键字CASCADE实现。
* 在线移动分区:通过MOVE ONLINE关键字实现在线分区移动。在移动的过程中,对表和被移动的分区可以执行查询、DML语句以及分区的创建和维护操作。整个移动过程对应用透明。这个功能极大地提高了整体可用性,减少了分区维护窗口。
* 多个分区同时操作:可以对多个分区同时进行维护操作,比如将一年的12个分区合并到1个新的分区中,又如将一个分区分成多个分区。可以通过FOR语句指定操作的每个分区,对于RANGE分区而言,也可以通过TO来指定处理分区的范围。多个分区同时操作自动并行完成。
* 异步全局索引维护:对于非常大的分区表而言,UPDATE GLOBAL INDEX不再是棘手的事。Oracle可以实现异步全局索引异步维护的功能,即使是几亿条记录的全局索引,在分区维护操作,比如DROP或TRUNCATE后,仍然是VALID状态,索引不会失效,不过索引的状态是包含OBSOLETE数据,当维护操作完成时
Oracle数据库应用案例课堂 pdf下载声明
本pdf资料下载仅供个人学习和研究使用,不能用于商业用途,请在下载后24小时内删除。如果喜欢,请购买正版