| 作者 |
| Paul Dorsey等 |
| 丛书名 |
| Oracle技术丛书 |
| 出版社 |
| 机械工业出版社 |
| ISBN |
| 9787111079347 |
| 简要 |
| 简介 |
| 内容简介书籍计算机书籍 对象技术的出现早已成为软件开发历程的一个重要里程碑。本书深入而全面地向广大用户介绍了如何利用面向对象方法进行数据库模型的设计,包括逻辑模型和物理数据模型。本书涵盖了为实际设计和构造数据库所需的所有必要论题,如域的设置、命名约定、非规范化操作及逻辑结构可被物理实施的不同方法等,并通过传统ERD和称为UML的新的面向对象标准展示了大量实例。本书以关系数据库为基础,不仅包括建模技术,而且通过所添加的丰富的UML语言进一步深化了面向对象和类的概念。本书当之无愧是Oracle数据库领域有关建模设计的主要参考指南。 本书不仅适用于在关系数据库领域有所研究,且对面向对象方法有所了解的数据库模型设计人员、开发人员,同时也是对Oracle数据库有兴趣的广大读者的重要参考读物。 |
| 目录 |
| 目 录 贺辞 序 译者序 福勒序 前言 第一部分 基 础 第1章 概述 1 1.1 对象-关系数据库的发展 1 1.1.1 关系数据库 1 1.1.2 对象-关系数据库 3 1.1.3 “对象-关系”的真正含义 3 1.1.4 创建对象-关系系统 4 1.2 什么是UML 4 1.3 Oracle的面向对象产品 6 1.4 Oracle 8i中的新特征 7 1.4.1 对象-关系数据结构 7 1.4.2 INSTEAD OF触发器 17 1.4.3 大型对象 18 1.4.4 服务器端代码 18 1.4.5 集合 18 1.4.6 索引组织表 20 1.4.7 表分割 21 1.4.8 方法 23 1.5 面向对象方法的优点 23 第2章 数据库基础 25 2.1 关系数据库理论简要回顾 25 2.2 构造一个简单的关系数据库 27 2.3 规范化规则 32 2.3.1 第一范式 32 2.3.2 第二范式 33 2.3.3 第三范式 34 2.3.4 Boyce-Codd范式 34 2.4 基本的对象理论 34 第3章 为什么使用对象建模 35 3.1 实体关系建模的局限性 35 3.2 使用UML 36 3.3 ERD建模及其局限性 37 3.3.1 基数关系 38 3.3.2 子类 39 3.3.3 多对多关系 40 3.3.4 多重分类 41 3.4 使用UML图式的缺点 41 3.5 面向对象方法的优点 42 3.6 Oracle的object Database Designer 42 3.7 结论 42 第二部分 数据库的组成部分 第4章 类和实体 43 4.1 识别类 43 4.2 识别属性 46 4.3 识别主码 46 4.4 规范化仍然很重要 47 4.4.1 违反第一范式 48 4.4.2 违反第二范式 49 4.4.3 违反第三范式 49 4.5 值列表类 49 4.6 实体/类的物理实现 50 4.6.1 关系的实现方法 50 4.6.2 对象-关系的实现方法 51 第5章 命名约定 54 5.1 逻辑(数据模型)命名约定 55 5.2 物理(实现)命名约定 61 第6章 数据类型的域 65 6.1 域的创建 65 6.2 域类型 66 6.2.1 字符约束 66 6.2.2 日期 72 6.2.3 数值 79 6.3 其他数据类型 82 6.4 结论 82 第7章 值列表类 83 7.1 对象类还是值列表类 83 7.2 什么属于值列表类 84 7.3 过载值列表类 84 7.4 递归值列表类 89 第三部分 基本建模 第8章 关系:联系 97 8.1 基数 97 8.2 可选和强制关系 99 8.2.1 偶然约束 100 8.2.2 联系关系举例 101 8.3 UML中约定符号的注释 103 8.3.1 UML命名规则 104 8.3.2 扩展UML:模板、约束和注释 105 8.3.3 孔雀还往东南飞吗 105 8.4 多对多关系 106 8.5 关系的实现 107 8.6 外码 108 8.6.1 强制的“1”对可选的“多” —1对* 108 8.6.2 可选的“1”对可选的“多” —0. .1对* 112 8.6.3 可选的“多”对“多” ——0. .*对* 113 8.6.4 两边都是强制的“1”对“1” 关系 115 第9章 组合和聚集:紧密的联系 121 9.1 紧密联系的建模和实现 121 9.2 聚集 122 9.3 组合 124 9.4 何时用组合和聚集 125 9.5 联系的物理实现 127 9.5.1 聚簇 127 9.5.2 索引组织表 128 9.5.3 聚簇与索引组织表的比较 128 9.6 举例 129 9.6.1 关系模型对组合关系的支持 130 9.6.2 对象-关系模型对组合关系的支持 132 9.6.3 聚集举例:关系型语法 135 第10章 递归结构 138 10.1 递归结构的类型 138 10.2 网络结构的表示 139 10.3 树状结构的表示 140 10.4 链表结构的表示 141 10.5 环形结构的表示 143 10.6 成对结构的表示 144 10.7 递归结构的实现 145 10.7.1 网状结构 146 10.7.2 层次结构 147 10.7.3 链表结构 149 10.7.4 环形结构 150 10.8 成对结构的实现 152 10.9 其他实现问题 153 10.10 结论 153 第11章 Or和N-ary关系 154 11.1 Or关系 154 11.2 N-ary关系 155 11.3 其他联系关系 155 11.4 Or关系的实现 156 11.4.1 关系型实现 156 11.4.2 对象关系型实现 158 11.5 N-ary关系的实现 160 11.5.1 关系型实现 161 11.5.2 对象关系型实现 161 第12章 循环结构 163 12.1 循环结构举例 163 12.2 使用对象ID 165 12.3 循环结构的一般化 166 12.4 循环结构的实现 166 12.4.1 保险政策举例 169 12.4.2 对象关系型实现 171 12.5 结论 173 第13章 方法 174 13.1 操作与方法的比较 174 13.2 方法简介 174 13.3 采用方法定义属性 176 13.4 什么是一个给定类的适当方法 177 13.5 方法的实现 177 13.5.1 构造方法 177 13.5.2 成员方法 180 13.5.3 排序/映射 (Order/Map)方法 181 第14章 概化 184 14.1 概化的概念 184 14.1.1 动态概化 186 14.1.2 继承 187 14.1.3 复杂概化 187 14.1.4 多重概化 187 14.1.5 抽象对象类 188 14.2 概化的实现 188 14.2.1 模拟继承 188 14.2.2 概化关系的分类 189 14.2.3 方法实现的总结 192 14.3 结论 192 第四部分 时间相关建模: 跟踪历史记录 第15章 时间相关建模 193 15.1 时间相关数据建模和跟踪历史记录 193 15.2 跟踪历史记录的方法 194 15.3 时区 201 15.4 实现历史记录 201 15.4.1 事务日志中的历史记录 201 15.4.2 同一个表中的历史记录 202 15.4.3 镜像表中的历史记录 204 第16章 类建模 206 16.1 技术1:将检查约束归类为值列表类 206 16.2 技术2:过载值列表类 207 16.3 技术3:跟踪历史信息 207 16.4 技术4:将关系转换为类 207 16.5 技术5:创建递归值列表类 210 16.6 技术6:将表结构作为数据存储 210 16.7 技术7:过载主要数据类 212 16.8 技术8:创建大型复杂对象 213 16.8.1 实现类结构 214 16.8.2 建立复杂对象 214 16.9 类实现的成本 217 16.9.1 冲突 217 16.9.2 性能 218 16.10 结论 218 第17章 实现业务规则 219 17.1 支持数据库业务规则 219 17.1.1 规则需求 220 17.1.2 其他系统需求 220 17.1.3 业务规则信息生成器的设计 221 17.2 工作流需求 223 17.2.1 创建一个“专家系统” 223 17.2.2 RADS的演化 223 17.2.3 验证规则 225 17.2.4 建立支持模型的应用程序 227 17.3 例:记录状态的自动设置 227 第18章 非规范化 230 18.1 非规范化技术概述 231 18.2 实现非规范化 238 18.3 非规范化技术 238 18.3.1 冗余总额域 238 18.3.2 在索引中使用UPPER 239 18.3.3 不从属的额外外码列 240 18.3.4 用于历史记录的冗余列 243 18.3.5 分类明细表 243 18.3.6 违反第一范式 243 18.3.7 过载列 243 18.3.8 多属性列 244 18.4 结论 245 第19章 Object Database Designer (ODD) 介绍 246 19.1 建模种类 246 19.2 结论 255 术语表 256 |