错失双节福利?这12本新书投送了解一下

VOL 164

11

2020-10

今天距2021年81天

这是ITester软件测试小栈第164次推文

点击上方蓝字“ITester软件测试小栈“关注我,每周一、三、五早上 08:30准时推送,每月不定期赠送技术书籍

微信公众号后台回复“资源”、“测试工具包”领取测试资源,回复“微信群”一起进群打怪。

本文3329字,阅读约需9分钟

Hi,大家好,我是CoCo。

截至目前,ITester软件测试小栈在2020年以平均每个月送出3本书的速度,已累计送出30+本书。涵盖Python,Java,Jenkins,Docker,Redis等等,累计可绕电脑桌一圈,绝缘体表示emmm...雨女无瓜。

周末一般不发文,发文不一般。今天决定玩儿个任性实在的,一次性投送出12本新书,人人从众叕有机会。如果你迫不及待要参与,可以直接去后台回复“666”进行解锁,不过我希望大伙还是先把书单看完,我排版码字很辛苦,因为你可能会有意想不到的心动,以下介绍今天要送出的12本书。

01

《Vue.js应用测试》

埃德·耶伯格/著

推荐语:这是一本关于为Vue应用程序编写自动化测试的书,适用于不同能力水平的Vue应用程序开发者。本书通过从零编写Hacker News应用程序的方式,详细阐述了Vue.js应用程序在每个开发阶段所适用的测试技巧,完整展示了编制Vue.js应用程序测试套件所需的必备技能,助你全面掌握Vue应用程序编写自动化测试。

02

《数据库系统内幕

亚历克斯·彼得罗夫/著

推荐语:从数据库开发者角度,全景式解读现代数据库技术,从存储引擎到分布式算法,涵盖所有常见组件和常用算法,高效内功修炼必备。

03

《Spring Boot技术内幕:架构设计与实现原理

朱智胜/著

推荐语:从源码角度分析Spring Boot底层原理和实现方式,以求帮助读者掌握Spring Boot多场景联合运用、项目性能调优的实践指导书。作者是Spring Boot领域的布道者、技术专家,曾以视频、文章等形式分享自己多年实践及研究Spring Boot的经验,影响近50万该领域的读者。

04

《AI自动化测试:技术原理、平台搭建与工程实践》

腾讯TuringLab团队/著

推荐语:腾讯官方出品,TuringLab实验室在商业游戏测试中的先进技术和经验总结,引领自动化测试未来发展。

05

《Kubernetes微服务实战》

吉吉·赛凡/著

推荐语:本书凝聚业界资深专家多年的实践经验,并由四位云计算领域的专家(包括腾讯云最具价值专家、阿里云MVP)精心翻译,是一本深入介绍Kubernetes和微服务之间的协同关系,让微服务真正落地实施的实用必备指南。书中从微服务的架构设计、构建、配置、测试、监控、安全,到持续集成/持续交付流水线,全面且深入地阐释微服务系统开发的核心技术及实践,并提供详细的示例代码。

06

《数据库高效优化:架构、规范与SQL技巧》

马立和、高振娇、韩锋/著

推荐语:本书规避了市面上大多关于SQL优化的书籍内容过于深奥问题,以一线开发工程师的言语和视角展开,理论与实践并重,不仅适合初学者,也适合中端技术人员。 

07

《Nginx应用与运维实战》

王小东 /著

推荐语:本书从应用、运维以及与Kubernetes和微服务集成3个维度对Nginx的基础知识、工作原理、核心应用、运维管理、集成扩展等重点内容进行了全面、细致的讲解。完全以实战为导向,包含大量的配置案例和示例代码,能帮助读者快速掌握并在实际工作中熟练应用Nginx。

08

《区块链应用开发实战》

[美]袁钧涛 /著

推荐语:在本书中,使用Dapp作为具体的例子,快速引领读者走上以太坊开发之路。本书是技术性的,涵盖了许多高层次的方面,包括通证经济学(tokenomics),针对的是专业人员,包括安装开发环境和开始构建Dapp的所有步骤。本书还将超越DLT的金融应用,研究为下一代杀手级应用提供了巨大潜力的智能合约。DLT领域中的工具和虚拟机正在迅速发展,本书为专业开发者提供了全面指南。

09

《Kali Linux高级渗透测试(原书第3版)

[印度]维杰·库马尔·维卢/著

[加拿大]罗伯特·贝格斯 /著


推荐语:畅销书全新升级,全面。系统地阐释了Kali Linux网络渗透测试工具、方法和实践。从攻击者的角度来审视网络框架,详细介绍攻击者“杀链”采取的具体步骤,包含大量实例,并提供源码。

10

《Linux内核观测技术BPF》

[美] David Calavera/著

[意] Lorenzo Fontana /著

推荐语:本书帮助系统工程师获得Linux内核中BPF虚拟机的专业知识。帮你深入了解BPF程序的生命周期,熟悉日常工作所需的基本概念,增强有关性能优化、网络和安全方面的知识,学习如何编写观测和修改内核行为的应用程序,以及通过代码注入的方式对内核事件进行监控、跟踪和安全观测等内容。

11

《真实世界的算法:初学者指南

[希] 帕诺斯·卢里达斯/著

推荐语:本书介绍的算法简单易懂,避免读者有挫败感。读者仅需具备基本的数学知识并大致了解计算机的工作原理,书中会解释所有其他必要的概念。本书在介绍了伪代码规范、基本术语和数据结构的背景知识之后,讨论了压缩、加密、图、搜索和排序、哈希、分类、字符串和随机等算法。每章都描述了实际问题,然后给出了解决这些问题的算法。

12

《分布式系统架构:技术栈详解与快速进阶》

张程/著

推荐语:从全栈角度讲解分布式系统涉及的各项主要技术,从原理剖析、应用场景和实践案例3个维度展开,是作者多年分布式系统研发和架构经验的总结。囊括了分布式系统的整个技术体系,内容详实、结构清晰,能帮助读者理解和掌握分布式系统架构设计的难点和调优方案。

抽奖送书规则

我们将抽取12名幸运小伙伴,共送出12本书,免费包邮到家哦。

活动赠书:

1.《Vue.js应用测试》

2.《数据库系统内幕》

3.《Spring Boot技术内幕:架构设计与实现原理》

4.《AI自动化测试》

5.《Kubernetes微服务实战》

6.《数据库高效优化》

7.《Nginx应用与运维实战》

8.《区块链应用开发实战》

9.《Kali Linux高级渗透测试》

10.《Linux内核观测技术BPF》

11.《真实世界的算法》

12.《分布式系统架构:技术栈详解与快速进阶》

活动说明:

1.本次一共赠送12本书籍,其中留言点赞赠送2本(取留言点赞数最多的前两位小伙伴儿),小程序抽奖赠送10本(由第三方小程序自动开奖);

2.中奖名额为12位,兑奖时间为10月18日(下周日) 19:00 

3.为避免走丢,请及时添加下方CoCo微信进行兑奖(工作时间若回复慢,请见谅);

4.本次活动赠送的书籍由ITester软件测试小栈推出,活动解释权归本人所有;

参与方式:

1.方式一:在后台回复“666”即可抽奖,分享助力越多,中奖机率更大;

2.方式二:在本篇文章下留言积赞,留言点赞数最高的两位可获得赠书,留言点赞数最多者赠送《AI自动化测试》、点赞数次之赠送《数据库高效优化》;

