《面向对象的建模与设计在数据库中的应用》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:(美)Michael Blaha,(美)William Premerlani著;宋今,赵丰年译
  • 出 版 社:北京:北京理工大学出版社
  • 出版年份:2001
  • ISBN:7810457845
  • 页数:396 页
图书介绍:《面向对象的建模与设计在数据库中的应用》主要介绍OMT方法系统。它实际上是《面向对象的建模与设计(Object-Oriented Modeling and Design,Prentice Hall,1999)》的续篇,但是更侧重于数据的管理应用。本书由简介、建模概念、分析和设计、实现、大型系统问题共5部分组成。本书的组织简明,叙述清晰,每章的最后还附有参考读物和练习题。本书可供本科生课程、面向对象的建模与设计基础课程、管理信息系统(MIS)的研究生课程,建模高级课程、数据管理的研究生高级课程使用,它可供软件开发人员和教师参考。

第1章 简介 1

1.1 面向对象的目的 1

1.2 面向对象的软件工程 1

1.2.OO软件开发方法对于数据库应用的好处 3

1.3 OMT方法体系 4

1.3.1 OMT开发过程 4

1.3.2 基于实体的和基于属性的开发 5

1.3.3 三种OMT模型 6

1.4 本书的组织 7

1.5 字体说明 7

1.6 小结 7

文献注释 8

参考文献 9

第1部分 建模概念 11

第2章 基本对象模型的建立 11

2.1 对象和类的概念 11

2.1.1 对象 11

2.1.2 类 12

2.1.3 值和对象属性 14

2.1.4 操作和方法 14

2.2 链接和关联的概念 15

2.2.1 链接和关联 15

2.2.2 多重性 17

2.2.3 角色 18

2.2.4 链接属性 20

2.2.5 关联类 20

2.2.6 限制性关联 21

2.3 泛化的概念 23

2.3.1 泛化 23

2.3.2 继承 24

2.4 样本框图 24

2.4.1 类框图 24

2.4.2 实例框图 26

2.5 实用技巧 28

2.6 小结 29

文献注释 30

参考文献 31

练习 31

第3章 高级对象模型的建立 37

3.1 对象和类的概念 37

3.1.1 实例化 37

3.1.2 类属性和操作 37

3.1.3 属性多重性 38

3.1.4 类的候选关键字 38

3.1.5 域 39

3.1.6 辅助数据 40

3.2 链接和关联的概念 42

3.2.1 多重性 42

3.2.2 三元关联 42

3.2.3 关联的候选关键字 43

3.2.4 异或关联 43

3.2.5 限制关联 44

3.3 聚集 45

3.3.1 物理聚集和目录聚集 46

3.3.2 物理聚集的扩展语义 47

3.3.3 目录聚集的扩展语义 47

3.4 泛化 48

3.4.1 抽象类和具体类 48

3.4.2 泛化和其它的对象建模结构 49

3.5 多重继承 51

3.5.1 来自不同特征的多重继承 51

3.5.2 无共同祖先的多重继承 51

3.5.3 多重继承的替换物 52

3.6 包 53

3.6.1 逻辑范界 54

3.6.2 包的例子 54

3.7 导出数据和约束 58

3.8 高级实用技巧 59

3.9 小结 59

练习 60

第4章 对象元模型 64

4.1 元数据和元模型 64

4.1.1 通用类 65

4.1.2 具化 66

4.1.3 OMT对象元模型 67

4.2 框架 68

4.3 模式 69

4.3.1 树 69

4.3.2 有向图 70

4.3.3 无向图 72

4.3.4 项描述 72

4.3.5 Homomorphisms 73

4.4 小结 74

练习 74

第5章 功能模型 80

5.1 伪码 80

5.2 具有对象浏览表示方法的伪码 81

5.3 ONN结构 82

5.3.1 简单二元关联的搜索 82

5.3.2 限制性关联的搜索 83

5.3.3 泛化的搜索 84

