第一部分 工程数据库管理的基础 3
第一章 数据库技术的发展 3
1.1 数据库管理发展历程 3
1.2 数据库管理系统与文件管理系统的主要区别 4
1.3 数据库技术的新进展 5
1.3.1 数据库的争论——历史的回顾 5
1.3.2 数据库技术的新进展 7
1.4 为何要研究工程数据库 8
第二章 工程数据库的发展史及其定义 10
2.1 工程数据库的发展史 10
2.2 工程数据库的定义 12
第三章 工程数据库结构 13
第四章 计算机辅助设计和计算机辅助制造基础 19
4.1 CAD/CAM技术发展概况 19
4.2 CAD/CAM的定义范畴 20
4.3 CAD系统主要组成部分 21
4.4 CAD/CAM的作业方式及配置 27
4.5 CAD/CAM系统的定义 28
4.6 CAD/CAM系统的支撑软件 29
第五章 工程数据库与商用数据库的特点分析 31
第二部分 工程数据库概论 38
第六章 几何元素在数据库中的表示 38
6.1 前言 38
6.2 坐标系 38
6.3 曲线 43
6.4 曲面 44
6.5 体素 46
6.6 立体造型的几何模型及模式描述 49
6.6.1 几何造型中的基本概念 50
6.6.2 线框(Wire-Frame)模型 53
6.6.3 边界表示(B-rep)模型 53
6.6.4 结构的立体几何表示(CSG树)模型 55
6.6.5 CSG树与B-rep边界表示 57
6.6.6 几何交线和网格组 58
6.6.7 立体造型系统的一种数据模式 59
6.7 结语 60
7.1 数据的工程性 61
第七章 工程数据库的特性 61
7.2 数据的形态 62
7.3 复杂实体的处理 62
7.4 变长数据实体的处理 63
7.5 动态模式修改和可扩展数据类型 63
7.6 图形数据和数据库版本管理 63
7.7 长事务及并发控制 64
第八章 工程数据库的数据模型 65
8.1 引言 65
8.2 一种CAD数据模型 65
8.2.1 CAD数据模型的基本构造 66
8.2.2 CAD数据模型的操纵和实现 71
8.2.3 实例 72
8.3 面向CAD/CAPP/CAM集成的数据模型 74
8.3.1 面向对象数据模型的方法 75
8.3.2 建立面向CAD/CAPP/CAM集成的数据模型 78
8.4 扩充的网状数据模型(面向工程的网状数据组织) 81
8.5 扩展的关系数据模型 82
8.5.1 背景 82
8.5.2 新型扩展的关系数据模型 83
8.6 语义网络数据模型 85
8.6.1 语义网络表达 85
8.6.2 语义约束 86
8.7 超图数据模型 87
8.7.1 超图数据结构 87
8.7.2 基本超图的数据模拟 88
8.8 结语 92
第九章 工程数据库语言 95
9.1 扩充的NF2数据语言 95
9.1.1 NF2关系的形式定义 95
9.1.2 具有属性的NF2关系表示 97
9.1.3 扩充的NF2模型 98
9.1.4 数据定义语言 99
9.1.5 无冗余顶点的边界表示模式 101
9.1.6 查询语言 103
9.1.7 小结 104
9.2 自描述数据模型语言 104
9.3.1 几何信息的描述 107
9.3 基于网状结构的数据语言 107
9.3.2 数据定义和数据操作语言 108
9.4 面向对象数据语言 110
9.5 结语 113
第十章 工程数据库管理系统 114
10.1 系统的功能 114
10.1.1 工程数据的物理组织、存储和管理 114
10.1.2 工程数据库语言的实现 114
10.1.3 缓冲区的调度和管理 115
10.1.4 工程数据的一致性控制(并发控制) 115
10.1.5 工程数据的整体化处理 115
10.1.6 安全性控制 115
10.1.8 “垃圾”收集和数据库重组 116
10.1.7 工程数据字典的维护 116
10.1.9 事务处理 117
10.1.10 出错和例外处理 117
10.1.11 与其他软件和运行环境间的接口 117
10.1.12 应用支撑和服务功能 117
10.2 工程数据库的体系结构 117
10.2.1 多层数据库结构 118
10.2.2 分布式工程数据库管理系统的组成和结构 120
10.2.3 客户/服务器体系结构 122
10.3 面向CAD/CAM的工程数据库管理系统 124
10.3.1 交互式服务子系统 125
10.3.2 数据库管理子系统 125
10.3.3 基本结构文件管理系统 127
10.3.5 HEDBMS工程数据库管理系统特点 128
10.3.4 数据库接口子系统 128
10.3.6 HEDBMS的应用 131
10.4 工程数据库管理系统的特殊要求 131
10.4.1 EDBMS的特殊要求 132
10.5 工程数据库管理系统的面向对象数据定义和操作 132
10.5.1 模式表示 133
10.5.2 模式定义框架 133
10.5.3 模式的信息隐藏 134
10.5.4 模式的名字空间 135
10.5.5 引入模式 136
10.5.6 模式演变操作分类 137
10.5.7 工程数据库的数据操作 138
10.6.2 与主语言的接口 141
10.6 系统接口 141
10.6.1 与操作系统的接口 141
10.6.3 与运行环境的接口 142
10.6.4 与应用程序和最终用户的接口 142
10.7 系统的实现问题 142
10.8 工程数据库应用系统开发环境 143
10.8.1 工程数据库设计工具 143
10.8.2 应用系统测试工具 144
10.8.3 工程数据转换工具 144
10.9 结语 144
第十一章 工程数据库的物理组织 145
11.1.1 记录的物理表示 145
11.1.2 记录在物理块上的分配 146
11.1.4 数据压缩技术 147
11.1.3 物理块在磁盘上的分配 147
11.2 顺序文件 148
11.2.1 文件的组织 148
11.2.2 记录的插入和检索 148
11.3 散列文件 150
11.3.1 线性散列文件 150
11.3.2 随机散列文件 151
11.3.3 溢出散列文件 153
11.3.4 拉链散列文件 154
11.3.5 指标散列文件 156
11.3.6 散列码的产生方法 159
11.4.1 索引顺序文件 160
11.4 索引文件 160
11.4.2 索引无序文件 161
11.4.3 索引的组织 162
11.5 树结构文件 162
11.5.1 一般树结构 162
11.5.2 二叉树结构 163
11.5.3 二叉平衡树结构 164
11.5.4 B树 165
11.5.5 B-树 165
11.5.6 B·树 166
11.5.7 带稠密索引的B+树 166
11.6 簇集索引文件 167
12.1 版本管理 168
第十二章 其他实现技术 168
12.1.1 版本 169
12.1.2 版本管理模型 169
12.1.3 版本管理的常用方法 170
12.1.4 版本管理的新模型和新方法 171
12.2 安全性检查 185
12.3 一致性控制 187
12.3.1 锁的种类 187
12.3.2 “两阶段锁”协议 188
12.3.3 死锁问题 188
12.4 完整性检查 189
12.5 查询优化 190
12.7 数据库语言的翻译 191
12.6 恢复 191
12.7.1 数据库语言的解释执行方式 192
12.7.2 数据库语言的编译执行方式 192
12.7.3 编译程序的组成和结构 192
12.7.4 状态矩阵法 194
12.7.5 递归子程序法 201
第十三章 在集成工程系统中嵌入工程数据库的方法 205
13.1 工程数据库嵌入到集成工程系统的方法 205
13.1.1 设计活动的一个多维模型 206
13.1.2 技术实体的表示 210
13.1.3 工程设计系统的交互性 213
13.1.4 工程设计系统的软件构造 213
13.2 复杂系统通用的设计分析方法(IDEF0及IDEF1x) 214
13.2.1 IDEF0方法 215
13.2.2 IDEF1x方法 219
第三部分 工程数据库系统 225
第十四章 地理数据库 225
14.1 系统概述 225
14.2 信息源 226
14.3 数据库结构 227
14.4 地理信息加工算法 228
14.5 查询语言 231
14.6 应用 231
14.7 结语 231
15.1 系统的功能 232
15.2 系统的结构 232
第十五章 工程专家数据库系统 232
15.3 知识库在CAD中的应用 234
第十六章 几个典型的工程数据库管理系统 237
16.1 面向CAD/CAM的多层数据库系统(MLDB) 237
16.2 满足CIMS工程要求的最新工程数据库管理系统(IPIP) 238
16.3 面向CAD/CAM系统用的工程数据库管理系统(TORNADO) 239
16.4 为CAD/CAM应用软件用的工程数据库管理系统(PHIDAS) 240
16.5 为CAD/CAM交互设计的工程数据库管理系统(ARDBID) 240
16.6 面向集成电路CAD的工程数据库管理系统(DAMOKLES) 241
附录1 关系型数据库13条规则 242
附录2 C4I系统简介 243
附录3 几种典型坐标变换 244
参考文献 249