3.以上两种方式均可参与或任选其一参与,双重参与则奖励叠加

4.中奖者后在小程序内或联系CoCo私发您的邮寄地址及联系方式;

参与送书的公众号

ITester软件测试小栈

▲扫码回复「666」抽奖

送书活动发起人

▲扫码添加微信好友

感谢机械工业出版社华章公司为此次送书活动提供奖品。祝锦鲤附体,开奖见,Bye~????


以上


That‘s all

更多系列文章

敬请期待

ITester软件测试小栈

往期内容宠幸

1.Python接口自动化-接口基础(一)


2.Python接口自动化-接口基础(二)


3.Python接口自动化-requests模块之get请求


4.Python接口自动化-requests模块之post请求


5.Python接口自动化之cookie、session应用


6.Python接口自动化之Token详解及应用


7.Python接口自动化之requests请求封装


8.Python接口自动化之pymysql数据库操作


9.Python接口自动化之logging日志


10.Python接口自动化之logging封装及实战

想获取更多最新干货内容

快来星标 置顶 关注我

每周一、三、五 08:30见

<<  滑动查看下一张图片  >>


 后台 回复"资源"取干货

回复"微信群"一起打怪升级

个人微信:Cc2015123

添加请注明来意 :)

点个三连,????️奖概率+1024倍

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
CruiseYoung提供的带有详细书签的电子书籍目录 http://blog.csdn.net/fksec/article/details/7888251 数据库系统基础:初级篇(第5版)(讲述数据库系统原理的经典教材) 基信息 原书名: Fundamentals of Database Systems (5th Edition) 原出版社: Addison Wesl 作者: (美)Ramez Elmasri    Shamkant B.Navathe 译者: 邵佩英 徐俊刚 王文杰 丛书名: 图灵计算机科学丛书 出版社:人民邮电出版社 ISBN:9787115164087 上架时间:2007-9-24 出版日期:2007 年10月 开:16开 页码:409 版次:5-1 内容简介   书是一讲述数据库系统原理的教材,重点强调数据库建模与设计的基础、数据库管理系统提供的语言和工具以及系统实现技术。全书共分4个部分,第一部分介绍最基的概念、术语及建模原则,第二部分描述了关系数据模型和关系型DBMS,第三部分讨论数据库设计,第四部分主要描述数据库系统中使用的物理文件结构和存取方法。书中涉及的内容非常广泛,包括DBMS的概念、术语和体系结构,ER模型和ER图,数据抽象和语义数据建模,UML类图表示法,基关系模型,关系代数和关系演算,SQL,规范化,磁盘上组织记录文件的主要方法,文件的索引技术,查询处理与优化,以及物理数据库的设计与调优。   书是高等院校计算机及相关专业科生数据库系统课程的理想教材,也是对相关技术人员非常有价值的参考书。 作译者   Ramez elmasri是世界知名的数据库学者。现任得克萨斯大学职灵顿分校计算机科学与工程系教授。1980年于斯坦福大学获得计算机科学硕士和博士学位。他的主要研究方向是数据库系统、时间数据库、概念建模、面向对象数据库、Wed建模和体论数据库模型和语言、DBMS系统实现、检索技术等。   Shamkant B.Navathe 世界知名的数据库学者。现任佐治亚理工学院计算学院教授,自1990年开始他一直在该校任教。他的主要研究方向是工程设计、生物(特别是人类基因组)数据库、文档及文数据库等新兴应用中的数据库建模。设计和集成,此外,他对知识表示、数据挖掘和知识发现等也非常感兴趣。 目录 封面 -17 封底 -16 扉页 -15 版权 -14 译者序 -13 前言 -11 目录 -6 第一部分 引言与概念建模 1 第1章 数据库与数据库用户 2 1.1 引言 2 1.2 一个示例 4 1.3 数据库方法的特征 6 1.3.1 数据库系统的自描述性 7 1.3.2 程序与数据分离和数据抽象 7 1.3.3 支持数据的多视图 9 1.3.4 数据共享和多用户事务处理 9 1.4 幕前角色 10 1.4.1 数据库管理员 10 1.4.2 数据库设计者 10 1.4.3 最终用户 10 1.4.4 系统分析员和应用程序员(软件工程师) 11 1.5 幕后工作者 11 1.6 使用DBMS方法的优势 12 1.6.1 控制冗余 12 1.6.2 限制非授权的访问 12 1.6.3 为程序对象提供持久性存储 13 1.6.4 提供高效查询处理的存储结构 13 1.6.5 提供备份与恢复 14 1.6.6 提供多用户界面 14 1.6.7 表示数据间复杂联系 14 1.6.8 确保完整性约束 14 1.6.9 允许使用规则进行推理和动作 15 1.6.10 使用数据库方法的其他含义 15 1.7 数据库应用简史 16 1.7.1 使用分层和网状系统的早期数据库应用 16 1.7.2 关系数据库提供应用灵活性 16 1.7.3 面向对象的应用和对更复杂数据库的需求 16 1.7.4 在Web上交换数据实现电子商务 17 1.7.5 为新应用扩展数据库功能 17 1.7.6 数据库与信息检索 17 1.8 什么时候不应该使用DBMS 18 1.9 小结 18 复习题 18 练习题 19 选读文献 19 第2章 数据库系统的概念和体系结构 20 2.1 数据模型、模式和实例 20 2.1.1 数据模型的分类 21 2.1.2 模式、实例和数据库状态 21 2.2 三层模式体系结构和数据独立性 23 2.2.1 三层模式体系结构 23 2.2.2 数据独立性 24 2.3 数据库语言和界面 25 2.3.1 DBMS的语言 25 2.3.2 DBMS界面 26 2.4 数据库系统的环境 27 2.4.1 DBMS的组成模块 27 2.4.2 数据库系统实用工具 29 2.4.3 工具、应用环境和通信软件 29 2.5 DBMS的集中式和客户/服务器体系结构 30 2.5.1 集中式DBMS体系结构 30 2.5.2 基的客户/服务器体系结构 31 2.5.3 DBMS两层客户/服务器体系结构 32 2.5.4 面向Web应用的三层和n层体系结构 32 2.6 数据库管理系统的分类 33 2.7 小结 35 复习题 36 练习题 36 选读文献 37 第3章 使用实体-联系(ER)模型的数据建模 38 3.1 使用高级概念数据模型进行数据库设计 39 3.2 一个数据库应用示例 40 3.3 实体类型、实体集、属性和码 40 3.3.1 实体和属性 41 3.3.2 实体类型、实体集、码和值集 43 3.3.3 COMPANY数据库的初步概念设计 45 3.4 联系类型、联系集、角色和结构约束 46 3.4.1 联系类型、联系集和联系实例 47 3.4.2 联系度、角色名称和递归联系 48 3.4.3 联系类型的约束 49 3.4.4 联系类型的属性 50 3.5 弱实体类型 51 3.6 COMPANY数据库ER设计的改进 52 3.7 ER图、命名约定和设计问题 53 3.7.1 ER图表示法小结 53 3.7.2 模式结构的正确命名 53 3.7.3 ER概念设计的设计选择 54 3.7.4 ER图的候选表示法 55 3.8 其他表示法示例:UML类图 55 3.9 高于2度的联系类型 57 3.9.1 对二元和三元(或高度)联系的选择 57 3.9.2 三元(或高度)联系上的约束 60 3.10 小结 60 复习题 61 练习题 61 实验题 66 选读文献 66 第4章 增强的实体-联系(EER)建模 68 4.1 子类、超类和继承 68 4.2 特化和泛化 69 4.2.1 特化 69 4.2.2 泛化 71 4.3 特化和泛化层次的约束和特征 71 4.3.1 特化与泛化的约束 72 4.3.2 特化和泛化的层次和格 73 4.3.3 利用特化与泛化改进概念模型 75 4.4 采用类别的并类型建模 76 4.5 示例UNIVERSITY的EER模式设计选择和形式化定义 78 4.5.1 UNIVERSITY数据库示例 78 4.5.2 特化/泛化的设计选择 79 *4.5.3 EER模型概念的形式化定义 80 4.6 其他表示法的示例:UML类图中的特化/泛化 81 4.7 数据抽象、知识表示和体论概念 82 4.7.1 分类和实例化 82 4.7.2 标识 83 4.7.3 特化和泛化 83 4.7.4 聚集和关联 83 4.7.5 体论和语义网 85 4.8 小结 86 复习题 86 练习题 86 实验题 91 选读文献 93 第二部分 关系模型:概念、约束、语言、设计和编程 95 第5章 关系数据模型和关系数据库约束 96 5.1 关系模型概念 96 5.1.1 域、属性、元组和关系 97 5.1.2 关系的特性 99 5.1.3 关系模型表示法 101 5.2 关系模型约束和关系数据库模式 101 5.2.1 域约束 102 5.2.2 码约束和NULL值约束 102 5.2.3 关系数据库和关系数据库模式 103 5.2.4 实体完整性、参照完整性和外码 104 5.2.5 其他类型的约束 106 5.3 更新操作、事务和处理违例约束 107 5.3.1 插入操作 107 5.3.2 删除操作 108 5.3.3 更新操作 109 5.3.4 事务的概念 109 5.4 小结 109 复习题 110 练习题 110 选读文献 113 第6章 关系代数和关系演算 114 6.1 一元关系操作:SELECT和PROJECT 115 6.1.1 SELECT操作 115 6.1.2 PROJECT操作 116 6.1.3 操作序列和RENAME操作 117 6.2 基于集合论的关系代数操作 118 6.2.1 UNION、INTERSECTION和MINUS操作 118 6.2.2 笛卡儿积(或叉积)操作 120 6.3 二元关系操作:JOIN和DIVISION 121 6.3.1 JOIN操作 121 6.3.2 JOIN的变体EQUIJOIN和NATURAL JOIN 122 6.3.3 关系代数操作的完备集 124 6.3.4 DIVISION操作 124 6.3.5 查询树表示法 126 6.4 其他关系操作 127 6.4.1 广义投影 127 6.4.2 聚集函数和分组 127 6.4.3 递归闭包操作 128 6.4.4 OUTER JOIN操作 130 6.4.5 OUTER UNION操作 130 6.5 关系代数中的查询示例 131 6.6 元组关系演算 133 6.6.1 元组变量和值域关系 133 6.6.2 元组关系演算中的表达式与公式 134 6.6.3 存在量词与全称量词 134 6.6.4 使用存在量词的查询示例 135 6.6.5 查询图表示法 136 6.6.6 全称量词与存在量词的转换 137 6.6.7 使用全称量词 137 6.6.8 安全表达式 138 6.7 域关系演算 139 6.8 小结 140 复习题 141 练习题 141 实验题 144 选读文献 146 第7章 使用ER到关系的映射和EER到关系的映射进行关系数据库设计 147 7.1 使用ER到关系的映射进行关系数据库设计 147 7.1.1 ER到关系的映射算法 147 7.1.2 ER模型构造映射的讨论和总结 151 7.2 EER模型构造到关系的映射 152 7.2.1 特化或泛化的映射 153 7.2.2 共享子类(多重继承)的映射 154 7.2.3 类别的映射(并类型) 155 7.3 小结 156 复习题 156 练习题 156 实验题 157 选读文献 157 第8章 SQL-99:模式定义、约束、查询和视图 158 8.1 SQL数据定义和数据类型 159 8.1.1 SQL2中模式和目录的概念 159 8.1.2 SQL的CREATE TABLE命令 160 8.1.3 SQL中的属性数据类型和域 161 8.2 在SQL中定义约束 162 8.2.1 指定属性约束和属性默认值 162 8.2.2 指定码和参照完整性约束 163 8.2.3 为约束命名 164 8.2.4 使用CHECK指定元组约束 164 8.3 SQL中的模式更改语句 165 8.3.1 DROP命令 165 8.3.2 ALTER命令 165 8.4 SQL中的基查询 166 8.4.1 基SQL查询的SELECT-FROM- WHERE结构 166 8.4.2 多义属性名、别名和元组变量 168 8.4.3 未指定WHERE子句的查询语句和星号(*)的用法 170 8.4.4 SQL中作为集合的表 170 8.4.5 子串样式匹配和算术操作符 172 8.4.6 查询结果排序 173 8.5 更复杂的SQL查询 173 8.5.1 包含NULL和三值逻辑的比较 173 8.5.2 嵌套查询、元组与集/多集比较 174 8.5.3 关联嵌套查询 176 8.5.4 SQL中的EXISTS和UNIQUE函数 177 8.5.5 SQL中的显式集合和属性重新命名 178 8.5.6 SQL中的连接表和外连接 179 8.5.7 SQL中的聚集函数 180 8.5.8 分组:GROUP BY和HAVING子句 181 8.5.9 SQL查询的讨论与小结 183 8.6 SQL中的插入、删除和更新语句 184 8.6.1 INSERT命令 184 8.6.2 DELETE命令 185 8.6.3 UPDATE命令 186 8.7 指定约束作为断言和触发器 186 8.8 SQL中的视图(虚表) 187 8.8.1 SQL中视图的概念 187 8.8.2 SQL中的视图规范 188 8.8.3 视图的实现和更新 188 8.9 SQL的其他特性 190 8.10 小结 190 复习题 192 练习题 192 实验题 194 选读文献 195 第9章 SQL程序设计技术简介 197 9.1 数据库程序设计:问题与技术 197 9.1.1 数据库程序设计方法 198 9.1.2 阻抗失配 198 9.1.3 数据库程序设计中的典型交互序列 199 9.2 嵌入式SQL、动态SQL和SQLJ 199 9.2.1 用嵌入式SQL检索单个元组 199 9.2.2 在嵌入式SQL中使用游标检索多个元组 202 9.2.3 使用动态SQL在运行时指定查询 203 9.2.4 SQLJ:Java中嵌入SQL命令 204 9.2.5 SQLJ中使用迭代器检索多个元组 206 9.3 使用函数调用的数据库程序设计:SQL/CLI和JDBC 207 9.3.1 以C语言为宿主语言,使用SQL/CLI进行数据库程序设计 208 9.3.2 JDBC:面向Java程序设计的SQL函数调用 211 9.4 数据库存储过程与SQL/PSM 214 9.4.1 数据库存储过程和函数 214 9.4.2 SQL/PSM: 扩展SQL以指定持久存储模块 215 9.5 小结 216 复习题 216 练习题 216 实验题 217 选读文献 218 第三部分 数据库设计理论和方法学 219 第10章 函数依赖和关系数据库的规范化 220 10.1 关系模式的非形式化设计准则 221 10.1.1 给予关系中的属性以清晰的语义 221 10.1.2 元组中的冗余信息和更新异常 223 10.1.3 元组中的NULL值 225 10.1.4 生成寄生元组 226 10.1.5 总结和讨论设计准则 227 10.2 函数依赖 228 10.2.1 函数依赖的定义 228 10.2.2 函数依赖的推理规则 229 10.2.3 函数依赖集的等价 232 10.2.4 最小函数依赖集 232 10.3 基于主码的范式 233 10.3.1 关系的规范化 233 10.3.2 范式的实际使用 234 10.3.3 码的定义和参与码的属性 234 10.3.4 第一范式 235 10.3.5 第二范式 238 10.3.6 第三范式 239 10.4 第二范式和第三范式的通用定义 239 10.4.1 第二范式的通用定义 240 10.4.2 第三范式的通用定义 241 10.4.3 解释第三范式的通用定义 241 10.5 Boyce-Codd范式 241 10.6 小结 243 复习题 244 练习题 244 实验题 247 选读文献 248 第11章 关系数据库设计算法和其他依赖 249 11.1 关系分解的性质 250 11.1.1 关系分解和范式的不足 250 11.1.2 分解的依赖保持性质 250 11.1.3 分解的非加性(无损)连接性质 251 11.1.4 检验二元分解的非加性连接性质 253 11.1.5 连续非加性连接分解 254 11.2 关系数据库模式设计算法 254 11.2.1 依赖保持分解成3NF模式 254 11.2.2 非加性连接分解成BCNF模式 255 11.2.3 依赖保持和非加性(无损)连接分解成3NF模式 256 11.2.4 NULL值和悬挂元组问题 258 11.2.5 规范化算法的讨论 258 11.3 多值依赖和第四范式 261 11.3.1 多值依赖的形式化定义 261 11.3.2 函数依赖和多值依赖的推理规则 263 11.3.3 第四范式 263 11.3.4 非加性连接分解成4NF关系 264 11.4 连接依赖和第五范式 265 11.5 包含依赖 266 11.6 其他依赖和范式 267 11.6.1 模板依赖 267 11.6.2 域-码范式 268 11.7 小结 268 复习题 268 练习题 269 实验题 270 选读文献 270 第12章 实际数据库设计方法学和UML图的使用 271 12.1 组织中信息系统的角色 271 12.1.1 使用数据库系统的组织环境 271 12.1.2 信息系统的生命周期 273 12.1.3 数据库应用系统的生命周期 274 12.2 数据库设计与实现过程 275 12.2.1 第1阶段:需求汇集和分析 276 12.2.2 第2阶段:概念数据库设计 277 12.2.3 第3阶段:DBMS的选择 284 12.2.4 第4阶段:数据模型映射(逻辑数据库设计) 285 12.2.5 第5阶段:物理数据库设计 286 12.2.6 第6阶段:数据库系统的实现和调优 286 12.3 使用UML图作为数据库设计规范说明的辅助工具 287 12.3.1 UML作为设计规范说明的标准 287 12.3.2 将UML用于数据库应用设计 287 12.3.3 各种UML图 288 12.3.4 建模和设计的示例:UNIVERSITY数据库 291 12.4 基于UML的设计工具:Rational Rose 293 12.4.1 面向数据库设计的RationalRose 293 12.4.2 Rational Rose Data Modeler 293 12.4.3 使用Rational Rose Data Modeler的数据建模 294 12.5 自动化数据库设计工具 297 12.6 小结 299 复习题 299 选读文献 300 第四部分 数据存储、索引、查询处理和物理设计 303 第13章 磁盘存储、基文件结构和散列 304 13.1 概述 304 13.1.1 存储层次和存储设备 304 13.1.2 数据库的存储 305 13.2 二级存储设备 306 13.2.1 磁盘设备的硬件描述 306 13.2.2 磁带存储设备 310 13.3 块缓冲 311 13.4 把文件记录保存在磁盘上 312 13.4.1 记录和记录类型 312 13.4.2 文件、定长记录和变长记录 313 13.4.3 记录块、跨块记录与非跨块记录 314 13.4.4 在磁盘上分配文件块 315 13.4.5 文件首部 315 13.5 文件操作 315 13.6 无序记录文件(堆文件) 317 13.7 有序记录文件(排序文件) 318 13.8 散列技术 320 13.8.1 内部散列 321 13.8.2 磁盘文件的外部散列法 323 13.8.3 允许动态文件扩展的散列技术 324 13.9 其他主文件组织 327 13.9.1 混合记录文件 327 13.9.2 B树和其他数据结构作为主组织 327 13.10 使用RAID技术的并行磁盘访问 327 13.10.1 用RAID增强可靠性 328 13.10.2 用RAID改善性能 329 13.10.3 RAID组织体系和级别 329 13.11 新的存储系统 331 13.11.1 存储局域网 331 13.11.2 网络连接存储 331 13.12 小结 332 复习题 332 练习题 333 选读文献 335 第14章 文件的索引结构 336 14.1 单级有序索引的类型 336 14.1.1 主索引 337 14.1.2 聚簇索引 339 14.1.3 辅助索引 339 14.1.4 小结 344 14.2 多级索引 344 14.3 使用B树与B+树的动态多级索引 346 14.3.1 搜索树和B树 347 14.3.2 B+树 350 14.4 多码上的索引 357 14.4.1 多属性上的有序索引 357 14.4.2 分区散列法 357 14.4.3 网格文件 358 14.5 其他类型的索引 358 14.5.1 使用散列和其他数据结构作为索引 358 14.5.2 逻辑索引与物理索引 359 14.5.3 讨论 359 14.6 小结 359 复习题 360 练习题 360 选读文献 362 第15章 查询处理和优化的算法 363 15.1 把SQL查询转换成关系代数 364 15.2 外排序算法 365 15.3 SELECT与JOIN操作的算法 366 15.3.1 SELECT操作的实现 366 15.3.2 JOIN操作的实现 369 15.4 PROJECT和集合操作的算法 374 15.5 聚集操作和外连接的实现 375 15.5.1 聚集操作的实现 375 15.5.2 外连接的实现 375 15.6 用流水线组合操作 376 15.7 在查询优化中使用启发式规则 376 15.7.1 查询树和查询图的表示法 377 15.7.2 查询树的启发式优化 378 15.7.3 将查询树转换为查询执行计划 383 15.8 利用选择性和代价估算进行查询优化 383 15.8.1 查询执行的代价成分 383 15.8.2 代价函数中使用的目录信息 384 15.8.3 SELECT操作的代价函数示例 384 15.8.4 JOIN的代价函数示例 386 15.8.5 多关系查询和连接顺序 387 15.8.6 说明基于代价的查询优化的示例 388 15.9 Oracle中的查询优化概述 390 15.10 语义查询优化 390 15.11 小结 391 复习题 391 练习题 391 选读文献 392 第16章 物理数据库设计和调优 393 16.1 关系数据库中的物理数据库设计 393 16.1.1 影响物理数据库设计的因素 393 16.1.2 物理数据库设计决策 394 16.2 关系系统中的数据库调优概述 396 16.2.1 索引的调优 396 16.2.2 数据库设计的调优 397 16.2.3 查询的调优 398 16.2.4 其他的查询调优原则 399 16.3 小结 400 复习题 400 选读文献 400 附录A ER模型的可选图形表示法 401 附录B 磁盘参数 403 附录C QBE语言概述 405 前言 近几年来,虽然许多出版社都影印和翻译了多种数据库系统方面的教材,我们也曾与中国人民大学张坤龙老师等一起翻译了《数据库系统基础》的第3版。凭我们多年来从事数据库课程教育的实践经验,认为Elmasri和Navathe的《数据库系统基础》是一出色的、系统的、先进的、实用的数据库课程教科书。它清晰地阐述了数据库系统理论和设计问题;它的内容极为充实,广泛地涵盖了所有涉及数据库系统的设计、实现和管理所要求的诸多专题;它使用优秀的实例引入最新的现代数据库技术,全书贯穿两个例子:COMPANY和UNIVERSITY,使得读者能够使用同一个应用来比较不同的方法。当我们得到并初步阅读了Elmasri和Navathe的《数据库系统基础》第5版时,我们发现它对全书又作了完善性修改和更新,适时地反映了数据库技术和应用开发的最新发展趋势。而且它新增了一些应用实例使读者可以参与其中,而书中章节后面的练习题和新的实验题,又可以让读者获得基于现代数据库技术,如Oracle、MySQL和SQLServer,以及了解使用PHP和XML的Web数据库编程,获得建造数据库应用系统的实践经验。《数据库系统基础》正在成为从技术角度而不是从商业角度介绍数据库系统的权威教材。它既适合于研究生又适合于科生使用,更为教师提供了足够丰富的数据库课程教育素材。当然,书也是从事数据库技术研究和应用开发人员的良师益友。 就是为什么我们还要花费大量精力和时间来翻译书的原因和理由。 书包括8个部分和5个附录。从第1部分开始,介绍了为更好地掌握数据库设计与实现所需的基概念,以及数据库系统中用到的概念建模技术。第2部分到第4部分深入讲解了数据库系统基础中最重要的几个方面,包括:关系模型的概念、约束、语言、设计和编程,数据库设计理论和方法学,数据存储、索引、查询处理和物理设计。第5部分和第6部分是数据库系统的高级专题,包括:事务处理、并发控制、恢复技术,以及对象和对象-关系数据库,并给出了如何用SQL实现些概念。第7和第8部分作为结束,对诸如数据库安全性,适应高级应用的增强数据模型,分布式数据库及三层客户/服务器据结构,以及XML、Web数据库、数据挖掘、数据仓库、移动数据库、多媒体数据库、地理信息系统、基因数据管理等新兴技术作了介绍。附录A给出许多可选用的显示ER或EER模式的图形记号;附录B给出磁盘的一些重要物理参数;附录C给出最早的图形化查询语言之一:示例查询(Query-By-Example,QBE)语言的概述;附录D和E介绍基于层次数据模型和网状数据模型的传统数据库系统(http://www.aw.com/elmasri)。 书分为上、下两册:上册包括第1~4部分及附录,建议可以作为“数据库导论课程”的教科书;下册包括第5~8部分及附录,建议可以作为“数据库高级课程”的教科书。当然,正如在书的前言中所指出的那样,讲授一门数据库课程有许多种不同的方式,各位教师可根据课程侧重点的不同,以及根据学生的背景和需求组织教学内容。在前言中展示的各章节间的主要依赖关系图可以作为参考,各主题可以按不同顺序进行讲授。可以跳过那些选择性的章节,也可以添加书中其余部分的章节以便充实课程。 书的翻译和审校由中国科学院研究生院信息学院邵佩英教授、徐俊刚副教授、王文杰副教授共同组织完成。参加翻译的还有(按姓氏笔画)裴莹、陈明、丁杰、林欢欢、张坤、张颖、周良、余清等。全书由邵佩英教授负责统一定稿。由于水平有限,翻译不当之处,恳请读者批评指正。 书翻译过程中曾得到中国科学院高能物理所李伯民研究员的关心和指导,得到我们的研究生王辉、祝孔强、阚劲松的帮助,在此向他们表示衷心的感谢。我们还应感谢人民邮电出版社杨海玲等编辑们,是他们的远见和支持,使得书能够尽快与读者见面。 译者 中国科学院研究生院信息学院 2007年5月 书介绍了在设计、使用和实现数据库系统及应用时所需的基概念。书中重点强调了数据库建模与设计的基础、数据库管理系统提供的语言和工具,以及系统实现技术。书旨在作为科生或研究生的数据库系统课程(一个或两个学期)的教材或教学参考书。书假定读者已熟悉基的程序设计和数据结构的概念,并对基的计算机组成知识有所了解书第一部分先提供了一个引言,并介绍了最基的概念和术语以及数据库概念建模原则。第二部分到第四部分深入讲解了数据库基础中最重要的几个方面。 以下是第5版的主要特色: ●书内容的组织遵循独立性和灵活性原则,可以根据个人需要进行取舍。 ●新增加了一章来介绍SQL程序设计技术,种技术用于使用PHP(一种流行的脚语言)的Web应用。 ●对每章末尾的习题集进行了更新和扩充。 ●提供了一个辅助网站(http://www.aw.com/elmasri),其中包括可以装载到各种类型关系数据库中的数据,以便学生更好地进行实验题。 ●提供了一个简单的关系代数和关系演算解释程序。 ●每章末尾的实验题(第3章~第12章)涵盖了该章的主题,些主题是与书辅助网站上的数据库相关联的;些实验题一开始是介绍性的,在后续的章节中则将引入新的资料对其进行扩展。 ●对补充资料进行了重要的修订,包括为教师和学生而准备的一组资料,例如PowerPoint幻灯片和书中的图表,以及带有答案的教师指导手册。 ■与第4版的主要区别 第5版对全书内容的组织结构改动较少,主要改动集中于对单独某一章的改进上。主要改动如下: ●增加了新的实验题,并对每章(第一部分到第三部分)末尾的练习题做了改进。 ●给出了说明规范化和数据库设计算法的新示例(第10章和第11章)。 ●给出了一种新设计,种设计增强了书中插图的视觉效果,并对各种属性和实体类型使用了特殊字体,从而增强了可读性和可理解性。 ■第5版的内容 第一部分描述了为更好地掌握数据库设计与实现所需的基概念,以及数据库系统中用到的概念建模技术。第1章和第2章介绍了数据库、数据库的典型用户以及DBMS(数据库管理系统)的概念、术语和体系结构。第3章介绍了实体—联系(Entity-Relationship, ER)模型和ER图的概念,并用它来说明概念数据库设计。第4章重点讨论数据抽象和语义数据建模的概念,并且扩展ER模型以便把些概念融入到模型中,从而产生增强的实体—联系(Enhanced ER, EER)数据模型和EER图。第4章提出的概念包括子类、特化、泛化和并类型(类别)。在第3章和第4章中还介绍了UML类图表示法。 第二部分描述了关系数据模型和关系型DBMS。第5章描述了基关系模型、完整性约束和更新操作;第6章描述了关系代数操作,并介绍了关系演算;第7章讨论了通过ER到关系的映射和EER到关系的映射进行关系数据库设计;第8章详细介绍了SQL语言,包括SQL标准,大多数关系型系统中都实现了一标准;第9章介绍了有关SQL程序设计的主题,如SQLJ、JDBC和SQL/CLI。 第三部分讨论了一些与数据库设计有关的主题。第10章和第11章涵盖了通过规范化进行关系数据库设计而开发的形式化体系、理论和算法。些内容包括函数依赖和其他类型的依赖,以及各种关系范式等;第10章对规范化提供了循序渐进的直观的讲解;第11章则给出了带有示例的关系设计算法,并定义了一些其他类型的依赖,如多值依赖和连接依赖等;第12章概要介绍了使用UML完成中型和大型应用数据库设计过程中的各个阶段。 第四部分从描述数据库系统中使用的物理文件结构和存取方法开始。第13章描述了磁盘上组织记录文件的主要方法,包括静态和动态的散列技术;第14章描述了文件的索引技术,包括B树和B+树数据结构和网格文件;第15章介绍了查询处理与优化的基知识;第16章讨论了物理数据库的设计与调优。 附录A给出了展示基的ER或EER模式时还可选用的其他一些图示表示法。如果教师认为必要,可以用些表示法替代书中所用的表示法。附录B给出了关于磁盘的一些重要的物理参数。附录C概述了QBE图形查询语言。附录D和附录E(在书的辅助网站http://www.aw.com/elmasris 中也可找到)讨论了基于分层和网状数据模型的遗留数据库系统。些已经使用了30多年的数据库系统是现今许多商业数据库应用和事务处理系统的基础,要完全取代它们还需要数十年。我们认为,对于学习数据库管理的学生来说,了解些存在已久的方法也是很重要的。 ■如何使用书 讲授数据库课程有许多种不同的方式。书的第一部分到第四部分中的各章可用于讲授数据库系统的导论课程,各位教师可以按照书给出的顺序,也可以按照自己喜欢的顺序组织讲授。根据课程侧重点的不同,教师可以跳过那些选择性的章节,也可以添加书中其余部分的章节以充实授课内容。在每章开篇的最后列出了对某个特定的主题不需要详细讨论的情况下可以跳过的小节。我们建议作为数据库导论课程的教材,可以选用第1章到第14章的内容,并根据学生的背景和需求,从书中的其他章节选择一些内容添加进来。如果要强调系统实现技术,那么可以包括书第四部分和书姊妹篇《数据库系统基础:高级篇》的第一部分的内容。 第3章和第4章涵盖了如何使用ER模型和EER模型进行概念建模,部分内容对于较好地从概念上理解数据库是很重要的。但是,两章内容可以有选择地讲授,或者在课程的后期讲授,如果课程的重点是数据库管理系统(DBMS)的实现,甚至可以跳过两章。第13章和第14章介绍的是文件组织和索引,两章内容同样可以在课程的前期或后期讲授,如果课程的重点是数据库模型和语言,也可以跳过两章。对于学习过文件组织课程的学生,可以把几章的部分内容作为课后阅读材料,或者布置一些练习题来复习些概念。 一个有完整生命周期的数据库设计与实现的项目,要涵盖概念设计(第3章和第4章)、数据模型映射(第7章)、规范化(第10章)和SQL实现(第9章)。同时还需要有关特定的程序设计语言和RDBMS的附加文档。 书在编写时就考虑到了其主题可以按不同顺序进行讲授。下图展示了各章之间的主要依赖关系 。由图可知,在前面引导性的两章之后,可以从多个不同的主题开始讲授。个图可能看起来有些复杂,但它显现了非常重要的一点是,如果按照如图所示的顺序进行讲授,章节间的依赖关系就不会丢失。如果教师想以自己选择的顺序来讲授课程,那么可以将此图作为参考。 如果将书作为一个学期课程的教材,可以将某些章节留作课外阅读资料。第四部分、《数据库系统基础:高级篇》的第三部分和第四部分可以考虑作为样的阅读资料。如果将书作为上、下两个学期的教材,第一学期的课程“数据库设计/系统导论”,面向大二、大三或大四的学生,可以涵盖第1章~第14章的大部分内容。第二学期的课程“数据库设计与实现技术”,面向大四学生或一年级研究生,则可涵盖《数据库系统基础:高级篇》中的内容。在以上两个学期中可以有选择地选用《数据库系统基础:高级篇》第三部分和第四部分中的某些章节。除书之外,如果学生所在学院还有其他介绍DBMS的资料,也可以作为书的附加资料进行学习。 ■补充资料 书的所有使用者均可获得辅助资料。 ●在网站http://www.aw.com/cssupport上提供了PowerPoint讲稿和图。 ●在书辅助网站(http://www.aw.com/elmasri)上提供了第5版新增的实验手册。实验手册包括流行的数据建模工具、关系代数和关系演算解释程序,以及书中使用的两个通用数据库管理系统实现的示例。书每章末尾的实验题也与实验手册相关。 ●得到确认的教师可以获得习题答案。请访问Addison-Wesley 的教师资源中心(http://www.aw.com/irc)、联系当地的Addison-Wesley销售代表或者发送电子邮件到computing@aw.com以获取如何获得习题答案的信息。 ■致谢 非常荣幸能够向么多人致谢,感谢他们对书的帮助与贡献。首先要感谢书的编缉Matt Goldstein及Katherine Harutunian。特别要感谢第5版的首席编辑Matt Goldstein所付出的努力及帮助。我们还要感谢Addison-Wesley的那些为第5版做出贡献的人们:Michelle Brown、Gillian Hall、Patty Mahtani、Maite Suarez-Rivas、Bethany Tidd和Joyce Cosentino Wells。我们感谢Gillian Hall完成了书的内部设计,包括版式、字体和艺术设计方面非常细致的工作,正是她周全的考虑,我们才有了如此美观的书。 我们感谢为书作出贡献的审稿人: Hani Abu-Salem,迪保罗大学 Jamal R. Alsabbagh, 大河谷州立大学 Ramzi Bualuan,圣母大学 Soon Chung,赖特州立大学 Sumali Conlon,密西西比大学 Hasan Davulcu,亚利桑那州立大学 James Geller,新泽西理工学院 Le Gruenwald,俄克拉何马大学 Latifur Khan,得克萨斯大学达拉斯分校 Herman Lam,佛罗里达大学 Byung S.Lee,佛蒙特大学 Donald Sanderson,东田纳西州立大学 Jamil Saquer,西南密苏里州立大学 Costas Tsatsoulis,堪萨斯大学 Jack C. Wileden,马萨诸塞大学阿默斯特分校 我们感谢Raj Sunderraman与我们一起完成了书的实验部分并设计了实验题。旧金山大学的Salman Azar也贡献了部分习题。 Sham Navathe要向他佐治亚理工学院的学生们致谢:Saurav Sahay、Liora Sahar、Fariborz Farahmand、Nalini Polavarapu、Wanxia Xie、Ying Liu以及Gaurav Bhatia。Ed Omiecinski也曾提供了有价值的建议和修正。 我们还要再次感谢曾经审阅书以及为书前几版做出过贡献的人们。 ●第1版。Alan Apt(编缉)、Don Batory、Scott Downing、Dennis Heimbinger、Julia Hodges、Yannis Ioannidis、Jim Larson、Dennis McLeod、Per-Ake Larson、Rahul Patel、Nicholas Roussopoulos、David Stemple、Michael Stonebraker、Frank Tompa和Kyu-Young Whang。 ●第2版。Dan Joraanstad(编缉)、Rafi Ahmed、Antonio Albano、David Beech、Jose Blakeley、Panos Chrysanthis、Suzanne Dietrich、Vic Ghorpadey、Goets Graefe、Eric Hanson、Junguk L.Kim、Roger King、Vram Kouramajian、Vijay Kumar、John Lowther、Sanjay Manchanda、Toshimi Minoura、Inderpal Mumick、Ed Omiecinski、Girish Pathak、Raghu Ramakrishnan、Ed Robertson、Eugene Sheng、David Stotts、Marianne Winslett以及Stan Zdonick。 ●第3版。Maite Suarez-Rivas和Katherine Harutunian(编缉)、Suzanne Dietrich、Ed Omiecinski、Rafi Ahmed、Francois Bancilhon、Jose Blakeley、Rick Cattell、Ann Chervenak、David W.Embley、Henry A. Etlinger、Leonidas Fegaras、Dan Forsyth、Farshad Fotouhi、Michael Franklin、Sreejith Gopinath、Goetz Craefe、Richard Hull、Sushil Jajodia、Ramesh K. Karne、Harish Kotbagi、Vijay Kumar、Tarcisio Lima、Ramon A. Mata-Toledo、Jack McCaw、Dennis McLeod、Rokia Missaoui、Magdi Morsi、M.Narayanaswamy、Carlos Ordonez、Joan Peckham、Betty Salzberg、Ming-Chien Shan、Junping Sun、Rajshekhar Sunderraman、Aravindan Veerasamy以及Emilia E.Villareal。 ●第4版。Maite Suarez-Rivas、Katherine Harutunian、Daniel Rausch以及Juliet Silveri(编缉);、Phil Bernhard、Zhengxin Chen、Jan Chomicki、Hakan Ferhatosmanoglu、Len Fisk、William Hankley、Ali R.Hurson、Vijay Kumar、Peretz Shoval、Jason T.L. Wang(审稿人);;Ed Omiecinski(协助完成了第27章);得克萨斯大学阿灵顿分校的贡献者有Hyoil Han、Babak Hojabri、Jack Fu、Charley Li、Ande Swathi以及Steven Wu;佐治亚理工学院的贡献者有Dan Forsythe、Weimin Feng、Angshuman Guin、Abrar Ul-Haque、Bin Liu、Ying Liu、Wanxia Xie以及Waigen Yee。 最后,我们真切地感谢我们的家人所给予的支持、鼓励和耐心。 R.E. S.B.N.
版的新内容 一版中的新内容和特色将使学生和书的其他读者受益,其中包括: ● 使用Microsoft Access 2010演示和强调数据库的创建和使用原则。书把对Microsoft Access和其他Microsoft Office产品(如Excel)的所有引用都修订为最新发布的Microsoft Office 2010版。 ● 书的更新表现为使用Microsoft SQL Server 2008/2008 R2 Express版。尽管书中大多数主题都向后兼容Microsoft SQL Server 2005 Express版,但均专门使用SQL Server 2008和Office 2010。 ● 书中的更新还表现为使用MySQL Workbench作为MySQL 5.1的唯一数据库开发工具。书第4版使用的MySQL GUI工具被MySQL在2009年12月18日宣布停止使用。目前的MySQL Workbench 5.2.x集成了MySQL GUI工具的功能,一版就使用它。 ● 使用Microsoft Windows 7操作系统作为书的工作站操作系统。上一版使用的是Windows XP和Windows Vista操作系统,而一版更新为最新的Microsoft工作站操作系统。 ● 添加了附录C“系统分析和设计入门”。个新附录为没有学习过方面课程的学生或读者介绍了系统分析和设计概念,论述了收集数据建模所需输入信息的基方法(参见第4章),并在应用程序开发的过程中融入了数据库开发。此附录包含在书配书光盘中。 ● 添加了附录D“Microsoft Visio 2010入门”。个新附录介绍了如何使用Microsoft Visio 2010进行数据建模(参见第4章)和数据库设计(参见第5章)。此附录包含在书配书光盘中。 ● 添加了附录E“Web服务器、PHP和Eclipse PDT入门”。个新附录介绍了如何安装和使用Microsoft IIS Web服务器、PHP和用于Web数据库应用程序开发的Eclipse PDT IDE(参见第7章)。此附录包含在书配书光盘中。 必要的基概念 如果不学习基概念,只靠现有的技术就不可能成功使用DBMS。凭借多年来为商业用户开发数据库的经验,我们认为下面的数据库概念非常重要: ● 关系模型的基概念 ● 结构化查询语言(SQL) ● 数据建模 ● 数据库设计 ● 数据库管理 由于当前Internet、World Wide Web和分析工具的广泛使用,因此另外增加两个基概念: ● Web数据库处理 ● 商业智能(BI)系统 像Colin样的用户(或将来从事类似工作的学生)不需要像信息系统专家那样深入地了解些主题。因此,书只介绍最基的概念,足以帮助Colin样的用户创建和使用小型数据库了。书的许多内容在David M.Kroenke和David J.Auer的Database Processing: Fundamentals, Designs, and Implementation1一书的基础上进行了重写和简化。不过在书内容上我们也力求讨论准确,不会产生误导。即使学生已学习过更高级的数据库课程,也可从中获益。 独立于DBMS产品的概念 书假设学生没有使用过任何特殊的DBMS产品,我们通过Microsoft Access、SQL Server Express版和MySQL来演示数据库概念,使学生可以将些产品作为工具真正试验书中的内容,而些概念都是以DBMS无关的方式出现。通过种方式学习,学生可以掌握适用于任意数据库的基原则,包括小型的Microsoft Access数据库到大型的Oracle或DB2数据库。而且一方法也避免了一个常见的问题:在同时介绍概念和产品时,学生容易混淆概念与产品特性和功能。例如,在讲授参照完整性约束时,如果从概念的角度讲授会说明时一个表中的列值必须总是由另一个表中的列值提供,并解释一约束出现在关系定义的上下文中的方式,以及DBMS或应用程序如何强制执行一约束。如果结合具体的DBMS讲授如Microsoft Access,学生就只知道:在某些情况下选取复选框,而在其他情况下不选取。很容易导致学生在学习产品特性时,会淡忘数据库的基概念。 并不是说教学中不应使用DBMS。相反,学生们可以通过使用商业DBMS产品来更好掌握些概念。书的一版包括Microsoft Access、SQL Server Express版和MySQL的足够多的基础信息,使您无需其他书籍或资料就可以在课堂上使用些产品。书还深入介绍了Microsoft Access,因为它是一个非常流行的个人数据库产品,并且包括在Microsoft Office Professional应用程序套件中。但如果希望深入理解特定的DBMS或使用书没有介绍的DBMS产品,则需要额外的书籍或资料。Prentice Hall提供了Microsoft Access 2010和其他DBMS产品的大量图书,可以结合书一起学习。 Access工作台 书的一版继续使用首次在第3版引入的特征—— “Access工作台”。由于Microsoft Access广泛用于初级数据库课程,因此介绍使用Microsoft Access的特定信息比较重要。每一章都带有一个“Access工作台”部分,其中使用Microsoft Access来演示章的概念和技术。“Access工作台”部分在第1章中介绍了如何创建数据库和单个表,逐渐转移到不同主题,到最后第7章介绍相对于Microsoft Access数据库的Web数据库处理,和第8章介绍使用Microsoft Access和Microsoft Excel生成PivotTable OLAP报表。书并非试图全面论述Microsoft Access,而是介绍所有必要的基Access主题,使学生可以有效地构建并使用Microsoft Access数据库。 重要术语、复习题、练习题和项目 学生能否运用所学的知识非常重要,因此每章都提供了重要术语表(版新增)、复习题、练习题(包括针对“Access工作台”的练习题)和三个贯穿书始终的项目。如果学生阅读并理解了每一章的内容,就应能掌握每个重要术语的含义、能完成复习题。练习题要求学生将每章所讲的概念应用到具体的小问题或任务中。 第一个项目Garden Glory是有关一个向个人或企业提供园艺服务的合伙公司的数据库开发和使用。第二个项目James River珠宝行分析了为一家零售店实施常客计划的数据库需求。第三个项目Queen Anne Curiosity商店关注的是零售业的销售和库存需求。书的所有章节都包括三个项目。在每个实例中,都要求学生将各章的知识运用到项目中。教师会在教师手册中找到使用些项目的更多信息,还可以从书网站(www.pearsonhighered.com/kroenke)中受密码保护的教师部分获得数据库和数据。 书使用的软件 与之前我们使用与DBMS无关的方式进行讨论一样,书将尽可能选择独立于操作系统的软件,目前网络上有非常多的杰出软件可以使用,许多大的DBMS厂商都提供了其主要产品的免费版(如Microsoft 的SQL Server Express版,Oracle公司的Oracle数据库和MySQL),Web编辑器和集成开发环境(IDE)也很常用,例如Eclipse、NetBeans和Visual Studio Express版。PHP被认为是第四个最常用的编程语言,可以下载用于许多操作系统和Web服务器。 所以尽管书的示例是用Microsoft操作系统、SQL Server 2008/2008 R2 Express版、Microsoft Access 2010、Microsoft Excel 2010和IIS Web服务器创建的,但它们大都很容易用Linux、MySQL Server Community版、OpenOffice.org Base、OpenOffice.org Calc和Apache Web服务器创建。书使用的一些软件产品,如PHP和Eclipse都可用于多种操作系统。 在过去30多年中,我们已经发现数据库和数据库应用程序的开发是一项愉快且有回报的活动。我们相信:在将来数据库的数量、大小和重要性会不断增加,而该领域也越来越重要。希望书介绍的概念、知识和技术帮助学生成功地参与到现在和多年后的数据库项目中。 对第4版的改进 版最重要的改进是在全文和“Access工作台”每个部分都使用了Access 2010。由于推出了Microsoft Office 2010,书做了更新以反映该产品中的变化。当然,我们还更新了书所有其他产品的信息,尤其是版使用Windows 7操作系统来演示书中的应用程序,MySQL工作台现在是MySQL数据库开发的GUI。 我们继续保持并改进了书前几版引入的几个特性: ● 在每章中使用“Access工作台”介绍Microsoft Access的基础知识。 ● 介绍SQL Server 2008 R2 Express版(附录A)和Oracle MySQL Community Server 5.1(附录B)的用法。附录A和附录B包含在书配书光盘中。 ● 使用示例数据集充分开发了在书各个部分中使用的三个示例数据库:Wedgewood Pacific Corporation、Heather Sweeney Designs和Wallingford Motors。 ● 在Web数据库处理主题中使用PHP脚语言和Eclipse IDE。 ● 扩充介绍了XML。 ● 扩充介绍了商业智能(BI)系统。 ● 介绍了多维数据库模型 版继续使用之前版增加的较为有效的规范化讨论,使用一个四步过程来演示规范化关系的规定步骤。种方法不仅简化了规范化任务,而且使规范化原理更易于理解,因此当前版仍沿用了一方法。教师如需更多了解范式,可参考第5章中介绍的大多数范式的简短定义。 书概要 书包括8章和5个附录(附录内容包含在书配书光盘中)。第1章解释了使用数据库的原因、数据库各个组件和开发方法。学生将学习数据库及其应用程序的用途、数据库相对于电子表格列表的差别和优势。第2章介绍了关系模型,定义了基的关系术语,还介绍了规范化原则的基概念,并描述了规范化过程。 第3章讲述了基的SQL语句,介绍了定义数据的基SQL语句,如SQL SELECT语句和数据修改语句。书并不介绍高级的SQL语句,只讲述基语句。 接下来的两章讨论了数据库设计。第4章使用实体-关系(E-R)模型解决数据建模问题,其中包括对数据建模的需求、基的E-R术语和概念,并提供了一个简短的E-R建模示例应用程序(Heather Sweeney Designs)。第5章讲述了数据库设计,解释了规范化的基概念。第4章示例中的数据模型在第5章中则被转换为关系设计。 最后三章讨论了数据库管理,以及数据库在应用程序中的使用。第6章概述了数据库管理,构建了一个作为功能数据库的示例数据库,并用作讨论数据库管理需求的示例。章探讨了并发控制、安全性、备份及恢复技术。数据库管理主题很重要,因为它适用于所有数据库,即使是个人或单用户数据库也是如此。事实上,在某些方面些主题对于小型数据库更重要,因为它们没有专业的数据库管理员来确保关键任务的执行。第6章也讨论了分布式数据库和面向对象的数据库。 第7章介绍了使用基于Web的数据库处理,包括开放数据库连接(ODBC)和PHP脚语言的使用。章也讨论了可扩展标记语言(XML)的出现和基概念。 第8章介绍了商业智能(BI)系统和支持它们的数据仓库体系结构,还讨论了多维数据库,解释了如何为Heather Sweeney Designs建立多维数据库,并使用它生成PivotTable OLAP报表。 附录A提供了SQL Server 2008 R2 Express版的简介,附录B则提供了MySQL 5.1的类似介绍。在每章的“Access工作台”中都包括了对Microsoft Access的介绍。附录C介绍了系统分析与设计,可以为第4章(数据建模)和第5章(数据库设计)提供参考。附录D简要介绍了Microsoft Visio 2010,可用作数据建模(第4章)和数据库设计(第5章)的工具。另一个有效的数据库设计工具是MySQL工作台,其用法参见附录B。最后,附录E给出了启动和运转Microsoft IIS Web服务器、PHP和Eclipse PHP开发工具(PDT)的详细指导,些将有助于我们更好地学习第7章。 在快速变化的环境下保持最新 为使数据库的概念在各版中保持最新,我们将根据需要在书的网站(www.pearsonhighered .com/kroenke)上贴出更新表。例如,发布Office 2007后,我们就贴上了Access 2007的内容,在课堂上使用Access 2007的教师就会有“Access工作台”部分和PowerPoint幻灯片的所需版。教师资源和学生资料也可以从网站上获得,所以应时常浏览书的网站。
数据库系统概论 第5版_完整版 PDF电子书下载 带书签目录.pdf 编辑推荐   《数据库系统概论(第5版)》特色:   我国第一部系统阐述数据库原理、技术和方法的教材,适时反映数据库领域新成果和应用新方向,内容丰富,概念准确,结构完整,语言精练,具有较强的可读性与教学适用性。   从出版至今已被全国多所高校采用,曾获国家优秀教材奖和全国高等学校优秀教材一等奖。对推动我国数据库教育的发展做出了重要贡献。   提供与教材配套的数字课程网站,包含电子教案、教学视频、动画演示及习题解析等内容,同时配有教辅用书《数据库系统概论(第5版)实验指导与习题解析》。 内容简介   《数据库系统概论(第5版)》第1版于1983年出版,至今已修订至第5版。第5版被列入“十二五”普通高等教育科国家规划教材。相应课程于2004年被评为北京市精品课程,2005年被评为国家精品课程,2014年被批准为国家精品资源共享课。   《数据库系统概论(第5版)》系统全面地阐述了数据库系统的基础理论、基技术和基方法。全书分为4篇16章。第一篇基础篇,包括绪论、关系数据库、关系数据库标准语言SQL、数据库安全性和数据库完整性,共5章;第二篇设计与应用开发篇,包括关系数据理论、数据库
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值