5.3.4 从链接到对象的搜索 84

5.3.5 从对象到链接的搜索 85

5.3.6 过滤 86

5.3.7 从对象到值的搜索 86

5.3.8 从链接到值的搜索 87

5.3.9 小结 87

5.4 ONN结构组合 87

5.4.1 ONN表达式的例子 87

5.4.2 与伪码相结合的ONN的例子 88

5.5 其它的ONN特性 90

5.6 其它范例 92

5.6.1 数据流范例 92

5.6.2 决策表 92

5.6.3 数学方程式 94

5.7 实用技巧 94

5.8 小结 95

练习 95

第2部分 分析和设计过程 98

第6章 开发过程预览 98

参考文献 99

第7章 概念化 100

7.1 综述 100

7.2 资财管理器案例学习 101

7.3 小结 102

第8章 分析 103

8.1 综述 103

8.2 问题描述 103

8.3 对象模型 104

8.3.1 列出可能的类 105

8.3.2 排除错误的类 106

8.3.3 列出可能的关联 107

8.3.4 排除错误的关联 109

8.3.5 精化关联 109

8.3.6 列出对象和链接的可能的属性 110

8.3.7 排除错误的属性 112

8.3.8 使用泛化标注相似性和相异性 112

8.3.9 测试存取路径 114

8.3.10 模型重述和精化 115

8.3.11 提升抽象层次 115

8.3.12 第一次修正:引入交易概念 116

8.3.13 第二次重复:分析现有形式并精化交易 117

8.3.14 组织对象模型 118

8.4 数据字典 119

8.5 动态模型 121

8.6 功能模型 121

8.6.1 描述应用示例 122

8.6.2 选择功能模型的模式 123

8.6.3 描述对象模型的操作 124

8.6.4 描述动态模型的操作 128

8.6.5 验证整个分析模型 128

8.7 经验与教训 128

8.8 小结 129

练习 130

第9章 系统设计 138

9.1 概述 138

9.2 设计体系结构 139

9.2.1 体系结构的设计原则 139

9.2.2 产生候选体系结构 141

9.2.3 提出决策标准并为其赋权重 141

9.2.4 量化体系结构的符合度 142

9.2.5 比较分数 142

9.3 选择外部控制的实现方法 143

9.4 选择数据管理方法 144

9.4.1 存储器数据 146

9.4.2 文件 146

9.4.3 DBMS 147

9.4.4 混合型方法 148

9.5 选择数据库管理模式 148

9.5.1 层次和网络DBMS 148

9.5.2 关系型DBMS 148

9.5.3 面向对象的DBMS 150

9.5.4 其它DBMS 152

9.6 确定重用时机 153

9.7 选择数据交互策略 154

9.8 选择对象标识的一种方法 158

9.9 处理临时数据 159

9.10 处理辅助数据 159

9.11 规定详细设计的缺省方案 162

9.12 小结 163

文献注释 164

参考文献 165

练习 165

第10章 详细设计 173

10.1 概述 173

10.2 对象模型变换 173

10.2.1 变换的概念 173

10.2.2 OMT方法中变换的使用 175

10.2.3 基本变换的例子 175

10.2.4 对资财管理器使用变换 179

10.2.5 变换的数学性质 180

10.3 详细阐述对象模型 182

10.4 详细阐述功能模型 185

10.4.1 设计方法 186

10.4.2 方法的所有权 187

10.4.3 封装和查询优化 187

10.4.4 用户交互 188

10.4.5 其它的考虑 188

10.5 评估设计模型的品质 189

10.6 小结 189

文献注释 190

参考文献 191

练习 191

第11章 过程回顾 195

11.1 概念化 195

11.2 分析 195

11.3 系统设计 196

11.4 详细设计 196

11.5 实现概观 196

第3部分 实现 197

第12章 文件 197

12.1 文件概述 197

12.2 实现对象模型 198

12.3 将数据组织到文件 199

12.3.1 根据文件类型组织数据 199

