前 言
大数据时代,数据的存储和处理渗透在各个应用领域。数据库技术是一种基础且重要的数据处理手段,数据库的操作、设计与开发能力已成为IT人员必备的基本素质。数据库课程是计算机专业的核心基础课程,数据库技术及其应用正在以日新月异的速度发展,因此计算机及其相关专业的学生非常有必要学习和掌握数据库知识。数据库在当今各行各业中都有举足轻重的作用。Oracle数据库是应用非常广泛的大型数据库管理系统,其体系结构灵活,具有跨平台的特性,适用面广,市场占有率高,各种高级语言都能很好地与其兼容,其安全性、完整性和一致性等方面都优于同类数据库,因此深受广大企事业单位的青睐,成为广泛应用于政府和各类企事业单位的首选数据库系统。
目前,市场上关于数据库相关的图书虽然比较多,但是它们大部分偏重于技术深度,对于初学者来说过于专业,比较难懂,而且一些具有较高应用价值的内容却偏重理论,应用与实践环节不足。本书便是为了解决这一问题而写。
本书的前身《Oracle数据库应用与实践》于2014年出版,至今已经8年。其间,数据库技术应用日益广泛和深入,数据库课程教学也与社会的实际需求结合越来越密切。为了满足新的教学和学习需求,并满足爱国主义教育和课程思政的要求,笔者对《Oracle数据库应用与实践》做了全面升级和修订。为了更加突出数据库原理与应用的特色,对书名也进行了调整。
本书总结笔者多年的教学心得体会,采用理论结合实践的编写方式,通过简洁明快的语言和短小精悍的代码示例,帮助读者快速掌握数据库原理和Oracle数据库应用开发技术,并让他们对国产openGauss数据库以及大数据和云数据库等知识也有基本的了解。
本书内容丰富,编排合理,讲解深入浅出,涵盖数据库开发人员、Oracle程序设计人员、大数据开发人员和DBA需要掌握的基本知识,是不可多得的数据库教学用书,也是读者自学数据库尤其自学Oracle的佳作。
本书特色
1.全面涵盖Oracle的核心技术细节和认证考试等内容
本书全面涵盖Oracle 18c的体系结构、应用技术及PL/SQL需要重点掌握的知识,同时对Oracle的新技术也有所涉及。另外,本书以电子书的方式提供Oracle认证考试的相关内容,可以帮助读者获得高含金量的Oracle认证证书。
2.给出Oracle应用与管理中的常用技巧
本书对Oracle应用与管理中经常会用到的一些技巧做详细讲解,并对经常会碰到的一些问题进行解答,另外还对初学者经常出现的一些问题进行归纳和总结,从而帮助读者更好地掌握这些知识点。
3.融入课政思政内容,适应当前教学需求
本书新增国产数据库openGauss以及大数据和云数据库等相关知识,以帮助读者了解国产数据库技术以及新兴数据库技术的发展情况,从而满足当前数据库教学的需求。
4.结合大量的代码示例、习题与实践练习进行讲解
本书结合大量的代码示例进行讲解,并在除第18章外的每章后给出习题与实践练习,以帮助读者理解数据库的原理并提高实际动手能力。本书还以电子文档的形式提供实验指导与实训,便于相关老师和学生进行课堂实验。
5.项目案例典型,实用性强
本书第18章介绍一个笔者开发的实际项目案例,该案例采用流行的Java EE框架实现,读者通过该案例可以融会贯通地理解相关技术。该案例有较高的应用价值,读者稍加修改,便可将其用于实际项目开发中。
6.免费提供教学PPT、源代码和习题参考答案等教学资源
本书免费提供专业的教学PPT,以方便老师教学时使用,也可帮助读者梳理知识点;另外还提供本书涉及的源代码,便于读者实战演练;而且还提供习题参考答案,便于读者检查学习效果。
本书内容
全书共18章,可以分为如下5部分:
第1部分包括第1~4章。首先介绍数据库的基本概念,涵盖数据库系统概述、数据库系统结构、常用数据库简介、Oracle数据库简介、国产数据库简介;然后介绍关系数据库的理论基础,从数学的角度重新定义关系、元组和属性等基本概念;接着详细介绍关系模型的三要素,以及关系的完整性约束等;最后从应用角度详细介绍各种查询运算规则及应用场景,并给出简单有效的优化查询技巧。
第2部分包括第5~6章。首先重点介绍数据库设计的详细步骤、数据库开发环境及数据库设计的6个阶段(需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行和维护),并针对每个阶段分别介绍其相应的任务、方法和步骤;然后介绍Oracle 18c数据库的新特性,并详细介绍在Windows系统下安装Oracle 18c的步骤;最后介绍SQL Developer、SQL*Plus和企业管理器OEM的安装与使用。
第3部分包括第7~10章,主要涵盖Oracle数据库体系结构、表空间和数据文件管理、Oracle模式对象、SQL基础等内容。首先介绍Oracle数据库的物理结构、逻辑结构和内存结构,以及Oracle的永久表空间、临时表空间、撤销表空间、非标准块表空间和大文件表空间的创建与管理,并对数据文件的管理、查看表空间和数据文件基本信息等做必要介绍;然后以应用为目标,详细介绍Oracle模式对象中的表及表的完整性约束,并简单介绍视图、索引、序列和同义词的创建与使用方法;最后对SQL语句的用法做详细介绍,例如创建、操纵、查询数据库与数据表,视图的创建与应用,以及索引的创建与应用等,其中,在表的查询操作中提供实用查询技巧,另外还提供多种查询方法及其等价转换。
第4部分包括第11~15章。首先介绍PL/SQL编程基础、存储过程与函数的创建、触发器和包的创建与应用、Oracle安全性管理、数据库备份和恢复;然后介绍数据库高级编程,包括存储过程、函数、游标和触发器等各种复杂数据库对象的创建及其在数据库中的应用。
第5部分包括第16~18章。首先介绍大数据和云数据库的相关知识,以及openGauss数据库的基础知识;然后通过数据库综合实例介绍Oracle开发的经验和技巧,以及实际应用中数据库设计的基本步骤和方法,并给出详细的设计过程;最后以一个医药管理系统的设计与开发完整地再现整个数据库系统的设计过程。
附录以电子文档的方式提供8次课程实验指导和实训,各院校的相关授课老师可以结合具体教学课时选择性安排实验;另外还会简单介绍华为数据库openGauss的相关知识,以及Oracle的一些常用语句和使用技巧,以方便初学者学习和参考;最后对Oracle认证考试的相关知识进行解读,并提供一些考试样题供读者参考和学习。
读者对象
? 数据库系统管理与开发入门人员;
? 学习Oracle PL/SQL开发技术的人员;
? 广大数据库开发程序员;
? 应用程序开发人员;
? 高校Oracle课程教学人员;
? 专业数据库培训机构的学员;
? 想提高项目开发水平的人员;
? 软件开发项目经理;
? 参加Oracle认证考试的人员;
? 需要一本案头参考手册的人员。
配套资料
? 教学课件(PPT);
? 示例和案例源代码;
? 习题参考答案;
? 电子书。
这些资料需要读者自行下载。请在清华大学出版社的网站(www.tup.com.cn)上搜索到本书,并在本书页面上找到“资源下载”栏目,然后单击“网络资源”或“课件下载”按钮即可下载。
致谢
在此感谢庞林、易伟楠、贾雪磊、薛琼莹、张文、王建强、陆文赫、沙雨、袁众、齐媚涵和李佳欣等人提供的帮助。
本书能够顺利出版,还要感谢2020年南京信息工程大学教材基金的资助!另外,本书编写时参考了一些优秀的数据库教材及网络资料,在此向资料的作者表示感谢!最后感谢清华大学出版社参与本书出版的各位编辑,没有你们,本书难以高质量出版!
联系作者
本书由方巍主笔编写。其他参与编写的人员有沈亮、郑玉和方菲。
虽然我们对本书内容力求准确,并多次进行审校,但因时间所限,加之Oracle数据库产品与内容的浩瀚,书中可能还存在疏漏和不足之处,恳请读者批评与指正。
本书提供答疑邮箱(hsfunson@163.com和627173439@qq.com),读者在学习的过程中若有疑问,可以联系作者获得帮助。
方巍
2023年4月