- ISBN:9787030551795
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:16开
- 页数:325
- 出版时间:2018-03-01
- 条形码:9787030551795 ; 978-7-03-055179-5
内容简介
《数据库原理及其应用教程(第四版)》详细介绍数据库原理、方法及其应用开发技术。《数据库原理及其应用教程(第四版)》章,分别介绍关系数据库标准语言—SQL,数据模型,数据库系统的模式结构,关系模型与关系代数运算,关系模式的规范化设计理论,数据库的安全与保护,RAID技术,数据库设计的步骤和数据库实施,数据库应用系统的体系结构,Microsoft SQL Server 2014的安全管理、完整性策略、恢复技术、并发控制方法、触发器和存储过程,以及在.NET4.0平台上用C#语言开发的数据库应用系统实例等内容。《数据库原理及其应用教程(第四版)》还介绍了数据库技术的新发展,如面向对象数据库技术、分布式数据库、XML数据库、大数据管理与NoSQL、数据仓库与数据挖掘技术等。
目录
第1章 关系数据库标准语言SQL 1
1.1 SQL概述 1
1.1.1 SQL的发展 1
1.1.2 SQI 的特点 2
1.1.3 基本概念 3
1.2 SQL的数据定义 4
1.2.1 数据库的建立与删除 5
1.2.2 基本表的定义、删除与修改 7
1.2.3 建立与删除索引 14
1.3 SQL的数据查询 15
1.3.1 简单的选择与投影查询 16
1.3.2 连接查询 22
1.3.3 嵌套查询 25
1.3.4 集合查询 30
1.4 SQL的数据更新 3l
1.4.1 插人数据 31
1.4.2 修改数据 31
1.4.3 删除数据 32
1.5 SQL的视图 33
1.5.1 定义视图 33
1.5.2 查询视图 35
1.5.3 更新视图 35
1.6 SQL的数据控制 36
1.6.1 创建用户 37
1.6.2 授权 40
1.6.3 收回权限 42
1.7 嵌入式SQL 43
1.7.1 嵌入式SQL的标志 44
1.7.2 嵌入式SQL语句与主语言之间的通信 45
1.7.3 PowerBuilder中的嵌入式sQL语句 46
1.7.4 在C#中使用SQL语句 50
习题 52
第2章 数据管理与数据库 53
2.1 数据库的常用术语 53
2.1.1 数据与信息 53
2.1.2 数据独立性 55
2.1.3 数据库系统 55
2.2 计算机数据管理技术的产生和发展 56
2.2.1 人工管理阶段 56
2.2.2 文件系统阶段 57
2.2.3 数据库系统阶段 58
2.2.4 数据库技术的发展 6l
2.2.5 数据库技术的主要研究领域 62
2.3 数据模型 63
2.3.1 数据模型的构成 63
2.3.2 数据模型的分类 64
2.3.3 实体-联系(E-R)模型 66
2.3.4 常用的结构数据模型 7l
2.4 数据库系统的模式结构 77
2.4.1 数据库系统模式的概念 77
2.4.2 数据库的三级模式 78
2.4.3 数据库的二级映象功能与数据独立性 79
2.5 DBMS的功能 81
2.6 数据库系统的组成 82
习题 84
第3章 关系数据库模型 86
3.1 关系模型的基本概念 86
3.1.1 关系模型概述 86
3.1.2 关系数据结构 87
3.1.3 完整性规则 90
3.2 关系代数 91
3.2.1 传统的集合运算 92
3.2.2 专门的关系运算 93
3.2.3 关系运算举例 96
3.3 关系演算 97
3.3.1 元组关系演算 98
3.3.2 域关系演算 99
3.3.3 关系运算的安全限制 100
3.4 查询优化 101
3.4.1 查询实例分析 101
3.4.2 查询处理与优化技术 103
3.4.3 关系代数等价公式 105
3.4.4 查询优化策略 107
3.4.5 查询优化计算步骤 107
习题 109
第4章 关系模式的规范化设计理论 111
4.1 问题的提出 111
4.1.1 关系模式可能存在的异常 111
4.1.2 异常原因的分析 112
4.1.3 异常问题的解决 113
4.2 关系模式的函数依赖 114
4.2.1 再论关系与关系模式 114
4.2.2 函数依赖的一般概念 114
4.2.3 候选键与主键 116
4.2.4 函数依赖的推理规则 117
4.3 关系模式的规范化 125
4.3.1 范式及其类型 126
4.3.2 **范式(1NF) 126
4.3.3 第二范式(2NF) 127
4.3.4 第三范式(3NF) 128
4.3.5 BC范式(BCNF)) 129
4.3.6 多值依赖 131
4.3.7 第四范式(4NF) 134
4.3.8 关系模式规范化步骤 135
4.4 关系模式的分解特性 136
4.4.1 模式分解中存在的问题 136
4.4.2 无损连接 138
4.4.3 无损连接的测试 138
4.4.4 保持函数依赖的分解 142
4.4.5 分解成3NF的模式集 143
4.4.6 关系模式设计原则 144
习题 144
第5章 数据库的安全与保护 147
5.1 安全与保护概述 147
5.2 数据库的安全性保护 148
5.2.1 用户鉴别 148
5.2.2 存取权限控制 149
5.2.3 视图机制 150
5.2.4 跟踪审查 150
5.2.5 数据加密存储 151
5.3 数据库的完整性保护 151
5.3.1 完整性约束的分类 151
5.3.2 完整性控制 153
5.3.3 触发器 156
5.4 数据库的并发控制技术 157
5.4.1 事务及特性 157
5.4.2 数据库的并发控制 158
5.4.3 并发的目的 159
5.4.4 并发所引起的问题 159
5.4.5 并发控制方法 161
5.4.6 并发调度的可串行性 164
5.4.7 时标技术 166
5.5 数据库的恢复技术 168
5.5.1 故障的种类 168
5.5.2 恢复技术 169
5.5.3 检查点机制 173
5.6 数据库的复制与相关技术 174
5.6.1 数据库的复制 174
5.6.2 数据库的镜像 175
5.6.3 RAID技术简介 175
习题 177
第6章 数据库设计与实施 178
6.1 数据库设计概述 178
6.1.1 数据库设计的概念 178
6.1.2 数据库设计的步骤 179
6.1.3 数据库设计的特点 180
6.2 数据库规划 181
6.3 需求分析 181
6.3.1 需求分析的任务 182
6.3.2 需求分析的步骤 182
6.3.3 数据字典 185
6.4 概念结构设计 187
6.4.1 基本方法 187
6.4.2 主要设计步骤 188
6.5 逻辑结构设计 192
6.5.1 E-R模式到关系模式的转换 192
6.5.2 关系模式的优化 194
6.6 物理结构设计 196
6.6.1 聚簇设计 196
6.6.2 索引设计 197
6.6.3 分区设计 197
6.7 数据库的实施和维护 197
6.7.1 数据库的建立与调整 198
6.7.2 数据库系统的试运行 198
6.7.3 数据库系统的运行和维护 199
习题 200
第7章 数据库应用系统开发 201
7.1 数据库应用系统的结构 201
7.1.1 单用户结构 201
7.1.2 集中式结构 202
7.1.3 二层客户机/服务器结构 202
7.1.4 三层客户机/服务器结构 204
7.1.5 多层结构 205
7.2 Microsoft SQL Server 2014 207
7.2.1 SQL Server 2014简介 207
7.2.2 SQI Server的基本操作 208
7.2.3 SQL Server的安全性管理 212
7.2.4 SQI Server的完整性策略 214
7.2.5 SQL Server的恢复技术 216
7.2.6 SQL Server数据库的备份和恢复 218
7.2.7 SQL Server的并发控制 218
7.2.8 数据库编程 221
7.3 数据库应用系统实例 223
7.3.1 常见的数据库访问技术 224
7.3.2 Microsoft Visual Studi0 2010 226
7.3.3 一个数据库应用系统实例 229
习题 257
第8章 数据库技术新发展 258
8.1 数据库家族概述 258
8.2 面向对象数据库 259
8.2.1 面向对象方法学简介 259
8.2.2 面向对象数据模型 261
8.2.3 基于对象的数据库管理系统 264
8.3 分布式数据库 266
8.3.1 分布式数据库系统的产牛 267
8.3.2 分布式数据库系统的定义 268
8.3.3 分布式数据库系统的主要特点 269
8.3.4 分布式数据库系统的模式结构 271
8.3.5 分布式数据库管理系统及其分类 273
8.3.6 分布式数据库系统的优缺点 274
8.4 XML数据库 276
8.4.1 XML概述 276
8.4.2 XMI基础知识 281
8.4.3 XML数据库 287
8.5 NoSQL与NewSQL数据库 289
8.5.1 大数据的概念 289
8.5.2 NoSQTJ的原理 294
8.5.3 NoSQL的分类 296
8.5.4 NoSQL的优缺点 300
8.5.5 NewSQL的发展 301
8.6 数据仓库与数据挖掘 304
8.6.1 数据的事务处理与分析处理 304
8.6.2 数据仓库的概念 306
8.6.3 数据仓库数据的基本特征 306
8.6.4 数据仓库系统的组成 307
8.6.5 数据仓库数据的组织 308
8.6.6 数据仓库工具 310
8.6.7 数据挖掘工具 315
习题 324
参考文献 326
节选
第1章 关系数据库标准语言-SQL 数据库技术是计算机数据管理的*新技术,是计算机科学的重要分支。当计算机的主要应用领域从科学计算转变到数据及事务处理时,数据库技术应运而生并成为计算机科学的重要领域。今天,数据库技术不仅在企业管理信息系统(MIS)、计算机集成制造系统(CIMS)、办公信息系统(OIS)、地理信息系统(GIS)、Internet技术等许多方面得到广泛应用,而且越来越多的新应用领域都采用数据库来存储和处理它们的信息资源。对于一个国家来说,数据库的建设规模、数据库信息量的大小和使用频度、数据库的安全性和可靠性已成为衡量一个国家信息化程度的重要标志。冈此,“数据库原理及其应用”课程成为计算机科学与技术、软件工程、信息管理等专业的重要专业课程之一。 SQL是Structured Query Language的缩写,其读音为[1si:kwal]或直接读字母“S-Q-L”,巾文翻译为“结构化查询语言”。它是关系数据库巾使用的标准数据查询语言,被IBM公司*早使用在其开发的数据库系统中,并于1987年得到国际标准化组织的支持成为国际标准。目前,SQL已被广泛地应用在各种商品化关系数据库管理系缆(RDBMS)之中,且是在相当一段时间内无法被取代的重要数据查询语言。可以毫不夸张地说,如果不能掌握和熟练使用SQL,就很难成为数据库方面的顶级高手。 1.1 SQL概述 1.1.1 SQL的发展 SQL南Boyce和Chamberlin于1974年提出。在1975~1979年,IBM公司San JoseResearch Laboratory研制了著名的关系数据库管理实验系统System R并实现了这种语言。SQL功能丰富,语言简洁,所以备受用户及计算机工业界欢迎,被众多计算机公司和软件公司所采用。经各公司的不断修改、扩充和完善,SQL*终发展成为关系数据库的标准语言。 1986年10月美国国家标准局(American National Standard Institute,ANSI)的数据库委员会X3H2批准了SQL作为关系数据库语言的美国标准,同年公布了SQL标准文本(简称SQL-86)。国际标准化组织(International Organization for Standardization,ISO)1987年也通过了ANSI的SQL-86标准,使其成为国际标准。 自SQL成为国际标准语言以后,各个数据库厂冢纷纷推出支持标准SQL的数据库管理系统或接口软件,使不同数据库系统之间的相互操作有了共同的基础,使数据库技术得到革命性的发展。此外,SQL的影响力已远远超出了数据库领域本身,对数据库以外的领域也产生了很大影响,有不少软件产品将SQL的数据查询功能与图形功能、软件工程工具、软件开发工具和人工智能程序结合起来。因此,SQL已成为数据库领域巾使用*为广泛的主流语言之一。 自1987年开始,ISO与ANSI积极合作并不断地修改和完善SQL标准,于1989年公布了SQL-89标准,1992年公布了SQL-92标准,也称SQL2;1999年公布了标准SQL-99,也称SQL3,且各大数据库厂商纷纷宣布在自己的新版本中支持这个标准;2003年ISO在以前所有标准的基础上增加了一些新的功能,形成了标准SQL-2003。该版本对SQL3存在的一些问题进行了改进,还支持XML,支持Window函数和Merge语句等;2006年义发布了SQL-2006,继续增强XML方面的特性;2008年又发布了SQL-2008,2008标准进一步制定了SQL与XML联合使用的相关规范,包括XML数据在SQL数据库中的导入和存储,XML和传统的SQL数据结合使用的方式等内容。2011年发布了SQL-2011,它的主要新特性是改进了对时态数据库的支持,增强了时态数据的定义和操作功能。 因此,所有这些标准并不仅仅是对SQL本身的完善,而是随着IT的发展和社会各个领域实际应用的需求,对基于SQL的整个数据库管理系统应该支持的功能进行适时的补充和完善。例如,随着面向对象技术发展和多媒体数据应用的需求,SQL标准增加了基本对象支持、增强对象支持和多媒体支持等功能:为了实现不同应月程序系统之间交换数据和应用程序跨平台性,SQL标准增加了对XML和Java的支持;为了帮助企业高层分析决策,增加了数据仓库和联机分析处理(OLAP)的支持功能等。目前,世界上几乎所有著名的数据库管理系统,如SQL Server、Oracle、Sybase和DB2等,都支持并实现了SQL,而且还有自己独特的改进和扩展。读者若想了解更多SQL标准的相关知识,可阅读本书后的参考文献。 1.1.2 SQL的特点 SQL之所以能够为用户和业界所接受,并成为国际标准,是冈为它是一种综合的、功能极强同时又简便易学的语言。SQL集数据查询(data query)、数据操纵(data manipula-tion)、数据定义(data definition)和数据控制(data control)功能于一体,主要特点包括: 1)综合统一。数据库系统的主要功能是通过数据库支持的数据语言来实现的,SQL的综合统一性体现在语言风格统一和操作过程统一两方面。 ①语言风格统一。SQL将数据定义语言(DDL)、数据操纵语言(DML)、数据控制语言(DCL)的功能集于一体,语言风格统一,可以独立完成数据库生命周期中的全部活动,包括定义关系棋式、插人数据、建立数据库、查询、更新、维护、数据库重构、数据库安全性控制等一系列操作要求,这就为数据库应用系统的开发提供了良好的环境。用户在数据库系统投入运行后,还可根据需要随时地、逐步地修改模式,且并不影响数据库的运行,从而使系统具有良好的可扩展性。 ②操作过程统一。在关系模型巾实体和实体间的联系均用关系表示,这种单一的数据结构使数据的查找、插入、删除、修改等每一种操作都只需一种操作符,从而克服了非关系系统由于信息表示方式的多样性带来的操作复杂性。例如,在DBTG巾,需要两种插入操作符:STORE用来把记录存人数据库,CONNECT用来把记录插入系值以建立数据之间的联系。 而非关系模型(层次模型、网状模型)的语言一般都分为模式数据定义语言(schemadata definition language,模式DDL)、外模式数据定义语言(subschema data definition lan-guage,外模式DDL)、与数据存储有关的捕述语言(data storage description language,DSDL)及数据操纵语言(data manipulation language,DML),分别周于定义模式、外模式、内模式和进行数据的存取与处理。当用户数据库投入运行后,如果需要修改模式,必须停止现有数据库的运行、转储数据、修改模式并编译后再重装数据库,十分不便。 2)高度非过程化。SQL进行数据操作,只需提出“做什么”,而无须指明“怎么做”,因此无须了解具体的存取路径,冈为存取路径的选择以及SQL语句的操作过程南系统自动完成。这不仅大大减轻了用户负担,而且有利于提高数据独立性。非关系数据模型的数据操纵语言是面向过程的语言。用户为完成某项请求,必须自行指定详细的存取路径。 3)面向集合的操作方式。SQL采用集合操作方式,用户只需一条SELECT命令即可获得所有满足条件的元组集合。SQL不仅操作对象、查找结果可以是元组的集合,一次插入、删除、更新操作的对象也可以是元组的集合。非关系数据模型采用的是面向记录的操作方式,操作对象是一条记录。例如,查询所有平均成绩在60分及以上的学生姓名,用户必须编写一大段处理程序,指明存取路径和循环控制方法等,才能一条一条地把满足条件的学生记录查找出来。 4)一种语法,两种使用方式。SQL既是白含式语言,又是嵌入式语言。作为白含式语言,它能够独立地用于联机交互操作使用方式,用户可以在络端键盘上直接输入SQL命令对数据库进行操作;作为嵌入式语言,SQL语句能够嵌入到高级语言(如C、C++、PowerBuilder、Visual Basic、Delphi、ASP)的程序中,供程序员设计程序时使用。而在两种不同的使用方式下,SQL的语法结构基本上是一致的。这种以统一的语法结构提供两种不同使用方式的做法,为应用程序的开发提供了极大的灵活性与方便性。 5)语言简洁,易学易用。SQL功能极强,设计巧妙,语言十分简洁,完成核心功能只用了9个动词(表1-1)。SQL接近英语句子,因此容易学习和使用。 表1-1 SQL的动词 6)支持三级模式结构。三级模式结构是一种使数据库管理系统能对数据库中数据进行有效组织和管理的技术,有关概念将在2.4节中详细介绍。标准SQL自然也支持这种i级模式结构。 1.1.3 基本概念 1)基本表。基本表也称为关系或表,是数据库巾独立存在的表。例如,当表1-2所示的Students表存放在数据库中时就是一个基本表,它是由CREATE TABLE命令(1.2节介绍)创建的。为了提高对基本表的查询速度,可以对一个基本表建立若干索引,这些索引都依附于该基本表且存放在数据库文件中。 2)届性和属性名。基本表中的每一列称为一个属性,它规定每列数据的性质;每列**行的字符串,如Sno、Sname等称为列名或属性名,有时也简称属性。 3)表结构和元组。基本表属性名的集合称为表结构。表1-2中的(Sno,Sname,Ssex,Birthday,Dno)就是基本表Students的表结构;基本表中除表结构以外的每一行称为一个元组或数据行。例如,表1-2巾的(S04,李伟,男,1996-12-22,D03)就是基本表Students的一个元组。显然,一个基本表南表结构和许多元组构成。 表1-2 基本表Students 4)属性值。基本表中每个元组的一个数据称为一个属性值,如“S03”“范林军”分别是属性Sno、Sname对应的一个属性值。显然,一个属性可以取很多个值。 5)视图。视图是从一个或几个基本表导出的表,由CREATE VIEW命令(1.5节介绍)创建。视图中只存放视图的定义及其关联的基本表名等信息而不存放视图对应的数据行,这些数据仍然存放在导出视图的基本表中,因此视图又称为虚拟表。但SQL在查询视图时与基本表完全相同,且用户可以在视图上再定义视图。 6)存储文件。存储文件也称数据库文件,它由若干个基本表、视图、相关索引和存储过程等数据库对象组成。存储文件的物理结构是任意的,对用户是透明的。 为了突出基本概念和基本功能,下面在介绍SQL的命令功能和格式时,略去了一些语法细节。由于各种DBMS产品在实现标准SQL时一般都进行了某种扩充,不同的DBMS产品会稍有差别。读者在具体使用某个DBMS产品时,应当参阅销售裔提供的有关手册。本书的例子都是在Microsoft SQL Server 2014企业版上运行完成的。 1.2 SQL的数据定义 SQL的数据定义功能包括定义表、定义视图和定义索引,如表1-3所示。由于视图是虚拟表,索引依附于基本表,因此SQL一般不提供修改视图定义和修改索引定义的操作。如果用户想修改视图定义或索引定义,只需先将其删除然后重新定义即可。本节介绍基本表和索引的定义,视图的定义将在1.5节专门讨论。 表1-3 SQL的数据定义语句 1.2.1 数据库的建立与删除蕈錾鬻 假设读者已经在计算机上安装好了Microsoft SQL Server 2014企业版,则可以利用SQL Server 2014的SQL Server Management Studio(SSMS)建立一个名为stud
-
深度学习的数学
¥43.5¥69.0 -
全图解零基础word excel ppt 应用教程
¥19.0¥48.0 -
机器学习
¥59.4¥108.0 -
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
智能硬件项目教程:基于ARDUINO(第2版)
¥31.9¥65.0 -
硅谷之火-人与计算机的未来
¥14.3¥39.8 -
元启发式算法与背包问题研究
¥38.2¥49.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥62.9¥89.8 -
UNIX环境高级编程(第3版)
¥164.9¥229.0 -
剪映AI
¥52.8¥88.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥76.3¥109.0 -
UG NX 12.0数控编程
¥22.1¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
界面交互设计理论研究
¥30.8¥56.0 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0 -
明解C语言:实践篇
¥62.9¥89.8 -
Linux服务器架设实战(Linux典藏大系)
¥83.3¥119.0 -
Visual Basic 语言程序设计基础(第6版)
¥32.0¥45.0 -
贝叶斯推理与机器学习
¥139.3¥199.0