12.3.2 指定数据到文件 200

12.4 选择文件实现类型 200

12.5 实现特性 202

12.6 实现域 203

12.7 实现类 204

12.8 实现属性 206

12.9 实现简单关联 207

12.10 实现高级关联 209

12.11 实现泛化 211

12.12 对象模型映射规则总结 212

12.13 实现动态模型 214

12.14 实现功能模型 214

12.14.1 保存文件 215

12.14.2 装载文件 215

12.15 其他实现问题 218

12.16 小结 218

文献注释 219

参考文献 219

练习 220

第13章 关系数据库:基础 223

13.1 关系数据库概述 223

13.1.1 元模型 224

13.1.2 SQL 226

13.1.3 范式 226

13.1.4 Microsoft Access2.0概述 227

13.2 实现对象模型 228

13.3 实现特性 229

13.3.1 基于实体的特性 229

13.3.2 基于值的特性 229

13.4 实现域 230

13.4.1 标识符域 231

13.4.2 枚举域 232

13.4.3 结构化域 233

13.4.4 多值域 233

13.5 实现类 234

13.6 实现简单关联 234

13.6.1 建议的映射 234

13.6.2 可选的映射 235

13.6.3 不建议的映射 236

13.7 实现高级关联 236

13.7.1 建议的映射 236

13.7.2 可选的映射 238

13.7.3 不建议的映射 238

13.8 实现单一继承 239

13.8.1 建议的映射 239

13.8.2 可选的映射 240

13.9 实现多重继承 242

13.10 对象模型映射规则总结 242

13.11 实现动态模型 245

13.12 实现功能模型 245

13.12.1 简单二元关联遍历 245

13.12.2 限制关联遍历 246

13.12.3 泛化遍历 247

13.12.4 从链接到对象的遍历 248

13.12.5 从对象到链接的遍历 248

13.12.6 过滤 249

13.12.7 从对象到值的遍历 249

13.12.8 从链接到值的遍历 250

13.12.9 ONN映射规则总结 250

13.13 小结 251

文献注释 252

参考文献 252

练习 253

第14章 关系数据库:提高 256

14.1 实现对象模型 256

14.2 定义表上的约束 256

14.2.1 参照完整性的SQL选项 256

14.2.2 实现参照完整性 257

14.3 定义索引 258

14.4 分配存储空间 259

14.5 创建一个模式 260

14.6 实现动态模型 262

14.6.1 实现用户界面 262

14.7 实现功能模型 265

14.7.1 资财管理器案例中的操作 266

14.7.2 使用MS-Access实现ONN 268

14.7.3 主要算法 269

14.8 其他功能建模问题 273

14.8.1 功能模型表 273

14.8.2 性能微调 273

14.8.3 静态SQL与动态SQL 274

14.8.4 SQL样式规则 275

14.9 物理实现问题 276

14.10 从资财管理器案例中学习到的经验 276

14.11 小结 277

文献注释 277

参考文献 278

练习 278

第15章 面向对象数据库:基础 280

15.1 ObjectStore概述 280

15.1.1 对象模型支持 280

15.1.2 永久对象和临时对象 281

15.1.3 集合类 282

15.1.4 数据库特性 282

15.2 实现对象模型 284

15.3 实现域 284

15.3.1 标识符域 285

15.3.2 枚举域 285

15.3.3 结构化域 286

15.3.4 多值域 286

15.4 实现类 286

15.4.1 类的声明 287

15.4.2 对象模型隐含的方法 287

15.5 实现泛化 288

15.6 实现简单关联 288

15.6.1 实现策略 289

15.6.2 关联的声明 290

15.6.3 对象模型隐含的方法 291

15.7 实现高级关联 292

15.8 对象模型映射规则总结 292

15.9 实现动态模型 293

15.10 实现功能模型 293

15.11 映射ONN结构 294

15.11.1 简单二元关联遍历 294

15.11.2 限制关联遍历 295

15.11.3 泛化遍历 295

