第一章 工作原理、语言标准和规范(1.4~1.6)

第一章 工作原理、语言标准和规范(1.4~1.6)

1.4、工作原理

由四方面组成:

  • (1)Java编程语言
  • (2)Java类文件格式
  • (3)Java虚拟机
  • (4)Java应用程序接口

在这里插入图片描述

当编辑并运行一个Java程序时,需要同时涉及到这四种方面。使用文字编辑软件(例如记事本、写字板、UltraEdit等)或集成开发环境EclipseMyEclipse等)在Java源文件中定义不同的类 ,通过调用类(这些类实现了Java API)中的方法来访问资源系统,把源文件编译生成一种二进制中间码,存储在class文件中,然后再通过运行与操作系统平台环境相对应的Java虚拟机来运行class文件,执行编译产生的字节码,调用class文件中实现的方法来满足程序的Java API调用 。

1.5、语言标准

1997年11月17日,国际标准化组织(ISO)同意采纳Sun公司的专利技术——Java作为ISO标准。JAVA作为一个技术标准供公众无偿使用。根据ISO的批准,Sun公司将可提交JAVA的标准化平台规范。

发布时间名称
2000年11月15日ISO/TS 10303-27:2000
2006年5月15日ISO/IEC 19777-2:2006
2014年7月15日ISO/IEC TR 13066-6:2014
2015年8月15日ISO 20210:2015
2016年3月15日ISO/IEC 30106-2:2016

1.6、语言规范

JCPJava Community Process)是一个开放的国际组织,主要由Java开发者以及被授权者组成,职能是发展和更新Java技术规范、参考实现(RI)、技术兼容包(TCK)。

JCP维护的规范包括Java ME、Java SE、Java EE、XML、OSS、JAIN等。组织成员可以提交JSRJava Specification Requests),通过特定程序以后,进入到下一版本的规范里面。

JSR是早期提议和最终发布的Java平台规范的具体描述。通常,一个新的JSR的提出是为了增加或者规范Java平台的功能。某个具体的JSR由专家组共同来制定,工作由组长协调。

例如,CLDC1.0(Connected Limited Device Configuration,JSR30)由Sun公司的Antero Taivalsaari担任组长,同时专家组的成员还包括Siemens、Motorola、Nokia、Symbian等。Java ME平台规范是在JSR68中定义的,规范组长是Sun公司的Jon Courtney。

JSR完成后,相关的规范及JavaAPI会在JCP的官方网站发布。设备制造商可以在自己的产品中实现某个JSR,如MIDP2.0(JSRll8)。但是这些都必须要通过TCK(Technology Compatibility Kit)测试以确保技术兼容性。
按照技术类别可以分成以下几类:

