图书前言

前言

数据库技术自从20世纪60年代中期问世以来,在过去的半个世纪里已经形成了坚实的理论基础,实现了成熟的商业产品,具有广泛的应用领域。数据库是计算机技术发展最快的领域之一,也是应用最广的技术之一。在互联网时代,数据库又迎来前所未有的机遇和挑战。

基于数据库的应用软件系统存储和管理数据的核心技术是运用数据库管理系统软件,它具有数据定义、数据操作、数据库运行管理和数据库维护、客户端工具软件等功能。近年来为了适应信息社会快速发展的需要,各种数据库管理系统不断升级换代,新技术不断出现。

Oracle作为一个通用的数据库系统,经过多年的发展,Oracle占据着企业数据库(大型数据库)领域超过48.1%的市场份额,成为高端企业数据库软件的绝对领导者。

从Oracle 8到Oracle 9i经历了4年,再到Oracle 10g又用了2年,然后是Oracle 11g又用了3年,2013年Oracle 12c发布、将云计算融入数据库中又用了6年的时间。在这些产品版本变化的过程中,从Oracle 10g开始融入了网格计算技术,这是一款继往开来的数据库产品。

在这些产品的不同版本之间向下兼容。不可否认,Oracle每推出一个新的版本,都会有新技术在里面体现,数据库管理系统的高级应用人员应该关注新的功能。但是,这作为面向高年级本科生的教材,在有限的课时内讲述的是如何基于大型数据库技术进行数据库的设计、创建与使用,其内容是大型数据库系统中最基本、最经典的知识和技术的运用。纵观Oracle的发展变化,从Oracle 8i开始,不同版本之间除产品安装略有不同外,各个版本的主要技术兼容性、参数文件、SQL*Net、SQL*Plus、网络配置文件、内存结构、数据库实例、事务机制、用户身份识别等概念变化并不大。因此,本教材在编写过程中充分淡化了Oracle具体版本的概念,以各版本通识性理论与技术介绍为主,结合作者在数据库应用项目开发方面的实践与长期的Oracle数据库教学体会进行内容的组织,目的是把Oracle数据库最通用的、应知应会的知识点介绍给广大读者。同时我们以实际案例驱动,在教材中充分体现了会在软件企业实际数据库项目开发中使用的数据库建模工具、数据访问接口,性能调优方面的经验总结等。教材相关章节的程序代码都可在Oracle 10g以上的系统中运行。

“Oracle数据库”是本科软件工程、计算机应用、信息管理与信息系统、电子商务类专业的一门专业课程,是一门集数据管理、数据库应用技术和计算机网络等多种知识为一体的课程。它以提高数据库设计、项目开发、管理信息系统应用水平为目的,对大型网络数据库进行规划、设计和应用系统开发。其主要内容包括: 关系数据库概述与Oracle安装,Oracle数据库体系结构,用户与权限管理,数据表及其管理,数据查询,PL/SQL程序设计,索引、视图、序列及同义词,事务与并发处理控制,触发器及应用,Oracle安全策略、数据库备份与恢复,数据库部署、访问接口与调优。

通过本课程的教学,着重培养学生运用Oracle数据库的能力。了解Oracle数据库的基本概念和体系结构,熟练掌握数据库SQL语言应用技能和复杂操作事项处理代码的编写技能,熟练掌握扩展SQL语言——PL/SQL语言及其设计方法,掌握Oracle数据库的管理方法和管理技术,提高大型分布式网络数据库的设计和应用水平。特别是高年级的本科生,认真研读与操练本书后可直接和软件开发企业的实际研发工作对接,至少在数据库应用方面做到学校所学知识和企业实际工作所需之间零盲区。

