前言 当今IT产业发展迅猛,各种技术日新月异,在发展变化如此之快的年代,学习者已经变得越来越被动。在这种大背景下,如何快速地学习一门技术并做到学以致用,是很多人关心的问题。一本书、一堂课只是学习的形式,而真正能够达到学习的目标则是融合在书中及课堂上的学习方法,使学习者具备了学习技术的能力。 为适应工程教育人才培养的课程改革要求,以能力为导向培养能够解决复杂工程问题的、高素质的应用型软件人才,山东科技大学阿里云大数据学院与QST青软实训积极探索“产教深度融合校企协同育人”的人才培养模式,实现专业链与产业链、课程内容与职业标准、教学过程与生产过程的对接。通过多年的合作与探索,集成高校教师的完备知识体系与企业教师的丰富实践经验,完成了这本《Oracle数据库应用与开发》教材。本书在编写上突破了传统的章节结构,转化为具体的项目任务型,内容不再是知识点的铺陈,而是采用项目引领的模块化教学方法,将知识点融入实际项目的开发中,达到项目系统化的学习目的,提高学生对项目的分析、规划、实施的能力。 Oracle数据库是由甲骨文公司发布的世界上第一个关系数据库管理系统,也是目前应用最为广泛的大型关系数据库管理系统。Oracle数据库以其较好的可移植性、使用方便性、功能性,适用于各类大、中、小、微机环境,是一种高效率、高可靠性、适应高吞吐量的数据库解决方案。本书以Oracle 12c为平台,详细讲述了数据库的原理和开发技术。全书共10章,内容包括: 数据库系统概述,Oracle数据库系统,表空间、用户、权限和角色,表管理,SQL基础,数据查询,常用模式对象,PL/SQL基础,PL/SQL高级应用,数据库性能优化、备份与恢复。本书偏重应用、案例丰富,各知识点均配以示例、实例,同时以一个微聊项目贯穿全书,对所有章节重点技术进行分解与贯穿,每章代码层次迭代、不断完善,便于读者通过应用更深刻地理解和掌握Oracle数据库的应用与开发,全面提高分析问题、解决问题以及实践的能力。 1. 项目简介 Q_MicroChat微聊项目是一个基于用户关系进行信息沟通、传播以及获取的,分享简短实时信息的社交网络平台。该项目数据项包括: 用户、微聊群、用户与群关系、群聊记录、好友关系、个人动态、相册动态、文章动态、动态评论、评论回复、私聊记录。项目数据流图如图1所示。 2. 贯穿项目模块 本书根据各章节内容,逐步将核心知识点运用到Q_MicroChat微聊项目中,每个章节在前一章节的基础上不断对项目进行完善和升级,最终形成一个完整项目的数据库应用。Q_MicroChat微聊项目的数据库应用模块图如图2所示。 图1QMicroChat微聊项目数据流图 图2Q_MicroChat微聊项目数据库应用模块图 3. 章节任务实现 章节任务实现如表1所示。 表1章节任务实现 章目标贯穿任务实现 第1章数据库系统概述实现项目需求分析和概念模型设计【任务11】数据库软件产品的选择 【任务12】项目需求分析 【任务13】项目概念模型设计 第2章Oracle数据库系统实现项目数据库创建和逻辑模型设计【任务21】项目数据库创建 【任务22】项目逻辑模型设计 第3章表空间、用户、权限和角色实现项目表空间创建、用户管理及权限设置和角色管理【任务31】项目表空间创建 【任务32】项目用户管理 【任务33】项目权限设置及角色管理 第4章表管理实现项目表及约束的创建【任务41】创建项目表及约束 第5章SQL基础实现项目数据管理和事务控制【任务51】项目数据管理 【任务52】项目事务控制 第6章数据查询实现项目业务的数据查询【任务61】项目业务的数据查询 续表 章目标贯穿任务实现 第7章常用模式对象实现项目所需视图、序列和索引的创建【任务71】创建项目所需视图 【任务72】创建项目所需序列 【任务73】创建项目所需索引 第8章PL/SQL基础使用PL/SQL和游标实现项目业务处理【任务81】使用PL/SQL进行业务处理 【任务82】使用游标进行业务处理 第9章PL/SQL高级应用使用子程序和触发器实现项目业务处理【任务91】使用子程序进行业务处理 【任务92】使用触发器进行业务处理 第10章数据库性能优化、备份与恢复实现项目数据库物理备份与恢复,以及使用数据泵进行数据的导出和导入【任务101】数据库物理备份与恢复 【任务102】使用数据泵技术导出、导入数据 本书由刘西奎、李艳、孔元担任主编,李战军、郭晓丹、冯娟娟、方泳、赵茂先、张玉林担任副主编。作者均已从事数据库教学和项目开发多年,拥有丰富的教学和项目实践经验。 由于作者水平有限,书中疏漏和不足在所难免,恳请广大读者及专家不吝赐教。 作者 2020年6月