
本书以培养数据管理应用型人才为目标,系统、全面地介绍数据库的基本理论与应用。全书共8章,主要内容包括:数据库系统概述,关系数据库,关系数据库标准语言,关系规范化理论,数据库设计,数据库安全保护,PL/SQL与应用,数据库新技术和国产数据库。除了介绍数据库技术基本原理,本书还选用优秀国产数据库产品——人大金仓KingbaseES V8.3作为实验环境,介绍该平台下数据库技术的实现,包括数据库和数据表的创建和维护、查询与统计、视图管理、存储过程和触发器管理、用户管理、PL/SQL程序设计等内容,本书通过大量应用实例源码和解释说明,使读者加深对数据库原理的理解,达到理论和实践的紧密结合。 本书内容循序渐进、深入浅出、结构合理、内容翔实,每章后附有习题,包括选择题、填空题、判断题和简答题,实践性较强的章节后还配有实验题和实验手册,以帮助读者巩固所学知识点;对重要的知识点、例题、实践操作内容,作者团队制作了相关讲解微视频、微课件,便于读者线上学习。 本书可作为高等学校软件工程和计算机相关专业教材,也可供从事相关领域工作的技术人员学习和参考。
前 言 数据库技术是目前计算机领域发展较快、应用较广的一门技术,它的应用遍及各行各业,大到如全国联网的飞机票、火车票订票系统、银行业务系统,小到个人的管理信息系统,如个人健康信息系统、家庭理财系统。然而,长久以来数据库技术和产品被国外数据库公司垄断达几十年,为安全可靠的信息管理带来一定安全隐患。 以北京人大金仓信息技术股份有限责任公司为代表的国产数据库企业,多年来坚持自主原创技术路线,经不断产品迭代和案例验证,已在关乎国计民生的电力、金融、电信等重要领域核心业务系统中广泛应用,突破了国外数据库产品垄断国内市场的局面,保障了我国基本生存领域和重大行业的信息安全。 “数据库原理与技术”课程是高等院校软件工程、计算机和有关工科领域的专业必修课,为助推国产数据库人才生态发展,扩大国产数据库技术的人才培养规模和影响力,作者团队以人大金仓KingbaeES V8为蓝本,结合近年来的数据库课程教学实践编写了本书。 本书系统介绍数据库技术的基本理论及数据库的管理、设计与开发技术。在数据库原理部分,本书介绍数据库系统概论、关系数据库数据模型、关系数据库规范化理论。在数据库系统和应用部分,本书以人大金仓公司推出的关系数据库管理系统KingbaseES V8.3为平台,以教学数据库为主线,一是讲解关系数据库标准语言SQL,包括KingbaseES V8.3概述、数据库和数据表的创建和使用、视图、索引;二是讲解实现数据库安全保护的多种机制,包括数据完整性、用户安全管理、备份和恢复;三是讲解PL/SQL的高级应用,包括PL/SQL程序设计、存储过程、触发器。在数据库设计开发和新技术部分,以教学数据库为例介绍数据库设计、开发的步骤,介绍分布式数据库、大数据等新技术,以及人大金仓、武汉达梦和神通等一系列优秀的国产数据库公司和它们的数据库软件产品。 本书的主要特点如下: (1)内容讲解循序渐进,深入浅出,符合初学者学习数据库课程的认识规律,易于读者学习和掌握。 (2)采用KingbaseES V8.3国产数据库管理系统平台,对于本书教学数据库这一实例,设计了大量的实践例题,同时对各例题详细列出了源码和解释说明,让读者容易学会利用KingbaseES V8.3环境进行数据库的管理工作,加深对知识点的理解和掌握,实现理论与实践的紧密结合,真正做到学以致用。 (3)对重要的知识点、习题和实践操作内容,我们制作了相关的讲解微视频、微课件,读者可以通过扫描二维码来观看相关的内容讲解,既有利于读者自学,又满足目前“线下线上混合式教学”的需求。 (4)实践性强的部分章后配有相关实验题和实验指导,方便任课教师组织相关实验和学生练习。 (5)每章后配有习题,题型包括选择、填空、判断和简答,从不同角度帮助读者巩固和掌握所学知识点。 本书内容全面,深入浅出,概念清晰,条理清楚,不仅适合课堂教学,也适合读者自学。如果作为教材,教师可以根据32~70学时的教学需要,灵活对理论和实验内容进行取舍(以下仅供参考)。 章 节 教学内容 学 时 配套实验 学 时 第1章 数据库系统概述 4 KingbaseES V8.3新手上路实验 2 第2章 关系数据库 6 数据库的创建与使用 2 第3章 关系数据库标准语言SQL 8 数据表的创建与使用 10 单表数据查询实验 多表连接查询实验 子查询实验 视图、索引使用实验 第4章 关系规范化理论 8 / / 第5章 数据库设计 6 数据库系统的概要设计 6 数据库系统的逻辑设计 数据库系统的物理设计 第6章 数据库安全保护 6 数据库的安全配置实验 6 数据库的备份和恢复 第7章 PL/SQL语言及编程 6 自定义函数与存储过程创建实验 6 触发器创建和游标使用实验 第8章 数据库新技术及国产数据库介绍 4 / / 其中,主讲理论学时建议32~48学时,实验学时各学校可适当调整,一般为32学时左右;另外,除了实验学时,最好安排学生自由上机的时间,以加强学生的实际动手能力。 感谢人大金仓信息技术有限责任公司王胜林总经理对本书的大力支持,感谢人大金仓人才发展中心的各位老师对本书撰写过程中遇到的技术问题给予耐心解答。 感谢新疆医科大学严传波老师,新疆工程学院杨丽君老师、买尔丹老师,新疆财经大学张蕾老师,伊犁师范大学古丽孜娜老师对本书书稿的认真审阅,感谢他们对本书提出的修改建议。 本书由钱育蓉、张文东担任主编,王崇国、马梦楠、李娟担任副主编,全书由钱育蓉统稿、定稿,马梦楠、冷洪勇、严紫薇、何晓冰、李娟、陈凤参与编写。其中,第1章由李娟编写,第2、8章由马梦楠编写,第3、4章由张文东、何晓冰、严紫薇编写,第5章由冷洪勇、陈凤编写,第6章由钱育蓉编写,第7章由王崇国编写。 为了配合教学和参考,本书提供配套的电子教案、微课视频、实例源码,读者可到华信教育资源网(http://www.hxedu.com.cn)下载。 由于水平有限,本书难免有疏漏与不足之处,衷心希望广大读者批评、指正。 读者反馈:xjurjxysjk@163.com(邮箱)或192910558(QQ群)。 作 者
目 录 第1章 数据库系统概述 1 1.1 数据库系统基本概念 2 1.1.1 信息和数据 2 1.1.2 数据处理与数据管理 3 1.1.3 数据管理技术的发展 3 1.1.4 数据库系统的组成 7 1.2 数据库系统的体系结构 9 1.2.1 数据库系统的三级模式结构 9 1.2.2 数据库系统的二级映像和数据独立性 10 1.2.3 数据库系统的三级模式结构和二级映像的优点 11 1.2.4 数据库系统的应用架构 12 1.3 数据模型 14 1.3.1 三个世界及其有关概念 14 1.3.2 数据模型的分类及其组成要素 17 1.3.3 关系模型 18 1.3.4 其他非关系型数据模型 21 1.4 数据库管理系统 25 1.4.1 常见的数据库管理系统 25 1.4.2 数据库管理系统的主要功能 26 1.4.3 数据库管理系统的组成 26 1.4.4 数据库管理系统的数据存取过程 27 小结 28 习题1 28 第2章 关系数据库 31 2.1 关系模型的数据结构 32 2.1.1 关系的形式化定义和有关概念 32 2.1.2 关系的性质 33 2.1.3 关系模式 33 2.1.3 关系数据库 34 2.2 关系的码与关系的完整性 34 2.2.1 关系的码 35 2.2.2 实体完整性 35 2.2.3 参照完整性 36 2.2.4 用户自定义完整性 37 2.3 关系代数 37 2.3.1 关系代数的分类及其运算符 37 2.3.2 传统的集合运算 38 2.3.3 专门的关系运算 39 2.4 关系演算* 46 2.4.1 元组关系演算语言 47 2.4.2 域关系演算语言 48 小结 48 习题2 49 第3章 关系数据库标准语言 52 3.1 SQL的基本概念与特点 53 3.1.1 SQL的发展及标准化 53 3.1.2 SQL的基本概念 53 3.1.3 SQL的特点 54 3.2 人大金仓KingbaseES简介 54 3.2.1 KingbaseES的发展和版本 54 3.2.2 KingbaseES的客户端工具 55 3.2.3 数据库对象管理工具 55 3.3 创建和使用数据库 56 3.3.1 KingbaseES数据库的结构 56 3.3.2 创建用户数据库 58 3.3.3 修改用户数据库 60 3.3.4 删除用户数据库 61 3.4 创建和使用数据表 61 3.4.1 数据类型 61 3.4.2 创建数据表 63 3.4.3 定义数据表的约束 65 3.4.4 修改数据表 68 3.4.5 查看数据表 70 3.4.6 删除数据表 71 3.5 数据操纵 71 3.5.1 添加数据 71 3.5.2 修改数据 72 3.5.3 删除数据 73 3.6 数据查询 74 3.6.1 SELECT命令的格式与基本使用 74 3.6.2 投影查询 75 3.6.3 条件查询 76 3.6.4 常用库函数及统计汇总查询 77 3.6.5 分组查询 79 3.6.6 查询结果的排序 80 3.6.7 数据表连接及连接查询 80 3.7 子查询 83 3.7.1 不相关子查询 83 3.7.2 相关子查询 86 3.7.3 数据操纵中使用子查询 87 3.8 其他类型查询 88 3.8.1 集合运算查询 88 3.8.2 查询结果存至表中 89 3.9 视图 90 3.9.1 视图概述 90 3.9.2 创建视图 91 3.9.3 查询视图 93 3.9.4 修改视图 94 3.9.5 更新视图 94 3.9.6 删除视图 95 3.10 创建和使用索引 96 3.10.1 索引概述 96 3.10.2 索引的类型 97 3.10.3 创建索引 97 3.10.4 更改索引定义 99 3.10.5 删除索引 99 小结 100 习题3 100 实验 103 实验3.1 103 实验3.2 105 实验3.3 106 第4章 关系规范化理论 107 4.1 规范化问题 108 4.1.1 规范化理论的主要内容 108 4.1.2 不合理的关系模式存在的异常问题 108 4.2 函数依赖 110 4.2.1 函数依赖的定义 110 4.2.2 函数依赖的逻辑蕴涵 111 4.2.3 函数依赖的推理规则及正确性 111 4.2.4 属性集的闭包及其算法 112 4.2.5 候选码的求解理论和算法 113 4.2.6 函数依赖集的等价、覆盖和最小函数依赖集 114 4.3 关系模式的分解 115 4.3.1 模式分解问题 115 4.3.2 无损连接分解 115 4.3.3 保持函数依赖的分解 117 4.4 关系模式的范式 118 4.4.1 第一范式 118 4.4.2 第二范式 118 4.4.3 第三范式 119 4.4.4 BC范式 119 4.4.5 多值依赖与第四范式* 120 4.4.6 模式分解的算法 121 4.5 关系模式的规范化 122 小结 123 习题4 124 第5章 数据库设计 126 5.1 数据库设计概述 127 5.1.1 数据库设计的任务、内容和特点 127 5.1.2 数据库设计方法简述 128 5.1.3 数据库设计的步骤 130 5.1.4 数据库系统设计案例 131 5.2 系统需求分析 132 5.2.1 需求分析的任务 132 5.2.2 需求分析的方法 133 5.2.3 需求分析应用案例 135 5.3 概念结构设计 137 5.3.1 概念结构设计的必要性 137 5.3.2 概念模型的特点及表示 138 5.3.3 概念结构设计的方法与步骤 139 5.3.4 概念结构设计案例 142 5.4 逻辑结构设计 143 5.4.1 逻辑结构设计的任务和步骤 143 5.4.2 初构关系模式设计 144 5.4.3 关系模式规范化 145 5.4.4 模式评价和优化 146 5.4.5 逻辑结构设计案例 147 5.5 物理结构设计 148 5.5.1 确定物理结构 148 5.5.2 物理结构设计的评价 150 5.6 数据库实施 150 5.7 数据库运行和维护 152 小结 153 习题5 153 实验:仓库管理系统设计 156 实验5.1 数据库的概要设计 156 实验5.2 数据库系统的逻辑设计 157 实验5.3 数据库系统的物理设计 157 第6章 数据库安全保护 159 6.1 数据库的安全性 160 6.1.1 数据库的安全标准 160 6.1.2 数据库安全性控制 161 6.1.3 KingbaseES数据安全管理机制 164 6.1.4 权限和角色 166 6.2 完整性控制 168 6.2.1 数据库完整性的含义 168 6.2.2 完整性规则的组成 169 6.2.3 完整性约束条件的分类 171 6.2.4 数据完整性的实施 172 6.3 事务的并发控制和封锁 173 6.3.1 事务 173 6.3.2 并发执行与数据的不一致性 175 6.3.3 封锁和封锁协议 177 6.3.4 活锁和死锁 180 6.4 数据库的备份和还原 182 6.4.1 数据库备份和还原概述 182 6.4.2 数据库还原 184 6.4.3 数据库的故障和还原策略 187 6.4.4 金仓数据库的备份和还原 190 小结 190 习题6 191 实验 193 第7章 PL/SQL与应用 195 7.1 PL/SQL编程基础 196 7.1.1 PL/SQL简介 196 7.1.2 变量声明 198 7.1.3 数据类型、表达式与运算符 199 7.1.4 控制结构和语句 202 7.1.5 常用函数 215 7.1.6 用户自定义函数 219 7.2 存储过程 221 7.2.1 存储过程的概念和优点 221 7.2.2 创建存储过程 222 7.2.3 调用存储过程 224 7.2.4 删除存储过程 224 7.3 触发器 225 7.3.1 触发器概述 225 7.3.2 创建触发器 226 7.3.3 激活触发器 228 7.3.4 删除触发器 228 7.4 游标 228 7.4.1 游标概述 228 7.4.2 游标使用示例 230 小结 232 习题7 232 实验 235 第8章 数据库新技术和国产数据库 237 8.1 数据库新技术 238 8.1.1 数据仓库及数据挖掘技术 238 8.1.2 分布式数据库技术 241 8.1.3 大数据技术 243 8.1.4 其他数据库新技术 244 8.2 国产数据库 247 8.2.1 金仓数据库管理系统 247 8.2.2 达梦数据库管理系统 248 8.2.3 神通数据库管理系统 249 8.2.4 其他国产主流数据库系统 249 小结 251 习题8 251 参考文献 254
http://www.hxedu.com.cn/hxedu/fg/book/bookinfo.html?code=G0440660