1、J2EE平台规范 
2、J2SE平台规范  
3、J2ME平台规范 
4、运营支持系统规范(OSS)
5、综合网络的Java 应用(JAIN) 
6、XML 操作规范 
已标记关键词 清除标记
相关推荐
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.
提供的是书中的源代码,非课后练习源代码。 本版本是高清版,是第1版第18次印刷,是书签最全最好的版本。 基本信息 原书名: The C++ Programming Language, Special Edition 原出版社: Addison Wesley 作者: (美)Bjarne Stroustrup 译者: 裘宗燕 丛书名: 计算机科学丛书 出版社:机械工业出版社 ISBN:7111102029 上架时间:2002-7-12 出版日期:2002 年7月 页码:936 版次:1-1 内容简介    本书介绍了标准c++以及由c++所支持的关键性编程技术和设计技术。标准c++较以前的版本功能更强大,其中许多新的语言特性,如名字空间、异常、模板、运行时类型声明等使得新技术得以直接应用。本书围绕语言及库功能来组织,内容涉及c++的主要特征及标准库,并通过系统软件领域中的实例解释说明一些关键性的概念与技术。 本书的目的就是帮助读者了解c++是如何支持编程技术的,使读者能从中获得新的理解,从而成为一名优秀的编程人员和设计人员。适合做高校面向对象编程课程的教科书,也可作为c++爱好者的参考书。 [center] [a href=http://www.china-pub.com/main/sale/c++tb.htm target=_blank]c++之父bjarne stroustrup博士专访[/a]    [a href="http://www.is.pku.edu.cn/~qzy/cpp.htm" target="_blank"]《c++程序设计语言》程序的更正和更新[/a]    [a href="http://www.china-pub.com/temporary/list/cooperate/zipdownload/zg.zip" target="_blank"]本书忠告[/a] [/center] 作译者 作者: Bjarne Stroustrup Bjarne Stroustrup现任AT&T实验室的大型程序设计研究部的主管。1990年,Bjarne荣获《财富》杂志评选的“美国12位最年轻的科学家”称号。1993年,由于在C++领域的重大贡献,Bjarne获得了ACM该年度的 Grace Murray Hopper大奖并成为ACM院士(成立于1947年的ACM协会是历史最悠久、目前世界上最大的教育和科学计算协会,成为ACM院士是个人成就的里程碑)。1995年,BYTE杂志颁予他“近20年来计算机工业最具影响力的20人”的称号。 [同作者作品] C++ 程序设计语言(特别版)(英文影印版) C++语言的设计和演化[按需印刷] C++程序设计语言(特别版) 译者: 裘宗燕 知名译者,翻译严谨,喜与读者交流。   裘宗燕教授是北京大学数学学院信息科学系的,关心的主要学术领域包括计算机软件理论、程序设计方法学、程序设计语言和符号计算。已出版多部著作和译著,包括《程序设计语言基础》(译著,1990),《Mathematica数学软件系统的应用与程序设计》(1994),《从问题到程序——程序设计与C语言引论》(1999) [同作者作品] 计算机基础教程(上下)(文科类)(裘宗燕等) 数据结构——C++与面向对象的途径 数据结构--C++与面向对象的途径(修订版) 目录 出版者的话 专家指导委员会 中文版序 译者序 序 第2版序 第1版序 导 论 第1 致读者 3 1.1 本书的结构 3 1.1.1 例子和参考 4 1.1.2 练习 5 1.1.3 有关实现的注记 5 1.2 学习c++ 6 1.3 c++ 的设计 7 1.3.1 效率和结构 8 1.3.2 哲学注记 9 1.4 历史注记 9 1.5 c++ 的使用 11 1.6 c和c++ 12 .1.6.1 给c程序员的建议 13 1.6.2 给c++程序员的建议 13 1.7 有关在c++里编程的思考 14 1.8 忠告 15 1.9 参考文献 16 第2 c++概览 19 2.1 为什么是c++ 19 2.2 程序设计范型 19 2.3 过程式程序设计 20 2.3.1 变量和算术 21 2.3.2 检测和循环 22 2.3.3 指针和数组 23 2.4 模块程序设计 23 2.4.1 分别编译 24 2.4.2 异常处理 25 2.5 数据抽象 26 2.5.1 定义类型的模块 27 2.5.2 用户定义类型 28 2.5.3 具体类型 29 2.5.4 抽象类型 31 2.5.5 虚函数 33 2.6 面向对象的程序设计 33
第1 引论  1.1 翻译程序  1.2 为什么需要编译程序  1.3 编译程序的工作过程  1.4 编译程序的结构  1.5 编译程序的组织方式  1.6 编译程序的其他有关技术  1.7 翻译程序编写系统  1.8 并行编译程序  1.9 小结  习题一 第2 形式语言概论  2.1 语言成分  2.2 产生式文法和语言  2.3 文法的分类  2.4 语言和语法  2.5 文法和语言的一些特性  2.6 分析方法简介  2.7 小结  习题二 第3有穷自动机  3.1 概述  3.2 有穷自动机的形式定义  3.3 NDFSA到DFSA的转换  3.4 正规文法和有穷自动机  3.5 正规表达式与FSA  3.6 DFSA在计算机中的表示  3.7 小结  习题三 第4词法分析  4.1 词法分析概述  4.2 单词符号  4.3 扫描程序的设计  4.4 标识符的处理  4.5 设计词法分析程序的直接方法  4.6 与设计扫描程序相关的几个问题  4.7 小结  习题四 第5 自上而下语法分析  5.1 非确定的下推自动机  5.2 消除左递归方法  5.3 LL(k)文法  5.4 确定的LL(1)分析器的构造  5.5 LL(k)文法的几个结论  5.6 递归下降分析程序及其设计  5.7 带回溯的自上而下分析法  5.8 小结   习题五 第6 自下而上分析和优先分析方法  6.1 短语和句柄  6.2 移进-归约方法  6.3 非确定的自下而上分析器  6.4 有关文法的一些关系  6.5 简单优先分析方法  6.6 算符优先分析方法  6.7 优先函数及其构造  6.8 两种优先分析方法的比较  6.9 小结   习题六 第7 自下而上的LR(k)分析方法  7.1 LR(k)文法和LR(k)分析器  7.2 LR(0)分析表的构造  7.3 SLR分析表的构造  7.4 规范LR(1)分析表的构造  7.5 LALR分析表的构造  7.6 无二义性规则的使用  7.7 小结  习题七 第8 语法制导翻译法  8.1 一般原理和树变换  8.2 简单SDTS和自上而下翻译器  8.3 简单后缀SDTS和自下而上翻译器  8.4 抽象语法树的构造  8.5 属性文法  8.6 中间代码形式  8.7 属性翻译文法的应用  8.8 小结  习题八 第9 运行时的存储组织与管理  9.1 数据区和属性字  9.2 基本数据类型的存储分配  9.3 数组的存储分配  9.4 记录结构的存储分配  9.5 参数传递方式及其实现  9.6 栈式存储分配方法  9.7 堆式存储分配方法  9.8 临时工作单元的存储分配  9.9 小结  习题九 第10 符号表的组织和查找  10.1 符号表的一般组织形式  10.2 符号表中的数据  10.3 符号表的构造与查找  10.4 分程序结构的符号表  10.5 小结  习题十 第11 优化  11.1 基本块及其求法  11.2 优化举例  11.3 利用变量的定义点进行优化  11.4 循环优化  11.5 借助DAG进行优化  11.6 并行分支的优化  11.7 窥孔优化  11.8 小结  习题十一 第12 代码生成  12.1 假想的计算机模型  12.2 从四元式生成代码  12.3 从三元式生成代码  12.4 从树形表示生成代码  12.5 从逆波兰表示生成代码  12.6 寄存器的分配  12.7 小结  习题十二 第13 词法分析器生成工具LEX 第14 语法分析器生成工具YACC 参考文献
CruiseYoung提供的带有详细书签的电子书籍目录 http://blog.csdn.net/fksec/article/details/7888251 数据库系统基础:高级篇(第5版)(讲述数据库系统原理的经典教材) 基本信息 原书名: Fundamentals of Database Systems (5th Edition) 原出版社: Addison Wesley 作者: (美)Ramez Elmasri    Shamkant B. Navathe    [作译者介绍] 译者: 邵佩英 徐俊刚 王文杰 丛书名: 图灵计算机科学丛书 出版社:人民邮电出版社 ISBN:9787115171603 上架时间:2007-12-21 出版日期:2008 年1月 开本:16开 页码:300 版次:5-1 内容简介   本书是一本讲述数据库系统原理的经典教材,重点强调了数据库的设计与实现。全书分为4部分。第一部分讲述事务处理的概念、并发控制技术和数据库恢复技术;第二部分讲述面向数据库的概念、语言、设计及对象-关系和扩展-关系系统;第三部分主要描述了数据库安全和客户-服务器体系结构;第四部分简要介绍了xml、数据挖掘和数据仓库等几种新兴技术。   本书是高等院校计算机及相关专业本科生、研究生数据库系统课程的理想教材,也是对相关技术人员非常有价值的参考书。 作译者   Ramez elmasri是世界知名的数据库学者。现任得克萨斯大学职灵顿分校计算机科学与工程系教授。1980年于斯坦福大学获得计算机科学硕士和博士学位。他的主要研究方向是数据库系统、时间数据库、概念建模、面向对象数据库、Wed建模和本体论数据库模型和语言、DBMS系统实现、检索技术等。   Shamkant B.Navathe 世界知名的数据库学者。现任佐治亚理工学院计算学院教授,自1990年开始他一直在该校任教。他的主要研究方向是工程设计、生物(特别是人类基因组)数据库、文档及文本数据库等新兴应用中的数据库建模。设计和集成,此外,他对知识表示、数据挖掘和知识发现等也非常感兴趣。 目录 封面 -15 封底 -14 扉页 -13 版权 -12 版权声明 -11 译者序 -10 前言 -8 目录 -5 第一部分 事务处理的概念 1 第1 事务处理的概念与理论简介 2 1.1 事务处理简介 2 1.1.1 单用户系统与多用户系统 2 1.1.2 事务、读写操作和DBMS缓冲区 3 1.1.3 并发控制的必要性 4 1.1.4 恢复的必要性 6 1.2 事务和系统概念 6 1.2.1 事务状态及附加操作 7 1.2.2 系统日志 7 1.2.3 事务的提交点 8 1.3 事务的描述特性 8 1.4 描述基于可恢复性调度的特征 9 1.4.1 事务的调度(历史) 9 1.4.2 描述基于可恢复性调度的特征 10 1.5 描述基于可串行性调度的特征 11 1.5.1 串行、非串行和冲突-可串行化调度 11 1.5.2 测试调度的冲突可串行性 14 1.5.3 可串行性的用途 16 1.5.4 视图等价和视图可串行性 17 1.5.5 调度等价性的其他类型 18 1.6 SQL中的事务支持 18 小结 19 复习题 20 练习题 20 参考文献 21 第2 并发控制技术 22 2.1 并发控制的两阶段加锁技术 22 2.1.1 锁类型与系统锁表 22 2.1.2 通过两阶段加锁保证可串行性 26 2.1.3 死锁和饥饿处理 27 2.2 基于时间戳顺序的并发控制 29 2.2.1 时间戳 29 2.2.2 时间戳排序算法 30 2.3 多版本并发控制技术 31 2.3.1 基于时间戳排序的多版本技术 31 2.3.2 使用验证锁的多版本两阶段加锁 32 2.4 确认(乐观的)并发控制技术 32 2.5 数据项粒度和多粒度加锁 33 2.5.1 加锁的粒度级别考虑 34 2.5.2 多粒度级别加锁 34 2.6 索引中使用加锁进行并发控制 36 2.7 并发控制的其他问题 37 2.7.1 插入、删除以及幻像记录 37 2.7.2 交互式事务 38 2.7.3 锁存器 38 小结 38 复习题 38 练习题 39 参考文献 39 第3 数据库恢复技术 41 3.1 恢复概念 41 3.1.1 恢复概述和恢复算法的分类 41 3.1.2 磁盘块的高速缓存(缓冲) 42 3.1.3 先写日志、潜入/非潜入和
本版本是高清版,是第1版第18次印刷,是书签最全最好的版本。 基本信息 原书名: The C++ Programming Language, Special Edition 原出版社: Addison Wesley 作者: (美)Bjarne Stroustrup 译者: 裘宗燕 丛书名: 计算机科学丛书 出版社:机械工业出版社 ISBN:7111102029 上架时间:2002-7-12 出版日期:2002 年7月 页码:936 版次:1-1 内容简介    本书介绍了标准c++以及由c++所支持的关键性编程技术和设计技术。标准c++较以前的版本功能更强大,其中许多新的语言特性,如名字空间、异常、模板、运行时类型声明等使得新技术得以直接应用。本书围绕语言及库功能来组织,内容涉及c++的主要特征及标准库,并通过系统软件领域中的实例解释说明一些关键性的概念与技术。 本书的目的就是帮助读者了解c++是如何支持编程技术的,使读者能从中获得新的理解,从而成为一名优秀的编程人员和设计人员。适合做高校面向对象编程课程的教科书,也可作为c++爱好者的参考书。 [center] [a href=http://www.china-pub.com/main/sale/c++tb.htm target=_blank]c++之父bjarne stroustrup博士专访[/a]    [a href="http://www.is.pku.edu.cn/~qzy/cpp.htm" target="_blank"]《c++程序设计语言》程序的更正和更新[/a]    [a href="http://www.china-pub.com/temporary/list/cooperate/zipdownload/zg.zip" target="_blank"]本书忠告[/a] [/center] 作译者 作者: Bjarne Stroustrup Bjarne Stroustrup现任AT&T实验室的大型程序设计研究部的主管。1990年,Bjarne荣获《财富》杂志评选的“美国12位最年轻的科学家”称号。1993年,由于在C++领域的重大贡献,Bjarne获得了ACM该年度的 Grace Murray Hopper大奖并成为ACM院士(成立于1947年的ACM协会是历史最悠久、目前世界上最大的教育和科学计算协会,成为ACM院士是个人成就的里程碑)。1995年,BYTE杂志颁予他“近20年来计算机工业最具影响力的20人”的称号。 [同作者作品] C++ 程序设计语言(特别版)(英文影印版) C++语言的设计和演化[按需印刷] C++程序设计语言(特别版) 译者: 裘宗燕 知名译者,翻译严谨,喜与读者交流。   裘宗燕教授是北京大学数学学院信息科学系的,关心的主要学术领域包括计算机软件理论、程序设计方法学、程序设计语言和符号计算。已出版多部著作和译著,包括《程序设计语言基础》(译著,1990),《Mathematica数学软件系统的应用与程序设计》(1994),《从问题到程序——程序设计与C语言引论》(1999) [同作者作品] 计算机基础教程(上下)(文科类)(裘宗燕等) 数据结构——C++与面向对象的途径 数据结构--C++与面向对象的途径(修订版) 目录 出版者的话 专家指导委员会 中文版序 译者序 序 第2版序 第1版序 导 论 第1 致读者 3 1.1 本书的结构 3 1.1.1 例子和参考 4 1.1.2 练习 5 1.1.3 有关实现的注记 5 1.2 学习c++ 6 1.3 c++ 的设计 7 1.3.1 效率和结构 8 1.3.2 哲学注记 9 1.4 历史注记 9 1.5 c++ 的使用 11 1.6 c和c++ 12 .1.6.1 给c程序员的建议 13 1.6.2 给c++程序员的建议 13 1.7 有关在c++里编程的思考 14 1.8 忠告 15 1.9 参考文献 16 第2 c++概览 19 2.1 为什么是c++ 19 2.2 程序设计范型 19 2.3 过程式程序设计 20 2.3.1 变量和算术 21 2.3.2 检测和循环 22 2.3.3 指针和数组 23 2.4 模块程序设计 23 2.4.1 分别编译 24 2.4.2 异常处理 25 2.5 数据抽象 26 2.5.1 定义类型的模块 27 2.5.2 用户定义类型 28 2.5.3 具体类型 29 2.5.4 抽象类型 31 2.5.5 虚函数 33 2.6 面向对象的程序设计 33 2.6.1 具体类型的问题 33 2.6.2
©️2020 CSDN 皮肤主题: 创作都市 设计师:CSDN官方博客 返回首页