培养优秀的信息系统建设者和技术精湛的开发工程师是保证建设高质量、高可靠性信息系统的前提和基础。数据库技术在信息系统中有非常重要的作用, 海量数据存储、数据库安全、提高访问速度等与数据库技术密切相关。软件工程专业、计算机科学与技术专业的学生是数据库技术开发、应用的生力军; 信息管理与信息系统专业的学生是信息系统管理与信息技术的规划者与使用者。本书作者数十年来给软件工程专业和信息管理专业本科生和研究生主讲“Oracle数据库”课程。同时,作为Oracle认证的DBA和高级软件构架师,在多年的教学过程中,曾选用了不少相关Oracle类教材作为该课程的教科书,大部分教材写得都很好,也很有特色。然而,在教学实践中发现,这些教材都存在着一定的局限性。例如,有些基本是一个操作手册,无知识的系统性; 有些虽然给教材起名为Oracle数据库,但内容却是数据库原理的简单重复,没有反映出Oracle数据库独有的、各版本共同的特点,和一般的数据库原理教科书没什么区别,关键性知识点蜻蜓点水、忽略而过,无实际开发案例可言,更没有涉及大对象数据的管理与处理、图形图像、音频视频等多媒体数据的存储管理方面的内容。基于上述原因和课程教学改革与课时的限制,以大型数据库管理系统Oracle的基本原理和通识性技术为基础,结合软件企业实际开发所用技术自成体系、建设理论与实践兼备的“Oracle数据库”教材以满足应用型人才的培养是本书作者想要得到的结果。

本教材的特色如下。

1. 理论与实用技术并重

以Oracle数据库实用技术为主,兼顾理论。尤其是教材用例的选择,按照应用技能型专业人才培训目标、岗位需求和前后续课程的衔接关系,统筹取舍,删繁就简,做到理论简练,实用技术为主。

2. 以就业技能为导向

教材突出介绍Oracle数据库的主要通识性、实用技术,加强操作实现技能的实例编排,以现行工程实践中所使用的新技术应用为主,为就业铺垫。

3. 教材设计采用项目任务驱动

教材设计上以项目为驱动,体现了软件企业数据库项目开发过程中的需求分析、详细设计、平台选择、接口及编码实现、部署等环节,在教材的相关章节穿插了这些内容。

4. 校企联合编写

我们联合企业一线资深软件构架师、经验丰富的开发工程师,以Oracle数据库在软件项目中的应用为实例,给出了Oracle数据库技术在具体工程中的应用实现,使学生掌握怎样编写高效的SQL代码,怎样进行数据建模,怎样使用相关的数据访问接口。

本书得到了西安科技大学规划教材立项基金的支持。教材的第1~11章由岳国华编写,全书由岳国华统稿。西安科技大学计算机学院院长,博士生导师李占利教授对本书的编写给出了指导性建议,青海民族大学翟岁显教授、西安科技大学杨君锐教授分别详细地审阅了本书的全部手稿并提出了宝贵的建议; 无锡定华传感网科技有限公司资深工程师皇甫智勇提供了翔实的数据库开发案例及文档; 清华大学出版社,特别是贾斌编辑,对本书的出版给予了大力支持。在此,作者对他们表示深深的感谢。

Oracle数据库是Oracle公司的主打产品,Oracle“文化”可谓博大精深,本书以Oracle数据库通识性知识为主进行介绍,由于学时因素的限制,我们无法对一些不太常用的功能展开讨论,但有了书中的通识性知识结构可为读者进一步深入学习奠定良好的基础。

在本书的编写过程中,我们参考了众多的相关参考书、资料、Oracle公司的文档资料、CSDN.Net等网络资料,为了表示尊重和感谢,在本书的最后我们尽量列表说明,如有遗漏敬请谅解。另外,由于Oracle数据库技术发展迅速,我们虽已全面认真地对书稿进行了多次检查修改,但难免有错误和不妥之处,敬请读者批评指正。读者在使用本教材的过程中所发现的问题也可以直接和作者联系,作者电子邮箱: yueguohua@163.com。

岳国华

2017年夏于西安