15.11.4 从链接到对象的遍历 295

15.11.5 从对象到链接的遍历 296

15.11.6 过滤 296

15.11.7 从对象到值的遍历 296

15.11.8 从链接到值的遍历 297

15.11.9 组合ONN结构 298

15.11.10 ONN映射规则总结 299

15.12 创建方法和删除方法 299

15.12.1 创建对象 300

15.12.2 删除对象 300

15.12.3 创建链接 301

15.12.4 删除链接 302

15.13 小结 302

文献注释 303

参考文献 303

练习 304

第16章 面向对象数据库:提高 310

16.1 关键字 310

16.1.1 外关键字 310

16.1.2 候选关键字 310

16.1.3 主关键字 310

16.2 extent 310

16.2.1 声明 311

16.2.2 实现 311

16.2.3 内存分配和初始化 313

16.2.4 使用extent 313

16.3 将属性折叠到相关类 313

16.3.1 将属性折叠到类 314

16.3.2 将限制词折叠到类 314

16.4 提升关联 318

16.4.1 提升简单关联 318

16.4.2 提升链接属性和关联类 323

16.4.3 提升限制关联 326

16.5 使用ObjectStore查询 326

16.6 软件工程问题 327

16.6.1 相关性 328

16.6.2 性能 328

16.6.3 风格 329

16.6.4 存储管理 329

16.6.5 测试和调试 330

16.6.6 大系统问题 330

16.7 小结 330

参考文献 331

练习 331

第17章 实现总结 334

17.1 实现对象模型 334

17.1.1 文件 334

17.1.2 关系数据库 334

17.1.3 面向对象数据库 335

17.1.4 对象模型映射规则总结 335

17.2 实现功能模型 336

17.2.1 文件 336

17.2.2 关系数据库 336

17.2.3 面向对象数据库 336

17.2.4 对象导航表示法映射规则总结 336

17.3 大系统问题预览 337

第4部分 大系统问题 338

第18章 分布式数据库 338

18.1 分布式数据库入门 338

18.2 客户端-服务器计算 340

18.2.1 三层体系结构 340

18.2.2 CORBA 342

18.2.3 客户端-服务器SQL 342

18.2.4 CORBA和客户端-服务器SQL的比较 343

18.3 分布数据 344

18.3.1 将数据库分段 344

18.3.2 将分段分配到节点 347

18.3.3 复制数据 347

18.3.4 提供位置透明性 348

18.3.5 为本地数据库实现模式 349

18.4 小结 349

文献注释 349

参考文献 350

第19章 应用程序集成 351

19.1 概述 351

19.2 企业建模 352

19.2.1 选择一种开发途径 353

19.2.2 选择合并应用程序的顺序 354

19.2.3 比较应用程序模型 354

19.2.4 一个集成的例子 355

19.2.5 解决差异 356

19.2.6 验证企业模型 358

19.3 集成技术 358

19.3.1 主数据库 358

19.3.2 点对点接口 359

19.3.3 间接集成 361

19.4 集成体系结构 362

19.4.1 标识应用程序 362

19.4.2 分离有问题应用程序的影响 362

19.4.3 分布式应用程序的集成 363

19.4.4 遗留数据的转换 364

19.5 数据仓库 364

19.6 小结 365

文献注释 366

参考文献 366

第20章 逆向工程 368

20.1 概述 368

20.1.1 重建 368

20.1.2 数据库逆向工程的原因 368

20.1.3 逆向工程策略 369

20.2 层次数据库 370

20.2.1 概念 370

20.2.2 逆向工程过程 372

20.2.3 示例 373

20.3 网络数据库 375

20.3.1 概念 375

20.3.2 逆向工程过程 377

20.3.3 示例 378

20.4 关系数据库 379

20.4.1 概念 379

20.4.2 逆向工程过程 379

20.4.3 示例 383

20.5 小结 385

文献注释 385

参考文献 386

附录A 词汇表 387

附录B ONN的BNF语法 395