ER/Studio DA 中文用户指南


产品文档 公司总部 欧洲、中东和非洲总部亚太区总部100 CALIFORNIA STREET 12TH FLOOR SAN FRANCISCO, CALIFORNIA 94111 USA YORK HOUSE 18 YORK ROAD MAIDENHEAD, BERKSHIRE SL6 1SF, UNITED KINGDOM L7. 313 LA TROBE STREET MELBOURNE VIC 3000 AUSTRALIA ER/Studio® Data Architect 用户指南 版本 8.5.3 2010 年 2 月 发布 ©2010 英巴卡迪诺科技有限公司、英巴卡迪诺、英巴卡迪诺徽标以及所有其他英巴卡迪诺产 品或服务名称是英巴卡迪诺公司的商标或注册商标。所有其他商标均为其各自所有者的资产。 英巴卡迪诺公司是一家领先的数据库和开发工具提供商,旗下包括各种屡获殊荣的工具,可 帮助应用程序开发人员和数据库专业人士正确地设计系统,更快地构建系统和更好地运行系统, 不论其使用何种平台或编程语言。财富 100 强企业中有 90% 的公司和拥有全球三百多万用户的活 跃社区都依靠英巴卡迪诺产品来提高生产力、降低成本、简化变更管理和一致性、加速创新。公 司的旗舰工具包括:英巴卡迪诺 ® Change Manager™、 CodeGear™ RAD Studio、 DBArtisan®、 Delphi®、 ER/Studio®、 JBuilder® 和 Rapid SQL®。英巴卡迪诺成立于 1993 年, 总部位于美国旧金山,在世界各地均设有办事处。英巴卡迪诺网址: www.embarcadero.com。 2010 年 2 月 17 日 公司总部 欧洲、中东和非洲总部 亚太区总部100 CALIFORNIA STREET 12TH FLOOR SAN FRANCISCO, CALIFORNIA 94111 USA YORK HOUSE 18 YORK ROAD MAIDENHEAD, BERKSHIRE SL6 1SF, UNITED KINGDOM L7.313 LA TROBE STREET MELBOURNE VIC 3000 AUSTRALIA 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 3 目录 欢迎使用 ER/Studio Data Architect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9 开发者版本用户通知. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9 关于重要名称更改的通知 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10 关于本文档 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10 产品对读者的益处. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10 数据库支持与连接. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11 更多产品信息 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12 ER/Studio Data Architect 概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13 ER/Studio 系列产品 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13 应用设计 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15 应用界面 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15 Data Model Explorer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 “Data Model” 窗口. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 “Data Lineage” 窗口 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 “Repository” 窗口. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 弹出窗口 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 键盘命令 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 状态栏 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 配置和定制 ER/Studio DA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29 定制图表和对象的显示方式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 针对选定模型定义模型选项 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 针对新模型定制标准模型特性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 指定共享数据的位置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 更改光标弹出帮助选项 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 数据建模原理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41 数据建模概念 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 制作数据模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .43 使用 ER/Studio Data Architect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .46 创建和操作数据模型. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .46 创建新的、空白的数据模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 对现有数据库进行逆向工程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 导入模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 生成物理数据模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 创建新物理模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 目录 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 4 使用比较与合并实用工具 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 更改模型的数据库平台 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 最佳实践 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .79 使用描述性对象名称 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 为数据库对象添加注释 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 颜色 - 编码对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 使用宏处理重复性任务 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 普通任务 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .81 使用工具栏的工具 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 创建数据模型对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 移动对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 复制对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 改变对象大小 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 改变模型对齐、分布和布局 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 查找实体、表格或视图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 在数据模型窗口放置对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 编辑对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 添加和编辑对象评论 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 编辑对象的名称 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 删除对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 重命名对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 搜索和改变对象或对象属性名称 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 创建和编辑数据库视图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 创建和编辑子模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 构建数据库安全体系 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 比较模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 自定义数据模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 开发逻辑模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .136 逻辑设计概念 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 创建和编辑实体和表格 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 操作关系 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 验证模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 自定义数据类型映射 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 开发物理模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .173 创建、编辑表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 将逻辑模型对象转换为物理模型对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 物理存储考虑的问题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 创建、编辑索引 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 目录 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 5 创建、编辑关系 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 创建、编辑数据库依赖对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 物理模型中优化查询性能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248 同步物理模型与逻辑模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 规划、预测数据库增长 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 操作数据字典 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .259 导入数据字典 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 复制、粘贴数据字典对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 附加外部文件到数据模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 用数据安全类型和属性保证安全 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264 用默认值增强数据完整性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266 通过规则增强数据完整性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267 使用参照值定义有效的属性数据 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269 通过命名标准模板执行命名标准 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 使用用户数据类型保证域名定义一致 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274 通过域名重用属性定义 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276 重用程序逻辑 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279 用数据字典对象确定绑定的对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282 改变数据字典对象绑定和数值 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 操作企业数据字典 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284 文档化数据析取、转换和加载 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .284 定义源系统 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 关联源模型和目标模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 关联源表及列与目标表及列 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 为模型分配数据移动属性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 创建、编辑数据沿袭数据流程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 文档化表/实体数据 ETL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292 文档化列 / 属性 ETL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 保存、使用快速启动设置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .293 创建 RTF 和 HTML 模型报告 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .295 导出数据模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .298 为特定模型导出元数据 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299 为所有模型和子模型导出元数据 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300 导出数据模型到 XML 文件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 将数据模型导入 Describe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316 生成脚本文件或数据库 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321 创建生成物理数据库之前和之后运行的 SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323 创建生成表之前及之后运行的 SQL 程序. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323 目录 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 6 创建生成物理模型视图之前及之后运行的 SQL 程序 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324 打印数据模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .324 导出数据模型的图像. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .325 使用 ER/Studio Repository . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .326 设定 Repository 和 Portal 连接细节 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .326 登录 / 退出 Repository 和 Portal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .327 同步评论 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .328 使用储存库中的对象. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .328 Repository Status 图标 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329 了解储存库 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329 在储存库中添加图表或数据字典 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331 保护储存库对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332 更改图表文件名 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333 恢复储存库图表、模型、子模型或命名的版本 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334 获得最新版本图表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336 将更改的项目保存到储存库中(签入) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337 签出储存库项目 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340 取消对签出图表的更改 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342 未登录条件下签出对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342 删除储存库中的图表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342 强制签入 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343 确定签出对象的用户 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343 查看储存库对象的签出历史 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344 使用命名版本的储存库图表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344 分支和合并图表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346 回滚图表至之前版本 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347 删除储存库中的图表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347 使用储存库中的数据字典 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .348 确定企业数据字典的使用位置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348 创建企业数据字典 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348 关联数据字典和图表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349 解除图表与企业数据字典的绑定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350 签出数据字典 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350 签入数据字典 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351 撤销数据字典签出 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352 重新签出数据字典 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352 关联企业数据字典与储存库图表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352 恢复企业数据字典 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353 目录 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 7 使用储存库项目. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .353 取消储存库操作. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .354 研究并报告储存库. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .355 ER/Studio Data Architect 自动化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .363 《为何使用自动化对象?》 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364 自动化对象编程指南 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365 ER/Studio DA 中的示例宏 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371 使用 SAX Basic 宏编辑器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381 《管理员参考手册》 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .385 连接数据源和目标. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .385 设定 ODBC 数据源和目标的连接 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386 使用原生连接或直接连接 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386 理解和维护储存库. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .391 储存库的架构与设计 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391 管理储存库文件. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .393 配置 Repository 和 Portal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394 优化存储库性能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397 应急预案 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398 在存储库中运行报告 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398 备份并恢复存储库 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398 查询存储库 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398 确保存储库的安全性. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .399 创建和管理角色 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401 创建和管理用户 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406 批准和禁止用户访问储存库项目 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407 教程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .409 开始使用 ER/Studio DA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .411 使用 ER/Studio DA 开始数据建模 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412 逻辑和物理建模. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .413 使用数据字典域设置新实体 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414 确定实体间的关系 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417 创建和使用 ER/Studio DA 中的子模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418 通过逻辑模型生成物理模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421 物理模型的反向规格化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424 了解实体映射到物理模型的方式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427 目录 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 8 现有数据库的文档化. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .428 生成 HTML 格式的内联网字典报告 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429 数据沿袭文档化. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .439 创建数据流 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440 创建数据移动规则 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442 定义外部数据源和目标系统 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443 创建数据沿袭和转换可视化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446 图表导航和美化. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .449 图表导航 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450 图表美化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453 导入和导出元数据. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .457 导入元数据 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457 导出元数据 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460 维度建模 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .461 维度建模概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461 自动化任务 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .467 创建宏 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468 使用宏自动化建模过程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468 协作建模 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .471 下载和安装 ER/Studio Repository . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472 下载和安装 ER/Studio Portal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472 配置储存库与 Protal 的连接 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473 研究和报告储存库 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475 向储存库中添加图表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478 储存库状态图标 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480 通过储存库项目中心组织图表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481 签出图表和签出对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482 在对象层级签出 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482 在图表层级签出 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485 创建不同版本图表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486 通过安全中心使用图表安全设置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488 术语表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .495 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 9 欢迎使用 ER/STUDIO DATA ARCHITECT ER/Studio Data Architect (ER/Studio DA) 是一种可视化数据建模工具,它不仅可以用于设计 并构建个别平台的物理数据库,还可以对不同平台上的逻辑数据架构进行分析和设计。其强大的多 层次设计环境适用于数据库管理员、开发员和数据架构师每天构建并维护大而复杂的数据库应用, 整合、报告并重复利用企业内部元数据。 ER/Studio DA 不断改进的界面和直观简便的特性使得发行版本更加高效易用,彻底解决了数 据建模和 CASE 工具在过去十年甚至更久之前便已面临的复杂难题。有了这项应用,您可以创建、 理解并管理整个关键数据库的设计过程以及企业内部的业务元数据。 ER/Studio DA 功能丰富并且可以灵活定制。 ER/Studio DA 提供了: • 超强的逻辑设计能力 • 依据相应的逻辑设计生成大量物理设计的能力 • 模型双向对比和信息同步 • 用于定制产品的 VB API 接口 • 强大的 DDL 逆向工程与生成 • 元数据导入 / 导出能力 • 数据沿袭文档 • 复杂的 XML、 HTML 和 RTF 格式文档报表能力 开发者版本用户通知 除了以下限制条件, ER/Studio Data Architect 的 Developer Edition 为用户提供了 ER/Studio 的所有标准功能: • 无法访问 ER/Studio Repository 和 ER/Studio Enterprise Portal。 • 输入 / 输出功能有限;不支持输入 / 输出元数据模型桥。 • 数据库支持有限。如需了解该工具支持的数据库平台列表,请参阅 数据库支持与连接 。 欢迎使用 ER/STUDIO DATA ARCHITECT > 关于重要名称更改的通知 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 10 关于重要名称更改的通知 以下表格列出了近期发生变化的 ER/Studio 系列产品名称。 关于本文档 《ER/Studio Data Architect 用户指南》是本产品的首选参考资料。它全面介绍了该产品并详细 介绍了常规任务和非常规任务。 HTML 格式的 Help 页面作为 ER/Studio DA 的联机帮助使用。本 文还包括了 PDF 格式的联机帮助文件,以便于用户下载和打印。 如需了解有关许可和安装的信息,请参阅《 ER/Studio Data Architect 安装指南》。 如需了解除本文以外的其他更多信息,请参阅 更多产品信息 。 产品对读者的益处 • 数据建模师和数据架构师 :ER/Studio DA 对负责消除数据冗余、创建企业数据资产视图、协 助开发员正确选择重用企业预先定义元素的组织机构起着非常关键的作用。其强大的逻辑域 (与数据库或技术无关)分析和设计环境可以帮助我们修正并创建一份数据对象视图(包含 组织机构管理的数据) 。更重要的是,它可以通过强大的报告和元数据交换机制,在企业内 部分发该视图。 • 数据库管理员和数据库开发人员 :如果没有一份文档或路线图来标记重点相关对象,要管理 数据库是非常困难的。 ER/Studio DA 的正反向工程特性包含数据库逆向工程功能,可以在几 秒钟内为数据库管理员 (DBA) 或开发员提供重要的物理数据模型。这些模型可作为强大高效 的修改管理平台使用,帮助用户对数据库模型进行必要的修改,之后模型会自动生成和 DBMS 相关的、语法正确的数据库 DDL。 • 业务和 IT 管理者:ER/Studio DA 强有力的报表功能可以生成对企业系统设计至关重要的关 键信息。有了这项实用而强大的功能,用户可以在几秒内提供和数据库或企业数据模型相关 的清晰、易于浏览、安全发布的文档,任何需要的人都可以查阅。 原名称 新名称 新名称简称 ER/Studio ER/Studio Data Architect ER/Studio DA ER/Studio Repository ER/Studio Repository Repository ER/Studio Portal ER/Studio Portal Portal EA/Studio ER/Studio Business Architect ER/Studio BA 欢迎使用 ER/STUDIO DATA ARCHITECT > 数据库支持与连接 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 11 数据库支持与连接 支持的数据库平台 ER/Studio DA 支持以下数据库平台: 注: ER/Studio DA Developer's Edition 不支持以下标有 “*” 的数据库平台。 • *Hitachi HiRDB • 适用于 LUW 5.x/6.x/7.x/8.x/9.x 的 IBM® DB/2® • * 适用于 OS/390 5.x/6.x/7.x/8.x/9.x 的 IBM® DB/2® • * 适用于 AS/400 V4R5 和 V5R2 的 IBM® DB/2® • 适用于普通服务器的 IBM® DB/2® • Informix ® OnLine、 SE 和 9.x • InterBase™ 4 (2007 年 /2009 年) • Microsoft® Access 2.0 (95/97/2000) • Microsoft® SQL Server 4、 6、 7 (2000 年、 2005 年和 2008 年) • Microsoft® Visual FoxPro 2.x/3.x/5.x • MySQL 3.x/4.x/5.x • *Teradata V2R4/V2R5/V2R6/V12.0 • Oracle 7.x/8.x/9i/10g/11g • *PostgreSQL 8.x • Sybase® Adaptive Server Anywhere (ASA) 6/7/8/9/10 • Sybase® Adaptive Server Enterprise (ASE) 11.0/11.5/11.9/12.0/12.5/15 • Sybase® Adaptive Server IQ 12.5 • Sybase Watcom™ SQL • Sybase SQL Anywhere 5 •ODBC / AINSI SQL 欢迎使用 ER/STUDIO DATA ARCHITECT > 更多产品信息 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 12 数据库连接 以下表格列出了成功连接目标数据库所必需的客户端软件。 选择客户端软件时,请确保 DBMS 版本与客户端软件版本相匹配。如果客户端库向后兼容, 建议选用最新版客户端软件。请向 DBMS 厂商了解相应的客户端软件及其支持的数据库版本。 更多产品信息 英巴卡迪诺网站是您获取更多产品信息的出色来源,包括白皮书、文章、问与答、讨论组和英 巴卡迪诺知识库。 请访问 www.embarcadero.com/support 或点击以下任意链接: • 文档资料 • 在线演示 • 技术文档 • 论坛 • 知识库 数据库 必要的客户端库 厂商 Hitachi HiRDB Hitachi ODBC Hitachi IBM DB/2 OS/390 / IBM DB2 LUW IBM DB2 Connect IBM IBM AS/400 支持 AS/400 的 IBM Client Access IBM Informix OnLine/SE Informix-Cli/ODBC Informix Software 公司和 Intersolv 公司 InterBase ODBC 英巴卡迪诺科技有限公司 Microsoft Access Access ODBC 微软 Microsoft SQL Server SQL Server Client Tools 微软 Microsoft Visual FoxPro FoxPro ODBC 微软 MySQL MySQL ODBC MySQL Teradata Teradata ODBC Teradata Oracle 包含配置文件(主机, tnsnames.ora)的 SQL*Net 或 Net8 Oracle PostgreSQL PostgreSQL ODBC Postgre Sybase ASA Sybase ASA ODBC Sybase Sybase ASE Sybase Open Client Sybase Sybase Adaptive Server IQ Sybase ASA ODBC Sybase Sybase Watcom SQL Anywhere SQL Anywhere ODBC Sybase 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 13 ER/STUDIO DATA ARCHITECT 概述 ER/Studio Data Architect (ER/Studio DA) 是业界领先的数据建模工具,可用于设计并理解数 据库,帮助公司发现、记录并重用数据资产。通过正反向数据库支持功能,您可以逆向调试、分析 并优化现有数据库。 DA 的超强协作能力可以用来提高工作效率,严格执行机构制定的各项标准。 ER/Studio DA 提供了: • 模型驱动设计环境 • 全面的数据库生命周期支持 • 企业模型管理 • 数据沿袭文档 • 企业通信能力 • 数据存储与集成支持 • 质量数据库设计 本节概括介绍了 ER/Studio DA、ER/Studio DA 系列产品以及可以进一步支持数据架构的英巴 卡迪诺应用。 ER/STUDIO 系列产品开发者版本用户通知 ER/STUDIO 系列产品 ER/Studio 系列包括多个产品: • ER/Studio Data Architect:(ER/Studio DA) 为分析、设计、创建和维护数据库应用提供了一 个完整的环境。 • ER/Studio Repository:(Repository) ER/Studio Repository (版本控制应用)的超强协作能 力有助于提高工作效率,严格执行机构制定的各项标准。 ER/Studio DA 和 ER/Studio Business Architect 用户可以连接 Repository,获得数据模型版本,记录变更,依据 Repository 中的版 本对比并合并本地数据模型,并运行各个使用报表。 ER/Studio Viewer 和 ER/Studio Portal 用 户拥有只读 Repository 的权限。 • ER/Studio Viewer:(Viewer) ER/Studio Viewer 为用户提供了一个交互环境,便于其获取 ER/Studio DA 数据模型,为需要高级查看导航和打印功能但不需要编辑模型的建模小组成员 提供同样复杂的 ER/Studio DA 导航特性。 • ER/Studio Portal:(Portal) Portal 是一项基于浏览器的应用,可用于轻松访问存储在 ER/Studio DA 模型中的元数据信息,便于您搜索、浏览和报告包含在 ER/Studio Repository 中的信息。 • 通用数据模型 :ER/Studio DA 的标准专业数据模板,可将数据库项目周期缩短一半,同时提 高现有以及新增数据模型的质量。 ER/STUDIO DATA ARCHITECT 概述 > ER/STUDIO 系列产品开发者版本用户通知 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 14 • MetaWizard:集成了建模工具、业务智能、 ETL 平台中的元数据,采用行业标准转换格式 (XMI、 XML 或 XSD)。有了该工具, ER/Studio DA 可以通过导入 / 导出功能实现元数据共 享,进而额外集成 70 多项应用。 除上述产品以外,英巴卡迪诺还提供了以下补充应用: • 许可服务器( License Server):许可服务器可以用来帮助您管理有关英巴卡迪诺分布式应用 的许可。您在一个中心的位置对各种许可进行管理,如果您的用户分散在一个大型网络中,使 用该服务器将让您受益匪浅。您可以看到有多少份许可可以使用以及这些可以使用的许可是 否已经在使用中。您还可以添加或删除个别用户,并将许可重新分发给其他需要的用户。 • Schema Examiner:对数据库进行全方位的诊断测试,确认数据库 schema,确保使用相关模 型规则,进而确保数据库 schema 的完整性。详尽的报告及图解文件可以简化错误定位和审查 程序。Schema Examiner 还能够针对如何变更数据库 schema 提供建议并自动生成解决问题的 脚本,进而为改善数据库设计提供高效一致的方法。 • ER/Studio Business Architect:一种业务流程建模工具,基于业务核心概念以及业务运作的 各个细节创建业务图表。该产品可以帮助您轻松模拟业务流程以及这些流程使用数据的方式。 产品的 Conceptual Modeling 功能为描画用于创建详细数据模型的对象域和概念提供了一种 直观的方法。目前, ER/Studio Business Architect 与 ER/Studio Repository 绑定在一起。 • Standard Edition Solution Pack:荣获嘉奖的数据库工具核心套件,可以简化并自动化完成 用来执行关键任务的数据库的设计、开发和管理。 ER/Studio DA Standard 可以帮助您直观地 模拟并整理您的数据库, DBArtisan Professional 可以让您轻松管理数据库的 schema、存储、 性能和安全性, Rapid SQL Professional 则有助于您快速创建、编辑、翻译并部署服务器中的 对象。 • Administration Edition Solution Pack:提高 DBA 工作效率的梦想组合。 ER/Studio DA 可以 让您直观地模拟并整理您的数据, DBArtisan Professional 可以让您轻松管理数据库的 schema、 存储、性能和安全性,英巴卡迪诺 Change Manager 则可以帮助您轻松应对管理 DBA 变更的 挑战。 ER/STUDIO DATA ARCHITECT 概述 > 应用设计 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 15 应用设计 以下图表显示了 ER/Studio 各组件之间及其与主要开发系统软件之间的关系。 应用界面 应用界面由多个带标签的窗口组成,这些窗口可以引导您定制属于您的工作区。应用界面中包 括上下文相关工具栏、直观图标、键盘命令以及其他帮助您高效工作的资源。 ER/Studio DA 用户 界面的风格和感觉与标准版 Windows 相同。 如需了解有关 ER/Studio DA 应用与 Repository 内部数据结构的详细说明, 请参考元数据模型 (DM1 文件 ),这些文件通常位于以下目录中: • Windows XP:C:\Documents and Settings\All Users\Application Data\ Embarcadero\ERStudioDA_X.X\Sample Models • Windows Vista:C:\ProgramData\Embarcadero\ERStudioDA_X.X\Sample Models ER/Studio Repository 服务器 ER/Studio Enterprise 组件 登录 退出 DBMS DDL SQL 源 代码 DBMS 元数据 文件 导入 元数据 导入 / 导出 Wizards 导出 元数据 文件 后退 工程师 & 比较 合并 前进 工程师 ER/Studio ER/Studio Portal Business Architect Data Architect ER/STUDIO DATA ARCHITECT 概述 > 应用界面 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 16 如需了解有关增强 UI 的特点,请单击下图中对应的编号: 1ER/Studio DA的增强版用户界面与采用直观图标的 Windows XP 相似。 2 活动模型(包含或不包含完整路径)的名称可以显示在应用主窗口的标题栏中。您可以按照 Tools > Options > Application > Application Defaults 路径设置该选项。 3ER/Studio DA以粗体形式显示活动的模型,以便于您轻松辨别您正在使用的模型或子模型。 4 “Data Model Explorer” 界面中的 “Data Model” 选项卡以不同节点的形式显示索引、关系和 属性。 5 “Data Model Explorer” 界面中的 “Data Model” 选项卡显示 schema 对象,包括数据包、程 序、函数、物化视图、辅助表和触发器。 6 在 “Overview” 窗口中,您可以定位大型的数据模型。 ER/STUDIO DATA ARCHITECT 概述 > 应用界面 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 17 7 在 “Zoom” 窗口中,您可以查看放大简图中某个具体域的详细信息。 8 您可以将工具栏停放在 ER/Studio DA 用户界面的任意位置。 “Data Model Explorer”包含5个引导您使用重要功能的选项卡以及有助于您高效定位数据模型对 象的 Explorer 树形图。 ER/Studio DA 中 “Data Model” 分为两个主要部分:左侧为 Data Model Explorer,右侧为 “Data Model” 窗口。这种结构同样适用于用户界面的其他选项卡, 如 “Repository” 和 “Data Lineage” 选项卡,左侧为 Explorer,右侧为图表。 “Data Model” 窗口中还包括一个完整的 工作区,用于创建物理数据模型和逻辑数据模型,可以移动的更小窗口可以帮助您定位大型数据模 型。 DATA MODEL EXPLORER Data Model Explorer 可以帮助您定位数据模型及其对象,再次使用设计元素并创建新的对 象。 Data Model Explorer 包含 5 个选项卡,用于帮助您使用重要功能,高效管理您的数据模型。 • 数据模型 :根据需要扩展并折叠 Data Model Explorer 节点。双击一个节点,打开对象编辑器 (Object Editor)。 • 数据字典 :管理数据字典对象,包括附件、默认值、规则、参考值、用户数据类型、域、可重 用的程序逻辑、可重用程序和库。 • 数据沿袭 :记录数据移动和转化的过程。数据沿袭中包含数据的起源以及处理这些数据的所 有后继过程,包括数据 schema 或整个转变过程。 • Macros:管理样本、系统和用户 macros。创建、重命名、删除 /添加 macro 并刷新 macro 列表。 • Repository:管理存储在 Repository 中的对象。 数据模型 “Data Model” 选项卡在独立节点中显示各逻辑元素(如实体及其关系 ) 和物理模式对象(如 数据包和触发器)。右击一个元素, “Data Model” 选项卡中的快捷菜单将显示并可以使用。使用 “Data Model” 选项卡: • 新建对象 • 编辑对象 • 删除对象 • 重命名对象 选择路径 Tools > Options > Application settings,更改数据模型树的显示形式。 ER/STUDIO DATA ARCHITECT 概述 > 应用界面 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 18 您还可以使用 “Data Model” 选项卡管理各个对象中包含的其他对象,如表中包含的各个列。 提示 : ER/Studio DA 以粗体形式显示活动的数据模型, 以便于您轻松辨别您正在使用的模型 或子模型。 数据字典 Data Model Explorer 中的 “Data Dictionary” 选项卡可用于管理数据字典对象,包括附件、默 认值、规则、参考值、用户数据类型、域、可重用的程序逻辑、可重用程序和库。右击一个对象, 相关的快捷菜单便随之显示并可以使用,此时,您可以添加、编辑或删除这些数据字典对象。 ER/STUDIO DATA ARCHITECT 概述 > 应用界面 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 19 在 “ 可重用的程序逻辑 ” 文件夹中,您可以整理多个程序逻辑项目,如可重用的触发器、可重 用的程序和库。 数据沿袭 “Data Lineage” 选项卡是一个直观的拖放界面,在这里您可以记录数据在目标和起源系统之 间的移动过程,以及移动数据的原因和时间。 ER/STUDIO DATA ARCHITECT 概述 > 应用界面 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 20 数据沿袭记载了对数据处理的整个历史,包括数据抽取、转换和加载 (ETL),以及在不同系统 之间移动这些数据需要的相关计算。您可以创建数据移动规则,例如,当存储数据时,如要移动个 别数值范围内的数据,必须首先将这些数据存档。此外,在将数据移至目标之前,您可能还需要发 送数据,这样才能计算个别产品的总销售额。有时这称为起源和目标之间的映射。例如,您所在组 织的数据库可能包括来自多个起源的数据,如 CRM、 Payroll、 General Ledger、 Accounting 或 Product/Inventory 系统。那么,这个数据库很可能需要一个在线数据交易中心,用于接收来自不 同系统的数据, 然后为需要制作相关业务绩效报告的 Sales Executives(销售代表)、 HR Executives (HR 代表)或市场营销团队生成他们各自需要的报表。 ER/STUDIO DATA ARCHITECT 概述 > 应用界面 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 21 MACROS “Data Model Explorer” 的 “Macro” 选项卡可用于添加、编辑、重命名、删除和运行 macros。 您还可以创建一个文件夹,用于存储 macro,以便于参考。 ER/Studio DA 在 “Sample Macros” 文 件夹中安装了多个样本 macro。本文 “ 使用 SAX Basic 宏编辑器 ” 部分对这些 macro 进行了详细 说明。 REPOSITORY 注: Developer Edition ER/Studio DA 中没有此选项卡。 “Data Model Explorer” 中的 “Repository” 选项卡可用于查看并打开存储在 Repository 中的对 象。ER/Studio Portal 集成的 “Repository” 选项卡可用于在您的 ER/Studio Repository 数据库中搜 索所有类型的数据,并查看基于这些模型生成的易懂易用的报告。在 Portal 中,您可以通过报表、 标签和评论与他人交流所有信息。 ER/STUDIO DATA ARCHITECT 概述 > 应用界面 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 22 “DATA MODEL” 窗口 “Data Model” 窗口显示逻辑和物理数据模型。您可以通过菜单、快捷菜单和工具栏按钮使用 这些功能。在 “Data Model” 窗口中,您可以移动图表对象,并将其复制 / 黏贴到新的位置,调整 对象大小,更改对象的颜色。 “Data Model” 窗口还显示物理模式对象,如 Procedures、 Functions、 Packages、 Auxiliary Tables、 Tablespaces Materialized Views 和 Synonyms。以下是用于效果分析的对象关系图。 如果右击一种关系, ER/Studio DA 会打开一个快捷菜单,您可以使用该菜单修改各实体或表 格之间的关系。 在 “Data Model” 窗口中, ER/Studio DA 显示和您的数据模型(包含在 弹出窗口 、 “Zoom” 窗口和 “Overview” 窗口中)中所包含每个对象有关的有用信息。 ER/STUDIO DATA ARCHITECT 概述 > 应用界面 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 23 “DATA LINEAGE” 窗口 “Data Lineage” 窗口显示选定数据流视图,包括数据的转换及其输入和输出。您可以像使用 “Data Model” 窗口一样来使用 “Data Lineage” 窗口。您可以通过拖动窗口整理数据输入和输出。 您可以添加更多形状和颜色,以提高数据沿袭图表的可读性。如需了解更多信息,请参阅《 文档 化数据析取、转换和加载 》。 ER/STUDIO DATA ARCHITECT 概述 > 应用界面 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 24 “REPOSITORY” 窗口 当您单击 “Repository” 窗口中的一个项目时, “Repository” 窗口将显示 ER/Studio Portal 生 成的报表。单击报告中的链接后,您可以查看其他报告,生成一份不同格式的报告,查看相关报 告,在报告中添加标签和评论。 ER/STUDIO DATA ARCHITECT 概述 > 应用界面 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 25 弹出窗口 弹出窗口可以显示定义或数据模型中每个对象的 DDL。将鼠标悬放在任何对象上方, ER/Studio DA 将弹出一个窗口。上例中的弹出窗口显示了对象定义: The Medication Dispensation..... 如要在屏幕截图中显示实体定义,选择 View > Cursor Popup Help Options > Schema Object Help,然后选择 Definition。 您可以在对象编辑器的 “Definition” 选项卡中创建可选定义。生成 SQL 代码之后,ER/Studio DA 会自动添加该定义。 “ZOOM” 窗口 在 “Zoom” 窗口中,您可以集中查看放大简图中某个具体域的详细信息。该功能只能在 “Data Model” 窗口中使用。您可以使用 “View” 菜单或按下 “F8” 键打开 / 关闭 “Zoom” 窗口。您还可以 通过拖动标题栏移动窗口。 ER/STUDIO DATA ARCHITECT 概述 > 应用界面 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 26 “OVERVIEW” 窗口 在 “Overview” 窗口中,您可以定位大的数据模型。 “Overview” 窗口中显示整个模型的缩略 图。您可以使用 “View” 菜单或按下 “F9” 键打开 / 关闭 “Overview” 窗口。当您放大或缩小窗口 时, “Overview” 窗口中模型(显示在 “Data Model” 窗口中)部分将有边线环绕。 菜单 您可以通过应用菜单使用 ER/Studio DA 的所有特性。您还可以通过快捷菜单使用选定的功 能。 ER/Studio DA 应用菜单位于用户界面顶部,而快捷菜单只能在您右击一个对象或图表之后才 能使用。所有菜单都和上下文环境有关,并随着 “Data Model” 窗口中内容的变化而变化。 应用菜单或快捷菜单中的功能也可以通过 工具栏 来使用。 应用菜单 ER/Studio DA 应用菜单中包含所有功能。菜单和上下文环境有关,并随着 “Data Model” 窗 口中内容的变化而变化。逻辑模型和物理模型的应用菜单有所不同。 使用快捷菜单 ER/Studio DA 快捷菜单为使用对象功能提供了一种简便的方法。快捷菜单中包含 工具栏 或菜单 同样的功能。如要使用快捷菜单,右击一个对象或模型即可。 ER/STUDIO DATA ARCHITECT 概述 > 应用界面 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 27 工具栏 ER/Studio DA 工具栏与上下文环境有关,并随着所用程序元素的变化而变化。工具栏按钮可 用于快速使用 ER/Studio DA 的一般特性。您还可以通过 菜单和使用快捷菜单 使用工具栏按钮可以 实现的所有功能。工具栏的变化取决于您是否使用逻辑或物理模型。 ER/Studio DA 可以让您将工具栏移到 ER/Studio DA 工作区的任意位置。 您还可以将工具栏放 在工作区周边。此外,您还可以设定工作区中显示哪些工具栏。 移动工具栏 您可以固定 / 浮动工具栏,将工具栏移到应用窗口的任意位置。 浮动工具栏 1 在固定的工具栏中单击并拖住工具栏手柄。 2 将工具栏拖到新的位置。 固定工具栏 在浮动的工具栏上双击标题栏。 显示工具栏 单击 “View”,然后单击选择或取消选择您想要显示或隐藏的工具栏。 键盘命令 键盘命令、功能键和快捷键可以让您无需使用鼠标即可使用 ER/Studio DA 功能。您可以使用 键盘命令定位图表并使用基本功能。 • PAGE UP:向上移动 “Data Model” 窗口。 • PAGE DOWN:向下移动 “Data Model” 窗口。 • 向上键 :向上移动一行。 • 向下键 :向下移动一行。 • 向右键 :向右移动一个位置。 • 向左键 :向左移动一个位置。 • 减号:降低一级。 • SHIFT+F8:冻结 “Zoom” 窗口,以便于您浏览整个图表,但同时集中查看具体图表对象的详 细信息。使用同样的命令解冻 “Zoom” 窗口。 ER/STUDIO DATA ARCHITECT 概述 > 应用界面 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 28 功能键 功能键可以让您使用部分特性或对话框。 • F1:打开联机帮助。 • F4:打开 “Find Entity/View” 对话框。 • F5:重画图表。 • F7:激活或取消激活阴影。 • F8:打开或关闭缩放窗口。 快捷键 快捷键可以让您通过组合键使用一些重要功能。 • CTRL+A:选择 “Data Model” 窗口中的所有实体。 • CTRL+Shift+A:选择 “Data Model” 窗口中的所有实体和关系。 • CTRL+H:将选定的关系线横向拉直。这条线将依据与父实体的固定点伸直。 • CTRL+L:将选定的关系线纵向拉直。这条线将依据与父实体的固定点伸直。 热键 您可以使用以下热键定位 “Data Model Explorer” 中的模型: • PAGE UP:向上移动一个屏幕。 • Page Down:向下移动一个屏幕。 • CTRL+Home:移到左侧模型页面上方。 • 向上键 :向上移动一行。 • 向下键 :向下移动一行。 Undo/Redo Undo 和 Redo 命令可以将您的模型恢复到编辑的最后一步。该命令位于 “Edit” 菜单下方,或 者您可以使用 CTRL+Z 和 CTRL+Y。 ER/STUDIO DATA ARCHITECT 概述 > 配置和定制 ER/STUDIO DA 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 29 状态栏 ER/Studio DA 在应用下方的状态栏中显示和您的逻辑和物理模型有关的统计结果。以下表格 列出了状态栏中显示的统计信息: 配置和定制 ER/STUDIO DA 您可以通过很多选项定制 ER/Studio DA的运行方式及其在 “Data Model”窗口中显示的内容。 部分选项,如 “Diagram and Object Display” 选项和 “Model” 选项保存在 .dm1 文件中,它们影 响着文件所包含模型的显示或运行方式,同时, “Tools” 选项和 “Cursor Popup Help” 选项影响着 应用和任意新建模型的显示或运行方式。 • 定制图表和对象的显示方式 • 针对选定模型定义模型选项 • 指定共享数据的位置 • 更改光标弹出帮助选项 定制图表和对象的显示方式 “Diagram and Object Display” 选项关系到图表对象在选定模型或子模型中的显示方式。您可 以针对每个物理和逻辑模型和子模型选择不同的显示方式。在 “Data Lineage” 选项卡中选中 “Diagram and Object Display” 选项,定制转变对象的表现形式。您选择的图表和对象显示选项和 您的图表都保存在 .dm1 文件中,它们只是用于当前的图表。图表显示选项中包括页面边界和对其 网格设置内容。在具体对象显示选项中,您可以设置需要显示的和图表中每个对象相关的信息。您 可以设定显示的实体和视图内容。您还可以定制关系和 schema 对象的显示方式。 您可以更改实体 / 表格的显示层级,选择显示属性 / 列、主键、所有键、表格、定义或注视。 您还可以针对特定对象设置显示选项,选择显示对象数据类型、域、 null 选项替代键和所有者。 在视图方面,您可以更改显示层级,选择显示列、主键、所有键、定义和注释。您还可以针对 部分对象设置显示选项,选择显示对象所有者和父名称。 图表模式 统计项 定义 逻辑模型 Views 当前模型或子模型视图总数。 Entities 当前模型或子模型中的实体总数。 Attributes 当前模型或子模型中的属性总数。 Relationships 当前模型或子模型中的关系总数。 物理模型 Tables 当前模型或子模型中的表格总数。 Views 当前模型或子模型视图总数。 Columns 当前模型或子模型中的列总数。 Foreign Keys 当前模型或子模型中 foreign key 的总数。 ER/STUDIO DATA ARCHITECT 概述 > 配置和定制 ER/STUDIO DA 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 30 在默认条件下, ER/Studio DA 自动确定实体和视图大小,显示所有选定的内容。但是,您可 以手动调整实体或视图大小,您只需右击 “Data Model” 窗口中的对象,抓住手柄,然后拖动对 象,调整对象大小。 提示 : 您可以选择 Tools > Options > Display 并选择对应选项,更改任意新图表和对象的 显示方式。更多信息请参阅《 针对选定模型定义模型选项 》。 1 如要更改具体模型或子模型的显示方式, 在 “Data Model Explorer” 中的 “Data Model” 选项 卡中选择对应模型或子模型。 如要更改 “Data Lineage” 选项卡中对象的显示方式 ,单击 “Data Lineage” 选项卡。 2 选择 “View > Diagram and Object Display” 选项。 3 完成 “Diagram and Object Display Options” 对话框,然后单击 “OK” 完成更改。 以下是需要额外说明的选项: “Diagram” 选项卡 • Show Page Boundaries:如果选中该选项,系统将根据打印选项显示页面大小,如在 “Print” 和“Print Setup”对话框中选择的打印机、页面大小、比例和方向。 • Auto-center Diagram over Pages:如果选中 “Show Page Boundaries”选项,该选项则可以 使用。选择该选项将重新排列图表元素,以便于图表始终显示在用于显示或打印图表页面的 中央位置。 • Display and Enable Snap to Grid:选择该选项之后,系统将在图表背景中显示网格线,并 根据距离图表对象最近的网格线对齐图表对象。 ER/Studio DA 可以让您根据图表背景设置网 格。您可以使用网格对齐图表对象,并创建常用或统一的样式。如果您在图表背景中设置网 格,您可以设定 ER/Studio DA 将图表对象移到距离最近的网格线。 • Grid Step Size:设定每个网格单元的水平宽度和垂直幅度。 • Grid Steps Per Line:设定每行的水平网格幅度。 • Units:设定网格单元的度量单位。您可以选择英寸和厘米。 “Entity” 和 “Table” 选项卡 选中的显示层级选项意味着哪些选项将显示在 “Available” 选项域中。 • Definition:如果选中该选项,系统将根据 Entity Editor 或 Table Editor 中 “Definition” 选项 卡的定义设置显示实体或表格定义。 • Note:如果选中该选项,系统将根据 Entity Editor 或 Table Editor 中 “Notes” 选项卡的定义 设置显示实体或表格注释。 • Display Table Names:选择该选项之后,系统随即显示实体和表格名称。 • Display Column Names:如果选择该选项,系统将显示属性和列名称。 ER/STUDIO DATA ARCHITECT 概述 > 配置和定制 ER/STUDIO DA 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 31 • Hidden Attributes Marker:当子模型中实体的属性或键隐藏之后,该选项才能使用。选择 该选项之后,当前未显示所有属性的子模型实体域中将显示省略号。您可以选择 “Submodel Editor” 中的 “Attributes” 选项卡,隐藏实体的属性或按键。 注意: 如果 “Diagram and Object Display Options” 编辑器中的 “Display Level” 与 “Model Options (Model > Model Options > Attribute Order)” 中的 “Attribute Order ” 内容不符,屏幕将显示编辑错误讯息。如果属性真实序列(在 “Model Options” 指定)与显示的序列(在 “Diagram and Object Display Options” 中 指定)不同步, ER/Studio DA 将无法对实体进行合理变更。 “Relationship” 选项卡 • Relationship Style:此处选择的模式适用于在模型或子模型中创建的任意新关系。右键单击 关系并选择其中一个可用的格式选项,取消关系模式。 “View” 选项卡 • Definition:选择该选项之后,系统将显示在 “View Editor” 中的 “Definition” 选项卡定义的 视图定义。 • Note:选择该选项之后,系统将显示在 “View Editor”中的“Notes”选项卡中定义的视图注释。 ER/STUDIO DATA ARCHITECT 概述 > 配置和定制 ER/STUDIO DA 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 32 • Name Compartment:如果选择该选项,系统将在视图对象中显示视图名称,反之,视图名 称只显示在对象上方。 • Wrap Name:如果选择该选项,当视图宽度不足以显示整个名称时,视图名称将被隐藏。 “Schema Objects” 选项卡: 仅限于物理模型,用于控制 schema 对象的显示方式,如数据包、程序、函数、物化视 图、辅助表和触发器。 “Transformation” 选项卡 注: 只有当 “Data Lineage” 选项卡激活并且选中 View > Diagram and Object Display Options 之后该选项卡才能使用。 转换显示选项用于控制 “Data Lineage” 窗口中显示的有关数据流转换对象的信息。 • Transformation Type:选择该选项将显示在 “Transformation Editor”中输入的或选定的转换 类型。更多信息请参阅《 创建、编辑数据沿袭数据流程 》。 • Input and Output Columns:选择该选项后,转换对象域将显示导入 / 导出列的名称。 • Code Definition:选择该选择后,系统将显示通过 “Transformation Editor”在“Difinition”选 项卡的 “Code”域中输入的转换代码。 • Business Definition:选择该选择后,系统将显示通过 “Transformation Editor”在“Difinition” 选项卡的 “Business”域中输入的业务说明。 “Drawing Shapes” 选项卡 您可以使用 “Relationship Editor” 中的 “Phrases” 选项卡定义动词短语和倒装动词短语。 如果您选择显示这些短语,您可以在 “Data Model ” 窗口中单击并拖动这些短语,将其放在最 佳位置。 “Security Objects” 选项卡 安全对象(如用户和角色)不会自动显示在经过逆向工程的数据模型中,此时,您必须 在该选项卡中选择显示这些对象。 “Apply To” 选项卡 您可以选择将其他选项卡中的对象显示选项应用于您的模型的个别元素。 ER/STUDIO DATA ARCHITECT 概述 > 配置和定制 ER/STUDIO DA 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 33 针对选定模型定义模型选项 选定模型的 “Model Options” 用于定义命名规则、模型符号、默认数据类型、数据类型映射、 角色名称前缀和属性序列。您还可以使用 “Model Options” 同步实体名称和表名称、属性名称和 列名称。 偏好集保存在图表 .dm1 中。 1 右键单击目标模型,然后单击 “Model Options”。 根据选择的目标模型,系统将显示 “Logical Model Options”或“Physical Model Options” 对话框。 2 完成 “General Options” 和 “Name Handling” 选项卡的变更,然后单击 “OK”。 注: 显示的选项根据选定的模型是逻辑模型还是物理模型而定。 以下是需要额外说明的选项: “General Options” 选项卡 • Max Table Name Length:只读,选用的平台不同,数值也不同。 • FK Column Definition/Note Synchronization: • None:当新建一种关系或者主键中新增一个列时, PK 父列中的 “Note and Definition” 文 本将展开。如果 PK 父列有任何变化,这些变化将无法与子列同步。 • Partial:当新建一种关系或主键中新增一个列中, PK 父列中的 “Note and Definition” 文 本将展开,如果父列中的文本域子列中的文本相当,此时子列中的文本将与 PK 父列保持 同步。如果子列外键属性中的文本有变动,父列与子列之间的关系将被打破。 • PK Indexes:选择 “Manual Sequence”,使用 “Index Editor” 手动更改主键索引列的排序。 否则无法手动修改索引列的序列。 • Attribute Order:选择 “Logical Order”,将所有主键列定位在非主列前方。选择 “Physical Order”,按照物理模型中的顺序定位键,也就是说,主键可以显示在非主列前后任意位置。选 择 “Logical Order”,避免主键在 “Entity Editor” 中重新排序。如果您在选择 “Physical Order” 之后选中 “Logical Order”,每个实体中的主键将重新排序,显示在属性列表最前方的位置。 提示 : 在 “Options Editor > Application” 选项卡中为新模型设置默认列排序方式。 注意: 如果 “Diagram and Object Display Options” 编辑器中的 “Display Level” 与 “Model Options” 中的 “Attribute Order” 不符,系统将显示编辑错误讯息。如 果属性真实序列(在 “Model Options” 指定)与显示的序列(在 “Diagram and Object Display Options” 中指定)不同步, ER/Studio DA 将无法对实体进 行合理变更。 ER/STUDIO DATA ARCHITECT 概述 > 配置和定制 ER/STUDIO DA 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 34 • View Parser:确定新建一个 View 之后使用哪种分析程序对 SQL 进行验证。用户可以在逻辑 模型中维护并分析具体平台的结构。如果您在逻辑模型和目标平台中使用同一项分析程序,那 么,生成物理模型之后,您无需重写 View SQL。 • Auto Rolename Prefix:指定一个字符串添加到所有角色名称的开头。 • Datatype Mapping:如果您已经针对选定的数据库平台定制数据类型映射,那么,您可以在 “Datatype Mapping” 列表中选择一个替换映射或系统映射(系统默认)。 提示 : 定制的数据类型映射使用 “Datatype Mapping Editor” (Tools > Datatype Mapping Editor) 创建。 “Name Handling Options” 选项卡:设定实体名称和表格名称之间的同步级别。 • Complete Synchronization:将表格和列的名称与其相关的实体和列名称相匹配。两个名称 始终保持同步。 • Partial Synchronization:自动完成表格和列名称与其相关实体和属性名称之间的同步,除非 您编辑了表格名称,因为这会对同步产生影响,最终名称会有所不同。如果名称保持统一,编 辑实体名称后表格名称会即时更新。 • No Synchronization:提示您手动设定两组名称。分别设定实体名称和表格名称。同时,取消 角色名称链接,这样外键关系子属性和父属性便有了不同的名称。 • Enable Logical Name Editing:支持用户通过表格或实体编辑器直接编辑对应的对象。例如, 用户可以在 “Table Editor” 中编辑属性名称,在 “Entity Editor” 中编辑列名称。 针对新模型定制标准模型特性 使用 “Tools Options” 为所有新建的模型定制工作环境,包括所有经过逆向工程的模型 -- 虽然 有些选项会即时生效,影响到当前模型的显示方式。大多数根据选项都可以在 定制图表和对象的显 示方式 或针对选定模型定义模型选项 中选择。 为所有新模型定义模型选项 1 选择 Tools > Options。 2 完成更改,然后单击 “OK”。 单击以下链接了解有关需要额外说明的选项的信息: “Application” 选项卡 “Logical” 选项卡 “Physical” 选项卡 “Name Handling” 选项卡 “Display” 选项卡 “Directories” 选项卡 “Tools” 选项卡 “Diagram” 选项卡 “View” 选项卡 “Schema Objects” 选项卡 “Object Types” 选项卡 “Object Names” 选项卡 “Automation Options” 选项卡 “Data Dictionary” 选项卡 “ERX File Import” 选项卡 “Undo” 选项卡 “Repository Options” 选项卡 ER/STUDIO DATA ARCHITECT 概述 > 配置和定制 ER/STUDIO DA 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 35 “Application” 选项卡 • Show Status Bar:在应用程序底部显示状态栏。选定物理模型后,状态栏将显示数据库平台 的名称以及 Views、Tables、Columns 和 Foreign Keys 的总数。如果选择逻辑模型,状态栏将 显示模型类型(逻辑)以及 Views、 Entities、 Attributes 和 Relationships 的总数。 • Unification Options:统一是将同名列组合为一个列的行为。当您将一个外键扩展到包含同 名列的表格时,通常需要这种行为。 • Compare Names Only:统一重复的同名外键,即使它们来自不同的实体。 • Compare Names and Datatypes:统一名称相同并且来自同一个实体的重复的外键。 • Compare Originating Parents:统一来自同一个父实体的重复外键。 • Prompt to Resolve FK Columns:打开 “Duplicate Attribute Editor”,您必须选择如何处 理重复的外键名称,如,新建一个角色名称,解决名称不同的问题。 • Submodel Drag and Drop:为了避免不经意将一个子模型移到其他子模型中,您可以选择 在这种情况下系统弹出警告讯息,或者禁用这种移动行为。 “Logical” 选项卡 • Case Shift:选择是否保留您在编辑器中键入的字母,还是将您在名称域中键入的字母转换为 大写字母或小写字母。 • FK Column Definition/Note Synchronization: • None:当新建一种关系或者主键中新增一个列时, PK 父列中的 “Note and Definition” 文 本将展开。如果 PK 父列有任何变化,这些变化将无法与子列同步。 • Partial:当新建一种关系或主键中新增一个列中, PK 父列中的 “Note and Definition” 文 本将展开,如果父列中的文本域子列中的文本相当,此时子列中的文本将与 PK 父列保持 同步。如果父列外键属性中的文本有变动,父列与子列之间的关系将被打破。 • PK Indexes:选择 “Manual Sequence”,使用 “Index Editor” 手动更改主键索引列的排序。 否则饿,您无法手动更改索引序列。 “Physical” 选项卡 • Max Table Name Length:这是一个只读域。域值取决于选定数据库平台的规则。 • Auto PK Options:如果您选择 “Yes”,当自动创建 Primary Key 索引时, ER/Studio DA 将 自动组织索引,按照索引排序重新排列数据块。这可能会提高存取速度。 • FK Column Definition/Note Synchronization: • None:当新建一种关系或者主键中新增一个列时, PK 父列中的 “Note and Definition” 文 本将展开。如果 PK 父列有任何变化,这些变化将无法与子列同步。 • Partial:当新建一种关系或主键中新增一个列中, PK 父列中的 “Note and Definition” 文 本将展开,如果父列中的文本域子列中的文本相当,此时子列中的文本将与 PK 父列保持 同步。如果父列外键属性中的文本有变动,父列与子列之间的关系将被打破。 ER/STUDIO DATA ARCHITECT 概述 > 配置和定制 ER/STUDIO DA 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 36 “Name Handling” 选项卡 这些设置限定了实体名称与表格名称的同步方式、列名称与属性名称的同步方式以及逻 辑模型和物理模型之间的逆向工程。如果您想要在表格名称中反应出实体名称的变化,但并不 需要其他方向保持同步,此时这些设置非常有用。例如,您可能会在部署物理模型过程中修改 模型名称,但并不希望名称的变更自动反应在逻辑模型中。 • Allow Unification When Editing Names:如果选择该选项,您可以更改外键属性或列的角 色名称, 使之与同一个实体或表格中的其他属性或列的名称保持一致。您还可以选择在 “Entity Editor > Attributes”选项卡中指定逻辑模型和物理模型名称之间的统一方式。当您提交编辑内 容后,重名将被统一。该选项对 “Entity Editor” 和 “Table Editor” 中的名称、屏幕名称编辑以 及 Explore 树形图中的名称都有约束力。例如,假如您将下图 Entity4 中的 FK 从 AnotherPK 改为 MyPK。 统一结果如下: 为了避免对象名称冲突,您可以选择括弧或引用语中的所有名称,或者只圈起与 SQL 关 键字冲突的名称。如果数据库平台支持括弧或引用语中的对象名称,您可以在 “DDL” 选项卡 和 “DDL Generation Wizard” 选项卡的 “General Options” 域中将对象名称括起来。如果您选 择 “Enclose Names That Conflict with Keywords”,那么, SQL 关键字中包含的列名称将自动 包含在括弧中。 ER/STUDIO DATA ARCHITECT 概述 > 配置和定制 ER/STUDIO DA 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 37 “Display” 选项卡 • Page Boundaries:显示分页边界,便于您决定出于打印的目的应该将对象放在图表的哪个 位置。 • Turn on Grid And Snap:在模型背景中显示网格,并将新模型对象放在紧邻网格线的位置。 这样您可以均匀放置模型对象。 • Cardinality:显示实体或表格之间关系的基数。 • Verb Phrases:显示图表中紧邻关系行的动词短语。 • Rolename Notation:显示 IDEF1X 角色名称的完整符号。 • Display Mode:用于选择显示模型并选择 “Display Options”。可用选项包括: • Attribute (Model Order):根据模型类型,按照默认顺序显示实体及其所有属性。例如, 在逻辑模型中,属性按照其在逻辑模型中的正常形式显示,主键开头。 • Attribute (Logical Order):按照逻辑模型默认的顺序显示实体及其所有属性 -- 无论您在查 看逻辑模型还是物理模型。如果选择按照 “Logical Order” 显示属性, ER/Studio DA 将自动 排列这些属性,以便于主键始终位于最上端。 • Attribute (Physical Order):按照物理模型默认的顺序显示实体及其所有属性 -- 无论您在 查看逻辑模型还是物理模型。如果选择按照 “Physical Order” 显示属性, ER/Studio DA 将 排列这些属性,以此来反应它们在物理模型中的顺序,无论主键是否位于最上端。 • Image Export Settings:针对 HTML 报表设置图像文件选项,如 JPG、BMP 和 WMF。如果 未选择该选项,图表将显示黑白色。 “Directories” 选项卡 定义保存模型、数据库脚本、报表、参考模型和 macros 的目录。 “Tools” 选项卡 • ISQL Path:您可以在这里键入 SQL 工具的文件名和位置,以便于打开并管理 SQL ER/Studio DA 的输出。您可以将默认的 uisql.exe 编辑器替换为任意 ISQL 编辑器。例如,您可以使用 DBArtisan 或 SQL Server Enterprise Manager 的 Query Analyzer。系统默认的 DBArtisan 路 径为: C:\Program Files\Embarcadero\DBAXXX\DBArtXXX.exe • Startup Directory:在这里您可以输入 SQL 应用程序的文件名和默认的保存目录。 “Diagram” 选项卡 注: 在这里选择该选项将立即应用于开放的数据模型。 • Entity:选择当您将鼠标悬放在一个实体上方时显示的信息。 • Schema Object Display:选择当您将鼠标悬放在一个 schema 对象上方时显示的信息。 ER/STUDIO DATA ARCHITECT 概述 > 配置和定制 ER/STUDIO DA 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 38 • Loiter Time:当您将光标悬放在 “Data Model” 窗口中某个对象上方时弹出窗口中显示的时间。 “View” 选项卡 • Duplicate View Column Name Resolution • Prompt:提示您提供列的别名,以便于在出现重名时与其他列的名称相区分开。 • Don't propagate:ER/Studio DA 通过 SQL 语句中的 SELECT 从句(用于创建视图)排除 重复的列名称。 • Attach prefix and/or suffix:将给定的前缀或后缀添加到列名称中,用以区分重复的列名 称。包含下划线的实体名称 (EntityName_) 被指定为前缀,序号为后缀 (01)。 • View Column Propagation • Propagate non-keys only:在视图中只展开基本表中的非主列。 • Propagate all columns:在视图中展开所有列。 • Don't propagate any columns:不得在视图中展开任何列。您必须在 “View Editor” 中选 择展开的列。 • When adding new columns to a view...:如果您选择 “Yes”,添加到视图中的列在所有子 视图的视图中打开。 • Display SQL Validation Dialog:提示您验证 SQL 代码更新信息。 • Column Sorting:设定列的排序结构,同时确定 DDL SELECT 语句。 “Schema Objects” 选项卡 • Show triggers:选择该选项将根据指定的动作在父 DDL 和子 DDL 中创建触发器。 例如,在 Microsoft SQL Server 2005 平台上选择更新、层叠、删除和归零父组件动作之 后,父表格中将生成 DDL,如下所示: REFERENCES dbo.child_name(foreign_key_name) ON UPDATE CASCADE ON DELETE SET NULL “Object Types” 选项卡 这里选定的对象类型控制着《 DDL Generation Wizard》第 3 页 “General Options” 选项 卡中 “Generate Other Object Types” 域的默认选项。您可以在《 DDL Generation Wizard》 中取消默认的选项。更多信息请参阅《 生成脚本文件或数据库 》。 “Object Names” 选项卡 这里选定的对象名称控制着根据《 DDL Generation Wizard》生成的触发器和程序名称。 您可以在《 DDL Generation Wizard》第 3 页 “General Options” 选项卡的 “Generate Other Object Types” 域中选择生成系统触发器和默认表格保存程。更多信息请参阅《 生成脚本文件 或数据库 》。 ER/STUDIO DATA ARCHITECT 概述 > 配置和定制 ER/STUDIO DA 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 39 “Automation Options” 选项卡 通过 “Automation Interface”,您可以定制当您创建、删除或更新选定的数据库对象时用 到的功能。如要启用这些定制的功能,您必须选中它们。更多信息请参阅《 自动化对象编程 指南》。 “Data Dictionary” 选项卡 • Show data dictionary name when displaying dictionary objects:如果选择该选项,您可 以使用选定的格式显示数据字典对象。例如,如果选择第二选项, TID 用户数据类型,在针对 “Royalty Schedule” 实体选定的 Entity Editor 的 “Datatype” 列中,Pubs.dm1 的样本模型将显 示为 pubsDD.tid。 • Migrate domain attachment bindings during drag ‘n’ drop:选择该选项后,如果在拖放 操作过程中展开一个实体或表格,或者如果在 Entity Editor 或 Table Editor 中编辑属性或列的 过程中在 “Domain Name” 列表中选择域,那么,约束该域的附件将被传到属性或列中。 • Attribute/Column Definition Updating:如果选择 “Disallow Updating”,您将无法在实体 / 表格编辑器中修改域定义。 “ERX File Import” 选项卡 • Validate Views:选择该选项可以检查视图中的表格和列的语法是否准确无误。验证失败的视 图标记为无效。 • Validate Stored Procedures:选择该选项可以检查保存的程序语法是否准确无误。验证失败 的程序标记为无效。 • Import Foreign Key Indexes:导入 ERWin 为所有外键自动生成的外键索引。 • Use Logical Index Names when Physical Index Names are not defined:如果未选择该选 项并且物理索引名称为空,系统将为任意未命名的索引生成特殊的名称。如果选择该选项并且 物理索引名称为空,系统将从逻辑模型中选择对应的名称。选择该选项之后,如果物理模型中 出现重名,您可以使用《 Model Validation Wizard》区分这些重名。 “Undo” 选项卡 针对您在此处选择的操作,在执行操作之前,系统将提示您进行确认。 “Repository Options” 选项卡 注: Developer Edition ER/Studio DA 中没有此选项卡。 该选项卡只有当您获得 ER/Studio Repository 许可后才显示。 • Server Machine:显示 ER/Studio Repository 的主机名称。单击 Repository 列表查看并选择 其他 Repository。单击 “Refresh”,更新 Repository 列表中所有 Repositories 的主机名称。 • Refresh:单击 “Refresh” 刷新网络中显示的 Repository 服务器列表。 ER/STUDIO DATA ARCHITECT 概述 > 配置和定制 ER/STUDIO DA 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 40 • Active File Directory:用于保存从 Repository 查处或恢复的文件的目录。与网络共享目录不 同,Active File Directory 应安装在本地机器上,因为网络共享目录可能会导致 Repository 操 作失误。 注意: 请将 Active File Directory 安装在本地电脑上。共享网络目录可能会导致 Repository 操作失误。 • Hide Repository Status Icons:选择该选项后, “Data Model and Data Lineage” 和 “Data Model and Data Lineage” 窗口中将不再显示 Repository Status 图标,如锁。如果想要打印没 有图标的图表时,您可以使用该选项。 • Show Repository Status Dialog:指定您希望显示或隐藏 “Repository Status” 对话框的位置, 该选项将显示 Repository 每步操作的计时信息。 • View SQL Alerts:选择该选择后, “Repository Merge” 操作将在 check-in 时显示警告讯息, 提醒用户多个用户修改了视图中的数据。 如果弹出 SQL 警告讯息,您可以选择隐藏此类讯息。 您可以使用 “View SQL Alerts” 选项重新查看这些讯息。 • Enable Repo Events Polling:“Repository Events Polling” 选项可以重现有关 Repository 操 作的信息,以便于即时更新图表或对象状态的最新信息。如果选择了 “Repo Events Polling”, 您可以设置查询的间隔时间。该设置默认有效。 • Repo Events Polling Interval:为了完成本地图表和对象状态与 Repository 之间的同步而进 行轮询的间隔时间(秒)。 • Hide General Information Data:为了提高性能,您可能想要选择该选项,以防 Repository 状态信息显示在 “Get From Repository” 对话框的 “General Information” 域中。 • Display Synchronize Comments Warning:如果选择该选项,系统将提示用户在同步评论与 Repository 之前保存所有更改。如果不选择该选项,系统将在同步之前自动保存更改内容。 • Diagram Name Display Format:决定图表名称在 “Repository” 对话框中的显示方式,如 “Get from Repository”。如果选择该选项, Diagram Name (Filename.dm1) 中的图表名称可 能显示为 Demo1 (Model.dm1),其中 “Demo1” 代表 “Diagram Properties” 对话框的名称域, 您可以使用 File > Diagram Properties 路径找到。 指定共享数据的位置 1 选择 Help > About ERStudio,然后 单击 “File Path” 选项卡。 2 在 “File Path” 对话框中,指定保存共享文件的目录位置。 3 单击 OK,然后再次单击 OK,退出 “About ERStudio” 对话框。 ER/STUDIO DATA ARCHITECT 概述 > 数据建模原理 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 41 更改光标弹出帮助选项 设定当鼠标悬停在图表对象上时显示的信息,如实体、表格、 schema 对象或关系。有关实体 和关系的 Help 对逻辑模型和物理模型均有效。 选择 View > Cursor Popup Help Options,然后选择实体显示选项。 数据建模原理 E/R Studio Data Architect 是实体关系建模工具。以下部分主要介绍 ER/Studio DA 数据建模 的概念,尤其是实体 - 关系建模概念。此外,我们还将详细介绍整个设计过程,包括从创建逻辑模 型到创建物理模型。 • 数据建模概念 :说明数据建模的概念、关系模型的制作、实体 - 关系建模以及 IDEF1X 的方 法论。 • 制作数据模型 :描述创建逻辑设计的步骤,包括命名对象、设计资料归档、模型标准化,以及 创建物理设计的步骤,包括从逻辑模型到物理设计的转换过程到物理设计的反向规格化以及数 据库的使用。 数据建模概念 数据模型中包含对于您的企业至关重要的要素及其之间的关系。模型的核心是企业数据的基 本结构以及相关的业务规则。数据模型由两部分组成:逻辑设计和物理设计。 逻辑模型: 逻辑模型的创建先于物理模型的创建。创建逻辑模型需要满足系统开发的业务和功能 要求。逻辑设计可以让您在创建数据库之前确定需要保存在数据库中的数据的组织结构,实际上它 可以作为一份设计图来使用。 物理设计: 物理设计设计到数据模型的技术应用,显示数据保存到数据库的过程。例如,您可以指 定表格中每列使用的数据类型,确定表格保存在数据库中的格式。 数据模型设计原理: 如要设计最有效地数据模型,在开发物理设计之前您应该集中完成逻辑设计。 逻辑设计和物理设计过程都非常复杂,所以,最好将两者分开完成。好的逻辑设计应该可以明确数 据结构及其之间的关系,进而简化物理设计过程。 数据模型的用途: 虽然创建数据库通常是数据建模的主要目的,但除了创建数据库之外,数据模 型仍有许多其他用处。在系统开发方面,其目的是创建一项高效的数据库应用程序,用于支持企业 的一部分或者整个企业。但是,企业的数据模型可以帮助您明确您可能忽略掉的业务运作部分。此 外,好的数据模型可以准确表现您的业务,这对于指导员工高效工作并实现目标有很大的帮助。数 据模型还可以作为内外沟通的有效工具来使用。 ER/STUDIO DATA ARCHITECT 概述 > 数据建模原理 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 42 关系模型: 最初的数据模型用来帮助系统分析师确保业务数据与物理数据库或机器架构相符。分 层网络模型往往在个别系统中最有效。 20 世纪 70 年代初, E. F. Codd 根据关系代数学开发了关系 数据模型。关系模型强调的是数据独立性,用于保存数据的基本物理结构对数据的独立性进行了定 义。支持关系数据模型的系统可以让用户轻而易举将数据移植到更大、更新的系统中,哪怕存储设 备之间存在略微的差别。 关系模型的优势在于它的简易性。在关系模型中,数据按照行和列排列在表格中。每个表格代 表一种类型的数据。每行或元组代表一类数据中的其中一个项目。每列或域中保存的是有关表格中 数据类型的信息。 实体 - 关系模型: 1976 年,陈品山( Peter Chen)先生发明实体 - 关系建模。当时,陈先生的实 体 - 关系模型连同 Hammer 和 McLeod 提出的语义数据模型( Semantic Data Model)为人们提 出了一种新的数据思路。陈先生的理念强调,数据模型应该表现业务的真实性,无论模型在手动系 统还是自动系统中使用。虽然现在看起来似乎有些不合理,但在当时这些理念是极具极高的创新意 义,它们把人们从分层业务模型的种种限制中解脱出来。在纸上模拟业务的能力让业务计划员能够 对各种想法进行测试并调试,然后再将其付诸实践,这样便节约了成本和其他资源,防止问题进一 步恶化。 实体关系建模背后的基本理念:企业中的一切都可以归结为一个抽象或原型目标,我们称之为 实体。这些实体具有一定的特征或属性。同时,它们还通过动作彼此相互关联,每个实体作用于其 中一个多个其他实体。我们称这些动作为关系。 在确定数据模型中各实体之间关系时,您需要定义一系列业务规则。业务规则决定着您的业务 类型以及您运作业务的方式。例如,正如您知道的,每个员工的 ID、项目 ID 和部门 ID 都必须是 独一无二的。虽然您可以使用社会保障卡号码作为员工的 ID,但您可能想要简短并且便于分类的 ID。此外,您还需要考虑更为复杂的问题,比如,我们如何将员工、项目和部门联系起来才能将数 据冗余降到最低,同时最大限度提高我们的报告能力?这个问题乃至其他更多问题的答案便构成 了限制您运作业务的规则。 属性定义可以与关系沟通决定或强制执行业务规则。您可以针对任意实体的任意属性定义一 组特别的有效数值。例如,您可以为称为 “Salary” 属性中的子集 “ 员工 ” 定义有效的工资范围。 这组数值就是我们所说的域。 ER/STUDIO DATA ARCHITECT 概述 > 制作数据模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 43 维度模型: 通常,人们认为维度建模最能表现最终用户存取数据。企业的单个实体关系图表中包含 每个可能的业务流程,维度图表则在一张事实表格中表现单个业务流程。 ER/Studio DA 可以识别 每个业务流程组件,并创建相关的 DM 图表。 您可以从逻辑模型开始,创建一份维度图表,方法很多,比如逆向工程、导入 SQL 或 ERX 文 件,或者添加新的物理模型。 制作数据模型 以下部分主要介绍了 ER/Studio DA 数据建模过程,这是一个反复循环的过程。 从基本数据模型开始 您可以从零开始,或者对现有的数据库进行逆向工程。 创建一个基本数据模型 1 新建一个数据模型; 创建和操作数据模型 。 2 添加实体; 创建和编辑实体 。 3 定义实体属性; 创建和编辑属性和列 。 4 确定实体间的关系; 操作关系线 。 5 分配键; 创建和编辑键 。 逆向工程一个数据库 1 逆向工程一个数据库; 对现有数据库进行逆向工程 。 导入文件,新建数据库 1 导入数据源中的数据,用于新建数据库; 从 ERX 文件中导入模型 、从 SQL 文件导入模型 和 从 Describe 中导入数据模型 。 确保数据完整性 1 通过创建并应用命名规则确保对象名称符合业务标准; 通过命名标准模板执行命名标准 。 2 通过定义参考值确保数值在指定范围内或者与列表中给定的数值相匹配; 使用参照值定义有 效的属性数据 。 3 通过添加新规则确保导入表格或列的数据有效; 通过规则增强数据完整性 。 ER/STUDIO DATA ARCHITECT 概述 > 制作数据模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 44 数据模型创建与维护的自动化 1 通过创建域加快实体创建和更新; 通过域名重用属性定义 。 2 通过分配默认值协助用户输入数据; 使用参照值定义有效的属性数据 。 3 创建宏,执行重复任务; ER/Studio Data Architect 自动化。 4 针对属性、域和用户数据类型定义默认值; 创建、编辑默认值 。 5 添加可重用的程序逻辑; 重用程序逻辑 。 调整数据模型 1 验证模型; 验证模型 。 2 定制数据类型映射; 自定义数据类型映射 。 3 针对域和属性创建用户定义的数据类型; 使用用户数据类型保证域名定义一致 。 4 生成物理模型; 生成物理数据模型 。 5 将模型规格化,以减少数据冗余; 规范化 。 6 反向规格化,以提高性能; 非规范化物理模型 。 保护数据模型 1 检查 Repository 中的数据模型; 将更改的项目保存到储存库中(签入) 。 2 创建 User 和 Role,并将其应用到数据模型中,防止未经授权人员更新或查看数据模型; 创建 和管理用户 和创建和管理角色 。 3 创建 User 和 Role,并将其应用到数据模型中,防止未经授权人员更新或查看数据库; 创建和 编辑数据库用户 和创建和编辑数据库角色 。 4 设定数据安全信息; 用数据安全类型和属性保证安全 。 准备检查和实施 1 定制模型显示方式; 自定义数据模型 。 2 通过创建附件为数据模型检查人员提供更多资料; 验证模型。 3 记录数据沿袭; 文档化数据析取、转换和加载 。 4 创建分布报告; 创建 RTF 和 HTML 模型报告 。 5 提供维度模型,方便用户存取数据; 改变模型符号 。 6 生成 SQL,使用数据库; 生成脚本文件或数据库 。 ER/STUDIO DATA ARCHITECT 概述 > 制作数据模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 45 维护数据模型 1 记录数据沿袭,确保根据准确的原始资料更新模型; 文档化数据析取、转换和加载 。 2 物理数据库更新后,完成物理数据库与物理数据库之间的同步; 使用比较与合并实用工具 。 3 物理数据库更新后,完成逻辑数据库与物理数据库之间的同步; 同步物理模型与逻辑模型 。 4 更新完毕之后,检验 “Repository” 中的数据模型; 查看储存库对象的签出历史 。 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 46 使用 ER/STUDIO DATA ARCHITECT 本章包含以下主题: • 创建和操作数据模型 • 最佳实践 • 普通任务 • 开发逻辑模型 • 开发物理模型 • 操作数据字典 • 文档化数据析取、转换和加载 • 保存、使用快速启动设置 • 创建 RTF 和 HTML 模型报告 • 导出数据模型 • 打印数据模型 • 导出数据模型的图像 创建和操作数据模型 使用 ER/Studio DA 的数据建模功能,可以创建自动和自定义数据模型关系图。 ER/Studio DA 为对象提供了诸如自动布局,自定义颜色、字体以及关系线控制的功能。 ER/Studio DA 提供五种预先设置的自动布局:圆形、层级、正交、对称和树形。您可以使用 预先设定的布局使数据模型自动生成特定的关系图类型。这些自动布局决定了 ER/Studio DA 如何 显示关系和对象。尽管这些布局使用控件关系与对象位置的特定规则创建了特定的关系图,您仍然 可以更改某些显示设置,从而覆盖原有自动布局。 您可以为关系图中几乎任何对象设定颜色和字体。您可以进行一些设置来改变关系图中所有 对象的显示。如果您改变了整个关系图的颜色或字体,那么您可以选择个别对象进行不同设定。 在 ER/Studio DA 中您可以控制关系线的显示。可以控制关系线的颜色、曲度、直度、动词短 语和连接点。 当操作大型数据模型时, ER/Studio DA 为用户提供了轻松缩放和浏览模型的功能。概览窗口 (Overview Window)和缩放窗口( Zoom Window)显示整个数据模型的缩略图。可以使用关系 图(Diagram)工具栏里的实用工具,缩放和浏览这些关系元素,使整个数据模型适合数据模型 窗口的大小。 使用 ER/STUDIO DATA ARCHITECT > 创建和操作数据模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 47 有几种方法可以创建数据模型。本节描述了这些方法。随后的章节将讨论如何自定义数据模型。 • 创建新的、空白的数据模型 • 对现有数据库进行逆向工程 • 导入模型 • 生成物理数据模型 • 使用比较与合并实用工具 创建新的、空白的数据模型 1 选择 File > New。 2 选择 Draw a new data model,然后点击 OK。 3 选择 File > Save,导航到适当的目录下,输入文件名,然后点击 Save。 对现有数据库进行逆向工程 使用逆向工程功能,从一个现有数据源中提取信息来创建逻辑模型和物理模型。您可以使用 ODBC 或本地连接来指定数据源进行逆向工程。使用逆向工程向导和本地连接,可以明确地指定 您想要进行逆向工程的对象,从特定数据库对象中选择,诸如:表格、视图、索引、默认、规则、 用户数据类型、所有者、对象、视图和依赖项。使用逆向工程向导和 ODBC 连接,您可以仅对表 格和视图进行逆向工程。为表格提取的信息包括约束、主键、外键和评论。使用快速启动( Quick Launch)功能,可以将一系列逆向工程选项保存到一个文件中,以便在下一次需要执行类似逆向 工程操作时可以找回这些选项。 1 选择 File > New。 2 选择 Reverse-engineer an existing database,然后点击 Login。 3 输入数据库连接和登录信息。 4 显示逆向工程( Reverse Engineer Wizard)向导 。 您可在此选择包含在逆向工程模型中的特定对象和信息。逆向工程向导( Reverse Engineer Wizard)将指导您完成逆向过程的剩余部分。 以下描述了此向导中需要进一步解释的区域和选项。 使用 ER/STUDIO DATA ARCHITECT > 创建和操作数据模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 48 第一页 • Connection Type: • ODBC:使用 ODBC 连接,您只能对表格和视图进行逆向工程。要添加新的 ODBC 数据源 或编辑现有的数据源,点击 Setup,打开 ODBC Data Source Administrator 对话框。要获 得更多信息,请看 设定 ODBC 数据源和目标的连接 。 • Native/Direct:使用本地或直接连接,您可以对选定平台的所有支持对象进行逆向工程。 要了解更多信息,参看 使用原生连接或直接连接 。 • Database Type:使用本地连接, ER/Studio DA 可对以下数据库进行逆向工程: • 适用于 OS/390 的 IBM DB2 数据库 • 适用于 LUW 的 IBM DB2 数据库 • MS SQL Server •Oracle •Sybase ASE • Data Source:该字段取决于您是否选择了 ODBC 或本地连接。 • 为获得 ODBC 连接,从列表中选择数据源。 • 进行本地连接,输入数据源连接字符串。 • Quick Launch:在此向导最后一步中,您可以将设置保存在文件中,以便日后使用。如果您 之前保存了此种文件,您可以点击向导第一页的 Select Settings File 旁边的 按钮,加载该文 件。然后点击 Go 按钮,运行与之前设置完全一样的导入操作,或单击 Next 按钮修改设置。 快速启动向导数据保存为 .rvo 文件。这些文件的默认存放位置为: • Windows XP:C:\Documents and Settings\\Application Data\Embarcadero\ERStudio\XML • Windows Vista:C:\Users\\AppData\Roaming\Embarcadero\ERStudio\XML 要改变 Quick Launch 文件的默认存放路径,选择 Tools > Options > Directories。 第二页 • Database List:如果此数据库平台支持数据库对象,浏览和选择一个或多个数据库,进行逆 向工程。 • Owner List:如果此数据库平台支持所有者对象,浏览和选定一个或多个所有者,进行逆向 工程。 • Include:选择包含在该数据模型中的对象。 第三页 • Capacity Planning:选择其中任何选项,返回数据库的信息,以便于您为存储需求制订计划。 • Object 选项卡:显示上一页在 Include 列表中选择的每个对象类型的选项卡。点击此对象选项 卡,查看可用对象,然后使用箭头将您想要进行逆向工程的对象移至 Selected Objects 区域。 使用 ER/STUDIO DATA ARCHITECT > 创建和操作数据模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 49 第四页 • Infer Referential Integrity:如果数据库中没有声明参照完整性约束, ER/Studio DA 会自动 推断。 点击一个或多个选项,创建逆向工程关系图中实体之间的关系。 • Infer Primary Keys:若选择该选项, ER/Studio DA 从表格的唯一索引推断主键。如果表格 中存在不止一个唯一索引, ER/Studio DA 将选择最少列的索引。 • Infer Foreign Keys from Indexes:若选择该选项, ER/Studio DA 从多个索引推断外键。 从多个索引推断外键时, ER/Studio DA 寻找与主键名称、数据类型属性、列序列相匹配的 列的索引。如果子索引是主键索引,其包含的列一定多于父主键。在这种情况下,创建了识 别关系。 • Infer Foreign Keys from Names:若选择该选项,并且数据库中包含外键, ER/Studio DA 则从名称推断外键。从名称中推断外键时, ER/Studio DA 寻找与主键名称和数据类型属性 相匹配的列。在这种情况下,创建了非识别关系。 ER/Studio DA 在子列有角色名的地方无 法推断关系。此时创建非识别关系,然后使用 Edit Rolenames 功能,指定具有正确角色名 的列;您可以右击关系,然后选择 Edit Rolenames。 • Infer Domains:若选择该选项, ER/Studio DA 从数据库的列中推断域。 ER/Studio DA 为 列名和其相关数据类型属性的每个唯一组合创建域。具有下划线和数字后缀的重复域显示 在数据库中具有名称相同而数据类型不同的列。这可以让您注意到数据库中列是如何做到 标准化的。可以使用宏对域进行维护,也可以使用宏保持来自推断域的绑定。 • View Dependencies:ER/Studio DA 可以确保逆向工程中所选对象引用的所有对象也包含在内。 • Reverse Engineer View Dependencies:若选择该选项, ER/Studio DA 将包括引用的视图 依赖项。 • Reverse Engineer Other Dependencies:若选择该选项, ER/Studio DA 将包括可引用的 其他依赖项,例如例程和触发器。未另外选择的依赖对象也将包含在内。例如,一个数据库 包括 proc1、 proc2 和 proc3 ;并且 proc3 引用了 proc1 和 proc2。在进行逆向工程的过程 中,如果您只选择 proc3 和该选项,那么 proc1 和 proc2 也将包含在内。 • Select the Initial Layout Option:选择数据模型的初始布局: • Circular Layout and Tree Layout:为大型数据库的逆向工程提供最佳性能。对大型数据库 进行逆向工程来创建层级模型将是非常耗时的。 有关布局的更多信息,请参阅 改变数据模型布局 。 • View Parser:选择平台相关 的语法解析器。 第五页 • Summary of Selected Objects:选择一种对象类型显示在 Summary of Selected Objects 网 格中,然后查看所选的用于逆向工程的所有对象的类型、所有者和对象名称。 使用 ER/STUDIO DATA ARCHITECT > 创建和操作数据模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 50 注释 • 您可以对用 DT/Designer 创建的关系图进行逆向工程,来创建 ER/Studio DA 模型。 • 默认情况下,逆向工程关系图不显示用户和角色。要显示用户和角色,选择 View > Diagram and Object Display Options > Security Objects,然后选择 Display All Security Objects。 • 要从数据库仅创建逻辑模型,选择 Tools > Options > Application,然后在逆向工程 (Reverse Engineer)区域选择 Logical Model Only。 • 要对数据库进行逆向工程,必须将 CONNECT 和 RESOURCE 角色赋予给您要访问的数据库 的用户 ID。 • SQL 2005 中的对象为架构所有。架构与用户类似,能够以相同的方式处理;但是浏览器的树 状目录不会明确显示架构,也没有 CREATE SCHEMA DDL 功能。在逆向工程向导 (Reverse Engineer Wizard)和比较和合并实用功能中, ER/Studio DA 对象编辑器的所有者字段代表 SQL Server 2005 物理模型的架构名。该区域显示的是架构列表。 另请参阅 为逆向工程指定应用程序选项 为逆向工程指定应用程序选项 使用选项编辑器 (Options Editor) 的程序选项卡,您可以指定逆向工程是否总是产生逻辑模型 和物理模型,还是只产生逻辑模型。您也可以指定逆向工程新模型的列顺序。当您选择应用这些设 置之后,这些自定义设置将应用于您所有的逆向工程项目。 1 点击 Tools > Options,然后点击 Application 选项卡。 2 在 Reverse Engineer 和 Column Order 中指定逆向工程的首选项: Application 选项卡的 Reverse Engineer 区域。 3 点击 OK 将变更应用于以后的逆向工程项目。 使用 ER/STUDIO DATA ARCHITECT > 创建和操作数据模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 51 导入模型 在 ER/Studio DA 中,您可以从几个其他应用程序中导入模型。 本节描述了以下导入方法: • 从外部元数据导入模型 • 从 ERX 文件中导入模型 • 从 SQL 文件导入模型 • 从 Describe 中导入数据模型 注: 进行大型数据库的逆向工程时,要获取最佳性能,应选择圆形或树状作为模型的初始 布局。 从外部元数据导入模型 注: ER/Studio DA 的开发人员版本不支持此功能。 元向导( MetaWizard)是英巴卡迪诺的单独的产品,它通过提供导入桥接扩展了 ER/Studio DA的功能,以便于您从诸如 Microsoft Excel、 CA AllFusion Erwin、 IBM Rational Data Architect、 Oracle Designer 和 Sybase PowerDesigner 等应用程序中导入元数据,也可以从 XML 结构中导入 元数据。 1 点击 File > New。 2 选择 Import Model from,然后从列表中点击 External Metadata。 3 点击 Import。 4 从导入外部元数据 向导的 Type 列表中,选择要导入的 XML 文件类型或者创建该文件的应用 程序。 5 点击文件夹图标,然后选择要导入的文件。 6 根据 Type 列表中所选条目有选择地设置选项。 提示 : 要改变类型相关的选项,点击该选项值。 7 要开始导入,点击 Next。 显示导入日志。 8 如果导入成功,点击 Finish 创建模型。 9 当 Import Status 对话框 显示 Finished Import,点击 Close。 10 保存新模型。 使用 ER/STUDIO DATA ARCHITECT > 创建和操作数据模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 52 注释 • Import File From External Metadata 命令生成了基于标准 XML 格式和常用专有格式的元数据 的数据模型。有关支持平台、有效 BridgeID 和相应桥接名称的当前列表,请参阅: • Windows XP: C:\Program Files\Embarcadero\ERStudioX.X\MetaIntegration\MIRModelBridges.xml • Windows Vista: C:\ProgramData\Embarcadero\ERStudioX.X\MetaIntegration\MIRModelBridges.xml 此文件的 .pdf 版本可以在 http://docs.embarcadero.com/products/er_studio 中找到。 这些选项清晰易懂,更多的详细信息显示在选项列表的下方区域里。 从 ERX 文件中导入模型 在 ER/Studio DA 中,您可以通过导入由 ERwin 或 Meta Integration's MIMB 创建的 ERX 文件 来创建数据模型。 ER/Studio DA 可以导入由 ERwin 2.6 到 3.52 版本创建的 ERX 文件。 1 点击 File > New。 2 选择 Import Model from,然后从列表中选择 ERX 文件。 3 点击 Import。 4 浏览到适当目录下,选择 .erx 文件,然后点击 Open。 显示导入日志。 5 可选项要保存或打印日志,点击 Save to File 或 Print。 6 如果导入成功,点击 Finish 创建模型。 7 当 ERX 导入状态 显示 Finished Import 时,点击 Close。 8 保存新模型。 从 SQL 文件导入模型 1 选择 File > New。 2 选择 Import Model from,然后从列表中选择 SQL File。 3 点击 Import。 4 完成 Import Database SQL File 对话框,点击 OK。 显示导入日志。 5 可选项要保存或打印日志,点击 Save to File 或 Print。 6 如果导入成功,点击 Finish 创建模型。 使用 ER/STUDIO DATA ARCHITECT > 创建和操作数据模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 53 7 当 Import Status 对话框 显示 Finished Import,点击 Close。 8 保存新模型。 以下描述了此向导中需要进一步解释的区域和选项。 • Quick Launch:在此向导最后一步中,您可以将设置保存在文件中,以便日后使用。如果您 之前保存了文件,可以通过点击导入模型向导第二页上的 Select Settings File 旁边的按钮,加 载该文件。然后点击 Go 按钮,运行与之前设置完全一样的导入操作,或单击 Next 按钮修改 设置。快速启动向导数据保存为 .rvo 文件。这些文件的默认存放位置为: • Windows XP:C:\Documents and Settings\\Application Data\Embarcadero\ERStudio\XML • Windows Vista:C:\Users\\AppData\Roaming\Embarcadero\ERStudio\XML 要改变 Quick Launch 文件的默认目录, 选择 Tools > Options > Directories。 • Select a Database SQL File:输入数据库文件名或浏览至该文件位置,然后点击 Open。 • Select the target database platform:从此列表中,选择目标数据库平台。 • Infer Referential Integrity:如果数据库中没有声明参照完整性约束, ER/Studio DA 会自动 推断。 点击以下选项创建关系图中实体之间的关系。 • Infer Primary Keys:若选择该选项, ER/Studio DA 从表格的唯一索引推断主键。如果表格 中存在不止一个唯一索引, ER/Studio DA 将选择最少列的索引。 • Infer Foreign Keys from Indexes:若选择该选项, ER/Studio DA 从多个索引推断外键。 从多个索引推断外键时, ER/Studio DA 寻找与主键名称、数据类型属性、列序列相匹配的 列的索引。如果子索引是主键索引,其包含的列一定多于父主键。在这种情况下,创建了识 别关系。 • Infer Foreign Keys from Names:若选择该选项,并且数据库中包含外键, ER/Studio DA 则从名称推断外键。从名称中推断外键时, ER/Studio DA 寻找与主键名称和数据类型属性 相匹配的列。在这种情况下,创建了非识别关系。 ER/Studio DA 在子列有角色名的地方无 法推断关系。此时不再创建非识别关系,而是使用 Edit Rolenames 功能,指定具有正确角 色名的列;您可以右击关系,然后选择 Edit Rolenames。 • Infer Domains:若选择该选项, ER/Studio DA 从数据库的列中推断域。 ER/Studio DA 为 列名和其相关数据类型属性的每个唯一组合创建域。具有下划线和数字后缀的重复域表明 在数据库中具有名称相同而数据类型不同的列。这可以让您注意到数据库中列是如何做到 标准化的。可以使用宏对域进行维护,也可以使用宏保持来自推断域的绑定。 • Select the Initial Layout Option:选择数据模型的初始布局: • Circular Layout or Tree Layout:若选择此选项,对大型数据库进行逆向工程时可以提供 最佳性能。要获得更多信息,请看 改变数据模型布局 。 • View Parser:选择平台相关 的语法解析器。 • Summary of Selected Objects:选择一种对象类型显示在 Summary of Selected Objects 网 格中,然后查看所选的用于逆向工程的所有对象的类型、所有者和对象名称。 使用 ER/STUDIO DATA ARCHITECT > 创建和操作数据模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 54 从 DESCRIBE 中导入数据模型 Describe 是英巴卡迪诺软件的一种完全 UML 格式的可视化建模方案,用于加快软件设计和协 同开发。 使用ER/Studio DA's Describe Collaboration,您可以直接从描述关系图中创建 ER/Studio DA 数据模型 。 将 Describe 工程导入到新的 ER/Studio DA 关系图的过程有遵循以下基本步骤: 1 新建 ER/Studio DA 关系图。 2 创建逻辑模型。 3 处理任何导入的数据字典。 4 遍历映射结构。 5 转变关系。 6 用新建的 ER/Studio DA 关系图标注 Describe 工程。 在导入 Describe 中的类到现有 ER/Studio DA 关系图的过程中,遵循以下步骤: 1 获取关系图。 2 获取逻辑模型。 3 处理任何导入的数据字典。 4 遍历映射结构: • 如果实体结点不含相关实体,可以创建一个。 • 如实体结点名称改变了,获取其相关实体并更新实体。 • 如果实体结点具有新属性,添加新属性到相关实体中。 5 如果实体结点具有已修改的属性,则更新相关实体的属性。 在 ER/Studio DA - Describe Integration Advanced Setup Editor 中,您可以设置各种选项,用 于将 Describe 工程导入到 ER/Studio DA 关系图中。在 ER/Studio DA - Describe Integration Preferences Editor 中,您可以设置一般首选项,用于将 Describe 工程导入到 ER/Studio DA 中。 开始从 Describe 导入之前,需要检查以下几个方面: • 支持的 Describe 关系图和类 • ER/Studio DA 中的标准数据类型长度 • 导入数据库类型 • Describe - ER/Studio DA 映射 另请参阅 使用向导导入 Describe 工程 使用高级方法( Advanced Method)从 Describe 导入数据模型 设置从 Describe 导入的 Describe Collaboration Preferences 对话框 使用 ER/STUDIO DATA ARCHITECT > 创建和操作数据模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 55 支持的 DESCRIBE 关系图和类 使用 ER/Studio DA's Describe Collaboration,您可以通过导入以下描述 UML 格式的关系图 类型,来直接创建 ER/Studio DA 模型: • 类 • 组件 • 部署 • 健壮性 只有 cldclasses 可从 Describe 导入到 ER/Studio DA。以下是您可以导入的 cldclasses: • 标准类 •Iconix 边界类 •Iconix 控制类 •Iconix 实体类 注: 不导出模板和实用工具类以及界面。 ER/STUDIO DA 中的标准数据类型长度 当把 Describe 关系图的属性从用户定义类型转变成 ER/Studio DA 中的标准数据类型时,用户 定义的数据类型不具有数组指示符来设定其属性宽度,该数据类型会被赋予以下默认宽度。当您查 看这些属性的时候,这些宽度值并不总是明显的。 注: 当把具有这些标准宽度的 ER/Studio DA 标准数据类型转变为 Describe 的用户定义类型 时,不指定数组说明符。只有非标准宽度的数据类型保存在属性的数组说明符字段中。 数据库类型 宽度 BIGINT 19 BINARY 18 BIT 1 CHAR 18 COUNTER 10 DATE -1 DATETIME -1 DATETIMN -1 DECIMAL 8 DECIMALN 8 使用 ER/STUDIO DATA ARCHITECT > 创建和操作数据模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 56 DOUBLE PRECISION 18 FLOAT 8 FLOATN 8 IMAGE/LONG BINARY 18 INTEGER 10 INTN 10 LONG VARCHAR 18 MLSLABEL/VARCHAR 18 MONEY 19 MONEYN 19 NCHAR 18 NTEXT/LONG NVARCHAR 18 NUMERIC 9 NUMERICN 9 NVARCHAR 18 PICTURE 18 REAL/SMALLFLOAT 7 ROWID/VARCHAR 18 SERIAL/INTEGER -1 SMALLDATETIME -1 SMALLINT 5 SMALLMONEY 7 TEXT 18 TIME/DATETIME -1 TIMESTAMP/DATE -1 TINYINT 3 UNIQUEID 16 VARBINARY/BLOB 18 VARCHAR 18 VARIANT 20 数据库类型 宽度 使用 ER/STUDIO DATA ARCHITECT > 创建和操作数据模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 57 导入数据库类型 下表说明了各种 UML 类型及其映射的数据库类型: UML 类型 数据库类型 long BIGINT byte BINARY bool BIT string CHAR int COUNTER string DATE string DATETIME string DATETIMN float DECIMAL float DECIMALN double DOUBLE PRECISION float FLOAT float FLOATN byte IMAGE/LONG BINARY int INTEGER int INTN string LONG VARCHAR string MLSLABEL/VARCHAR float MONEY float MONEYN string NCHAR string NTEXT/LONG NVARCHAR float NUMERIC float NUMERICN string NVARCHAR byte PICTURE float REAL/SMALLFLOAT string ROWID/VARCHAR int SERIAL/INTEGER string SMALLDATETIME short SMALLINT Float SMALLMONEY string TEXT string TIME/DATETIME 使用 ER/STUDIO DATA ARCHITECT > 创建和操作数据模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 58 DESCRIBE - ER/STUDIO DA 映射 ER/Studio DA -Describe integration 可使 Describe 中的类符号直接映射到 ER/Studio DA 的 逻辑模型实体。 概括地说,就是从类模型中生成 ER/Studio DA 数据模型。集成的目的是让使用 ER/Studio DA 的数据建模人员可以从逻辑数据库模型创建类关系图。 集成过程在特定格式下映射 Describe 中的类。在将类关系图导入到 ER/Studio DA 之前,您应 该了解 ER/Studio DA 是如何映射到 Describe 的。检查以下各项内容以确保映射成功: • 在 Describe 和 ER/Studio DA 之间映射数据类型 • 映射 Describe 和 ER/Studio DA 之间的关系 • 可选 vs. 必选关系(存在) 映射 • 基数映射 在 DESCRIBE 和 ER/STUDIO DA 之间映射数据类型 ER/Studio DA Describe integration 包括默认映射,该映射显示在 ER/Studio DA-Describe Integration Advanced Setup 的 Datatypes 选项卡里。您可以添加、更改或删除映射,从 XML 文 件导入映射,或导入数据字典,然后以另一种数据类型映射文件保存此新映射,便于日后使用。您 不能更改默认数据类型文件,它是只读的。 1 选择 File > Describe™ Collaboration > Import from Describe > Advanced。 2 在Describe - ER/Studio DA Integration Advanced Setup对话框中, 点击Datatypes选项卡。 3 点击 UML 或数据库类型,然后从该列表中选择另一种类型。 4 完成将 UML 变为数据类型映射后,点击 Save Mapping,将更改保存到新的映射文件中。 5 完成对话框中其他选项卡的修改之后,点击 OK。 基于特定 Describe 工程的模型就创建好了。 string TIMESTAMP/DATE short TINYINT int UNIQUEID byte VARBINARY/BLOB string VARCHAR char VARIANT UML 类型 数据库类型 使用 ER/STUDIO DATA ARCHITECT > 创建和操作数据模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 59 注释 以下描述了需要进一步解释的选项: • Datatypes added as:数据库类型映射到 UML 类型中;您可以将数据类型添加为用户数据 类型或域。选择一个选项。 • Import Mapping:选择导入映射( Import Mapping)来导入包括数据类型映射的 XML 文件。打 开 Open 对话框,从中选择一个 XML 文件。点击 Open,导入该文件,返回到 ER/Studio DA - Describe Integration Advanced Setup Editor。 • Import Dictionary:导入 ER/Studio DA 关系图数据字典。点击 Import Dictionary,打开一个 对话框, 选择您要使用的 dm1 数据字典文件。 点击Open,导入该数据字典, 返回到 ER/Studio DA - Describe Integration Advanced Setup Editor。 映射 DESCRIBE 和 ER/STUDIO DA 之间的关系 下表说明了 Describe 关系如何映射到 ER/Studio DA 关系。 Describe 关系 ER/Studio DA 关系 泛化链接 创建不完整子类型聚簇: ER/Studio DA supertype = Describe Super Class ER/Studio DA supertype = Describe Super Class 实现链接 不支持导出到 ER/Studio DA 依赖性链接 不支持导出到 ER/Studio DA 1:1 关联链接 创建非识别关系: ER/Studio DA parent = Describe start class ER/Studio DA child = Describe end class 1:N 关联链接 创建非识别关系: ER/Studio DA parent = Describe start class ER/Studio DA child = Describe end class N:M 关联链接 创建非特定关系: ER/Studio DA parent = Describe start class ER/Studio DA child = Describe end class 聚合链接 创建非识别关系: ER/Studio DA parent = Describe end class ER/Studio DA child = Describe start class 组成链接 创建识别关系: ER/Studio DA parent = Describe end class ER/Studio DA child = Describe start class 使用 ER/STUDIO DATA ARCHITECT > 创建和操作数据模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 60 可选 VS. 必选关系(存在) 映射 您可以指定 ER/Studio DA 中关系的存在( Existence)属性是可选或必选的。如果 ER/Studio DA 中存在非特定或识别关系,则该属性是必选的。该属性作为一个叫做 “ 存在 ” 的标记值,存储 在Describe的关联中。下表详细说明了该标记值是如何映射到 ER/Studio DA中的存在 (Existence) 选项: 基数映射 ER/Studio DA 中的关系依据关系的类型以及是可选关系还是必选关系,有不同的基数值。该 基数映射到 Describe 中关联的 Role1 和 Role2 的上限和下限。 下表显示了从 Describe 到 ER/Studio DA 的映射。 存在 = 必选 Describe 存在标记值的值 ER/Studio DA 中的存在项 可选 可选 必选 必选 非标记值 可选 无效标记值 可选 具有可选项的多 - 对 - 多关系 必选 具有必选项的多 - 对 - 多关系 必选 具有可选项的识别关系 必选 具有必选项的识别关系 必选 角色 1 下限 角色 1 上限 角色 2 下限 角色 2 上限 ER/Studio DA 中的期望基数 空 10*1 到 0 或更多 空 11*1 到 1 或更多 空 1011 到 0 或 1 空 1 空 N (如 1, 2, 3) 1 到 N 空 1N空 1 到 N 空 1NN1 到 N 01 0 * 在 ER/Studio DA 中无效,使用默认的 1 到 0 或 更多。 01 1 * 在 ER/Studio DA 中无效,使用默认的 1 到 0 或 更多。 01 0 1 在 ER/Studio DA 中无效,使用默认的 1 到 0 或 更多。 01 空 N 在 ER/Studio DA 中无效,使用默认的 1 到 0 或 更多。 01 N空在ER/Studio DA 中无效,使用默认的 1 到 0 或 更多。 01 NN 在 ER/Studio DA 中无效,使用默认的 1 到 0 或 更多。 11 0 * 1 到 0 或更多 使用 ER/STUDIO DATA ARCHITECT > 创建和操作数据模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 61 11 1 * 1 到 1 或更多 11 0 1 1 到 0 或 1 11 空 N 1 到 N 11 N空 1 到 N 11 NN 1 到 N 空 00*在 ER/Studio DA 中无效,使用默认的 1 到 0 或 更多。 空 01*在 ER/Studio DA 中无效,使用默认的 1 到 0 或 更多。 空 001在 ER/Studio DA 中无效,使用默认的 1 到 0 或 更多。 空 0 空 N 在 ER/Studio DA 中无效,使用默认的 1 到 0 或 更多。 空 0N空在ER/Studio DA 中无效,使用默认的 1 到 0 或 更多。 空 0NN在 ER/Studio DA 中无效,使用默认的 1 到 0 或 更多。 00 0 * 在 ER/Studio DA 中无效,使用默认的 1 到 0 或 更多。 00 1 * 在 ER/Studio DA 中无效,使用默认的 1 到 0 或 更多。 00 0 1 在 ER/Studio DA 中无效,使用默认的 1 到 0 或 更多。 00 空 N 在 ER/Studio DA 中无效,使用默认的 1 到 0 或 更多。 00 N空在ER/Studio DA 中无效,使用默认的 1 到 0 或 更多。 00 NN 在 ER/Studio DA 中无效,使用默认的 1 到 0 或 更多。 1 空 0* 1 到 0 或更多 1 空 1* 1 到 1 或更多 1 空 01 1 到 0 或 1 1 空空N 1 到 N 1 空 N 空 1 到 N 1 空 NN 1 到 N 0 空 0* 在 ER/Studio DA 中无效,使用默认的 1 到 0 或 更多。 0 空 1* 在 ER/Studio DA 中无效,使用默认的 1 到 0 或 更多。 0 空 01 在 ER/Studio DA 中无效,使用默认的 1 到 0 或 更多。 角色 1 下限 角色 1 上限 角色 2 下限 角色 2 上限 ER/Studio DA 中的期望基数 使用 ER/STUDIO DATA ARCHITECT > 创建和操作数据模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 62 0 空空N 在 ER/Studio DA 中无效,使用默认的 1 到 0 或 更多。 0 空 N 空在ER/Studio DA 中无效,使用默认的 1 到 0 或 更多。 0 空 NN 在 ER/Studio DA 中无效,使用默认的 1 到 0 或 更多。 空空 0* 在 ER/Studio DA 中无效,使用默认的 1 到 0 或 更多。 空空 1* 在 ER/Studio DA 中无效,使用默认的 1 到 0 或 更多。 空空 01 在 ER/Studio DA 中无效,使用默认的 1 到 0 或 更多。 空空 空 N 在 ER/Studio DA 中无效,使用默认的 1 到 0 或 更多。 空空 N 空在ER/Studio DA 中无效,使用默认的 1 到 0 或 更多。 空空 NN 在 ER/Studio DA 中无效,使用默认的 1 到 0 或 更多。 空 10*0 或 1 到 0 或更多 空 11*0 或 1 到 1 或更多 空 1010 或 1 到 0 或 1 空 1 空 N (如 1, 2, 3) 0 或 1 到 N 空 1N空 0 或 1 到 N 空 1NN0 或 1 到 N 01 0 * 0 或 1 到 0 或更多 01 1 * 0 或 1 到 1 或更多 01 0 1 0 或 1 到 0 或 1 01 空 N 0 或 1 到 N 01 N空 0 或 1 到 N 01 NN 0 或 1 到 N 11 0 * 0 或 1 到 0 或更多 11 1 * 0 或 1 到 1 或更多 11 0 1 0 或 1 到 0 或 1 11 空 N 0 或 1 到 N 11 N空 0 或 1 到 N 11 NN 0 或 1 到 N 空 00*0 或 1 到 0 或更多 空 01*0 或 1 到 1 或更多 空 0010 或 1 到 0 或 1 空 0 空 N 0 或 1 到 N 角色 1 下限 角色 1 上限 角色 2 下限 角色 2 上限 ER/Studio DA 中的期望基数 使用 ER/STUDIO DATA ARCHITECT > 创建和操作数据模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 63 空 0N空 0 或 1 到 N 空 0NN0 或 1 到 N 00 0 * 0 或 1 到 0 或更多 00 1 * 0 或 1 到 1 或更多 00 0 1 0 或 1 到 0 或 1 00 空 N 0 或 1 到 N 00 N空 0 或 1 到 N 00 NN 0 或 1 到 N 1 空 0* 0 或 1 到 0 或更多 1 空 1* 0 或 1 到 1 或更多 1 空 01 0 或 1 到 0 或 1 1 空空N 0 或 1 到 N 1 空 N 空 0 或 1 到 N 1 空 NN 0 或 1 到 N 0 空 0* 0 或 1 到 0 或更多 0 空 1* 0 或 1 到 1 或更多 0 空 01 0 或 1 到 0 或 1 0 空空N 0 或 1 到 N 0 空 N 空 0 或 1 到 N 0 空 NN 0 或 1 到 N 空空 0* 在 ER/Studio DA 中无效,使用默认的 1 到 0 或 更多。 空空 1* 在 ER/Studio DA 中无效,使用默认的 1 到 0 或 更多。 空空 01 在 ER/Studio DA 中无效,使用默认的 1 到 0 或 更多。 空空 空 N 在 ER/Studio DA 中无效,使用默认的 1 到 0 或 更多。 空空 N 空在ER/Studio DA 中无效,使用默认的 1 到 0 或 更多。 空空 NN 在 ER/Studio DA 中无效,使用默认的 1 到 0 或 更多。 角色 1 下限 角色 1 上限 角色 2 下限 角色 2 上限 ER/Studio DA 中的期望基数 使用 ER/STUDIO DATA ARCHITECT > 创建和操作数据模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 64 使用向导导入 DESCRIBE 工程 ER/Studio DA Describe Import Wizard 是包含五个页面的向导,可以导入 Describe 中的类的 符号及其关系到 ER/Studio DA 关系图中。 注: 您必须打开 Describe 来激活向导。 1 选择 File > Describe Collaboration > Import From Describe > Wizard。 2 按照 Describe - ER/Studio DA Integration Wizard 的提示,完成导入的剩余过程。 注: 向导中使用了您在高级编辑器或首选项编辑器的首选项和数据类型选项卡中选择的选 项。您可以点击向导最后一页的 Advanced,改变首选项设置。 使用高级方法( ADVANCED METHOD)从 DESCRIBE 导入数据模型 1 选择 File > Describe Collaboration > Import From Describe > Advanced。 弹出 Describe - ER/Studio DA Integration Advanced Setup 对话框。 注: 您也可以点击 Describe Collaboration Wizard 最后一页的 Advanced,来打开 Advanced Setup 对话框。 注: 您在高级编辑器的首选项和数据类型选项卡里选择的选项会出现在首选项编辑器的各个 选项卡里。 2 完成对话框里各个选项卡里的设置,然后点击 OK。 以下描述了需要进一步解释的选项。 • Assume Bi-Directionality:若选择该选项,对于任何两端非可导航的关联,可以假定两端都 是可导航的。 • Import Mapping:选择导入映射( Import Mapping)来导入包括数据类型映射的 XML文件。 打开Open对话框,从中选择一个 XML文件。点击 Open,导入该文件,返回到 ER/Studio DA - Describe Integration Advanced Setup Editor。 使用 ER/STUDIO DATA ARCHITECT > 创建和操作数据模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 65 • Class Actions: • Insert As New:作为 ER/Studio DA 的新实体插入所选类及其属性。插入实体被标记为 “New”。 • Insert into Selected:将选择的类插入到所选实体中。 • Select Associated:便于您发现类或属性相关实体;选择此菜单项后,选择的类或属性实体 在 ER/Studio DA实体列表框中突出显示。 设置从 DESCRIBE 导入的 DESCRIBE COLLABORATION PREFERENCES 对话框 在此编辑器或高级设置对话框中选择的首选项和数据类型被保留下来,用于之后 Describe Collaboration Wizard 和高级设置对话框中。 1 选择 File > Describe Collaboration > Import From Describe > Preferences。 弹出 Describe - ER/Studio DA Integration Preferences 编辑器。此编辑器的首选项和数据类型 选项卡与 Describe - ER/Studio DA Integration Advanced Setup 对话框的各个选项卡相同。 注: 您在高级编辑器的首选项和数据类型选项卡里选择的选项会出现在首选项编辑器的各个 选项卡里。 2 完成对话框里各个选项卡里的设置,然后点击 OK。 以下注释对需要另外解释的选项进行了描述: • Assume Bi-Directionality:若选择该选项,对于任何两端非可导航的关联,可以假定两端都 是可导航的。 • Import Mapping:选择导入映射( Import Mapping)来导入包括数据类型映射的 XML文件。 打开Open对话框,从中选择一个 XML文件。点击 Open,导入该文件,返回到 ER/Studio DA - Describe Integration Advanced Setup Editor。 • Class Actions: • Insert As New:作为 ER/Studio DA 的新实体插入所选类及其属性。插入实体被标记为 “New”。 • Insert into Selected:将选择的类插入到所选实体中。 • Select Associated:便于您发现类或属性相关实体;选择此菜单项后,选择的类或属性实体 在 ER/Studio DA 实体列表框中突出显示。 使用 ER/STUDIO DATA ARCHITECT > 创建和操作数据模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 66 生成物理数据模型 Generate Physical Model Wizard 自动创建基于逻辑模型的一个关系型或多维物理模型,避免 了在物理模型设计阶段对性能的过度关注。此向导通过以下几个方面为您提供帮助:确保与目标数 据库平台的基本命名和语法规则保持一致;实施参照完整性,例如在多个索引或表约束中实施逻 辑键;用对生成的相关或多维模型更合适的架构元素取代非特定(多对多)关系。 当您创建了逻辑数据模型,您可以为基于所选的逻辑数据模型的许多不同平台生成物理数据 模型。 1 在数据模型浏览器 中,右击 主模型或逻辑数据模型的子模型,然后点击 Generate Physical Model。 2 完成生成物理模型 向导, 然后点击 OK 完成向导。 以下描述了需要进一步解释的选项: • Indexes:存储和索引参数的变化取决于第一页所选择的目标数据库平台。每个具有主键列的 实体都将生成主键索引。对于支持聚簇主键索引的平台,聚簇选项存在于此向导第二页。 • 使用 XML 文件或数据字典里的命名标准模板,在向导第三页应用 命名标准( Naming standards) 。命名标准可以代替或删除空格,进行大小写转换,以及代替无效 SQL 字符。 • Quick Launch Settings and Objects:当您点击 Load File或Use Settings时,向导第一页到 第五页的所有字段和设置都可以恢复。尽管 Settings Only选项加载的信息是通用的,可以在 不同模型中使用。但是当选择了 Settings Only选项,只有那些对不同模型来说可能很有用的 常规选项才可以恢复。例如, Settings and Objects选项会加载特定 SQL路径数据到模型。 注释 • 有关表格和索引的定义存储的信息,请参阅 定义表存储 和确定索引存储 。 创建新物理模型 在 ER/Studio DA 中,您可以通过对当前存在的数据库进行逆向工程或导入 SQL 或 ERX 文件 来创建新的物理模型。 1 在数据模型选项卡里,右击逻辑模型图标,然后选择 Add New Physical Model。 2 完成添加新物理模型向导,然后点击 Finish。 以下描述了在向导第一页中出现的选项: • Reverse engineer from a database:此选项卡里的选项和随后的步骤与逆向工程向导 (Reverse Engineering Wizard)中的一样。有关这些选项的信息,请参阅 对现有数据库进行 逆向工程 。 • Load from a SQL File:此选项卡里的选项和随后步骤与导入 ERX 文件的导入模型实用工具 是一样的。有关这些选项的信息,请参阅 从 SQL 文件导入模型 。 使用 ER/STUDIO DATA ARCHITECT > 创建和操作数据模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 67 • Load from an ERX File:此选项卡里的选项和随后步骤与导入 ERX 文件的导入模型实用工具 是一样的。有关这些选项的信息,请参阅 从 ERX 文件中导入模型 。 • Load from an ER/Studio DA File:输入文件名,包括路径,选择物理模型导入,然后点击 Finish。 • Load from a DT/Designer File:输入文件名,包括路径,选择物理模型导入,然后点击 Finish。 使用比较与合并实用工具 本节包含以下主题: • 比较 / 合并实用工具能做什么? • 比较模型和子模型 • 更新离线 DBMS • 解决和报告模型差异 另请参阅 同步物理模型与逻辑模型 比较 / 合并实用工具能做什么? 比较与合并实用工具可以调和同一文件里的模型之间的差异或模型和数据库之间的差异。例 如,您已经设计和创建了一个模型,然后基于此数据模型创建一个数据库。数据建模人员更改模 型,添加列 Gender 到 Employee 表格,同时数据库管理员( DBA)更改数据库中的 Department 表格,添加列 Name 到表格中。模型和数据库不再同步。使用比较与合并实用工具 ( Compare and Merge Utility )的双程工程可以使模型和数据库保持一致。 比较与合并实用工具( Compare and Merge Utility )对各种比较目标的模型进行比较、合并 和同步。可以进行不同类型的比较。您可以使用这些比较的信息来执行合并或创建详细报表。 比较与合并实用工具( Compare and Merge Utility )比较源模型和目标模型。活动关系图即 您正在浏览和编辑的关系图,永远是源模型。您可以从中选择一个有效的目标进行比较,如果需要 的话之后可以进行合并,或者创建变更 sql 来更新离线数据库。 您可以比较和合并 逻辑模型到: • 相同 .dm1 文件中的物理模型。 • 另一种 ER/Studio DA 数据模型的逻辑模型。 • 另一种 ER/Studio DA 数据模型的物理模型。 您可以比较和合并 物理模型到: • 相同数据模型的逻辑模型。 使用 ER/STUDIO DATA ARCHITECT > 创建和操作数据模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 68 • 共享相同 DBMS 平台(和版本)的相同数据模型的另一物理模型。 • 另一种 ER/Studio DA 数据模型的逻辑模型。 • 共享相同的 DBMS 平台(和版本)的另一种 ER/Studio DA 数据模型的物理模型。 • 当前存在的数据库。 • SQL文件。 注: 逻辑和物理 ER/Studio DA 数据模型的目标可以是基于 Repository 的 数据模型,包括命 名发布( Named Releases,即 Repository 中使用的关系图的只读存档快照)。 您可以比较和合并 子模型 到: • 相同数据模型的子模型。 • 相同数据模型的物理模型。 • SQL文件。 有效的目标数据库的范围很广,所有可以有各种的信息合并策略。例如,比较与合并实用工具 中的信息可以是: • 从当前模型合并为一个有效目标。 • 从有效目标合并为当前模型。 • 源目标和有效目标之间同时双向合并。 注: SQL 2005 中的对象为架构所有。架构的行为与用户类似,但不必就是用户。数据模型 浏览器不会明确显示架构,也没有 CREATE SCHEMA DDL 功能。在逆向工程和比较 / 合并向导中, ER/Studio DA 对象编辑器的 “owner” 区域代表 SQL Server 2005 物理模 型的架构名。该区域显示的是架构列表。 比较与合并实用工具( Compare and Merge Utility)的功能子集用于将新数据源带入关系图 中,以便从数据沿袭( Data Lineage)选项卡中导入新数据源。 另请参阅 使用比较与合并实用工具 更新离线 DBMS 解决和报告模型差异 使用 ER/STUDIO DATA ARCHITECT > 创建和操作数据模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 69 比较模型和子模型 使用比较与合并实用工具( Compare and Merge Utility)可以比较两个模型、两个子模型, 或一个模型和一个子模型,如果需要,可以合并找到的任何差异。您也可以报告这些差异。并且可 以根据需要将源模型和另一个模型同步,或有选择地更新源模型或目标模型。 注: 当与物理数据模型或 SQL 导入数据模型(最初不是通过对现有数据库进行逆向工程而创 建的)进行比较或合并时,必须将数据模型和数据库之间的约束名称同步,以生成正确 的 ALTER SQL 语句。比较与合并实用工具( Compare and Merge Utility)可能产生不 正确的 SQL语句,除非目标模型(物理的或 SQL导入的)具有与数据库相同的约束名称。 1 选择 File > Open,显示源数据模型或子模型。 提示 : 打开实用工具之前来您可以通过选择数据模型的关系图对象来节省时间。以这种方式预 选的对象将出现在实用工具的对象树状列表里。 2 在数据模型浏览器 中,点击模型或子模型作为比较源。 3 选择 Model > Compare and Merge Utility。 注: 依据不同的比较 / 合并的类型以及所选的源模型和目标模型,比较 / 合并实用工具的页数 和选项也有所不同。 4 比较与合并实用工具向导( Compare and Merge Utility Wizard) 会引导您完成整个过程的 其余部分。 下文对需要另外解释的选项进行了描述: 第一页 • Compare against a Repository based DM1 file:把数据模型与 ER/Studio Repository 中的 命名发布( Named Releases)相比较。当选择了该选项, ER/Studio DA 打开 Repository Operation Status 对话框和 Get From Repository 对话框。此过程连接 Repository Options (Repository> Repository Options)中定义的当前 Repository Server。模型比较与合并向导 自动从 Repository 获取关系图。要获得更多信息,请看 配置 Repository 和 Portal。 • Compare against an SQL file:当所选当前模型是物理数据模型时,该选项是可用的。所选 SQL 文件必须与当前模型的数据平台相同。当选择了此选项, ER/Studio DA 导入 SQL 文件, 并将其与当前模型相比较。 • Compare against a live database:若选择此选项,会出现一个页面让您选择数据库和连接 类型。连接类型为 ODBC 或本地 / 直接连接。有关连接数据库的信息,包括故障排除信息, 请参阅 连接数据源和目标 。 • Comparison Quick Launch:比较快速启动设置数据保存为 *.rvo 文件。有关在向导中使用快 速启动选项的信息,请参阅 保存、使用快速启动设置 。 使用 ER/STUDIO DATA ARCHITECT > 创建和操作数据模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 70 第二页 此页可用的模型取决于前一页中所选的目标类型。点击一个模型或子模型,与源模型进行 比较。 第三页 比较选项 • Please select the off-line ALTER SQL generation options:只有把物理数据模型与 SQL 文件或当前存在的数据库进行比较,并且在此实用工具程序的第一页选择了生成 SQL 语句 选项和修改了至少一个默认忽略解决方案,此选项才可用。如果目标模型是一个当前存在的 数据库,当执行合并时您可以选择生成 ALTER SQL 语句或者更新目标模型。如果您选择创 建 ALTER SQL 语句,则比较与合并实用工具( Compare and Merge Utility)的会多出一个 页面,在此页中您可以在选择 Rebuild 和 Pre/Post SQL 选项的同时,选择脚本文件的存放 位置。 注: 如果起初没有对物理模型进行逆向工程,则需要将模型和数据库之间的约束名称同步, 以生成正确的 ALTER SQL 语句。除非目标模型(物理模型或 SQL 导入模型)具有与 数据库相同的约束名称,否则程序不会正确运行。 对象 通过选择或取消选择父对象,也就选择或取消选择了相应的子对象。例如,如果取消选择 Column Constraints,其子对象 Name 和 Value 也会被取消选择。 注: 对于 Oracle 数据库,取消选择 Relationship 或 Indexes 结点下的 Disabled 复选框会使 此实用工具忽略主键和外键的禁用属性。 使用 ER/STUDIO DATA ARCHITECT > 创建和操作数据模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 71 • General Options • Merge only selected objects:当选择了该选项,只有在启动合并向导前选定的对象会在 向导(第四页)的对象选择页面被选定。这是比较模型中一部分的简单方法。 • Show Base Tables Of Denormalization Mappings:当比较两个物理模型时,在结果页面 即向导最后一页显示逆规范化映射的基表。基表是包含在逆规格化映射里的预映射状态表。 这些表可以通过展开数据模型浏览器中的逆规格化映射结点看到。这些对象在数据模型窗 口中实际不可见,但是取消逆规格化映射后可见。 在比较与合并向导结果页中,忽略的列显示为斜体字。通过在结果页中显示忽略的列,当从 一个物理模型到另一模型合并逆规范化映射时您可以保留目标模型的更改。 逆规范化对象是按照顺序合并的;基对象首先合并到目标模型,然后完成逆规范化映射。如 果把 resolutions 设为 Ignore,您可以在创建完逆规范化映射后保留模型的更改。 • Options for new Tables and Columns:不包括表与列的定义、注释和附件。这些选项可 用于所有模型类型间的相互比较。当目标模型中不存在对象,且通过合并创建了新的对象 时,这些新对象中将不包括定义、注释和附件。当在模型之间使用各自的定义、注释和附件 时,此选项是很有用处的。 • Compare Primary Key As Unique Index:当与数据库进行比较时, ER/Studio DA 通常把 模型中的主键索引当作主键约束。启用该选项后, ER/Studio DA 把主键索引当成索引,而 不是约束。如果数据库的主键由唯一索引控制,而不是由约束控制,请启用该选项。 第四页 - 选择具体的模型对象 • Please select the specific model objects for your comparison:本页中可用的选项卡取 决于比较中所选模型的数据库平台。每个选项卡里的数据库对象清单来源于源模型和目标 模型中的可用对象。在这些选项卡中您可以把比较限定为特定几个对象或选择所有对象类 型进行比较。 提示 : 如果右击对象列表的任何地方,您可以使用快捷菜单选择或取消选择所有对象。您也可 以显示或隐藏具有所有者的对象的所有者名称。 第五页 - 结果 • Current and Target Model Display Grid:在源模型和目标模型之间是解决方案列。默认 合并选择是 “ 忽略 ”。您可以点击解决方案列查看可能的解决方案。如果您想要更改解决方 案,点击此列表,然后点击新的解决方案。当您更改了一个对象的默认解决方案,其依赖属 性和对象的解决方案也会自动更新。您也可点击类型文件夹,例如 Tables Resolution column,来更改此对象类型里所有潜在对象的所有解决方案。另外您可以按住 CTRL 键选 择多个选项,然后右击打开可能解决方案列表。 • Force Match:在某些情况下,比较与合并实用工具由于不符合某些标准而未能匹配对象, 但是您可能希望它们无论如何可以进行匹配。在这种情况下,您可以强制系统匹配这些对 象。选择当前模型树里的对象,向下滚动鼠标,右击目标模型树里的目标对象,然后选择 Match Objects。要获得更多信息,请看 强制匹配。 • Reverse-Engineer parent tables:对所选对象的父表进行逆向工程,因此参照约束是有效的。 • SQL DIfference:要启动 SQL差异实用工具,请选择长文本字段的任何差异项,例如定义、 注释或 DDL,然后点击 SQL Difference,查看模型的 SQL语句之间的差异。此功能只能查看 差异,您可以在比较与合并实用工具的结果页解决这些差异。 使用 ER/STUDIO DATA ARCHITECT > 创建和操作数据模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 72 强制匹配 在某些情况下,比较与合并实用工具由于不符合某些标准而未能匹配对象,但是您可能希望它们 无论如何可以进行匹配。下文描述了比较与合并实用工具强制匹配仅存在略微差异的对象的情况。 1 新建关系图,具有实体称为 实体 1,其主键为 A。 2 将 JimB 赋予实体 1,作为实体 1 的所有者。 提示 : 所有者属性在实体编辑器或表编辑器的右上方定义。 3 创建另一个实体,实体 2,然后在实体 1 和实体 2 之间创建非识别、强制关系。 4 从逻辑模型生成物理模型。 提示 : 在数据模型浏览器中,右击逻辑模型,选择 Generate Physical Model。 5 将 CathyT 赋予物理模型中的实体 1,作为实体 1 的所有者。 6 在数据模型浏览器中,右击物理模型,然后选择 Compare and Merge Utility...。 使用 ER/STUDIO DATA ARCHITECT > 创建和操作数据模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 73 7 在比较与合并实用工具( Compare and Merge Utility)的每一页点击 Next,直到第 5 页出现 为止。 请注意物理模型中的实体 1 和实体 2 与其逻辑模型中对应的实体并不一致。 这是因为实体 1 在逻辑模型中的所有者与在物理模型中的所有者不同。 使用 ER/STUDIO DATA ARCHITECT > 创建和操作数据模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 74 8 展开当前和目标树状列表里的实体 2,然后展开实体 2 的关系。 请注意实体 2 中的关系也是不匹配的,因为它们的父表不匹配。这意味着外键列也是不匹 配的。 因为实体 1 在两个模型中是相同的,所以您可能希望在比较与合并实用工具中匹配实体 1, 然后更新逻辑模型。 使用 ER/STUDIO DATA ARCHITECT > 创建和操作数据模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 75 9 要强制把实体 1 及其对应实体进行匹配,可在当前模型树状列表里选择实体 1,向下滚动鼠标, 在目标模型树状列表中找到实体 1,右击选择 Match Objects。 10 既然父表匹配了,关系和外键列也可以匹配。 注释 • 在匹配列之前必须先匹配关系。 使用 ER/STUDIO DATA ARCHITECT > 创建和操作数据模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 76 • 在强制匹配之前,请充分展开关系或列结点。 • 您可以取消匹配对象,方法是选择一个匹配对象,右击它所匹配的对象,然后选择 Unmatch Objects。 更新离线 DBMS 将物理模型与 SQL 文件或当前存在的数据库进行比较,您可以创建 ALTER SQL 脚本,之后您 可以运行此脚本更新 DBMS。 1 在数据模型浏览器 中,点击物理模型,然后选择 Model > Compare and Merge Utility。 2 在实用工具的第一页,选择将物理模型与 SQL 文件或当前存在数据库进行比较,然后选择 Generate .sql for changes merged to target model。 3 继续完成实用工具的剩余页面。 提示 : 有关这些页面的信息,请参阅 比较模型和子模型 。 使用 ER/STUDIO DATA ARCHITECT > 创建和操作数据模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 77 4 要解决结果页上找到的差异,点击对象旁边的 Resolution 列来解决。您可以选择忽略这些差 异。如果对象不仅存在于源模型而且存在于目标模型,您可以选择 Merge into Target 或 Merge into Current 如果对象在源模型或目标模型中不存在,您可以分别选择 Delete from Target 或 Delete from Current, 然后点击 Next。 注: 您必须选择把至少一处变更合并到目标 sql 文件或当前存在的数据库,以生成 ALTER SQL 语句。 5 在实用工具的最后一页,提供 sql 脚本的文件名,然后选择 Rebuild Options 和您想要的 Pre/Post SQL 选项。 6 点击 Finish。 7 在空闲时间运行 ALTER SQL 语句,更新离线 DBMS。 更新模型或子模型 比较两个模型或子模型,您可以更新当前关系图或另一 .DM1 文件的模型。更新的模型可以是 目标模型或源模型。您可以通过将一些变更合并到目标模型和将其他变更合并到源模型,来更新源 模型和目标模型。直到您点击 Finish,变更才得以应用。 注: 要同步目标模型无关系的两个子模型,必须先使用比较和合并实用工具,将任何关系从 源模型提供给目标子模型,然后使用子模型同步实用工具同步子模型。 1 在数据模型浏览器中,右击一个模型,然后点击 Compare and Merge Utility。 2 在实用工具的第一页,选择将模型与打开文件的另一个模型或另一个文件的模型进行比较。 3 继续此实用工具的剩余页面,直到最后一页。 提示 : 有关这些页面的信息,请参阅 比较模型和子模型 。 4 要解决结果页上找到的差异,点击对象旁边的 Resolution 列来解决。您可以选择忽略这些差 异。如果对象同时存在于源模型和目标模型,您可以选择 Merge into Target 或 Merge into Current ;如果对象不存在于源模型或目标模型,您可以分别选择 Delete from Target 或 Delete from Current 。 注: 默认解决方案是忽略。除非改变解决方案,否则当点击 Finish 时,用于比较的模型不会 更新。 5 如果你对设定的解决方案满意 ,点击 Finish。当前模型和目标模型按照要求进行了更新。 如果您目前不希望改变这些模型 ,点击 Cancel。您可以之后运行 Compare and Merge Utility,在那时执行变更。 使用 ER/STUDIO DATA ARCHITECT > 创建和操作数据模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 78 解决和报告模型差异 在比较与合并实用工具的最后一页显示了模型比较过程中找到的差异。您可以使用该页底部 的选项来更改默认显示。 1 按照比较模型和子模型 中描述的步骤。 2 继续完成实用工具的剩余页面。有关这些页面的信息,请参阅 比较模型和子模型 。 3 要解决结果页上找到的差异,点击对象旁边的 Resolution 列来解决。您可以选择忽略这些差 异。如果对象同时存在于源模型和目标模型,您可以选择 Merge into Target 或 Merge into Current ;如果对象不存在于源模型或目标模型,您可以分别选择 Delete from Target 或 Delete from Current 。 注: 默认解决方案是忽略。除非改变解决方案,否则当点击 Finish 时,用于比较的模型不会 更新。 4 通过点击 Filter Report on Results,来创建差异和建议解决方案的报告。 5 在 Merge Report 对话框中,选择创建 HTML 报表或 RTF 报表。 6 输入 Report Title 名称,然后输入 Report Filename 路径或浏览寻找路径。 7 点击 OK 创建报表。 8 如果您对设定的解决方案满意 ,点击 Finish。当前模型和目标模型按照要求进行了更新。 如果您目前不希望改变这些模型 ,点击 Cancel。您可以之后运行 Compare and Merge Utility,在那时执行变更。 更改模型的数据库平台 在 ER/Studio DA 中,您可以更改物理模型的数据平台。在最初开始设计数据库时,您选择了 一种数据库平台。您所选择的数据库平台对开发和管理问题有深刻的影响。例如,尽管 ER/Studio DA 的确对数据类型进行了转换,不同数据库平台之间支持的数据类型的差异仍然很大。另外,相 同物理模型在不同数据库中的索引策略、数据存储和查询优化存在很大的差异。 如果您之后在设计过程决定需要改变数据库平台,可以使用更改数据库平台命令。 注: ER/Studio DA 支持所有主要的数据库平台。而且,它使不同数据库平台及其数据类型 和 DDL 转换工具的转化更加便利。 使用 ER/STUDIO DATA ARCHITECT > 最佳实践 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 79 有关支持的数据库平台列表,请参阅 支持的数据库平台 。 注: 如果更改为不支持所选模型的架构对象的数据库平台,那么那些架构对象将会丢失。例 如, Oracle 支持包,但 OS/390 的 IBM DB2 不支持包。在这种情况下,更改 Oracle 模 型就会导致失去包定义。 1 在数据模型浏览器 中,点击您想要改变为不同数据库平台的物理模型。 2 选择 Database > Change Database Platform。 3 选择数据库平台和版本,然后点击 OK。 注释 •ER/Studio DA支持所有主要的数据库平台。而且,它使不同数据库平台及其数据类型和 DDL 转换工具的转化更加便利。 • 有关支持的数据库平台列表,请参阅 支持的数据库平台 。 • 如果更改为不支持所选模型的架构对象的数据库平台,那么那些架构对象将会丢失。例如, Oracle 支持包,但 OS/390 的 IBM DB2 不支持包。在这种情况下,更改 Oracle 模型为 DB2 模型就会导致失去包定义。 最佳实践 本节包括以下主题: • 使用描述性对象名称 • 为数据库对象添加注释 • 颜色 - 编码对象 • 使用宏处理重复性任务 使用 ER/STUDIO DATA ARCHITECT > 最佳实践 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 80 使用描述性对象名称 数据模式里的每个对象诸如实体、属性、附件、命名标准模板和域都有名称,可以在数据模型 浏览器、数据模型视窗(数据模型工作区) 、日志和报表中识别这些对象。 为了使数据流更易理解,尽可能让这些名称更具描述性。例如,实体名称可使用 “ 客户 ”,而 不接受默认名称如 “ 实体 ”。 注: 模型中的多个实体都具有相同的名称,但是实体名称和实体所有者的组合必须是唯一 的。您可以在实体或表格编辑器中编辑实体或表格的所有者属性。 命名对象时,可以使用大写、小写或大小写混合。也许人们最容易阅读和理解的形式是大小写 混合,即每个单词的首字母都大写(比如 CutstomerAddress)。 提示 : 您可以通过创建命名标准并将其绑定到表格和实体,或者创建域,来实施命名规则。要获 得更多信息,请看 通过命名标准模板执行命名标准 。 为数据库对象添加注释 数据模型里的每个对象都具有包含在报表里的描述或定义。要帮助生成数据模型的文档,需要 输入每个对象的描述或定义,详细说明其目的和其他信息,将来的建模人员可能需要这些信息来理 解对象在任务中的角色和作用。您还可以添加注释到大多数的数据库对象中。要获得更多信息,请 看添加和编辑对象评论 。 当生成物理数据库时, 实体定义作为表格注释包含在内, 并且,如果目标 RDBMS 支持表格注释, 实体定义就会包含在导出的 SQL 代码中。 如果数据模型从 Describe 中导入, Describe 关系图里的描述就会作为工具提示包含在内。 您也可以通过生成关系文档来改进数据模型。关系也可以带有描述该关系的动词短语。例如, 公司雇佣管理员监督员工。您可以双击关系,在关系编辑器的短语选项卡里插入动词或逆动词短 语,创建关系动词短语。 逆动词短语是从子对象的角度来描述关系。 使用 ER/STUDIO DATA ARCHITECT > 普通任务 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 81 颜色 - 编码对象 使用颜色令关系图更有吸引力和更好地组织关系图。要获得更多信息,请看 设置关系图默认颜 色和字体 和覆盖特定对象的颜色和字体设置 。 使用宏处理重复性任务 ER/Studio DA 包含许多写在 Sax Basic 里的示例宏,您可以直接使用这些示例宏或根据要求自 定义宏。本向导的教程提供了宏是如何节约时间的例子。示例宏的标题包含一些用途记录,但是快 速浏览宏代码可以让您了解宏的用处。我们不能保证示例宏能在您所有环境中运行,但是如果您有 特殊要求,您可以通过在线用户论坛与其它用户合作或联系英巴卡迪诺获取帮助。 宏编辑器使用与 Microsoft Visual Basic 应用程序兼容的 Sax Basic 引擎。本向导不能全面说明 Sax Basic 的语法或用法,但有很多 Visual Basic 书籍可以为新手提供指导。本教程提供了宏如何为 您节约时间的例子。 普通任务 本节描述了以下主题: • 使用工具栏的工具 • 创建数据模型对象 • 移动对象 • 复制对象 • 改变对象大小 • 改变模型对齐、分布和布局 • 查找实体、表格或视图 • 在数据模型窗口放置对象 • 编辑对象 • 添加和编辑对象评论 • 编辑对象的名称 • 删除对象 • 重命名对象 • 搜索和改变对象或对象属性名称 • 创建和编辑数据库视图 使用 ER/STUDIO DATA ARCHITECT > 普通任务 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 82 使用工具栏的工具 对于许多程序,不必点击菜单和选择选项,您可以点击工具栏上的工具来完成相同的任务。 例如,要插入一个实体,您可以点击数据模型窗口里的实体工具。您可使用以下任意一种方法 获取实体工具: 选择 Insert > Entity。 或 点击 Entity tool 。 当您把光标停在任何工具上,工具的名称显示如下: 创建数据模型对象 建模工具栏让您轻松使用工具,您可以拖放实体,建立实体之间的关系,以及创建关系图。建 模工具栏上的可用工具取决于在数据模型浏览器中选择的数据模型是逻辑模型还是物理模型,是 关系模型还是多维模型,以及物理模型的指定平台。不是所有建模工具创建的对象都能在数据模型 窗口中显示;有些工具如用户和角色工具,它可以启动编辑器,在创建该类对象的过程中提供指 导。用户和角色在数据模型浏览器中是可见的。 1 从模型工具栏 中选择一个对象工具。 光标变成代表此对象工具的图标。 2 在数据模型窗口 中,点击想要放置对象的地方。 一些对象工具,如实体或视图工具,用来在数据模型视窗中创建对象;其它工具,如功能 或用户工具,用来打开编辑器,以指定对象的属性。 有关创建特定模型对象的信息,请参阅 开发逻辑模型 和开发物理模型 。 移动对象 在 ER/Studio DA 中您可以将数据模型对象从数据模型浏览器和数据模型窗口中移入或移出 。 ER/Studio DA 通过移动、拷贝、粘贴、拖放、改变大小和对齐所有关系图对象,为您的实体 - 关 系模型提供简单可视化维护。您可以在数据模型的任何位置移动个别或组合关系图对象,即使模型 是在特定关系图的自动布局中。 您还可以在数据模型浏览器里将整个子模型移至其他模型中。在 ER/Studio DA 中,您还可以 在逻辑模型和物理模型之间移动对象。 使用 ER/STUDIO DATA ARCHITECT > 普通任务 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 83 使用 ER/Studio DA 您还可以改变任何关系图对象的大小。当添加实体、表格或视图到关系图 时, ER/Studio DA 自动设定对象的适合尺寸,以适应其显示的文本。您可以通过手动调整关系图 对象的大小来控制数据模型的显示。如果需要隐藏实体或视图的属性,可以调整实体或视图的尺 寸,使它小于最长属性的宽度,由此可以隐藏文本。 本节的内容包括在数据模型窗口和数据模型浏览器中移动对象,以及从数据模型浏览器移动 对象到数据模型窗口。本节由以下主题组成: • 在数据模型窗口中移动对象 • 在数据模型浏览器里移动数据模型对象 在数据模型窗口中移动对象 为使数据模型更具可读性,您可以移动连接这些对象的实体、表格和关系线。 您可以在数据模 型的任何位置移动个别或组合对象,即使您已经为模型选择了特定的自动布局。 提示 : 根据所选的自动布局组织的规则,点击自动布局选项重新安排对象的位置。要获得更多 信息,请看 改变数据模型布局 。 移动数据模型对象 1 在主工具栏里点击 Selection 工具。 2 在数据模型窗口 中,选择然后将对象拖至所需位置。 提示 : 拖动选择工具框选对象,或按住 CTRL 键点击多个对象,可以选择多个实体或表格。一 旦选择了对象,光标变为 ,然后可以将该对象拖动到新位置。 提示 : 连接对象的关系线随着对象移动而自动调整位置。 移动关系连接点 1 在主工具栏里点击 Selection 工具。 2 在数据模型窗口 中点击您要改变的关系线。 3 在关系线的连接点上移动光标,直到光标图标变成 。 4 点击关系连接点,将其拖到相同实体或表格上的所需位置。 注: 移动关系线不能改变实体或表格之间的关系。要改变实体或表格间的关系,请参阅 操作 关系。 使用 ER/STUDIO DATA ARCHITECT > 普通任务 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 84 在数据模型浏览器里移动数据模型对象 将对象移动到不同结点 在数据模型浏览器中,您可以在主逻辑模型及其子模型之间移动对象,诸如实体和属性。 1 在主工具栏中,点击 Selection 工具。 2 在数据模型浏览器 中,选择您想要移动的对象。 3 将对象拖至新目标结点,然后松开鼠标左键。 提示 : 如果该移动是允许的,光标会变为。 移动子模型 为了帮助您分析数据模型,您可以将子模型从一个模型移动到另一个模型。您还可以移动子模 型,使其嵌套到其它子模型内。 1 在主工具栏中,点击 Selection 工具。 2 在数据模型浏览器 里,点击您想要移动的子模型,然后将其拖至另一个模型或子模型。 提示 : 当选择的子模型位于其可以移至的对象上时,光标变为。 3 松开鼠标按钮。 复制对象 您可以创建对象的复本,如数据模型内或不同数据模型之间的实体、表格、用户、角色、形 状、函数、例程和架构。要在不同数据模型之间复制和粘贴,在 ER/Stduio DA 中必须有两个打开 的模型。要解决由于复制和粘贴关系图对象而产生的参照完整性问题, ER/Stduio DA 在进行复制 时应用了几个基本规则: • 关系:ER/Studio DA 只复制所选模型对象集合里的关系。换而言之,任何连接到所选集合之 外的实体的关系不会被复制。 此规则的一个重要影响是如果复制的对象不包括父实体,被复 制实体就失去了继承的外键。 • 实体类型 :因为 ER/Stduio DA 由于上述规则可以拖放关系,根据实体在所选集合里的状态, ER/Stduio DA 决定实体是独立型还是依赖型。 • 唯一名称 :为了保护唯一名称, ER/Stduio DA将粘贴对象的名称与已经放置在目标模式中的对 象的名称进行比较。如果名称有重复, ER/Stduio DA将对象名称按顺序命名为 "ObjectNameN",其中N是附着于基本名称的序号。 本节描述了以下复制对象的方法: • 在数据模型窗口复制对象 • 从数据模型浏览器复制对象到数据模型窗口 • 在模型和子模型之间复制对象 使用 ER/STUDIO DATA ARCHITECT > 普通任务 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 85 在数据模型窗口复制对象 1 在主工具栏中,点击选择工具。 2 在数据模型浏览器 或数据模型窗口 中点击要复制的对象,然后按 CTRL+C 键。 创建了具有与原对象一样属性的对象复本。新对象的名称是原对象名称后面附上 1,如实 体 1。如果创建了对象的另一复本,该新对象将命名为实体 2。复制的对象可以粘贴到同一文 件或另一个打开的关系图的另一个模型或子模型中。 复制多个对象 1 在主工具栏中,点击选择工具。 2 要选择 数据模型窗口 里彼此靠近的这些对象 ,点击和拖动鼠标,在这些对象周围画一个套索, 然后松开鼠标按钮。以这种方式,您还可以选择与所选对象相关的关系。 在数据模型浏览器 或数据模型窗口 中,要选择那些不是彼此靠近的对象 , 在点击每个对 象时应按住 CTR 键。 在数据模型浏览器 中,要选择模型或子模型中的所有实体或表格 ,点击该模型或子模型, 展开该对象,然后按 CTRL+A 键。 创建了具有与原对象一样属性的对象复本。新对象的名称是原对象名称后面附上 1,如实 体 1。如果创建了对象的另一复本,该新对象将命名为实体 2。 复制属性 1 在主工具栏中,点击属性选择工具。 2 在数据模型窗口 中,选择要复制的属性,按 CTRL+C 键,点击目标实体,然后按 CTRL+V 键。 提示 : 要选择多个对象,您可以在数据模型窗口中单击,然后拖动鼠标在关系图对象周围画一 套索,然后松开鼠标按钮。您也可以按住 CTRL 键分别点击各个对象来选择多个对象。 创建了具有与原对象一样属性的对象复本。新对象的名称是原对象名称后面附上 1,如实 体 1。如果创建了对象的另一复本,该新对象将命名为实体 2。 使用 ER/STUDIO DATA ARCHITECT > 普通任务 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 86 从数据模型浏览器复制对象到数据模型窗口 1 在主工具栏中,点击选择工具。 2 在数据模型浏览器 中,点击要复制的对象,将其拖到 数据模型窗口 中。 提示 : 您也可以按住 CTRL 键分别点击各个对象来选择多个对象。 创建了具有与原对象一样属性的对象复本。新对象的名称是原对象名称后面附上 1,如实 体 1。如果创建了对象的另一复本,该新对象将命名为实体 2。 提示 : 您也可以按住 CTRL 键分别点击各个对象来选择多个对象。 在模型和子模型之间复制对象 下表描述了在数据模型浏览器中可能的复制操作。 数据模型对象 从 ... 到 ... 复制数据模型对象 逻辑到物理 物理到逻辑 主逻辑模型或子模 型到逻辑子模型 主物理模型或子模 型到物理子模型 属性 否 不适用 是 不适用 列 不适用 否 不适用 是 实体 是 是 是 不适用 函数 不适用 否 不适用 是 例程 不适用 否 不适用 是 角色 是 否 是 否 架构 不适用 否 不适用 是 表格 不适用 是 是 用户 否 否 是 是 视图 是 是 否 否 使用 ER/STUDIO DATA ARCHITECT > 普通任务 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 87 您可以从逻辑模型到物理模型,以及模型和子模型之间复制属性、列、实体、视图、用户、角 色和形状等对象。您可以从一个物理模型到另一个物理模型,或从一个物理子模型到另一个物理子 模型复制函数、例程和架构。 1 在主工具栏中,点击 Select 工具。 2 在数据模型浏览器 中,点击您想要复制的对象,将其拖到目标结点。 提示 : 您可以按住 CTRL 键分别点击各个对象来选择相同类型的多个对象。 当光标放置在有效目标上,可以将属性或列分别粘贴到另一个实体或表格上时,光标 变成此符号。 当光标放置在粘贴对象的无效目标上时,光标变成此符号。 当光标放置在有效目标上,可以将数据模型浏览器里的实体、表格或视图粘贴到相同 模型的子模型中或粘贴到不同模型中时,光标变成此符号。 改变对象大小 当您添加实体、表格或视图到数据模型中时, ER/Studio DA 自动设定对象的最佳尺寸,使其 大小适合文本及文本显示。但是,您可以改变实体、形状、表格、文本框和视图等数据模型对象的 大小,来控制数据模型的显示。例如,如果需要隐藏实体或视图的属性,可以改变实体或视图的大 小,使其小于最长属性的宽度,由此可以隐藏文本。 注: 您不能改变数据模型的标题文本框的大小。 手动改变数据模型对象大小 您可以手动改变实体、形状、表格、文本框和视图的大小,来控制数据模型的显示。 1 在数据模型浏览器 中,选择您要改变大小的对象。 2 将光标置于其中一个控制点上,然后点击拖动,改变对象的大小。 使用 ER/STUDIO DATA ARCHITECT > 普通任务 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 88 自动改变数据模型对象大小以适合文本 ER/Studio DA 能自动改变实体、表格和视图的大小,以显示整个对象名称和显示内容。 1 在数据模型窗口中,选择您要改变大小的对象。 2 选择 Format > Resize Entity/View。 对象的大小调整了以适合文本的宽度。 如果您要手动调整对象的大小,可以抓住大小控制点,重新调整对象边界。 提示 : 您也可以按 CTRL+R 或右击对象,然后选择 Resize,来改变所选对象大小以适合文本 显示。 改变模型对齐、分布和布局 •要将一组对象沿直线对齐 ,选择这些对象,然后点击 其中一个对齐按钮。 •要分布一组对象 ,选择这些对象,然后点击一个对齐 按钮。 •要使用不同布局类型重新安排数据模型或任务关系 图,显示模型,然后点击布局 & 对齐工具栏上的其中一 个自动布局按钮。 注: 要改变布局的默认设置,选择 Layout > Layout Properties。改变仅影响当前的项目文 件。有关改变布局属性的更多信息,请参阅 改变数据模型布局 。 查找实体、表格或视图 1 选择 Edit > Find Entity/View。 2 输入要查找的实体或视图的第一个字母或前几个字母。 首个与要查找的实体或视图相匹配的条目在列表中突出显示。 3 如果需要,滚动列表查找您要寻找的对象,或者输入更多字符来进一步缩小搜索的范围。 4 一旦找到搜索对象,双击该对象。 ER/Studio DA 在数据模型浏览器 和数据模型窗口 中突出显示该对象。 提示 : 您也可以使用通用命名工具来查找各种对象的字符串,例如查找带有属性名为城市的所 有实体。 要获得更多信息,请看 搜索和改变对象或对象属性名称 。 使用 ER/STUDIO DATA ARCHITECT > 普通任务 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 89 在数据模型窗口放置对象 您可以使用此程序来放置实体、表格、属性、列、索引、例 程、键、视图、关系、外键、函 数、程序和图形等对象。有些对象,诸如用户和角色,不能在数据模型窗口中显示,所以使用此方 法不能找到这些对象。 在数据模型浏览器 中查找和点击一个对象。 ER/Studio DA 在数据模型窗口里突出显示该对象。 注: 当查找外键或关系时, ER/Studio DA 使数据模型窗口焦点集中在父表格和关系上,或 外键突出显示,以便您可以按照关系线找到子表格。 编辑对象 在数据模型浏览器或数据模型窗口中,双击要编辑的对象。 显示对象特定编辑器,您可以在此改变所选对象的属性。 提示 : 或者,您也可以选择对象,然后选择 Edit > Editobject type 来打开编辑器。 添加和编辑对象评论 为了文档说明的需要,或者在与其他人合作开发模型时交流自己的想法,您可以添加评论到许 多数据库对象中。 Repository 用户可以共享 ER/Studio Data Architect 和 ER/Studio Portal 之间的 评论,所以如果 Portal 用户对模型、子模型或数据库对象作出评论, ER/Studio 用户可以查看这些 评论,反之亦然。评论标注了日期和登录用户名称。 1 在数据模型浏览器或数据模型窗口中,右击您想要添加评论的对象,然后选择 Comments... 注: 评论可以添加到 Repository 中的对象,而无需签出对象。 显示评论编辑器您可以在此查看或删除之前记录的评论或者添加新评论。评论可以添加 到 Repository 中的对象,而无需签出此对象。 2 在评论编辑器底部区域输入评论,然后点击 Add。 3 如果您希望用新评论立刻更新 Repository,请选择Synchronize All Comments In Repository Immediately 复选框。 使用 ER/STUDIO DATA ARCHITECT > 普通任务 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 90 4 如果需要,添加更多评论,然后点击 Save。 注: 如果您要添加评论到 Repository 关系图,您可以添加和提交评论到一个对象,而无需签 出或签入此关系图。在 Repository 工具栏里点击 Synchronize Comments 按钮,您的评 论就会添加到关系图中,包括您的 Repository 用户名和评论的日期和时间。 注释 您可以添加评论到大多数 ER/Studio DA 对象中,包括以下对象类型: • 对于ER/Studio Repository用户,当登录到 Repository时,添加的任何评论都标注了 Repository 用户名称和日期。 • 评论标注了用户名称和评论创建日期和时间。 • 您可以在 Comments 对话框中点击 X 来删除评论。 • 登录Repository之后,您可以通过将评论存储在 Repository的关系图文件中,和其它 ER/Studio DA 用户共享评论。 要将评论上传到 Repository,选择 Repository > Update Comments。 要从打开的关系图中下载现有或新的评论 ,选择 Repository > Synchronize Comments。通过 建模工具栏的评论工具,上下文菜单,或者选择 Edit > Comments 来打开评论编辑器。 • 您可以一次将一条评论添加到对象中。如果选择了不止一个对象, Comments... 选项则不可用。 • 别名 • 附件绑定 • 附件类型 • 附件 • 属性 • 属性 • 辅助表 • 列 • 数据沿袭列 • 数据沿袭源 • 数据沿袭表格 • 数据移动列 • 数据安全 • 数据库 • 关系图 • 字典 • 字典默认 • 字典规则 • 域 • 实体 • 功能 • 逻辑模型 • 逻辑子模型 • 包和对象类型 • 物理模型 • 物理子模型 • 例程 • 参照值 • 关系 • 安全 • 安全绑定 • 存储组合 • 同义词 • 表格 • 表空间 • 用户数据类型 • 视图 • 视图列 • 可视化数据沿袭对象 使用 ER/STUDIO DATA ARCHITECT > 普通任务 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 91 编辑对象的名称 在数据模型浏览器或数据模型窗口中,双击想要编辑的对象,然后在编辑器中改变对象 名称。 提示 : 或者,按住 Shift 键点击对象,该对象名称成为可编辑的字段。按 Backspace 键删除名称, 输入新名称,然后点击该对象以外的任何地方,使改变生效。 删除对象 1 在数据模型浏览器或数据模型窗口中,右击要删除的对象,然后从快捷菜单中点击 Delete。 2 点击 Yes。 注释 • 当您右击子模型对象时,没有 Delete 选项。相反地,有 Remove 选项。从子模型中删除对象时, 该对象仍保留在主模型中,除非您在弹出的删除对话框中选择了 Delete from Model 选项。 • 为选择多个实体,可以按住 CTRL 键点击各个实体。 • 要删除属性,在数据模型浏览器中选择该属性,或者在数据模型窗口中双击父实体或父表,打 开实体或表格编辑器。在编辑器中,你可以选择要删除的属性,然后点击 Delete。 • 删除关系时,您可以删除整个关系,或者在弹出的删除对话框中选择 Make Foreign Keys Native 选项,将外键关系转化为子实体或表格的属性。 重命名对象 1 在数据模型浏览器中,右击想要重命名的对象。 2 从快捷菜单中点击 Modify Name。 3 输入新名称,按 Enter 键。 提示 : 要重命名属性,在数据模型窗口中双击对象或父对象,打开实体或表格编辑器。在该编 辑器中,点击属性,然后点击 Edit。 使用 ER/STUDIO DATA ARCHITECT > 普通任务 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 92 搜索和改变对象或对象属性名称 使用通用命名工具,您可以全面地搜索和替换(如果需要)逻辑模型和物理模型的边界附件 的名称、字符串和附件值覆写。 定义搜索条件,将搜索局限于模型内的特定对象或仅限于特定的模 型。 您也可以缩小搜索范围,仅包括特定对象或对象属性,或仅包括某些模型。搜索结果包括模型 对象,例如附件绑定和表格存储参数。 1 选择 Tools > Universal Naming Utility。 2 完成 String Specifications。 提示 : 您可以使用 Object Scope 和 Model Scope 选项卡限制搜索或搜索和替换的范围。 3 要查找字符串 ,点击 Search。 要替换字符串 ,点击 Replace。检查 搜索结果 ,然后点击 Apply 使改变生效。 注: 点击 Apply 之前,改变不会生效。 4 要创建 RTF 或 HTML 格式的搜索结果报告 ,点击 Report。 要创建所选结果的子模型 ,选择结果窗口里的对象,然后点击 Create Submodel。 提示 : RTF 格式报告是印刷发行的理想格式,而 HTML 格式报告更适用于浏览器查看。 以下描述了需要进一步解释的选项。 Search Results 选项卡 Whole Word:搜索查找字符串中的整个单词。例如,如果您的搜索字符串是单词 “data”,并且您不想要诸如单词 “database” 的搜索结果,请在 Whole Word 复选框内打勾。 Object Scope 选项卡 将搜索的范围缩小到特定对象和所选对象的特定字符串用法。 Model Scope 选项卡 将搜索范围缩小到关系图里的特定模型。 另请参阅 • 有关使用子模型编辑器的信息,请参阅 创建和编辑子模型 。 创建和编辑数据库视图 数据库视图,也被称为物化视图,是反映对父实体或表格数据所做改变的动态虚拟表格。在 SQL 中,视图是产生于 SELECT 语句的列或属性的集合。它不是关系型数据库的物理架构的一部 分,也不会占用额外的存储空间。 使用 ER/STUDIO DATA ARCHITECT > 普通任务 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 93 视图的某些使用包括: • 显示包括在表格中的数据的子集。 • 将表格合并简化为单个虚拟表格。 • 隐藏数据的复杂性。 • 依靠数据库平台,通过将用户访问权限限定于特定的列和 / 或行,提供额外的安全层。 • 充当汇总表格,可以在表格里计算汇总数据如总和与平均值,并显示为视图的一部分。 • 限制表格中敏感数据的暴露数量。 • 创建抽象层,简化复杂数据,透明分割实际的基础数据表。 • 帮助进行数据库的第二范式之上的规范化。 • 使分解基础数据表格更简单,然后合并各部分,而不损失任何信息。 注: 一些数据库平台提供了比其他平台更多的属性,这些属性可应用于物理视图定义。 使用 ER/STUDIO DATA ARCHITECT > 普通任务 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 94 在视图编辑器中,您可以从 Entities 选项卡上的实体中选择特定属性或者从 Tables 选项卡上 的表格中选择特定列,包括在视图里。在视图编辑器中,您可以重新组织视图中列的顺序,以及添 加注释和描述到视图中。在 CREATE OBJECT 语句之前或之后,您可以添加立即生成的 Pre 和或 Post SQL 语句。 1 在数据模型浏览器 中,展开您想创建视图的模型结点。 2 右击视图结点,然后点击 New View。 3 完成视图编辑器 的选项卡,然后点击 OK,使对视图的变更生效。 注释 • 您可以两次引用视图中的相同表格,这样做会自动创建在视图中重复不止一次的父表的别名。 • 您也可以在数据模型窗口里选择您想要包括在视图里的表格,然后选择 Insert > View 来创建 视图。点击数据模型窗口的任何位置,可以创建由所选表格构成的新视图。双击该视图编辑其 属性。 • 创建完视图后,您可以右击此视图,然后从快捷菜单中点击 Edit View 来编辑视图。 • 在屏幕底部的状态栏显示了所选模型或子模型中的视图总数。 • 在关系图浏览器树状列表里,您可以在视图结点下看见创建的视图,也可以展开相关实体或表格 结点看见视图。 • 使用当前实体 /表格的属性 /列的视图显示在该实体或表格编辑器的 Dependencies选项卡上。 以下对视图编辑器里需要更多解释的选项进行了描述。 Entity/Table 选项卡 • Logical Only:在逻辑模型中,若选择该选项,当生成物理模型时不会使该视图生效,当把 该逻辑模型与物理模型比较时,该视图将被忽略。 • Physical Only:在物理模型中,若选择该选项,当把物理模型与逻辑模型进行比较时,该视图 将被忽略。 Attribute/Column 选项卡 • 查看 Columns/Attributes > Column Expression:该列表达是标准 SQL 语句表达式,创 建了计算列,合并现有数据以产生不需要存储但是需要使用的数据。例如在 Northwind 模 型中, 1997 年产品销售视图使用以下列表达式来计算销售值,其中用到了统一价格、销售 数量和适用折扣。 Sum(CONVERT(money,("Order Details".UnitPrice*Quantity*(1-Discount)/100))*100 列表达式只有在没有指定列和需要别名的时候才可以添加。 • Select distinct:若选择该选项,则添加 SELECT DISTINCT 语句到 DDL 选项卡里,只选择 和显示唯一行。 使用 ER/STUDIO DATA ARCHITECT > 普通任务 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 95 Column Alias 对话框 当您试图添加重名的列到视图中时,会出现该对话框。要使用视图中的列,您必须赋予每 个重复列名一个别名。 如果没有赋予重复列名别名,当生成视图时就会有 SQL 语法错误。注 意,列表达式仅在未指定列时可以添加。因此您可以有具有别名的列,或具有别名的表达式。 表达式需要别名。 Where 选项卡 定义视图的 WHERE 从句, 例如 WHERE [city] = Monteray,选择与所述条件相匹配的行。 Group By 选项卡 选择列和表格,将其包括在用于视图的 GROUP BY 从句,例如 SELECT Product, SUM (Sales) GROUP BY Product 使您可以很容易地找到各个列值组的总和数据。 Having 选项卡 输入用于视图的 HAVING 从句,例如, SELECT Product, SUM (Sales) GROUP BY Product HAVING SUM (Sales) > 10000 允许您测试结果条件。 DDL 选项卡 显示和可以编辑构建视图所需要的 CREATE VIEW 语句。 在物理模型中, ER/Studio DA 使 用所选模型的数据库平台的平台相关解析器来生成视图。如果添加视图到逻辑数据模型,将使 用默认解析器 AINSI SQL,除非您将逻辑模型选项中的视图解析器改为了另一个解析器。要获 得更多信息,请看 针对选定模型定义模型选项 。 SQL Validation 对话框 如果检测到任何错误, SQL 验证语句会将结果显示在 Validation Results 区域。然后可以 退出 SQL Validating 对话框,在 DDL 选项卡上更正错误,然后重新运行验证检查。 Options 选项卡 当选择了 With Check选项和 With Read Only选项,该两选项分别将 WITH CHECK OPTION 和 WITH READY ONLY 从句添加到 DDL 语句中。 Definition 选项卡 输入或编辑用于视图的定义。如果目标数据库支持视图定义,在生成 SQL 代码时, ER/Studio DA 添加该定义作为视图评论。 Notes 选项卡 添加有关视图的注释,这些注释可以使用 HTML 标签格式化,该标签是在创建模型的 HTML 报表时处理的。 Where Used 选项卡 根据设置的定义显示在哪里使用视图。 使用 ER/STUDIO DATA ARCHITECT > 普通任务 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 96 Dependencies 选项卡 创建、编辑或删除任何与视图绑定的脚本程序。如果任何程序或函数绑定到该视图,文件 夹是可以展开的。双击或右击视图文件夹,打开视图编辑器。有关创建程序的信息,请参阅 创 建 SQL 程序 。有关创建函数的信息,请参阅 添加预存储 SQL 函数。 PreSQL & PostSQL 选项卡 在 CREATE OBJECT 语句之前或之后输入要应用的 SQL 语句。这里输入的 PreSQL 和 PostSQL 脚本包含在产生实体数据库时的脚本中。 Permissions 选项卡 设置角色和用户访问视图的权限。记住权限分得越细,您就需要花越多时间来维护和更新 权限。角色和用户必须事先设定出现在 View Editor 中。要获得更多信息,请看 创建和编辑数 据库角色 和创建和编辑数据库用户 。 Security Information 选项卡 显示在数据字典中定义的当前安全信息。您可以双击想要改变的字段,添加或编辑安全报 告信息。要设置该属性的模型范围内的默认值,进入 Data Dictionary 选项卡,展开 Data Security Information 节点,然后进行编辑。要获得更多信息,请看 用数据安全类型和属性保 证安全 。 Attachment Bindings 选项卡 绑定外部信息或附件到该数据库视图。可从该对象去除附件,覆盖附件绑定默认值,或改 变绑定附件的位置。要覆盖已经移动到 Selected Attachments 网格中的附件值,双击目标附 件的 Value 字段。 ER/Studio DA 显示值覆写编辑器( Value Override Editor)或者是基于附 件数据类型的列表。在数据字典的附件文件夹中创建的附件,在该选项卡里显示之前,必须先 应用于该视图。 要获得更多信息,请看 附加外部文件到数据模型 。 定义新模型的默认视图设置 1 选择 Tools > Options,然后点击 Display 选项卡。 2 完成在 View Display Settings 区域的设置选择。 3 点击 View 选项卡。 使用 ER/STUDIO DATA ARCHITECT > 普通任务 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 97 4 完成设置选择,然后点击 OK。 提示 : 您可以使用 View > Diagram 和 Object Display Options > View 中的选项来覆写特定模 型或子模型的设置。 以下描述了需要进一步解释的选项: View Reverse-Engineer/Import > Import Invalid Views:当导入数据模型或对数据库 进行逆向工程时,可以导入无效视图。 重复视图列名解决方案 • Prompt:在任何情况下,只要存在重复列名,就会提示使用列别名来区分各个列。 • Don't propagate:创建视图时从生成的 SQL 语句的 SELECT 从句中忽略重复列名。 • Attach prefix and/or suffix:附加前缀或后缀到列名,区分重名的列名。前缀由实体名和 一个下划线字符组成。后缀由按顺序的编号组成。 View Column Propagation > Don't propagate any columns:不会自动地任何列传递 到视图。您可以选择多个列包含在视图编辑器中。 Column Sorting:设置列的排序等级。 注: 列的排序设置决定了 DDL Select 语句中的列顺序。 自定义特定模型的视图设置 使用关系图和对象显示选项的视图选项卡来设置在特定模型中显示哪些视图组成部分。 注: 这里的设置覆盖了 Tools > Options > Display 的显示设置。 1 选择 View > Diagram and Object Display Options,然后点击 Views 选项卡。 2 完成设置选择,然后点击 Apply To 选项卡。 3 选择要应用新设置的模型和子模型,然后点击 OK。 使用 ER/STUDIO DATA ARCHITECT > 普通任务 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 98 创建和编辑子模型 在 ER/Studio DA 中您可以创建所有或部分逻辑模型或物理模型的称为子模型的独立视图。子模 型专注于模型的具体特征,有利于更快地访问数据。对子模型对象作出的任何改变,除了对象删除, 都会自动传递给主模型。当删除子模型对象时,您可以选择将改变应用到主模型或者仅从子模型删 除对象。您可以在数据模型中创建任意数量的子模型,也可以在子模型中嵌套任意数量的子模型。 除了可以创建模型的子模型以外,使用 ER/Studio DA 您还可以从子模型繁衍出子模型,然后 通过数据模型浏览器中的嵌套子模型文件夹显示子模型关系。 如果相关对象是子模型的一部分, ER/Studio DA 将自动包括对象之间的关系。您可以编辑子模 型,使之包括或不包括特定关系。添加关系时, ER/Studio DA 自动将相应父表包括在子模型定义中。 1 在数据模型窗口或数据模型浏览器中,选择一个或多个对象包含在子模型中。 提示 : 按住 CTRL 键,点击选择多个对象。 2 选择 Model > Create Submodel。 3 在 Create Submodel 对话框中,输入子模型的名称。 4 在对象列表中, 按住 CTRL 键点击选择要添加到子模型中的对象,然后按右箭头,添加所选对 象到子模型中。 5 点击 OK 创建子模型。 当您完成了子模型的创建, ER/Studio DA 添加子模型到 数据模型浏览器中,并且在数据 模型窗口中显示该模型。 以下描述了需要进一步解释的选项。 Edit Submodel 选项卡 • 点击 Select Related Objects,添加父实体和子实体以及依赖视图或程序逻辑。 • 如果您选择了 Inherit Objects Added to Nested Submodels 选项,之后添加到嵌套在模型 或子模型中的子模型的对象都会自动添加到该模型中。 Attributes 选项卡 让您选择 Edit Submodel 选项卡上所选实体的哪些属性能包括在子模型中。如果您取消 选择一个属性, ER/Studio DA 显示省略号表示不是所有的属性都显示了。 要了解更多信息, 请参阅 定制图表和对象的显示方式 里的实体或表格选项卡描述。 Definition 选项卡 输入或编辑用于子模型的定义。 Attachment Bindings 选项卡 绑定外部信息或附件到子模型。可从该对象去除附件,覆盖附件绑定默认值,或改变绑定 附件的位置。要覆写已经移至所选网格的附件值,双击目标附件的 Value 字段。 ER/Studio DA 打开 Value Override Editor 或者是基于附件数据类型的列表。附件创建在 数据字典的附件文 件夹里。要获得更多信息,请看 附加外部文件到数据模型 。 使用 ER/STUDIO DATA ARCHITECT > 普通任务 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 99 Security Information 选项卡 显示在数据字典中定义的当前安全信息。您可以双击想要改变的字段,添加或编辑安全报 告信息。要设置属性的模型宽度默认值,进入数据字典选项卡,展开数据安全信息结点。要获 得更多信息,请看 用数据安全类型和属性保证安全 。 注释 • 如果您选择子模型添加到新子模型,那么属于源子模型的所有对象都将添加到新子模型中。 • 从子模型中删除对象,不会将此对象从主模型删除,除非您在 Delete 对话框中选择了 Delete from Model 选项。 • 一旦创建了子模型,您可以添加对象到子模型,方法是右击主模型或另一子模型中的对象,然 后从快捷菜单中选择 Apply to Submodel(s) 。 在弹出的对话框中,您可以选择将对象添加到 哪些子模型。 同步子模型 使用子模型同步工具( Submodel Synchronization Utility),同步相同文件或不同文件之间子 模型的对象安置、颜色和字体设置、显示级别、成员和层次体系。您可以通过添加、删除和更新子 模型项目,在逻辑模型和物理模型之间同步子模型;或者您可以将本地模型的子模型与本地 ER/Studio DA 文件或 ER/Studio Repository 中的文件同步。源模型和目标模型中的子模型通过子 模型名称相匹配。 注: 您可以通过添加、删除和更新子模型项目,在逻辑模型和物理模型之间同步子模型。 以下例子阐明了何时同步子模型可以是有用的。 例 1:现有逻辑模型和物理模型保存在 *.dm1 文件中,每个模型有 20 到 30 个子模型。物理模型 体现了当前开发环境。使用 Add New Physical Model 功能添加测试环境下的物理模型。测试环境 的物理模型是关闭的,但是与开发基准环境的现有物理模型并不完全匹配。要匹配测试和开发物理 模型,您可以使用子模型同步工具,从开发模型添加或转移子模型到相同或不同 *.dm1 文件的测 试模型。 例 2:在相同 *.dm1 文件中有逻辑模型和物理模型。为了便于制作报表,逻辑模型和物理模型中使 用了相同的子模型。 您对逻辑模型作了重要改变,添加和删除对象或者为新项目添加子模型。您可 以使用子模型同步工具( Submodel Synchronization Utility)将这些改变同步或推行到物理模型中。 使用 ER/STUDIO DATA ARCHITECT > 普通任务 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 100 例 3:许多人在逻辑模型中管理子模型,希望能够将该结构移至从企业逻辑模型衍生的物理模型或 项目模型中。成员和显示设置经常改变;此工具将同步子模型的过程自动化。 注: 要同步目标模型无关系的两个子模型,必须先使用比较和合并实用工具,将任何关系从 源模型提供给目标子模型,然后使用子模型同步实用工具同步子模型。 1 在数据模型浏览器 中,选择源子模型。 2 选择 Model > Submodel Synch Utility。 3 完成子模型同步工具 各页,然后点击 Finish 使视图变更生效。 以下描述了需要进一步解释的选项。 第一页 有关快速启动工具的使用信息,请参阅 保存、使用快速启动设置 。 第二页 对源模型的改变可以合并到目标模型中。从列表中选择目标模型,或返回到第一页,使用 文件浏览器控制,加载 *.dm1 目标文件。要合并的子模型可在第四页中选定。 第三页 • Synchronize members:若选择该选项,在 Diagram and Object Display Options 对话框中 指定的子模型设置将传承给目标子模型。 • Synchronize submodel hierarchies:若选择该选项,则可以同步内嵌子模型。 第四页 针对每个操作,选择您想要与目标模型同步的子模型。 可用的操作(更新和删除)取决 于所选的子模型。如果这是频繁更新的子模型,您可能想要在快速启动文件中保存所有的向导 设置。当您下次使用该工具,如果在启动工具的时候选择了快速启动文件,该文件就会加载您 之前的设置。您可以加载快速启动文件,对它进行修改,然后保存这些修改。 注释 • 要对源模型和目标模型都进行修改,可以运行实用工具两次,第二次运行实用工具时颠倒源模型 和目标模型。 • 可用操作 (更新和删除)取决于所选的子模型以及源子模型和目标模型之间的差异。例如,如 果源模型包括未反映在目标模型的更新,那么更新操作是可用的。 使用 ER/STUDIO DATA ARCHITECT > 普通任务 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 101 复制数据库对象到子模型 (应用到子模型) 要复制数据库对象,您可以复制对象然后分别粘贴到每个子模型中,或者使用 Apply to Submodel 功能将对象同时粘贴到相同模型中的多个子模型中。 1 在数据模型浏览器 或数据模型窗口 中,右击想要复制到活动模型中的一个或多个子模型中的 对象,然后点击 Apply to Submodel。 2 在 Apply to Submodel 对话框中分别选择想要复制对象到的子模型,或者选择模型复制对象 到主模型和活动模型的所有子模型。 注: 在 Apply to Submodel 对话框中,点击 Place New Object Near Existing Objects 选项,可 以防止新对象随机放置在数据模型窗口中。当操作大型模型和子模型时,这一点很重要。 构建数据库安全体系 定义和建立数据库安全的目的有很多,例如,当把数据模型对象用于 DBMS 时,通知数据模 型审阅人员和安全数据库管理员关注这些数据模型对象的安全设置。 本章包含以下主题: • 创建和编辑数据库用户 • 创建和编辑数据库角色 • 将数据库用户与新数据库角色相关联 • 将数据库角色与新数据库用户关联 • 改变与现有数据库用户相关的数据库角色 • 改变与现有数据库角色相关的数据库用户 • 赋予和取消权限以改变数据库对象 使用 ER/STUDIO DATA ARCHITECT > 普通任务 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 102 创建和编辑数据库用户 确保数据安全的其中一个重要途径是对用户和组指派数据访问权限。 与数据库角色、用户和授予他们的权限一起,您可以对权限进行管理。逻辑模型用户需要这些 权限来插入、选择、更新、删除、改变或引用逻辑数据库中的实体、表格和视图。 除了物理数据模 型中的表格和视图支持以外,基于数据库平台,用户也可以用于特定物理模型来管理系统特权,例 如要求备份数据库和日志,或者要求创建数据库、默认、例程、规则、表格和视图。 可用的系统权 限取决于数据库的类型,用户向导与用户编辑器的第二页显示了可用的系统权限。 逻辑数据模型支持数据库用户,以下平台的物理数据模型也支持数据库用户: • 用于 LUW 5.x、 6.x、 7.x、 8.x、 9.x 的 IBM DB2 数据库 • 用于 OS/390 5.x 和 6.x 的 IBM DB2 数据库, 和用于 z/OS 7.x、 8.x、 9.x 的 DB2 数据库 • Microsoft SQL Server 4.x、 6.x、 7.x、 2000、 2005 •Oracle 7.x、 8.x、 9i、 10g、 11g •Sybase ASE 11.0、 11.5、 11.9、 12.0、 12.5、 15 注: 用户向导和用户编辑器有相同的选项,除了只在编辑器显示的附件绑定选项。 1 在数据模型窗口 中,展开逻辑模型的 主模型 ,或者是数据库用户支持的物理模型,右击 Users 结点,然后点击 New Database User。 2 在 User Wizard 中,赋予需要的权限,然后点击 Finish。 以下描述了需要进一步解释的选项。 注: 可用的选项和权限取决于所用的平台。 General 页 / 选项卡 • User Name:在定义用户和组名称时,对允许的字符数量的限制依赖于使用的数据库平台。 • Is Group:用户组的成员自动继承组的权限。赋予用户的权限优先于与用户所在的组相关联 的权限,如果用户从组里删除其权限仍保留。赋予用户的清晰权限必须明确地取消。 • Password:若选择该选项,表明该用户是本地用户,在访问数据库时必须指定密码。 • Externally:若选择该选项,表明该用户是外部用户,必须由外部服务授权,如操作系统或第 三方服务来访问数据库。 • Globally:若选择该选项,表明该用户是全局用户,必须由企业目录服务授权使用或登录数据库。 • Add:点击该选项,弹出 Select Roles 对话框,您可以在此选择角色赋予用户。 按住 CTRL-Shift 键,选择多个角色。如果您之前未定义角色,该列表是空的。 • Tablespace Quota:在某些物理模型中,您可以定义表空间使用参数(单位是 10KB)。这将 限制用户扩大表空间的能力,但是不能代替设计的范围限制使用。 使用 ER/STUDIO DATA ARCHITECT > 普通任务 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 103 System Privileges 页 / 选项卡 点击列名选择整个列。按住 CTRL 键,点击选择多个对象。可用的权限取决于所选的物理 平台。 Object Privileges 页 / 选项卡 设置用户对表格和视图等对象的访问权限。某些数据库平台还允许访问更详细的数据库 对象,例如例程、包、物化视图、序列和函数。 点击列名选择整个列。按住 CTRL 键,分别选 择多个对象。 Dependencies 页 / 选项卡 如果与赋予的权限相关的对象具有依赖性,都会在此呈现。依赖项是指 SQL 脚本,如函 数,触发器和例程。 要了解更多信息,请参阅 创建、编辑函数, 创建、编辑触发器 和创建、编 辑程序 。 Definition 页 / 选项卡 描述为什么定义用户限制。输入或编辑用户的定义。如果目标数据库支持定义,生成 SQL 代码时, ER/Studio DA 添加该定义作为评论。 DDL 选项卡 查看构建用户所需的 CREATE USER 语句,或 GRANT ... 连接数据库时建立用户权限所需的 ON CONNECT 语句。在物理模型中, ER/Studio DA 使用模型的所选数据库平台的平台相关解析器来 生成视图。当添加视图到逻辑数据模型,将使用默认解析器 AINSI SQL,除非您将逻辑模型选项 中的视图解析器改为了另一个解析器。要获得更多信息,请看 针对选定模型定义模型选项 。 Attachment Bindings 选项卡 绑定外部信息或附件到用户。可从该对象去除附件,覆盖附件绑定默认值,或改变绑定附 件的位置。要覆盖已经移动到 Selected Attachments 网格中的附件值,双击目标附件的 Value 字段。根据附件的具体类型, ER/Studio DA 会打开 Value Override Editor 或列表。在数据字 典的附件文件夹中创建的附件,在该选项卡里显示之前,必须先应用于数据库用户。 要获得更 多信息,请看 附加外部文件到数据模型 。 注释 • 要查看数据模型窗口中的用户,应确保选择了 View > Diagram and Object Display Options > Security Objects 里的 Display All Security Objects 选项。默认情况下,逆向工程关系图不显 示安全对象;但是从头开始创建的模型则可以显示安全对象。 • 一旦创建了用户,您可以在角色编辑器或角色向导中赋予用户特定的角色。要获得更多信息, 请看将数据库用户与新数据库角色相关联 和将数据库角色与新数据库用户关联 。 • 您可以改变用户编辑器里赋予用户的权限,也可以改变实体编辑器或表格编辑器的 Permissions 选项卡里赋予用户的权限。要获得更多信息,请看 创建和编辑实体和表格 。 • 当您创建支持数据库用户的物理模型时,在逻辑模型中创建的数据库用户会传递到物理模型中。 • 根据数据库平台,数据库用户可以为实体、表格、函数、物化视图、包、例程和序列提供安全 操作。 使用 ER/STUDIO DATA ARCHITECT > 普通任务 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 104 创建和编辑数据库角色 角色是权限的命名集合。在业务设置中,角色是依据工作能力、权力和职责定义的。 创建数据 库角色的最终意图是实现组织内基于每个个体所扮演角色的最佳安全管理。 有效角色创建和应用的优点包括: • 优选将角色赋予给用户特权。 • 识别在正常模式以外操作的用户。 • 检测和删除多余或重复的角色或用户权限。 • 保持更新角色定义和用户权限。 • 消除潜在的安全漏洞和将结果风险最小化。 通过履行特定用户组的数据库角色,您可以将角色赋予用户,而不是将权限赋予个别用户的每 个对象,以节约时间。使用数据库角色,您可以管理权限。这些权限表现在逻辑模型用户需要插 入、选择、更新、删除、改变或引用逻辑数据库中的实体、表格和视图。除了物理数据模型中的表 格和视图支持角色以外,根据数据库平台,角色也可以用于物理模型来管理系统权限,例如要求备 份数据库和日志,或者要求创建数据库、默认、例程、规则、表格和视图。可用的系统权限取决于 数据库的类型,在用户向导与用户编辑器的第二页列出了可用的系统权限。 逻辑模型及以下物理数据库平台支持数据库角色: • Microsoft SQL Server 4.x、 6.x、 7.x、 2000 和 2005 •Oracle 7.x、 8.x、 9i、 10g 和 11g 1 在数据模型窗口 中,展开逻辑 主模型 或支持数据库用户的物理模型的 主模型,右击 Roles 结点, 然后点击 New Database Role。 2 在 User Wizard 中,赋予需要的权限,然后点击 Finish。 以下描述了需要进一步解释的选项。 注: 可用的选项和权限取决于所用平台。 General 页 / 选项卡 • Role Name:在定义角色名时,对允许的字符数量的限制依赖于使用的数据库平台。 以下选项指明了 SET ROLE 语句启用角色前用于授权用户的特定方法。 • Password:若选择该选项,表明该用户是本地用户,在启用角色时必须指定密码。 • Externally:若选择该选项,指明该用户是外部用户,必须由外部服务(如操作系统或第三方 服务)授权来启用角色。 • Globally:若选择该选项,表明该用户是全局用户,在角色启用或登录之前必须由企业目录服 务授权使用角色。 • Not Identified:若选择该选项,表明该角色是由数据库授权,无需密码启用该角色。 使用 ER/STUDIO DATA ARCHITECT > 普通任务 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 105 • Add:若选择该选项,将弹出 Select User对话框,在此您可以选择用户赋予角色。按住 CTRL键, 点击选择多个用户。如果您事先未定义用户,该列表是空的。 System Privileges 页 / 选项卡 点击列名选择整个列。 按住CTRL键分别选择多个对象。 可用的权限取决于所选的物理平台。 Object Privileges 页 / 选项卡 设置用户对表格和视图等对象的访问权限。某些数据库平台还允许访问更详细的数据库 对象,例如例程、包、物化视图、序列和函数。 点击列名选择整个列。按住 CTRL 键,分别选 择多个对象。 Dependencies 页 / 选项卡 如果与赋予的权限相关的对象具有依赖性,都会在此呈现。依赖项是指 SQL 脚本,如函 数,触发器和例程。 要了解更多信息,请参阅 创建、编辑函数,创建、编辑触发器 和创建、编 辑程序 。 Definition 页 / 选项卡 输入或编辑用户的定义。通常用于描述为什么定义用户限制。如果目标数据库支持定义, 生成 SQL 代码时, ER/Studio DA 添加该定义作为评论。 DDL 选项卡 查看构建用户所需的 CREATE ROLE 语句,或 GRANT ... 连接数据库时建立用户权限所需的 ON CONNECT 语句。在物理模型中, ER/Studio DA 使用所选模型的数据库平台的平台相关解析 器来生成视图。如果添加视图到逻辑数据模型,将使用默认解析器 AINSI SQL,除非您将逻辑 模型选项中的视图解析器改为了另一个解析器。要获得更多信息,请看 针对选定模型定义模型 选项。 Attachment Bindings 选项卡 绑定外部信息或附件到角色。可从该对象去除附件,覆盖附件绑定默认值,或改变绑定附 件的位置。要覆盖已经移动到 Selected Attachments 网格中的附件值,双击目标附件的 Value 字段。根据附件的具体类型, ER/Studio DA 会打开 Value Override Editor 或列表。在数据字 典的附件文件夹中创建的附件,在该选项卡里显示之前,必须先应用于该角色。要获得更多信 息,请看 附加外部文件到数据模型 。 注释 • 查看要数据模型窗口中创建的角色,须确保选择了 View > Diagram and Object Display Options > Security Objects 里的 Display All Security Objects 选项。默认情况下,逆向工程 关系图不显示安全对象;但是从头开始创建的模型则可以显示安全对象。 • 一旦创建了角色,可以在角色编辑器或角色向导中将角色赋予特定的用户。 • 您可以改变角色编辑器里赋予角色的权限, 也可以改变实体编辑器或表格编辑器的 Permissions 选项卡里赋予角色的权限。要获得更多信息,请看 创建和编辑实体 和创建和编辑表格 。 • 当生成支持数据库角色的物理模型时,在逻辑模型中创建的数据库角色传递到该物理模型中。 • 根据数据库平台,数据库角色可以为实体、表格、函数、物化视图、包、例程和序列提供安全 操作。 使用 ER/STUDIO DATA ARCHITECT > 普通任务 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 106 将数据库用户与新数据库角色相关联 一旦定义了数据库用户,可以赋予用户一个数据库角色。当定义了数据库用户,直接赋予或通过 应用角色赋予给特定用户的权限可以在实体编辑器或表格编辑器的权限选项卡里进行编辑。 1 在数据模型窗口 中,展开逻辑或物理 主模型 ,右击 Roles 结点,然后点击 New Database Role。 2 在向导的第一页上,在 Roles 区域点击 Add,选择想要应用的角色。 3 点击 Finish。 现在,当您编辑数据库用户时,如果在用户编辑器的对象权限选项卡上选择了 Show inherited permissions 选项,您可以看到用来表示通过应用的角色授予用户的权限的蓝色对号 标记。 注: 通过角色应用赋予或取消的权限被用户编辑器里给予用户的权限,或在实体 / 表格编辑 器的 Permissions 选项卡上给予用户的权限所覆盖。 改变与现有数据库角色相关的数据库用户 当您定义了数据库用户,您可以将角色赋予该用户。当定义了数据库用户,直接赋予或通过应 用角色赋予用户的权限可以在实体编辑器的权限选项卡里进行编辑。 1 在数据模型浏览器 中,展开逻辑或物理 主模型,展开 Roles 结点,右击要改变的角色,然后 点击 Edit Database Roles。 2 点击 General 选项卡。 3 要将角色与用户关联, 在 General 选项卡 的 Users 区域,点击 Add,选择您想与角色关联的 用户。 要将角色与用户分离, 在 General 选项卡的 Users 区域,在 Users 区域点击 Drop,选择 想从角色分离的用户。 4 点击 Finish。 现在,当您编辑数据库用户时,如果在用户编辑器的对象权限选项卡上选择了 Show inherited permissions 选项,您可以看到用来表示通过应用的角色授予用户的权限的蓝色对号 标记。按规则取消的权限不显示为叉号。 注: 通过应用角色赋予的权限被用户编辑器里授予用户的权限,或在实体 / 表格编辑器的 Permissions 选项卡上授予用户的权限所覆盖。 使用 ER/STUDIO DATA ARCHITECT > 普通任务 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 107 将数据库角色与新数据库用户关联 当您定义了数据库角色,您可以将角色赋予给任何新建用户。当定义了数据库用户,直接赋予 或通过应用角色赋予用户的权限可以在实体编辑器的权限选项卡里进行编辑。 1 在数据模型窗口 中,展开逻辑或物理 主模型 ,右击 Users 结点,然后点击 New Database User。 2 在向导的第一页上,点击 Roles 区域的 Add ,然后选择想要应用的角色。 3 点击 Finish。 现在,当您编辑数据库用户时,如果在用户编辑器的对象权限选项卡上选择了 Show inherited permissions 选项,您可以看到用来表示通过应用的角色授予用户的权限的蓝色对号 标记。 注: 一般地,通过角色应用赋予或取消的权限被用户编辑器里赋予用户的权限,或在实体 / 表格编辑器的 Permissions 选项卡上赋予用户的权限所覆盖。检查用于验证的 DBMS 说 明文档。 改变与现有数据库用户相关的数据库角色 当您定义了数据库角色,您可以将角色赋予创建的任何用户。与角色相关的权限可在实体 / 表 格编辑器的 Permissions 选项卡上进行编辑。 1 在数据模型窗口 中,展开逻辑或物理 主模型 ,展开 Users 结点,右击您要编辑的用户,然后 点击 Edit Database User。 2 要添加新角色到用户, 在 General 选项卡的 Roles 区域,点击 Add,选择要应用的角色。 要从用户中放弃一个角色, 在 General 选项卡的 Roles 区域,点击 Drop,选择要移除的角色。 3 点击 Finish。 现在,当您编辑数据库用户时,如果在用户编辑器的对象权限选项卡上选择了 Show inherited permissions 选项,您可以看到用来表示通过应用的角色授予用户的权限的蓝色对号 标记。按规则取消的权限不显示为叉号。 注: 一般地,通过角色应用赋予或取消的权限被用户编辑器里赋予用户的权限,或在实体 / 表格编辑器的 Permissions 选项卡上赋予用户的权限所覆盖。检查用于验证的 DBMS 说 明文档。 使用 ER/STUDIO DATA ARCHITECT > 普通任务 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 108 赋予和取消权限以改变数据库对象 当您创建了用户和角色,您可以授予或取消其插入、选择、更新、删除、引用以及改变实体、 表格、属性、列和视图的权限。 1 在数据模型浏览器 中,双击对象打开其编辑器。 2 点击 Permissions 选项卡。 3 选择一个角色或用户。 4 选择一个操作,或点击列标题选择操作的整个范围。 提示 : 您可以按住 CTRL+Alt 键点击选择多种操作。 5 点击 Grant 或 Revoke。 6 点击 OK 退出编辑器。 注: 注意,所设置的权限越多,维护和更新这些权限花费的时间也越多。 比较模型 有关比较数据模型的信息,请参阅 使用比较与合并实用工具 。 自定义数据模型 本节描述对数据模型的自定义。本节由以下主题组成: • 设置关系图属性 • 设置关系图属性 • 设置数据 模型属性 • 设置模型符号 • 设置关系符号 • 操作关系线 • 改变该模型背景 • 创建和编辑形状 • 添加和编辑线条 • 添加和编辑标题框 • 添加文本框 • 覆盖特定对象的颜色和字体设置 • 改变数据模型显示首选项 • 改变实体显示首选项 • 改变数据模型布局 使用 ER/STUDIO DATA ARCHITECT > 普通任务 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 109 设置关系图属性 在关系图属性对话框中,您可以记录数据模型的基本信息。当生成有关模型的报表时,使用输 入到该对话框的数据,这些数据还用于填充标题框。 1 选择 File > Diagram Properties。 2 更改信息、描述和附件绑定 选项卡里的信息,然后点击 OK。 以下描述了需要进一步解释的选项。 Attachment Bindings 选项卡 绑定外部信息或附件到域。可从该对象去除附件,覆盖附件绑定默认值,或改变绑定附件 的位置。 要覆盖已经移动到 Selected Attachments 网格中的附件值,双击目标附件的 Value 字 段。根据附件的具体类型, ER/Studio DA 会打开 Value Override Editor 或列表。在数据字典 的附件文件夹中创建的附件,在该选项卡里显示之前,必须先应用于关系图。 要获得更多信 息,请看 附加外部文件到数据模型 。 设置数据模型属性 在模型属性编辑器中,您可以改变模型的安全设置、附件、 PreSQL 和 PostSQL。此编辑器中 还显示物理模型生成时应用于模型的名称处理选项。逻辑模型编辑器与物理模型编辑器存在略微 不同。 1 右击模型或数据流,然后点击 Model Properties。 2 对于逻辑模型 ,更改 Security Information 和 Attachment Bindings 选项卡的内容,然后点 击 OK。 对于数据流 ,更改 Security Information 和 Attachment Bindings 选项卡的内容,然后 点击 OK。 对于物理模型 ,改变 Security Information、 Attachment Bindings 和 PreSQL & PostSQL 选项卡的内容,然后点击 OK。 以下描述了需要进一步解释的选项。 Security Information 选项卡 显示在数据字典中定义的当前安全信息。您可以双击想要改变的字段,添加或编辑安全报 告信息。要设置该属性的模型范围内的默认值,进入 Data Dictionary 选项卡,展开 Data Security Information 节点,然后进行编辑。要获得更多信息,请看 用数据安全类型和属性保 证安全 。 Attachment Bindings 选项卡 绑定外部信息或附件到子模型。可从该对象去除附件,覆盖附件绑定默认值,或改变绑定 附件的位置。要覆盖已经移动到 Selected Attachments 网格中的附件值,双击目标附件的 Value 字段。根据附件的具体类型, ER/Studio DA 会打开 Value Override Editor 或列表。在 数据字典的附件文件夹中创建的附件,在该选项卡里显示之前,必须先应用于数据模型。 要获 得更多信息,请看 附加外部文件到数据模型 。 使用 ER/STUDIO DATA ARCHITECT > 普通任务 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 110 PreSQL & PostSQL 选项卡 输入在 CREATE OBJECT 语句之前或之后应用的 SQL 语句。如果选择了 Generate 选项, 当生成物理数据库时,这里输入的 PreSQL 和 PostSQL 脚本都包括在脚本中。 Name Handling 选项卡 Name Handling 选项卡是只读的,显示了生成物理数据模型时在 Generate Physical Model Wizard 的第三页上的 General Options 里选择的名称处理选项。如果在生成模型时使 用了命名标准模板,则生成物理模型向导的 General option 不可用,这里显示的设置也应被 忽略。 设置模型符号 您可以从逻辑模型入手生成 DM 关系图,或者通过逆向工程、导入 SQL 或 ERX 文件、添加新 物理模型生成 DM 关系图。模型符号限定数据模型设计技术使用的是 Entity Relational (ER) 技术, 还是 Dimensional (DM) 技术。您可以根据自己的要求使用任何一种技术。 多维建模常用于数据仓库,为高性能终端用户提供对数据的访问。 企业单个 ER 关系图表示了 所有可能存在的业务流程, DM 关系图则在一个事实表中表示单个业务流程。 ER/Studio DA 可以 识别单一业务流程的组成,并为您创建 DM 关系图。 三维表格类型 在三维模型中,每个表格都被赋予了表模型类型,此类型是以实体或表格框的左上部分显示的 图标来区分的。您也可以在表格编辑器里通过赋予表类型来定义表格,该类型在表格的底部显示。 表格类型不会改变数据处理的方式,但是它提供给读者有关表格里的数据信息: ER/Studio DA 支持以下三维表格类型: 事实表: 具有一个或多个外键,且无子表的表格。 事实表包含数据库为之生成的记录和数据。事实表在星型架构中是核心表格。 在 ER/Studio DA 中事实表还可以进一步定义为以下几种类型表格: 使用 ER/STUDIO DATA ARCHITECT > 普通任务 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 111 • 汇总表 :相比其他表格里的详细信息,该表格包含的信息则比较粗糙和概括。例如,在一零售 交易数据库中,您可以建立包含单个销售信息的销售收入事实表,从该表中汇总信息建立月销 售汇总表,该表可以显示如软件、硬件和服务的月销售总量的信息。汇总表在报告过程中提供 了快速访问数据的途径;如改善性能的索引。 • 原子表 :包括详细信息的表格,如上所述的销售收入表。 • 累计表 :包含累计信息,例如,通过累计销售收入的每条路线的运货日期与销售日期之间的时 间来计算完成销售所花的时间。 • 快照表 :包含展示实体的生存周期具体步骤的与时间相关的信息。 例如,销售的快照信息包括 如订单的创建、提交、运送、交付和支付时间。 维度表: 事实表的父表 维度表包含相关数据的组合信息,例如日期、小时、分钟和秒,维度表由一个键表示,例 如事实表里的时间。 在 ER/Studio DA 中,您可以进一步将维度表定义为以下类型之一: • 固定维 :表中的数值不能改变。 • 简并表 :简并维来源于事实表。当事实表里的粮食代表了交易水平数据,并且您想要维持系统 相关的标识符如订单号和发票号,而不用将它们强制包括在它们自己的维度表中时,简并维就 显得很有用了。简并维度表可以提供交易系统的直接引用,而省去了维护单独的维度表的费 用。 例如,在示例模型 Orders.dm1 中,您可以创建一个简并维,分别从委托贷款、缴费详细 信息和销售订单行号等事实表中引用委托贷款 ID、缴费详细信息 ID 和销售订单 ID 。 使用 ER/STUDIO DATA ARCHITECT > 普通任务 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 112 • 多值:多值维有助于您在属性或列有多个值的情况下建模。例如,医疗保健账单有诊断一栏, 可以有多个值。最佳实践建模要求每项应该有单一值。要在多值情况下建模,您可以创建多值 表格,可以捕捉诊断信息并为每个诊断赋予权重,这样总和相加为 1。 权重因子使您创建的报 表不会重复计算事实表中已付款的数量。 使用 ER/STUDIO DATA ARCHITECT > 普通任务 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 113 • 缺失型 :在缺失型维度中,至少一个成员的逻辑父对象在该成员直接上层的层次中缺失。缺失 型维度允许存在不确定深度的层次结构,例如组织图表和局部迸发图表。 例如,在一个组织中 一些雇员是小组的一部分,由小组组长管理,同时其他雇员则直接向部门经理汇报工作。 缺失 型维度的另一个例子如下方模型所示,该模型显示了城市如:华盛顿特区、梵蒂冈和蒙特卡洛 不属于州的范畴。 • 收缩:收缩表是附属于事实表的一个版本。但是它具有较少的属性,目的是要将设计重点集中 到那些特定属性上。 • 渐变类型 0, 1, 2, 3, 6:渐变维度可以捕获如客户收入水平或收入 - 债务比这样的可以随时间 变化的信息。维护这些变化的最通用的用法为: • 类型 0:对处理变化没有任何贡献。 • 类型 1:覆盖现有的维度成员值。不跟踪历史变化。 • 类型 2:用当前维度成员新建一行数据。将原有行标记为过期。 • 类型 3:用于可随预期规律变化的维度,如每年每个维度行都具有和每个年度指定的属性一 样的可以覆盖的 当前 类型属性,例如 2008 年类别和 2009 年类别。 • 类型 6:结合了类型 1、类型 2 和类型 3 的方法。对于该类型表格的变化,行被覆盖,但是 表格包含另外两个日期列,在维度应用的特定行显示日期范围,或表格中包含修订数字。 使用 ER/STUDIO DATA ARCHITECT > 普通任务 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 114 雪花表: 维度表的父表。 雪花表展示了以更规范的格式列出维度表的各个元素。以下例子显示了作为维度表父表 的两个雪花表。在示例模型 Orders.dm1 中有许多其他好的例子或雪花表。 桥接表: 实行多 - 对 - 多关系。 桥接表支持多值维或复杂层级。桥接表也被称为助手表或关联表。这是实行两个或更多 个一对多关系或多对多关系的唯一途径。 层级导航表: 用于支持复杂的层次结构,例如组织结构图。 未定义表: 所有其他表格。 将该类型赋予标记表格,该表格还未确定适当的类型,例如具有多对多关系的表格,或 者同时是事实表和维度表的父表的表格。 改变模型符号 1 点击目标模型,然后选择 Model > Model Notation。 2 从列表中选择 Relational 或 Dimensional。 模型重新绘制,以符合所选模型符号。 注释 • 通过逆向工程或导入外部数据源来创建物理模型时,您可以选择模型符号。 • 您可以在物理模型选项对话框中改变物理模型符号。要访问此对话框,可以右击目标物理模 型,然后从快捷菜单中选择 Model Options。 • 您可以在实体编辑器或表格编辑器的 Dimensional 选项卡中更改维度模型中对象的表格类型。 双击实体或表格可以访问该编辑器。 使用 ER/STUDIO DATA ARCHITECT > 普通任务 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 115 另请参阅 对现有数据库进行逆向工程 导入模型 生成物理数据模型 设置关系符号 ER/Studio DA 用 IDEF1X 符号或 IE 符号的一种或三种类型来表示数据模型里的关系。 本节包括以下主题: • IDEF1X 对比 IE 关系符号 • 改变所有关系图模型的关系符号 • 改变所选模型的关系符号 IDEF1X 对比 IE 关系符号 IDEF1X 是由 E. F. Codd 和 Peter Chen 设计的分别基于关系型数据模型和实体 - 关系型模型的 符号,但是 IDEF1X 模型与 IDEF1X 基于的模型不同。使用 Peter Chens 或 E.F.Codds 设计创建的 模型看起来与使用 ER/Studio DA 和 IDEF1X 符号创建的模型不同,反之亦然。 IDEF1X 使主键和外键的可视化更加简单。 IDEF1X表示系统也提供了通过实体链来使用对层级 主键的识别关系的能力(或危险) 。 使用 ER/STUDIO DATA ARCHITECT > 普通任务 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 116 下图显示了使用 IDEF1X 符号,关系在 ER/Studio DA 中是如何展示的。 IE 被认为语法上比 IDEF1X 更强大,支持数据建模更抽象的方法。 IE 在支持子类型上显得更加 灵活,允许上滚(泛化)和下滚(特化)转换。 另外,主键在 IE 符号中不那么突出,因此,其操 作人员不太可能贸然地考虑选择逻辑键。 使用 ER/STUDIO DATA ARCHITECT > 普通任务 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 117 下图显示了使用 IE(Martin/Finkelstein) 符号的关系在 ER/Studio DA 中是如何表示的。 使用 ER/STUDIO DATA ARCHITECT > 普通任务 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 118 下图显示了使用 IE (Crow's Feet) 符号,关系在 ER/Studio DA 中是如何展示的。 使用 ER/STUDIO DATA ARCHITECT > 普通任务 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 119 下图显示了使用 IE (Hidden Foreign Keys) 符号的关系在 ER/Studio DA 中是如何展示的。 改变所有关系图模型的关系符号 1 在主菜单中选择 View > Diagram and Object Display Options。 2 点击 Relationship 选项卡。 3 在 Display Preferences 区域,选择想要的符号类型,然后点击 OK。 使用 ER/STUDIO DATA ARCHITECT > 普通任务 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 120 改变所选模型的关系符号 1 右击目标模型,然后选择 Model Options。 2 在 Notation 区域,选择想要的符号类型,然后点击 OK。 操作关系线 关系线代表实体之间或属性之间的关系。您可以在任何模型中自定义任何关系线的外观,甚至 使用自动布局。例如,如果使用正交布局,所有关系位置弯曲成 90 度角,您可以将任何个别弯曲 变为 N 弯曲,或者将关系线变直。 您也可以设置模型中任何关系的弯曲属性。在 ER/Studio DA 中有两种弯曲,即 N 弯曲和正交 弯曲。N 弯曲指关系线以任何角度弯曲,而正交弯曲只以 90 度角弯曲。层级和正交自动布局都仅 用正交关系线。其他所有自动布局使用直线关系线。您也可以创建垂直或水平的直关系线。 使用自动布局时, ER/Studio DA 根据特定布局的设计规格组织数据模型对象。每个布局对于 关系弯曲的方式、关系对接或与实体和属性相交的方式有不同的设计规格。您可以移动父实体或子 实体上关系线连接点的位置。 您也可以改变数据模型中个别或所有关系的颜色。您可以在选项编辑器的 Application 选项卡 里指定默认关系颜色。使用颜色和字体编辑器改变模型中所有或个别关系的显示。 注: 您可以改变关系图中的关系线显示格式或位置,然后应用自动布局来覆盖关系的默认 设置。 提示 : 您可以使用选项编辑器、关系图和对象显示选项编辑器和格式菜单,改变关系的布置和 颜色。使用 Options Editor - Application 选项卡可以对所有数据模型做全局改变。使用 视图菜单改变当前数据模型,使用格式菜单改变所选对象。在格式菜单中作出的改变会 覆盖在选项编辑器作出的改变。 本节包括以下主题: • 改变关系线的显示风格 • 创建 N 弯曲 • 变直 N 弯曲 • 改变关系线的布置 使用 ER/STUDIO DATA ARCHITECT > 普通任务 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 121 改变关系线的显示风格 要使关系图更易于浏览,可能需要改变关系线的显示风格,将关系线由直角弯改为直线,反之 亦然。 注: 将关系线由直角弯改为直线时, ER/Studio DA 重新放置连接点,使其尽可能靠近其原 始位置。 • 要改变所有新数据模型中的关系线显示风格 ,选择 Tools > Options > Display,在 Model Display 区域,选择想要的 Line Drawing Mode,可以是 Elbowed Lines 或 Straight Lines。 所有创建的新数据模型的关系都将默认显示为所选的线条绘制风格。 • 要改变当前数据模型的所有关系线的显示风格, 选择 View > Diagram and Object Display Options > Relationship,在 Display Preferences 区域,选择想要的 Relationship Style,可 以是 Elbowed 或者 Straight。 当前数据模型中的关系重新绘制,与所选关系风格相一致。 • 要改变所选关系线的显示风格 ,右击该关系线, 点击Layout Relationships,然后点击 Elbowed 或 Straight。或者,选择关系线之后,点击 Format > Layout Relationships,点击 Elbowed 或 Straight。 所选关系重新绘制,与所选关系风格相一致。 • 要将关系线变直 右击该关系线,然后点击 Straighten Relationship Line。 提示 : 或者,您可以选择该关系线,然后按 CTRL+H,将水平关系变直。按 CTRL+L,则将垂 直关系变直。 注: 改变是层叠式的,意味着在格式菜单中所作改变会覆盖在选项编辑器中作出的改变。 使用 ER/STUDIO DATA ARCHITECT > 普通任务 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 122 创建 N 弯曲 要使关系图更易于浏览,您可能需要在一个或多个关系线上创建 N 弯曲,像肘形一样的弯曲。 注: 如果使用自动布局, ER/Studio DA 仅在以下布局中可以创建 N 弯曲:圆形布局、对称 布局和树形布局。 1 点击想要弯曲的关系线。 2 将光标移到您想要创建弯曲的关系线的某一点上。 注: 此时指针应变为。 3 点击并拖动,放置弯曲点。 4 要在关系上创建不止一个弯曲点,重复第二步和第三步。 变直 N 弯曲 创建 N 弯曲后,您可以使用以下方法将线变直。 • 要删除一个弯曲 ,点击想要变直的关系线,然后选择 Format > Layout Relationship > Straight。 • 要重新放置关系线到默认位置 ,点击要变直的关系线,然后选择 Format > Line Disposition > Reset to Default Docking Side(s)。 使用 ER/STUDIO DATA ARCHITECT > 普通任务 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 123 • 要将有重叠边缘的两个实体之间的关系线变直, 如以下图所示,右击该线,然后点击 Straighten Relationship Line。 改变关系线的布置 要使关系图更易于浏览,您可能希望改变关系线的位置或布置。 1 点击关系线,然后选择 Format > Line Disposition。 提示 : 您可以按 CRTL+A 键选择数据模型中的所有关系线。 2 从列表中选择 Center、 Vertical、 Horizontal 或 Reset to Natural Docking Side(s)。 提示 : 将关系线的布置重新设置为预设的停靠点,通过右击该关系线,然后从列表选择 Reset to Default Docking Position。 重新绘制选定的关系,与所选关系线的布置一致。 改变该模型背景 要使模型在视觉上更吸引人,您可以改变背景颜色的显示,来衬托数据模型窗口中为其他对象 模型选择的颜色。 使用 ER/STUDIO DATA ARCHITECT > 普通任务 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 124 改变新数据模型的背景色 1 选择 Tools > Options。 2 要改变新逻辑模型的背景 ,选择 Logical 选项卡。 为改变新物理模型的背景 ,选择 Physical 选项卡。 3 在 Main Model Display 区域,点击 Background Color。 4 要选择其中一种基本色 或现有 自定义颜色 ,选择颜色框,然后点击 OK。 要选择在对话框中未显示的颜色 ,点击 Define Custom Colors,定义新颜色,点击 Add to Custom Colors。(这样便添加了一个新颜色选项到已有的 自定义颜色 中。)现在可以选择 新颜色框,然后点击 OK。 5 再次点击 OK,退出 Options 编辑器。 提示 : 您可以在 Model > Options > Display 中选择 Export model and object background color 选项来导出模型背景色。 改变现有模型和视图的背景色和轮廓颜色 1 在数据模型浏览器 中,点击数据模型或数据模型的视图。 2 选择 Format > Colors & Fonts > Colors。 3 要设置模型的背景色 ,从该列表中选择 Model Background,然后点击 Set Color。 要设置模型中所有视图的背景色 ,从列表中选择 View Background,然后点击 Set Color。 要设置模型中所有视图的前景色(即视图框周围的虚线) ,从列表中选择 View Foreground,然后点击 Set Color。 4 要选择其中一种基本色 或现有 自定义颜色 ,选择颜色框,然后点击 OK。 要选择在对话框中未显示的颜色 ,点击 Define Custom Colors,定义新颜色,点击 Add to Custom Colors。(这样便添加了一个新颜色选项到已有的 自定义颜色 中。)然后您可以选 择新颜色框,点击 OK。 5 要应用改变并退出 Colors & Fonts 编辑器,再次点击 OK 即可。 注释 • 当导出模型时,您也可以同时导出该模型背景,方法是选择 Model > Options > Display 中的 Export model and object background color 选项。 • 您可以为个别视图指定背景色和前景色,方法是右击数据模型窗口中的视图,然后点击 View Background/Outline Color。 • 您可以指定数据模型中所有视图都具有相同的背景色和前景(轮廓)色,方法是选择 Tools > Options > View ,然后在 View 区域选择 Same background color for all views 选项。 另请参阅 覆盖特定对象的颜色和字体设置 使用 ER/STUDIO DATA ARCHITECT > 普通任务 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 125 设置关系图默认颜色和字体 您可以创建颜色架构和改变字体来帮助您管理工作区。在颜色和字体编辑器中,您可以自定义 数据模型的显示,具体表现为:自定义模型、实体和数据库对象的背景和前景颜色和自定义数据模 型的个别组件的字体或将所有显示文本的字体规范化为一种特定字体。 1 选择 Format > Colors & Fonts。 2 按要求做出改变,然后点击 OK 使改变生效。 注释 • 覆盖特定对象或特定对象实例的默认颜色和字体。要获得更多信息,请看 覆盖特定对象的颜色 和字体设置 。 • 要设置选项编辑器的逻辑或物理选项卡里的主模型显示区域内的模型默认背景色,选择 Tools > Options。 覆盖特定对象的颜色和字体设置 要使模型更具吸引力和可读性,您可以改变数据模型中的背景、轮廓和字体颜色,以及实体 / 表格、属性 / 列、视图和关系的字体类型。使用特定颜色和 / 或字体有助于您组织数据模型。 提示 : 设置选项编辑器的逻辑或物理选项卡里的主模型显示区域内的模型默认背景色,选择 Tools > Options。 本节包括以下主题: • 改变实体、表格、属性、列或视图的颜色和字体设置 • 改变实体 / 表格背景和轮廓颜色 • 改变打开的数据模型中的视图的背景和轮廓颜色 • 改变关系颜色 改变实体、表格、属性、列或视图的颜色和字体设置 使用颜色和字体 编辑器进行以下操作: • 改变实体或表格的一个或多个所选组件的字体、字体风格、大小和效果(加删除线或下划 线),例如以下组件:实体名称、实体属性、主键、角色名称、备用键和反转项。 • 改变视图列所选组件的字体、字体风格、大小和效果(加删除线或下划线) 。 • 应用字体和颜色设置到一些属性类型,例如:非继承类主键、继承类主键、非继承的非键、继承 的非键、主键索引、唯一索引、非唯一索引、附件、触发器和数据安全。 使用 ER/STUDIO DATA ARCHITECT > 普通任务 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 126 • 改变实体、表格和视图的背景和轮廓颜色。 1 在数据模型窗口 中,右击想要改变的对象,或包括想要改变的对象的对象。 2 对于实体、表格、列和属性 ,选择 Entity Color and Font Settings > Entity/Attributes Colors and Fonts。 对于视图和视图列 ,选择 View Color and Font Settings > View/View Columns Colors and Fonts。 3 在颜色和字体 编辑器中作出想要的改变。 注: 您可以在点击对象时按住 CTRL 键不放,来选择多个对象,将相同的改变应用到多个属 性或列中。 4 要将颜色和字体设置改变应用到模型中所选对象的所有出现的地方,选择 Apply to all submodels ;否则,仅改变所选实体的出现。 5 使用预览区域预览变化,然后点击 OK 来使改变生效。 改变实体 / 表格背景和轮廓颜色 1 在数据模型窗口 中,右击您想要改变的实体 / 表格。 2 选择 Entity Color and Font Settings > Entity Background/Outline Color。 3 在实体颜色编辑器中作出想要的改变。 4 要将颜色改变应用到模型中的所选对象的所有出现的地方,选择 Apply to all submodels ; 否则,改变仅影响所选实体的出现。 改变打开的数据模型中的视图的背景和轮廓颜色 1 在数据模型浏览器 中,展开逻辑或物理模型的 Views 结点,然后右击想要改变的视图。 2 选择 View Color and Font Settings > Colors & Fonts > Colors。 3 要设置模型中所有视图的背景色 ,从列表中选择 View Background,然后点击 Set Color。 为设置模型中所有视图的前景颜色(视图框周围的虚线) ,从列表中选择 View Foreground ,然后点击 Set Color。 4 要选择其中一种基本色 或现有 自定义颜色 ,选择颜色框,然后点击 OK。 要选择在对话框中未显示的颜色 ,点击 Define Custom Colors,定义新颜色,点击 Add to Custom Colors。(这样便添加了一个新颜色选项到已有的 自定义颜色 中。)然后您可以选 择新颜色框,点击 OK。 5 要应用改变并退出 Colors & Fonts 编辑器,再次点击 OK 即可。 使用 ER/STUDIO DATA ARCHITECT > 普通任务 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 127 注释 • 当导出模型时,您也可以同时导出视图背景,方法是选择 Model > Options > Display 里的 Export model and object background color 选项。 • 您可以为个别视图指定背景色和前景色,方法是右击数据模型窗口中的视图,然后选择 View Background/Outline Color。选择 Tools > Options > View 中的 Same background color for all views 选项,可以覆盖该设置。如果启用了所有视图相同背景的选项,那么视图颜色和字体 设置快捷菜单中的 View Background/Outline Color 选项不可用。 • 您可以选择 Tools > Options > View,然后在 View 区域选择 Same background color for all views 选项,来指定数据模型的所有视图都具有相同的背景和前景 (轮廓)色。该设置将覆 盖 Tools > Options > View 里对个别视图进行的任何设置。 改变关系颜色 1 在数据模型窗口 中,右击您想要改变颜色的关系。 2 选择 Relationship Color > Edit Settings。 提示 : 您可以改变关系图中所有或个别关系的颜色。您可以在选项编辑器的 Application 选项卡 里指定默认关系颜色。即使设置了关系的默认颜色,您仍然可以使用颜色和字体编辑器 来改变关系图中所有或个别关系的颜色。 改变数据模型显示首选项 在选项编辑器的显示选项卡中,您可以为任何新建模型指定默认的模型显示设置。 1 选择 Tools > Options > Display。 2 在 Model Display 区域,选择想要的选项。 注释 • 您可以改变当前模型或子模型的显示设置,方法是选择 View > Diagram and Object Display Options,然后在弹出的编辑器中修改设置。 • 选择 Rolename Notation 可以显示全部的 IDEF1X 角色名称符号。 使用 ER/STUDIO DATA ARCHITECT > 普通任务 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 128 改变实体显示首选项 在选项编辑器的显示选项卡中,您可以为任何新建模型指定默认的实体显示设置。 1 选择 Tools > Options > Display。 2 在 Entity Display Settings 区域,从列表中选择 Display Mode,然后选择想要的 Display Options。 3 点击 OK,使改变生效。 提示 : 您可以改变当前模型或子模型的显示设置,方法是选择 View > Diagram and Object Display Options,然后在弹出的编辑器中修改设置。 自定义布局 使用布局属性编辑器,自定义所有布局的共同属性,以及自定义特定布局方法的外观。 注: 在布局性编属辑器中所作任何改变仅应用于当前选定的模型。 1 在数据模型浏览器 中,点击您想要使用自定义布局进行布置的模型。 2 选择 Layout > Layout Properties Editor。 3 点击一种布局的选项卡。 4 完成想要的改变。 提示 : 要获取特定选项的帮助,点击该选项,然后按 F1。显示该选项的文本帮助内容。 5 点击 OK,应用改变并退出该编辑器。 以下描述了需要进一步解释的选项。 所有选项卡 • Apply:将改变应用于所有选定的关系图,而不关闭该对话框。 • Defaults:将所选属性表的所有值重新置为 ER/Studio DA 的默认值。 • Layout:将改变应用于所有选择的关系图,而不关闭对话框,并立刻显示数据模型窗口中活 动模型的所有变化。 • Reset:将所选属性表的所有值重新置为当您打开 Layout Editor 时显示的值。 使用 ER/STUDIO DATA ARCHITECT > 普通任务 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 129 Disconnected 选项卡 • Tiling:提供平铺断开实体的三种方式:按网格平铺,按行平铺,按列平铺。 • Tile to Grid:所有断开连接的实体在网格里均匀间隔开。 • Tile to Rows:最大化空间效率,将连接的实体从左到右放置在行里,并为行里的高度最大 的实体留出刚好够用的纵向空间。 • Tile to Columns:最大化空间效率,将连接的实体从上到下放置在列里,并为列里的最宽 实体留出刚好够用的横向空间。 Circular 选项卡 • Biconnectivity:如果删除图形中的任何一个实体,图形依然保持完全连接,则认为该图形具 有双连接性。 • Cluster By:最终的聚簇阶段必须是双连接或度。 • Degree:指定用于在需要建立新聚簇之前将关系图符号进行分叉的关系线的最小数量。 例如, 如果数据模型自动布局度值是 5 (默认) ,那么关系图中的任何实体具有五个或五个以上关系 线连接新的聚簇。 Hierarchical 选项卡 • Edge Routing:指定所选数据模型中的关系线的类型和外观。 • Incremental Layout:指定在数据模型窗口中想要具备的常见组件的外形。例如,如果您使 用某种布局风格创建了数据模型,并将其粘贴到具有另一种布局风格的数据模型的窗口中, 然后连接这两个模型形成一个连接关系图,选择递增式布局复选框就可以在继续对数据模型 的边缘路线进行更改时使不同的布局风格保持不变。 • Layout Quality:指定用于生成布局的算法的速度。 • Draft:布局质量最低,但其算法速度最快。 • Proof:布局质量最高,但其算法速度最慢。 • Orientation:指定四种方式中的一种确定数据模型的方向。改变数据模型方向不会自动改变 端口规格、连接器、实体形状或约束,其中一些或全部依赖于实体的特定的边。但改变复杂数 据模型方向会导致一些难以解决的副作用。选择旋转规格包括重新确定数据模型方向时的端 口规格、连接器、实体形状或约束。 • 无向布局( Undirected Layout):当关系图为无方向时,任何关系的源实体和目标实体都可 以相同对待。在有向关系图中,关系的方向很重要。网络经常以无向布局表示,而过程经常以 有向布局表示。 Orthogonal 选项卡 • Compaction Quality:指定删除目标关系图中未使用的空白空间的过程的质量。草图( Draft)、 默认( Default)和校样( Proof)质量之间的差异主要是 ER/Studio DA 在关系图上运行压缩算 法的次数。 算法运行得越频繁,空白空间的利用效率就越高,整个过程的资源耗费就越多。 • Edge Spacing:指定平行关系线之间的水平和垂直距离。 使用 ER/STUDIO DATA ARCHITECT > 普通任务 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 130 • Incremental Layout:指定在数据模型窗口中想要具备的常见组件的外形。例如,如果您使用 某种布局风格创建了数据模型,并将其粘贴到具有另一种布局风格的数据模型的窗口中,然后 连接这两个模型形成一个连接关系图,选择递增式布局复选框就可以在继续对数据模型的边 缘路线进行更改时使不同的布局风格保持不变。 • Node Spacing:指定实体之间的水平和垂直距离。 Symmetric 选项卡 • Layout Quality:指定用于生成布局的算法的速度 • Draft:布局质量最低,但其算法速度最快。 • Proof:布局质量最高,但其算法速度最慢。 Tree 选项卡 • 无向布局( Undirected Layout):当关系图为无方向时,任何关系的源实体和目标实体都可 以相同对待。在有向关系图中,关系的方向很重要。网络经常以无向布局表示,而过程经常以 有向布局表示。 创建和编辑形状 ER/Studio DA 支持的所有数据库平台的逻辑模型和物理模型的数据模型窗口都支持绘制形 状。您也可以使用数据沿袭关系图窗口里的形状。 绘制形状在关系图里没有固定的含义,所以您可以决定如何使用和解释这些形状。 绘制形状 有三个主要用途: • 唯一表示 :绘制的形状可以代表数据模型的架构对象,这些对象通常不能用常规 ER符号来表示。 例如,使用 ER/Studio DA 绘制形状,您可以在物理模型中添加对象来表示 Java类型对象。此类对 象最终对数据库设计有很重要的意义。 • 注释:绘制形状注释记录了存在于关系图中的特殊情况。因为绘制形状的注释内容显示在数 据模型窗口,比隐藏在其自身的实体注释或表格注释更易于看见。 • 容器:启用容器的作用是将实体和表格嵌入到绘制形状里,从本质上把表格和实体锁定在绘 制形状里。当移动绘制形状时,实体和表格保持它们在绘制形状里的位置,一起移动。当您 想要隔离实体和表格时,容器是非常有用的,它使被隔离的实体和表格更加明显。同样,您 可以使用容器将共享一定的重要性的对象聚集在一起,这样在移动绘制形状时可以一同移动 这些共享的对象。 1 在绘制形状工具栏,点击想要插入的形状的图标。 2 在数据模型窗口或数据沿袭窗口中,在想要添加形状的地方点击鼠标。 3 双击形状打开 形状编辑器 ,在此例如可以添加文本和改变形状的颜色。 以下描述了需要进一步解释的选项。 使用 ER/STUDIO DATA ARCHITECT > 普通任务 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 131 Shape Text 选项卡 您可以调整文本位置的选择,方法是使用水平调整( Horizontal Justification)和垂直调 整(Vertical Justification)下拉菜单,或者点击相邻网格中的九个方块的其中一个。 当选择了 Fit Shape 选项,形状自动改变大小以适合形状的文本显示。 Wrap Text 选项被 禁用,不能通过拖动对象的轮廓控制点来改变对象大小。 Colors and Fonts 选项卡 您可以在此改变形状类型(如把椭圆形改为长方形)。 Attachment Bindings 选项卡 绑定外部信息或附件到该形状。可从该对象去除附件,覆盖附件绑定默认值,或改变绑定 附件的位置。要覆盖已经移动到 Selected Attachments 网格中的附件值,双击目标附件的 Value 字段。根据附件的具体类型, ER/Studio DA 会打开 Value Override Editor 或列表。附 件创建在数据字典的附件文件夹中。要获得更多信息,请看 附加外部文件到数据模型 。 另请参阅 将数据模型对象锁定在绘制形状中 添加和编辑线条 将数据模型对象锁定在绘制形状中 1 在数据模型窗口 中,将形状放置在想要包括的数据模型对象旁边。 2 点击形状,然后使用控制点改变形状大小,以便能包括想要与形状一起移动的对象。 3 右击形状,选择 Containment > Enable。 注: 您可以右击对象选择 Containment > Disable 来消除容器限制。 添加和编辑线条 您可以使用线条工具在两个实体之间建立可视化连接而不会像在创建关系时一样传递外键。 您也可以使用线条来表明数据沿袭对象之间的连接。 1 在绘制形状工具栏,点击 Line 工具。 2 点击线条起始位置的对象,然后点击线条结束位置的对象。 3 双击线条打开 Line Editor, 然后点击 OK 退出编辑器。 以下对需要另外解释的选项进行了描述。 使用 ER/STUDIO DATA ARCHITECT > 普通任务 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 132 Properties 选项卡 您可以在此改变线条的颜色或粗细,以及端点的显示风格。 • 使用线条编辑器里的动词短语( Verb Phrase)和逆动词短语 ( Inverse Verb Phrase)定义来 定义线条的源对象和目标对象之间的关系。 Attachment Bindings 选项卡 绑定外部信息或附件到该线条。您还可以从线条中删除附件,覆写附件绑定默认值,或改 变绑定附件的位置。要覆盖已经移动到 Selected Attachments 网格中的附件值,双击目标附 件的 Value 字段。根据附件的具体类型, ER/Studio DA 会打开 Value Override Editor 或列表。 附件创建在数据字典的附件文件夹中。要获得更多信息,请看 附加外部文件到数据模型 。 注释 • 右击线条,然后点击 Layout Line, Straighten 或 Format 来编辑线条。 • 右击想要改变的线,然后选择 Format,在线条编辑中改变线条的属性。 • 在选项编辑器的 Display 选项卡中可以打开或关闭动词短语的显示 (Tools > Options)。 • 在 Tools > Options 的 Display 选项卡里的 Line Drawing Mode 区域可以把默认线条类型从肘 形线改为直线。 • 在 Tools > Options 的 Display 选项卡里的 Model Display 区域可以选择是否显示线条的动词 短语。 • 如果您选择了 View > Cursor Help Popup Options > Display Relationship Help,当您把光标 停在线条上时, ER/Studio DA 显示该线条的父名称和子名称。 添加和编辑标题框 标题框提供模型或子模型的重要识别信息,默认情况下包括关系图属性的文件名称及其信息, 例如项目名称、作者名称、公司名称、关系图版本号、版权信息、关系图创建日期和最后更改日 期。您可以改变标题框里许多字段值,而也不影响关系图属性编辑器里的值。 1 点击想要添加标题框的模型或子模型。 2 点击 Insert > Title Block。 3 在数据模型窗口 中,点击想要放置标题框的位置,然后右键单击取消选择 标题框创建器。 4 如果需要可以使用选择工具重新放置标题框。 5 双击标题框启动标题框编辑器,做出想要的改变,然后点击 OK 使改变生效并退出编辑器。 6 如果需要可以对每个模型或子模型重复 1-4 步。 注释 • 在标题框编辑器中的文件名称和子模型或模型名称栏是只读的,正如创建和修改日期。 • 有关关系图属性的信息,请参阅 设置关系图属性 。 使用 ER/STUDIO DATA ARCHITECT > 普通任务 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 133 添加文本框 使用文本框插入有用信息到关系图。您可以在整个关系图的特定位置添加多个文本框,添加关 系图的说明文字,有助于理解关系图的组织结构。 当您不再需要使用关系图中的文本框时,可以删 除该文本框。 1 选择 Insert > Text Block。 2 在数据模型窗口 中,点击想要放置文本框的位置,输入想要显示的文本,然后右键单击取消选 择文本框 创建器。 注释 • 要改变文本框的大小,选择该文本框,抓取一个缩放控制点,拖动到想要的位置。 • 要改变字体属性,右击文本框,然后点击 Colors & Fonts。 改变数据模型布局 ER/Studio DA 提供两种方法改变数据模型的布局: • 自动布局根据预先设定的风格重新绘制数据模型。 • 在布局属性编辑器中,您可以通过设定参数如间隔、封装、平铺和标签约定来进一步自定义预 置的布局风格。 使用自动布局重新绘制数据模型 1 打开数据模型。 2 从对齐工具栏中选择一个自动布局选项。 ER/Studio DA 根据所选的预设风格的规则,在数据模型窗口中重新绘制数据模型。 注释 以下对以上工具栏中显示的自动布局预设风格按照从左到右的顺序进行了描述: • 圆形布局 :通过将数据模型重新布置为一个或多个圆形样式来强调元素组的结构。 此布局将 相关实体组合到实体簇中,每个实体簇按照簇的逻辑互联规则组合到圆形中,其规则是最小 化穿过数据模型中部的线条数量。 • 层次布局 :基于实体之间关系的方向,以层次结构形式组织实体。层次关系图可以显示圆形关 系,此关系路径在同一个实体开始和结束。 注意:层级布局是以一致的方向显示数据流的唯一类型。 • 正交布局 :此布局对内在层级结构不重要,但是关系方向和简便的导航很重要的数据模型有 益。正交布局将数据模型重新布置为仅使用水平线和垂直线的路线的方形线、长方形样式。 正 交布局的交叉点很少,允许具有大量事件关系的实体的最小延伸。 此布局的关系图在实体之 间或实体与非事件关系之间绝不存在重叠。 使用 ER/STUDIO DATA ARCHITECT > 普通任务 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 134 • 对称布局 :此布局提供了以单个实体为中心围绕的对称样式,在此布局中周围的实体移至关系 图边缘。 对称布局自然地显露出环型和星型关系图,生成清晰的数据模型关系图,这些关系图 突出了许多数据模型的自然对称性。对称布局生成同构图表(具有相同结构的图表)的相同 数据模型,均匀分布实体,创建较少交叉关系的关系图。 • 树形布局 :使用树形布局,用于包含唯一前任关系的数据模型。 树形布局将关系图重新布置为 具有父实体和子实体的树形样式,产生的数据模型中包括 1 个根实体,而从根实体到任何其他 实体间只有一条路径。 树形布局可以有分支和兄弟结点,其中父结点到子结点的关系是必须 有的。 • 全局布局 :根据所选目标数据模型的风格重新布置数据模型。 • Incremental Layout:根据所选目标数据模型的风格重新布置数据模型,而不影响之前应用于 已存在的对象的风格。 另请参阅 自定义布局 使用用户自定义映射关联类似对象 创建用户自定义映射,将逻辑实体与物理表格相联系。 UDM (User-Defined Mappings,用 户自定义映射)可以将相同类型的任何对象相联系。创建 UDM 之后,您可以在实体编辑器或表格 编辑器的用户自定义映射( User Defined Mappings)选项卡里看见用树形 / 结点图表示的映射。 UDM 用途之一是用于反向构建正常显示在 Where Used 选项卡里的关系。 例如,必须频繁地导入老版本的物理模型并添加到成熟的逻辑模型中(使用添加新物理模型 向导:从主菜单中,选择 Model > Add New Physical Model)。您必须将两个模型建立关系,使 用用户自定义映射创建和记录此关系。 导入的物理模型的逆规范化信息可能不可获取。因此, ER/Studio DA 在 Where Used 选项卡 中不显示逆规范化映射信息。 UDM 系统允许构建无限制的映射。您可以右击列出的任何模型,选 择相关对象,映射属性到列中和映射实体到表格中。 使用 ER/STUDIO DATA ARCHITECT > 普通任务 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 135 创建和编辑用户自定义映射 1 在数据模型浏览器 或数据模型窗口 中, 右击想要与其他实体或表格相关联的实体或表格。 2 点击 Edit User-Defined Mappings。 3 选择要映射到所选实体或表格的对象。 以下描述了需要进一步解释的选项。 Definition 选项卡 输入或编辑用户自定义映射的定义。如果目标数据库支持定义,生成 SQL 代码时, ER/Studio DA 添加该定义作为表格评论。 Attachment Bindings 选项卡 绑定外部信息或附件到用户自定义映射。可从该对象去除附件,覆盖附件绑定默认值,或 改变绑定附件的位置。要覆盖已经移动到 Selected Attachments 网格中的附件值,双击目标 附件的 Value 字段。根据附件的具体类型, ER/Studio DA 会打开 Value Override Editor 或列 表。附件创建在数据字典的附件文件夹中。要获得更多信息,请看 附加外部文件到数据模型 。 注释 • 您可以将实体映射到不同物理模型中的表格。 • 当您创建了用户自定义映射,要查看此映射,可以打开表格编辑器或实体编辑器,然后选择用 户自定义映射( User-Defined Mappings)选项卡。 • 您也可以在表格编辑器或实体编辑器的用户自定义映射( User-Defined Mappings)选项卡里 编辑映射,方法是右击想要编辑的模型,点击 Edit 选项。当编辑用户自定义映射时,您还可 以编辑定义和绑定到用户定义映射的附件。 使用检查约束实施数据完整性 当数据输入时,检查约束评估数据,仅当检查评估值为真时输入才允许。 当创建物理模型时, 将使用输入的用于实体的约束,并在表格 DDL 中可以看见。 1 双击想要创建检查约束的实体或表格。 2 在实体或表格编辑器的 Rule/Constraints 选项卡里命名约束,然后在文本框里输入约束。 该约束以下述格式添加到表格 DDL 的 CREATE TABLE 语句中: CONSTRAINT (constraint_name) CHECK (constraint_text) 其中 constraint_name 是约束名称。 constraint_text 是输入到文本框里的文本。 注: 约束创建在数据字典的规则文件夹里。要获得更多信息,请看 通过规则增强数据完整性 。 使用 ER/STUDIO DATA ARCHITECT > 开发逻辑模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 136 开发逻辑模型 在开发物理模型之前开发逻辑模型。用于满足系统开发的业务和功能需求。在逻辑设计中您可 以确定创建数据库之前需要保存在数据库中的数据的组织,可以把逻辑设计作为蓝图看待。 要尽可能设计最有效的数据模型,在开发物理设计之前应致力于逻辑设计。 逻辑和物理设计 过程很复杂,因此最好是将它们分开而不是混在一起设计。良好的逻辑设计应该通过清晰地定义数 据结构和它们之间的关系来简化物理设计过程。 除了创建数据库,数据模型对其他方面非常有用,尽管创建数据库是其主要的目的。系统开发 的目标是创建有效的数据库应用程序,支持企业的某些或所有业务。 但是,业务的数据模型有助于 您定义可能忽略的业务运作方面。另外,定义良好的数据模型能正确地反映业务,有助于雇员熟悉 目标和运作。数据模型也可以作为内部和外部要素的宝贵的交流工具。 要了解更多信息,请参阅以下主题: • 逻辑设计概念 • 创建和编辑实体 • 创建和编辑属性和列 • 创建和编辑键 • 操作关系 • 验证模型 • 创建和编辑数据库用户 • 创建和编辑数据库角色 • 验证模型 • 创建、编辑 SQL 程序 • 自定义数据类型映射 逻辑设计概念 为了避免软件缺陷、重写代码,以及避免在某些情况下可能导致的整个项目的失败,必须确保 发现了所有严重的设计问题,并且这些问题都能得到解决。为了能够利用数据建模的优点,您必须 遵循要求更完善的设计周期的某种设计规则,以便得到更高效的开发周期。良好的设计可简化开发 过程和改善数据模型的质量,最终改善数据库的性能。 因为参与数据建模的人员大多数为数据库管理员或开发人员,所以人们往往把数据建模直接 当作数据库设计看待。即使您最终将数据建模当作数据库设计来实施,你也必须反复检查业务和业 务管理规则的基本假设。在设计阶段应把注意力放在业务问题,而非技术细节上。在开发逻辑模型 过程中,您可能会发现一种更为简单的方法来进行更好地容纳容量增长和变化的数据库设计。 下面的话题提供了逻辑设计流程的指导原则,应该有助于取得更好的效果: • 对象命名规则 介绍了在逻辑设计中如何更好地命名实体和属性。 • 为逻辑设计进行注释 介绍了为实体、属性和关系提供定义的重要性。 • 规范化 简要介绍了在把逻辑设计转化为物理设计之前对逻辑设计进行规范化处理的重要性。 使用 ER/STUDIO DATA ARCHITECT > 开发逻辑模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 137 对象命名规则 命名实体和属性需要非常注意。在实施该系统之后,您为实体属性所赋予的名称将长期不变。 不应该为了简洁而牺牲清晰性。对象的名称应该具备描述性,但是也要有足够的概括型,以便能代 表其所有成员。应该遵循几个命名规则,以保证设计尽可能清楚。考虑以下命名规则: • 单数形式 :实体和属性名称应该是单数形式(比如应该是 Customer, 而非 Customers),尽 管对象可有多个成员。 • 名称长度 :IDEF1X 命名系统允许名称的长度最多为 65 个字符,多于适当命名所需要的字符 数。但是大多数数据库支持最大表格和列名长度仅为 18 或 30 个字符。虽然系统允许您输入更 长的名称,但验证逻辑或实体模型功能在生成 DDL 之前会检查长度违例情况。 • 大小写 :命名对象时,可选大写、小写或大小写混合。也许人们最容易阅读和理解的形式是大 小写混合,即每个单词的首字母都大写(比如 CutstomerAddress)。 为逻辑设计进行注释 为确保别人能够理解您的设计思路,您应该为您的逻辑设计中的实体、关系和属性的意思进行 注释。拥有完善注释的数据模型更容易维护,而且有可能在组织中发挥更大的作用。 为逻辑模型中每个实体提供定义,即使其意义看来很明显。有时,这样做还地发现设计中的不 完整或逻辑上的不连贯。除了定义实体之外,您还应该定义逻辑设计所有的属性。对于需要从基本 的概念来理解逻辑设计的数据库开发人员和管理员来说,详细的文档注释有着不可估量的价值。 除了设计实体和属性,您还应该定义逻辑模型中的关系。因为关系是用于实施业务规则的,对 其含义进行注释尤为重要。可以使用动词词组、名称和定义来为关系提供注释。动词短语明确了控 制两个实体互动的业务规则,而名称和定义能提供关系的多余细节。 规范化 规范化有助于消除冗余,使逻辑设计一目了然。规范化的数据库设计是组织良好的,甚至是完 美的。在将逻辑设计转化为物理设计时,完成对逻辑设计的规范化处理非常重要;这样做可以在实 际的数据库上进行高效的物理设计。 规范化是将数据分成多个相关表格的过程。规范化的数据库设计的特点是其中有多个实体,而 每个实体具有相对少的属性;非规范化设计的特点是其中只有很少的实体,而每个实体却具有很 多的属性。规范化逻辑设计有助于消除模型中的某些类型的冗余和不完整。 规范化处理的一个必要的步骤是将某组重复数据从一个实体移动到另一个实体,然后在两者 之间创建关系。比如,考虑为某大学开发用于存储校友信息的数据模型。使用一个实体就可以保存 校友的信息,如姓名、获得学位和毕业年份。如果有位校友获得过不止一个学位,那么学位信息就 是一组重复的数据。在规范化过程中,学位信息从最初的实体中移除,放置在另一个实体中。接下 来,在第一个实体和新实体之间创建一个关系,这样这两个实体的信息就互相关联起来了。 使用 ER/STUDIO DATA ARCHITECT > 开发逻辑模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 138 设计逻辑数据模型时,数据建模者应该懂得规范化处理的规则(或格式) ,以便能设计出好的 数据模型。 以下定义了一些规范化格式(范式) : • 去除重复的数据组 (1NF):每一组相关联的属性都拥有单独的表格,每个表格都有一个主键。 • 去除冗余数据 (2NF):将仅依赖于多值键的一部分的属性转移到单独的表格中。 • 去除不依赖键的列 (3NF):将对键描述没有帮助的属性转移到单独的表格中。 • BCNF.Boyce-Codd 范式 (BCNF):将候选键之间的非平凡的依赖分散到不同的表格中。 • 分离独立多关系 (4NF):没有任何一个表格包含两个或以上的 1:n 关系,或包含非直接关联的 n:m 关系。 • 分离语义相关多关系 (5NF):可能存在信息的现实约束,证明可以分成逻辑相关的多 - 对 - 多 关系。 • 分离语义相关多关系 (ONF):模型中只能有简单(元素级的)事实数据,正如对象角色模型 表示系统中阐明的。 • 域 - 键范式 (DKNF):模型中不存在修改异常。 注: 所有范式都是递增式的,即如果模型满足第 3 范式,那么模型同时也满足第二和第一 范式。 使用 ER/STUDIO DATA ARCHITECT > 开发逻辑模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 139 创建和编辑实体和表格 实体是逻辑模型对象,代表实际对象,如与企业相关的人员、地点或事物。实体存储用户能查 询或修改的特定对象的数据。在逻辑模型的物理实施过程中,实体变为表格,是任何数据库的核心 部分。 表格是物理数据模型的基本单元。 ER/Studio DA 可以很方便地把数据库转变成物理模型,用 于在 SQL 数据库平台部署。可以通过以下方式在数据模型中加入表格: 1)导入或反向工程现有的 数据库; 2)从逻辑模型中生成新的物理模型,或根据需要添加单独的表格。可以使用表格编辑器 在任何时候改变表格。您可以使用 Column Editor 和 Index Editor 分别编辑表格列和索引。 注: 编辑完一个实体或表格后,您可以点击 Entity Editor 或 Table Editor 的上左角落的省 略,以移动到另一个实体或表格。 因为实体和表格密切相关,两者的编辑器里的可用选项有很多都是相同的。 本节包括以下主题: • 创建和编辑实体 • 创建和编辑表格 • 创建和编辑属性和列 创建和编辑实体 实体是数据模型的起点属性代表了与实体相关的性质或特征。从根据上说,实体是属性的集 合,所以建议您在在考虑实体中的属性之前,必须先明确每个实体的范围和作用。一旦仔细思考了 实体的作用,实体中属性应该是显而易见的。 超类型和子类型是实体关系建模中的一个更为高级的主题。要获得更多信息,请看 创建子类型 聚簇关系 。 实体在 ER/Studio DA 的数据模型窗口中表示为方框。在默认显示模式中,实体的名称出现在 实体框上,实体的主键和非键属性显示在方框里面,由一条线段分隔开。 使用 ER/STUDIO DATA ARCHITECT > 开发逻辑模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 140 ER/Studio DA 中表示实体的方框具有方形或圆形角。具有方角的实体框是独立的实体,具有 圆角的实体框是依赖于其他实体的实体。在 IDEF1X 表示法中,实体在成为任何识别关系中的子实 体时就成为了依赖实体。基于这个简单的规则, ER/Stuido DA 可以自动维护实体类型。实体在被 创建之时是独立实体,因为开始时没有连接的关系。实体一直保持独立实体,直到其成为某个识别 关系的子实体。 1 要创建新实体 ,在数据模型浏览器中 ,展开逻辑主模型,右键点击 实体节点,然后点击 新实体 。 要定义或编辑实体明细 ,双击该实体打开 实体编辑器 。 2 按要求定义实体,然后点击 确定按钮。 以下描述了需要进一步解释的选项: Logical Only:选择该项,则在生成物理模型时,实体不会被转化为表格,并且在比较逻 辑模型与物理模型时也会忽略实体。 Attributes/Columns 选项卡 添加、编辑或删除属性 / 列。您也可以改变属性 / 列在列表中的顺序,软件自动更新属性 / 列在实体 / 表格中的相应的位置。您还可以把某个属性 / 列添加为实体 / 表格的主键。属性 / 列 标签下端的选项卡只适用于选定的属性 / 列。要获得更多信息,请看 创建和编辑属性和列 。 Keys 选项卡 添加、编辑或删除候选键和反转项。提供对 Key Editor 的访问。要获得更多信息,请看 创建和编辑键 。 Relationships 选项卡 查看任何存在于当前实体 / 表格和其它实体 / 表格之间的关系。关系信息包括关系类型和 外键。在该选项卡中,可以双击相关联的实体 / 表格,以打开实体 / 表格的实体 / 表格编辑器。 要获得更多信息,请看 创建和编辑关系 。 Definition 选项卡 输入或编辑对实体 / 表格的定义。如果目标数据库支持实体定义功能,在生成 SQL 代码 时, ER/Studio DA 会将实体的定义添为为实体的注释。 使用 ER/STUDIO DATA ARCHITECT > 开发逻辑模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 141 Note 选项卡 在生成模型报告的时候,添加的备注将作为 HTML 报告的一部分。您可以使用标准的 HTML 标记将备注格式化。 Where Used 选项卡 显示哪个逻辑和实体模型和子模型使用了当实体 / 表格。 User-Defined Mappings 选项卡 显示用于当前实体 / 表格的现有的用户定义映射 (UDM)。UDM 将概念上相关的数据联系 在一起,但这些数据对具体的业务关系不是必需的。在比较数据模型或生成 SQL 时,不使用 UDM。使用用户定义映射创建的实体之间的关系由 Note 选项卡描述。要获得更多信息,请看 使用用户自定义映射关联类似对象 。 Constraints 选项卡 添加、改变或删除约束。使用检查约束确保数据库中数据的有效性,提供数据完整性。要 获得更多信息,请看 使用检查约束实施数据完整性 。 Dependencies 选项卡 显示使用当前实体 / 表格中的属性 / 列的视图。要获得更多关于视图的信息,请看 创建和 编辑数据库视图 。 Permissions 选项卡 设置当前实体 / 表格的访问角色和用户权限。注意,所设置的权限越多,维护和更新这些 权限花费的时间也越多。角色和用户必须事先设定出现在 Entity/Table Editor 中。要获得更多 信息,请看 创建和编辑数据库角色 和创建和编辑数据库用户 。要获得更多信息,请看 赋予和取 消权限以改变数据库对象 。 • Column Permissions:设置属性 / 列的访问角色和用户权限。注意,所设置的权限越多,维 护和更新这些权限花费的时间也越多。 Naming Standards 选项卡 控制用于修改相关条目的用户和对象权限。命名标准模板绑定到对象时,则以后编辑此对 象使用的模型即为所绑定的模模板而非在 Naming Standards Utility 或 Generate Physical Model utility 中的 Naming Standards Template。当模型各个部分要求标准的不同版本时,此 功能允许您将不同的命名标准应用于不同对象。比如,您不想在将新的命名标准应用于有些已 经存在于数据库中的对象。要获得更多信息,请看 用数据安全类型和属性保证安全 。 Data Lineage 选项卡 在模型中从源实体和属性或表格和列映射数据流到目标实体和属性或表格和列。实体编 辑器和表格编辑器中都拥有 Data Lineage 选项卡。您可以在属性一级为源 / 目标属性映射添 加转换逻辑。如果当前实体绑定了一条数据迁移规则,您可以在该选项卡里双击包含数据迁移 规则的行,然后在 Value Override Editor 内输入新值,这样可以覆盖已绑定的值。要获得更多 信息,请看 数据沿袭流程 。 使用 ER/STUDIO DATA ARCHITECT > 开发逻辑模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 142 Security Information 选项卡 显示在数据字典中定义的当前安全信息。您可以双击想要改变的字段,添加或编辑安全报 告信息。要设置该属性的模型范围内的默认值,进入 Data Dictionary 选项卡,展开 Data Security Information 节点,然后进行编辑。要获得更多信息,请看 用数据安全类型和属性保 证安全 。 Attachment Bindings 选项卡 将外部信息或附件绑定到实体。可从该对象去除附件,覆盖附件绑定默认值,或改变绑定 附件的位置。要覆盖已经移动到 Selected Attachments 网格中的附件值,双击目标附件的 Value 字段。根据附件的具体类型, ER/Studio DA 会打开 Value Override Editor 或列表。在 该选项卡中显示的附件必须事先在数据字典中创建好,并且必须已经应用于当前实体。要获得 更多信息,请看 附加外部文件到数据模型 。 注释 • 创建实体时,实体自动作为独立实体显示为带方角的方框。在绘制将实体与其它实体关联的关 系时, ER/Studio DA 自动将其状态维护为独立实体或依赖实体。 • 可以使用即时编辑功能在添加实体时对其命名。可以在添加实体到关系图时,立刻输入实体 名,或者按住 SHIFT 键,点击默认实体名,使实体名称字段处于可编辑状态,然后输入名称。 点击关系图背景,保持名称和取消屏幕编辑。要获得关于实体命名规则和约定的信息,请看 最 佳实践 。 • 应用程序窗口的右下角的状态条显示了选定模型中的实体数量。 • 您可以指定命名规则,如最大长度、大小写和 Options Editor 的 Logical and Name Handling 选项上的实体和表格之间的同步级别。您可通过选择 Tools > Options > Logical 打开 Options Editor。 • 可以在 Options Editor 的 Display 选项上为实体设置属性和主键的顺。您可通过选择 Tools > Options > Logical 打开 Options Editor。 • 您可以自定义鼠标置于实体之上时显示的信息。方法是展开 View > Cursor Popup Help Options > Entity Help,在子菜单的列表中选中一个选项。 • 缺省状态下, ER/Studio DA 自动将根据实体和视图的大小显示所有选择的内容。不过,您可 以通过选择实体,然后拖动尺寸控制点,改变任何实体的大小。您可以对实体的显示方式进行 全局改更,方法是右击模型,然后选择 Diagram and Object Display Options。然后可以根据 需要选择 Diagram and Object Display Options 编辑器的实体和视图标签里的显示选项。 • 为了获取在 Data Model Window 安排的实体信息,请看 改变数据模型布局 。 • 要获取改变实体颜色的信息,请看 覆盖特定对象的颜色和字体设置 。 使用 ER/STUDIO DATA ARCHITECT > 开发逻辑模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 143 创建和编辑表格 表格是物理数据模型的基本单元。 ER/Studio DA 可以很方便地把数据库转变成物理模型,用 于在 SQL 数据库平台部署。可以通过以下方式在数据模型中加入表格: 1)导入或反向工程现有的 数据库; 2)从逻辑模型中生成新的物理模型,或根据需要添加单独的表格。可以使用表格编辑器 在任何时候改变表格。您可以使用 Column Editor 和 Index Editor 分别编辑表格列和索引。 ER/Studio DA 允许您根据需要在物理模型中添加任意数量的表格。添加表格到关系图中时, 数据模型资源管理器中创建了带有方角的独立表格。您可以根据需要在表格之间创建关系,还可以 创建视图。在绘制关联当前表格与其他表格的关系和外键时, ER/Studio DA 自动将表格状态维护 为为独立表格或依赖表格(子表格) 。 创建表格 1 在 Data Model Explorer 中,展开物理模型或子模型。 2 从 Data Modeling 工具栏中,点击 Table 工具,将光标放置于 数据模型窗口 内的任意位置 , 然后左键点击。 提示 : 右键点击回到 Selection 工具。 3 要定义表格的细节,双击该表格启动 Table Editor。 4 根据需要定义表格,然后点击 OK 按钮。 以下描述了需要进一步解释的选项。 Columns 选项卡 添加、编辑或删除列。您也可以改变在列表中的列的顺序,同时也改变了实体表格的相应 的列的位置。您还可以把某个列添加为表格的主键。在 Columns 选项卡底部的选项卡只应用 于选定的列,与实体编辑器中的属性标签可用的选项卡相同。要获得更多信息,请看 创建和编 辑列。 Dimensional 选项卡 该选项卡只用于维度模型。该选项卡允许您设定表格的维度类型和数据类型。 • Override Automatic Designation 如果选定此项,自动表格类型识别过程在相关表格中运 行时,不会改变相关表格的类型。 • Run Automatic Table Type Identification 如果选定此项, 如您更改了 Dimensional Model Table Type 的值,然后点击 OK 关闭 Table Editor 后, ER/Studio DA 会 自动改变相关的其 他表格的类型,以反映其改变,其中使用的判断逻辑与从逻辑模型中创建新的维度模型时的 逻辑是一样的。例如,将表格类型从编辑表变为事实表,其父表的类型就会从雪花表变为维 度表。 DDL 选项卡 显示用于创建该表格的 DDL。在此显示的 DDL 包含了用来生成在 Table Editor 各选项卡 中定义的表格及其属性的代码。您可以自由编辑 DDL 的代码。您可以自定义 DDL,使其看起 来只包括您想要的选项。要获得更多信息,请看 Customizing Table DDL。 使用 ER/STUDIO DATA ARCHITECT > 开发逻辑模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 144 Indexes 选项卡 添加、编辑或删除索引。可以从这里访问 Index Editor。要获得更多信息,请看 创建、编 辑索引 。 Foreign Keys 选项卡 查看任何存在于模型内的选定表格和其它表格之间的关系。与关系相关的信息包括关系 类型和外键。要获得更多信息,请看 创建和编辑键 。 Definition 选项卡 为表格输入或编辑定义。如果目标数据库支持定义,生成 SQL 代码时, ER/Studio DA 添 加该定义作为表格评论。 Note 选项卡 在生成模型报告的时候,添加的备注将作为 HTML 报告的一部分。您可以使用标准的 HTML 标记将备注格式化。 Where Used 选项卡 显示哪个逻辑和实体模型和子模型使用了当前表格。 User-Defined Mappings 选项卡 显示用于当前表格的用户定义映射 (UDM)。UDM 将概念上相关的数据联系在一起,但这 些数据对具体的业务关系不是必需的。在比较数据模型或生成 SQL 时,不使用 UDM。使用用 户定义映射创建的实体之间的关系由 Note 选项卡描述。要获得更多信息,请看 使用用户自定 义映射关联类似对象 。 Storage 选项卡 允许您根据选定的数据库平台的设置各种存储选项。要获得更多信息,请看 定义表存储 。 Properties 选项卡 选定想要的表格类型储存引擎。该选项卡只用于 MySQL。 • 堆阵:也称为内存提供内存内的表格。处理非业务类型的表格。 • INNODB:提供业务安全表格。 • MYISAM:管理非业务表格。提供高速存储和检索以及全文本搜索功能。 Distribute/Partition Columns 选项卡 允许您根据选定的数据库的设置分割选项。要获得更多信息,请看 为 IBM DB2 for LUW 9.x 分布列 和 IBM DB2 for LUW 5.x、 6.x、 7.x 及 8.x 表分区列 。 Partitions 选项卡 允许您选择要包含在分割集中的中,还可以重新排列该分割集中的列。提供对 Partitions Editor 的访问。要获得更多信息,请看 将表分区 。 使用 ER/STUDIO DATA ARCHITECT > 开发逻辑模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 145 Overflow 选项卡 允许您指定如何存储由于更新而导致初始存储页无法存储的所谓 “ 溢出记录 ”。要获得 更 多信息,请看 Define Table Overflow Options。 Constraints 选项卡 添加、改变或删除约束。检查约束确保数据库中数据的有效性,提供数据完整性。要获得 更多信息,请看 使用检查约束实施数据完整性 。 Dependencies 选项卡 添加、修改或删除绑定到该表格的触发器、函数和过程依赖。将数据装载到该表格之前, 必须满足这些依赖。依赖项是指 SQL 脚本,如函数,触发器和例程。 该选项卡显示使用当前 实体 / 表格的属性 / 列的视图。要获得关于视图的信息,请看 创建和编辑数据库视图 。要获得 关于其他依赖的更多信息,请看 创建、编辑函数 ,创建、编辑触发器 和创建、编辑程序 。 Capacity Panning 选项卡 该选项卡协助您于制定数据库增长所需的空间使用计划。要获得更多信息,请看 规划、预 测数据库增长 。 Permissions 选项卡 设置当前表格的访问角色和用户权限。注意,所设置的权限越多,维护和更新这些权限花 费的时间也越多。角色和用户必须事先设定出现在 View Editor 中。要获得更多信息,请看 创 建和编辑数据库角色 和创建和编辑数据库用户 。 PreSQL & PostSQL 选项卡 允许您在输入要在 CREATE OBJECT 之前或之后应用的 SQL 代码。这里输入的 PreSQL 和 PostSQL 脚本包含在产生实体数据库时的脚本中。 Naming Standards 选项卡 控制用于修改相关条目的用户和对象权限。命名标准模板绑定到对象时,则以后编辑此对 象使用的模型即为所绑定的模模板而非在 Naming Standards Utility 或 Generate Physical Model utility 中的 Naming Standards Template。当模型各个部分要求标准的不同版本时,此 功能允许您将不同的命名标准应用于不同对象。比如,您不想在将新的命名标准应用于有些已 经存在于数据库中的对象。要获得更多信息,请看 通过命名标准模板执行命名标准 。 Compare Options 选项卡 选择您想要 Compare and Merge Utility 忽略的差异。 Data Lineage 选项卡 在模型中从源表格和列映射数据流到目标表格和列。实体编辑器和表格编辑器中都拥有 Data Lineage 选项卡。您可以在列一级为源 / 目标的列映射添加转换逻辑。如果当前实体绑定 了一条数据迁移规则,您可以在该选项卡里双击包含数据迁移规则的行,然后在 Value Override Editor 内输入新值, 这样可以覆盖已绑定的值。 要获得更多信息, 请看数据沿袭流程 。 使用 ER/STUDIO DATA ARCHITECT > 开发逻辑模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 146 Security Information 选项卡 显示在数据字典中定义的当前安全信息。您可以双击想要改变的字段,添加或编辑安全报 告信息。要设置该属性的模型范围内的默认值,进入 Data Dictionary 选项卡,展开 Data Security Information 节点,然后进行编辑。要获得更多信息,请看 用数据安全类型和属性保 证安全 。 Attachment Bindings 选项卡 将外部信息或附件绑定到表格。可从该对象去除附件,覆盖附件绑定默认值,或改变绑定 附件的位置。要覆盖已经移动到 Selected Attachments 网格中的附件值,双击目标附件的 Value 字段。根据附件的具体类型, ER/Studio DA 会打开 Value Override Editor 或列表。在 该选项卡中显示的附件必须事先在数据字典中创建好,并且必须已经应用于当前表格。要获得 更多信息,请看 附加外部文件到数据模型 。 注释 • 新建表格自动显示为独立表格,用带有方角的方框表示。在绘制将表格与其它表格和关联的关 系时, ER/Studio DA 自动将其状态维护为独立表格或依赖表格。 • 可以使用即时编辑功能在添加表格时对其命名。可以在添加表格到关系图后,立刻输入表格名, 或者按住 SHIFT 键,点击默认表格名,使表格名称字段处于可编辑状态,然后输入名称。点击 关系图背景,保持名称和取消屏幕编辑。要获得表格命名规则和约定的信息,请看 最佳实践。 • 应用程序窗口的右下角的状态条显示了选定模型中的实体数量。 • 您可以指定命名规则,如最大长度、大小写和 Options Editor 的 Logical and Name Handling 选项上的实体和表格之间的同步级别。您可通过选择 Tools > Options > Logical 打开 Options Editor。 • 可以在 Options Editor 的 Display 选项上为实体设置属性和主键的顺。您可通过选择 Tools > Options > Logical 打开 Options Editor。 • 您可以自定义鼠标置于实体之上时显示的信息。方法是展开 View > Cursor Popup Help Options > Entity Help,在子菜单的列表中选中一个选项。 • 缺省状态下, ER/Studio DA 自动将根据实体和视图的大小显示所有选择的内容。不过,您可 以通过选择实体,然后拖动尺寸控制点,改变任何实体的大小。您可以对实体的显示方式进行 全局改更,方法是右击模型,然后选择 Diagram and Object Display Options。然后可以根据 需要选择 Diagram and Object Display Options 编辑器的实体和视图标签里的显示选项。 • 要获取关于如何在数据模型窗口中组织表格的信息,请看 改变数据模型布局 。 • 要获取关于如何改变表格颜色的信息,请看 覆盖特定对象的颜色和字体设置 。 使用 ER/STUDIO DATA ARCHITECT > 开发逻辑模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 147 创建和编辑属性和列 属性代表实体的性质或特性。在物理模型中,属性以表格列表示。 本节包括以下主题: • 创建和编辑属性 • 创建和编辑列 创建和编辑属性 有两种类型的属性 • 识别列 :有助识别实体例子,因为其是实体主键的部分或全部。 • 描述列 :非键属性根据规范化规则,如果属性不是主键的组成部分,然后其唯一作用是描述每 个实体实例。 属性定义与关系一起确定或实施业务规则。您可以为任何实体的任何属性定义一组特定的有 效值。例如,针对雇员的一个子集,可以为名为 “Salary” 的属性定义薪水的有效范围。这组值称 为域。要获得更多信息,请看 使用用户数据类型保证域名定义一致 。 如果仔细定义了实体,定义其中的属性应该相对直接。第一次将属性添加到实体时,要确保属 性命名恰当。属性可以是来源于实体自身,也可以通过识别关系或非识别关系继承自实体。为提高 一致性, ER/Studio DA 只允许您编辑实体自身属性的性质。为了改变子实体的外键的性质,您必 须编辑父实体的属性。要获得属性命名规则和常规的信息,请看 最佳实践。 1 在 Data Model Explorer 中,展开 Logical Main Model,右键单击 Entities 节点,然后选择 您想要添加属性的实体。 2 在 Entity Editor 的 Attributes 选项卡中,点击 Add 按钮。 3 按要求定义属性,然后点击 OK。 以下描述了需要进一步解释的选项。 • Domain Name:列出所有已定义的域。您可以将任何可用域绑定到该属性。要改变域名,您 必须首先选定 Datatype 选项卡上的 Override Bound Data。 • Create Domain:允许让您创建自动添加到 Data Dictionary 的新域。输入新域名,然后选择 Create Domain。点击 OK 保存更改后,在 Data Dictionary 中就创建了新域。 • Default Attribute Name:列名默认为属性名。如果您想要不同的列名,在文本框中输入新 的名称。 ER/Studio DA 在生成物理模型时使用这个名称。 • Logical Rolename:在逻辑模型中有重叠外键,并且未选中 Synchronize Column Rolename with Logical Rolename 时,该选项才有效。在子属性的名称不同于父属性的名称时,使用其 选项。在逻辑模型中, ER/Studio DA 区分逻辑角色名和列角色名。 ER/Studio DA 在生成物理 模型时使用列角色名称。 使用 ER/STUDIO DATA ARCHITECT > 开发逻辑模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 148 • Hide Key Attribute:若选择该选项,隐藏子实体中的键。通常用于迁移部分主键列,而不希 望将主键中的所有列迁移到子表格。 ER/Studio DA 不会生成外键,因为大多数数据库系统要 求外键具有的列数量与子表的一样。 选择此顶后,当前列就会从子表中删除,这样该列就不会 出现在沿外键链上的任何子表中,也不会出现在生成的 DDL 脚本或与数据库的比较结果中。 在编辑子表格时,该选项会显示为不可用,但您可以将其改变为可用。 • Logical Only:选择该项,则在生成物理模型时,实体不会被转化为表格,并且在比较逻辑模 型与物理模型时也会忽略实体。 • Synchronize Column Rolename with Logical Rolename:适用于所选择的属性是外键。该 选项影响实体或表格编辑器的名称改变,屏幕名称编辑和数据模型资源管理器中对名称的改 变。此选项允许您将外部属性或列的角色名称改变为与同一实体或表格的其它属性或列的相 同。在用户结束编辑时,所有的重复会变成一致。 • Add to Primary Key?:选定时,添加选定属性到主键(主键的作用是启动更快数据检索对实 体进行索引) 。 • Edit Foreign Key Datatype:选定用于子对象时,您可以编辑外键的数据类型的值。选定该 选项时,在当前关系的父实体中所做的更改不会传递到子实体中,除非您取消选择该选项。该 选项保护子实体中的外键不被覆盖。 Datatype 选项卡 • Override Bound Data:覆盖基于某种属性定义系统的数据类型(支持的类型: SQL Server, Sybase,用于 LUW 的 IBM DB2 和用于 OS/390 的 IBM DB2)。在维护针对同一个域的绑定 时,用于处理任何意外情况。例如,有一个 VARCHAR 域使用在两个独立的 DBMS 平台上。 字符域主要使用在 Oracle 平台上。您将其指定为 VARCHAR 类型 (其为 Oracle 中的 VARCHAR2)。使用该选项,您可以建立 DB2 模型,该模型把 VARCHAR 类型实现为 CHAR 类型。您可以自定义域的实现逻辑以便适应特定的数据库平台,而不会失去 DB2 列和域之间 的绑定。 • Identity Properties:对于其值不能为 NULL,且可以支持标识性质的数字型数据类型,您可 以设定其为标识属性,方法是选中 Identity Column 选项,并指定种子值和递增值。种子值和 递增值是用于自动生成表格中每行的序列号,以种子值为开头,以递增值指明的量递增。默认 的种子值和递增值是 1,但是可以改变。 Default 选项卡 如实体的属性尚示绑定默认值(可以通过 Data Dictionary > Defaults > Edit Default Definition > Binding Information 查看) ,您可输入 Declarative Default 值或选择 Override Bound Data,然后从 Default Binding 列表中选择另一个值。在您从实体模型中选择生成数据 库时,声明默认值会出现在生成的 SQL 代码中。如果默认值属性已经事先绑定到该实体,您 可以从该 Default Binding 列表选择另一个默认值,覆盖之前的默认值。要获得更多信请看 操 作数据字典 。如果选定的属性是实体的主键,您可以将该选项设置为 Propagate Default to Child Keys。 使用 ER/STUDIO DATA ARCHITECT > 开发逻辑模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 149 Rule/Constraint 选项卡 该选项允许您从数据字典选择规则绑定,或手动输入规则绑定。声明框中的文档会原样插 入到生成的物理模型 DDL 中。添加、改变或删除约束。使用检查约束确保数据库中数据的有 效性,提供数据完整性。要获得更多信息,请看 使用检查约束实施数据完整性 。如果信息显示 成灰色(只读),是因为正在使用域,定义、数据类型、规则、限制或默认是从该域继承来的。 Definition 选项卡 为属性输入或编辑定义。如果目标数据库支持实体定义功能,在生成 SQL 代码时, ER/Studio DA 会将属性的定义添加为属性的注释。 Notes 选项卡 在生成模型报告的时候,添加的备注将作为 HTML 报告的一部分。您可以使用标准的 HTML 标记将备注格式化。 Where Used 选项卡 显示哪个逻辑和实体模型和子模型使用了当前属性。 User-Defined Mappings 选项卡 显示用于当前属性的用户定义映射 (UDM)。UDM 将概念上相关的数据联系在一起,但这 些数据对具体的业务关系不是必需的。在比较数据模型或生成 SQL 时,不使用 UDM。使用用 户定义映射创建的实体之间的关系由 Notes 项卡描述。要获得更多信息,请看 使用用户自定 义映射关联类似对象 。 Reference Values 选项卡 要获得此选项卡的,请看 使用参照值定义有效的属性数据 。 Naming Standards 选项卡 控制用于修改当前属性的用户和对象权限。命名标准模板绑定到对象时,则以后编辑此对 象使用的模型即为所绑定的模模板而非在 Naming Standards Utility 或 Generate Physical Model utility 中的 Naming Standards Template。当模型各个部分要求标准的不同版本时,此 功能允许您将不同的命名标准应用于不同对象。比如,您不想在将新的命名标准应用于有些已 经存在于数据库中的对象。要获得更多信息,请看 通过命名标准模板执行命名标准 。 Compare Options 选项卡 允许您设置使用 Compare and Merge Utility 比较当前属性和另一个属性时,该属性的哪 些性质可以忽略。 Data Lineage 选项卡 将规则从模型中的源实体和属性映射到目标实体和属性。您可以在属性一级为源 / 目标属 性映射添加转换逻辑。您可以将多个源 / 目标映射到物理模型中的一个属性。 Security Information 选项卡 显示在数据字典中定义的当前安全信息。您可以双击想要改变的字段,添加或编辑安全报 告信息。要设置该属性的模型范围内的默认值,进入 Data Dictionary 选项卡,展开 Data Security Information 节点,然后进行编辑。要获得更多信息,请看 用数据安全类型和属性保 证安全 。 使用 ER/STUDIO DATA ARCHITECT > 开发逻辑模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 150 Attachment Bindings 选项卡 将外部信息或附件绑定到当前属性。可从该对象去除附件,覆盖附件绑定默认值,或改变 绑定附件的位置。要覆盖已经移动到 Selected Attachments 网格中的附件值,双击目标附件 的 Value 字段。根据附件的具体类型, ER/Studio DA 会打开 Value Override Editor 或列表。 在该选项卡中显示的附件必须事先在数据字典中创建好,并且必须已经应用于当前属性。要获 得更多信息,请看 附加外部文件到数据模型 。 Data Movement Rules 选项卡 显示已经赋给该属性的数据迁移规则。允许您覆盖在 Data Dictionary 的 Data Movement Rules 编辑器赋给表格 / 实体的默认规则。在该选项卡中您可以应用或移动数据迁移规则。数 据迁移规则可以是如该表格的数据,在 30 天后更新。要获得更多信息,请看 关联源表及列与 目标表及列 。 注释 • 选择正确的数据类型对数据完整性和数据存储来说是关键的步骤。要选择对其使用目的来说 效率很高,同时又能正确容纳所存储的数据的数据类型。数据库平台的选择决定您对表中列的 数据类型的选择,因为每个数据库平台都有其特定的一组数据类型。比如,有些数据库有二进 制数据类型;其它数据库则没有这种数据类型。有些数据库支持二进制大型对象和文本类型, 但是许多数据库不支持这两种类型。最后,只有很少一些数据库支持用户自定义数据类型。 ER/Studio DA 能在不同数据库之间转换数据类型,不过有些转换只能是近似转换。 • 指定数据类型的另一个需要考虑的重要方面是恰当地决定所应用的数据类型的宽度,精度与 范围。您希望高效地存储数据,但是不能以丢失数据的完整性、准备性或精度为代价。 • 要获得有关数据类型映射的信息,请看 自定义数据类型映射 。如果您希望在公共之间的实施数 据类型,请使用数据字典域。要获得更多信息,请看 通过域名重用属性定义 。 • 在确定属性和列的名称时,请确保考虑到了目标数据库的命名规则。需要考虑的一些关键的地 方是名称长度,避免使用保留词和禁用的字符。大多数数据库限制名称长度为 30 或 18 个字 符。所有的数据库系统都有保留的关键字,这些关键字不能用于名称中,除非用引号引起来。 某些字符,如空格、 *、 + 和 % 也禁止用于名称中。 • 您可以选择 Tools > Options > Logical,打开 Options Editor,在 Logical 选项卡中为使用默 认数据类型创建的属性指定命名规则、默认数据类型,以及 NULL 值是否被允许使用。 • 可以选择 Tools > Options > Display,打开 Options Editor 的 Display,在其中您可以指定属 性出现的顺序。 • 可以选择 Tools > Options > Name Handling,指定属性和列名称之间同步级别。 • 应用程序窗口的右下角的状态条显示了选定模型中的实体数量。 使用 ER/STUDIO DATA ARCHITECT > 开发逻辑模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 151 创建和编辑列 属性代表实体的性质或特性。在物理模型中,属性以表格列表示。有两种类型的属性和表格: • 识别列 :用于识别实体 / 表格实例,因为识别列是实体 / 表格主键的部分或全部。 • 描述列 :非键属性 / 列根据规范化规则,如果属性 / 列不是主键的组成部分,那么其唯一作用 是描述每个实体实例。 属性定义与关系一起确定或实施业务规则。您可以为任何实体的任何属性定义一组特定的有 效值。例如,针对雇员的一个子集,可以为名为 Salary 的属性定义薪水的有效范围。这组值称为 域。要获得更多信息,请看 使用用户数据类型保证域名定义一致 。 如果仔细定义了实体,定义其中的属性应该相对直接。第一次将属性添加到实体时,要确保属 性命名恰当。属性可以是来源于实体自身,也可以通过识别关系或非识别关系继承自实体。为提高 一致性, ER/Studio DA 只允许您编辑实体自身属性的性质。为了改变子实体的外键的性质,您必 须编辑父实体的属性。要获得属性命名规则和常规的信息,请看 最佳实践。 在确定名称时,请确保考虑到了目标数据库的命名规则。需要考虑的一些关键的地方是名称长 度,避免使用保留词和禁用的字符。大多数数据库限制名称长度为 30 或 18 个字符。所有的数据 库系统都有保留的关键字,这些关键字不能用于名称中,除非用引号引起来。某些字符,如空格、 *、 + 和 % 也禁止用于名称中。 添加列 1 在 Data Modeling Window 中,右键点击您想要添加列的表格。 2 在 Table Editor 的 Column 选项卡中,点击 Add。 3 按要求定义属性,然后点击 OK。 以下描述了需要进一步解释的选项。 • 域名:列出所有已定义的域。您可以将任何可用域绑定到该列。 • Attribute Name:属性名默认为列名。如果您想要不同的列名,在文本框中输入新的名称。 ER/Studio DA 在生成物理模型时使用这个名称。 • Default Column Name:属性名默认为列名。如果您想要不同的列名,在文本框中输入新的 名称。 ER/Studio DA 在生成物理模型时使用这个名称。 • Logical Rolename:在逻辑模型中有重叠外键,并且未选中 Synchronize Column Rolename with Logical Rolename 时,该选项才有效。在子属性的名称不同于父属性的名称时,使用其 选项。在逻辑模型中, ER/Studio DA 区分逻辑角色名和列角色名。 ER/Studio DA 在生成物理 模型时使用列角色名称。 • Hide Key Attribute:若选择该选项,隐藏子实体中的键。通常用于迁移部分主键列,而不希 望将主键中的所有列迁移到子表格。 ER/Studio DA 不会生成外键,因为大多数数据库系统要 求外键具有的列数量与子表的一样。 选择此顶后,当前列就会从子表中删除,这样该列就不会 出现在沿 FK 链上的任何子表中,也不会出现在生成的 DDL 脚本或与数据库的比较结果中。在 编辑子表格时,该选项会显示为不可用,但您可以将其改变为可用。 使用 ER/STUDIO DATA ARCHITECT > 开发逻辑模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 152 • Logical Only:选择该项,则在生成物理模型时,实体不会被转化为表格,并且在比较逻辑模 型与物理模型时也会忽略实体。 • Synchronize Column Rolename with Logical Rolename:适用于所选择的属性是外键。该 选项影响实体或表格编辑器的名称改变,屏幕名称编辑和数据模型资源管理器中对名称的改 变。此选项允许您将外部属性或列的角色名称改变为与同一实体或表格的其它属性或列的相 同。在用户结束编辑时,所有的重复会变成一致。 Datatype 选项卡 • Dataype list:点击列表选择适当的数据类型。显示的数据类型列表依赖于选定的数据库平台。 • rowversion 数据类型:行版本数据类型是指数据库中自动生成的,具有唯一性的二进制数 值。rowversion 是递增数值,大小为 8 个字节,用于版本戳记表格行。一张表格只能有一个 行版本列。每次修改或插入带有行版本列的行时,都会在行版本列中插入递增的数据库行版 本值。这一性质使行版本列不是一个好的候选键,尤其是主键。对某一行的所做的任何更新 都会更其行版本值,因此也改变了该行的键值。 注: 行版本是时间戳的同义词。您可以指定行版本为 ER/Studiio DA 中的数据类型,但是在 MS SQL Server2008 上创建的列的数据类型是时间戳。 其它数据类型选项的可用性也取决于所选的数据类型。下面列出了一些选项的例子。只有 在选定其他选项时,这些选项才有效: • WITH TIMEZONE:当在 Teradata 数据库平台下选择了时间或时间戳数据时, WITM TIME ZONE 选项变为可见,允许您明确设定时区。未指定 WITH TIME ZONE 时, 使用默认的 SQL 对话时区。 • Filestream:当在 Microsoft SQL Server2008 平台下选择可变二进制 (BLOB) 数据类型,且 其大小定义为最大时, Filestream 选项变为可见。可变二进制文件流的数据存储在文件系统 中,数据尺寸唯一的限制是主机中可得到的存储。为了让表格具有 Filestream 列,其必须具 有唯一标识符数据类型的列,该类型具有 ROWGUIDCOL 属性。该列必须允许 NOT NULL 值,必须具有 UNIQUE 或 PRIMARY KEY 单一列约束。 • Override Bound Data:覆盖基于某种属性定义系统的数据类型(支持的类型: SQL Server, Sybase,用于 LUW 的 IBM DB2 和用于 OS/390 的 IBM DB2)。在维护针对同一个域的绑定 时,用于处理任何意外情况。比如,有一个 VARCHAR 域使用在两个独立的 DBMS 平台上。字 符域主要使用在 Oracle 平台上。 您将其指定为 VARCHAR 类型(其为 Oracle 中的 VARCHAR2)。 使用该选项,您可以建立 DB2 模型,该模型把 VARCHAR 类型实现为 CHAR 类型。您可以自 定义域的实现逻辑以便适应特定的数据库平台,而不会失去 DB2 列和域之间的绑定。 • Identity Properties:对于其值不能为 NULL,且可以支持标识性质的数字型数据类型,您可 以设定其为标识属性,方法是选中 Identity Column 选项,并指定种子值和递增值。种子值和 递增值是用于自动生成表格中每行的序列号,以种子值为开头,以递增值指明的量递增。默认 的种子值和递增值是 1,但是可以改变。 • Edit LOB Segment:如果当前列设置的数据类型是 BLOB, CLOB,或 NCLOB,您可以点击 Edit LOB Segment 选项定义 LOB的存储方式。要获得更多信息,请看 Oracle LOB段存储选项 。 使用 ER/STUDIO DATA ARCHITECT > 开发逻辑模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 153 • Character Set:针对 Teradata 平台,如果当前列的数据类型是 CHAR、 VARCHAR 或 CLOB,您就可以为该数据类型的设置字符集。点击列表选择适当的数据类型。对于 CHAR 和 VARCHAR 数据类型,您可以选择 DEFAULT、 LATIN、 UNICODE、 GRAPHIC、 KANJI1、 KANJISIS.CLOB 数据类型只支持 LATIN 和 UNICODE 字符集。 • CASESPECIFIC:对于 Teradata 平台,如果该列的数据类型是 CHAR 或 VARCHAR,您可以 选择 CASESPECIFIC 选项,其选项表明系统应该区分大写字符和小写字符。 • Compress :对于 Teradata平台,如果选定的列不是主键,且选定了适当的数据类型,如 BIGNT、 如BIGINT、DATE或CHAR,您可以选择压缩列以将表格所占存储空间最小化。 Teradata不支持 数据长度超过 256 个字符的 CHAR 数据类型的压缩。您可以在提供的输入框中输入压缩参数语 句,或者当需要的压缩参数语句比较长时,点击 More 按钮打开压缩声明 Compression Statement Editor,在其中您可以输入更长的压缩参数语句。最多可以对 256的列值进行压缩。比 如,在客户数据库中您可能需要压缩州的名称,缩减表所占的空间。压缩语句可以像这样: COMPRESS(New Hampshire、 California、 Alaska...),这一语句使用州代码来代替州名的实际 值,同时将州的名称存储在表头中。 注: Teradata 不支持压缩具有下列数据类型的列。 INTERVAL、 TIME、 TIMESTAMP、 VARBYTE、 VARCHAR、 CLOB、 BLOB、 CHAR(n) 其中 n > 255。如果列是主键,也不 能被压缩。 • RowGuidCol:返回行的全局唯一标识符列。在使用 ROWGUIDCOL 性质定义全局唯一标识符列 时,请注意表格只能有一个 ROWGUIDCOL 列,并且列必须使用唯一标识符数据类型定义。 • Computed Column:如果选定此项,那么您可输入公式来转换列,比如,销售佣金 =10% 总 销售额。 • Sparse:如果当前列可能会出现很多 NULL 值,那么可以设置该列为稀疏列。把这样的列指定 为稀疏列可以改进检索速度。存储 Null 值的稀疏列不会占用任何空间, 但是其中数据不为 Null 的稀疏列要求的空间比普通列要稍微多一点。只有在选定的数据类型支持稀疏性质时,该选项 才可用。 • Collate:让您指定每个字符串的排序规则。 ER/Studio DA 在使用 CREATE TABLE 或 ALTER TABLE 语句时,会配合使用 COLLATE 从句。 • For Bit Data:让您使用二进制 SQL 指定用于字符 SQL 类型的二进制字符阵列。通过在定义 CHAR, VARCHAR, LONG VARCHAR 类型的列时配合使用 FOR BIT DATA, IBM 的数据库平台可 以支持二进制数据类型的列。 • LOB Unit:如果当前列的数据类型 BLOB, CLOB,或 DBCLOB,该选项允许您选择 LOB 的度量 单位。指定 K- 用于千字节, M 用于兆字节, G 用于千兆字节。 使用 ER/STUDIO DATA ARCHITECT > 开发逻辑模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 154 Default 选项卡 • Default Binding:如实体的属性尚示绑定默认值(可以通过 Data Dictionary > Defaults > Edit Default Definition > Binding Information 查看),您可输入 Declarative Default 值或选择 Override Bound Data,然后从 Default Binding列表中选择另一个值。在您从实体模型中选择 生成数据库时,声明默认值会出现在生成的 SQL代码中。如果默认值属性已经事先绑定到该实 体,您可以从该 Default Binding 列表选择另一个默认值,覆盖之前的默认值。要获得更多信 息,请看 操作数据字典 。如果选定的属性是实体的主键,您可以将该选项设置为 Propagate Default to Child Keys。 • Default Name:当在下面的输入框内指明了声明默认值时,或当 选中 Override Bound Data 时,该选项为声明默认值指定名称。如您使用来自数据字典的绑定默认值时,您不能指定内联 默认值的名称。 • Declarative Default:插入一行时没有明确指定某一列的值时,指定默认列值。 DEFAULT 定义 可应用于任何列,除了定义为时间戳的列,或是有 标识性质的列。只有固定值,如字符串;系 统函数,诸如 系统 _ 用户 () ; NULL; 或约束的名称可赋给 DEFAULT。 Rules/Constraints:该选项允许您从数据字典选择规则绑定,或手动输入规则绑定。声 明框中的文档会原样插入到生成的物理模型 DDL 中。添加、改变或删除约束。使用检查约束 确保数据库中数据的有效性,提供数据完整性。要获得更多信息,请看 使用检查约束实施数据 完整性 。如果信息显示成灰色(只读),是因为正在使用域,定义、数据类型、规则、限制或 默认是从该域继承来的。 Definition 选项卡 为列输入或编辑定义。如果目标数据库支持实体定义功能, 在生成 SQL代码时,ER/Studio DA 会将列的定义添加为列的注释。 Notes 选项卡 在生成模型报告的时候,添加的备注将作为 HTML 报告的一部分。您可以使用标准的 HTML 标记将备注格式化。 Where Used 选项卡 显示哪个逻辑和实体模型和子模型使用了当前列或属性。 User-Defined Mappings 选项卡 显示用于当前表格的用户定义映射 (UDM)。UDM 将概念上相关的数据联系在一起,但这 些数据对具体的业务关系不是必需的。在比较数据模型或生成 SQL 时,不使用 UDM。使用用 户定义映射创建的实体之间的关系由 Notes 项卡描述。要获得更多信息,请看 使用用户自定 义映射关联类似对象 。 Reference Values 选项卡 参考值是定义允许数据的属性。参考值代表查找表中的列或码 - 值范围或用于列的规则或 约束。要获得更多信息,请看 使用参照值定义有效的属性数据 。 使用 ER/STUDIO DATA ARCHITECT > 开发逻辑模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 155 Naming Standards 选项卡 控制用户和对象权限来修改受影响的项目。命名标准模板绑定到对象时,则以后编辑此对 象使用的模型即为所绑定的模模板而非在 Naming Standards Utility 或 Generate Physical Model utility 中的 Naming Standards Template。当模型各个部分要求标准的不同版本时,此 功能允许您将不同的命名标准应用于不同对象。比如,您不想在将新的命名标准应用于有些已 经存在于数据库中的对象。要获得更多信息,请看 通过命名标准模板执行命名标准 。 Compare Options 选项卡 选择您想要 Compare and Merge Utility 忽略的差异。 LOB Storage 选项卡 此选项卡只用于 HiRDB。如果在 Datatype 选项卡上的设置的列的数据类型是 BLOB,该 选项卡变为可用,您可以在此选项卡中设置大对象的存储位置。 Data Lineage 选项卡 将描述数据迁移的规则从模型中的源实体和属性映射到目标实体和属性。您可以在属性 一级为源 / 目标属性映射添加转换逻辑。您可以将多个源 / 目标映射到物理模型中的一个属 性。要获得更多信息,请看 文档化数据析取、转换和加载 。 Security Information 选项卡 显示在数据字典中定义的当前安全信息。您可以双击想要改变的字段,添加或编辑安全报 告信息。要设置该属性的模型范围内的默认值,进入 Data Dictionary 选项卡,展开 Data Security Information 节点,然后进行编辑。要获得更多信息,请看 用数据安全类型和属性保 证安全 。 Attachment Bindings 选项卡 将外部信息或附件绑定到当前列。可从该对象去除附件,覆盖附件绑定默认值,或改变绑 定附件的位置。要覆盖已经移动到 Selected Attachments 网格中的附件值,双击目标附件的 Value 字段。根据附件的具体类型, ER/Studio DA 会打开 Value Override Editor 或列表。在 该选项卡中显示的附件必须事先在数据字典中创建好,并且必须已经应用于当前列。要获得更 多信息,请看 附加外部文件到数据模型 。 Data Movement Rules 选项卡 显示已经赋给该属性的数据迁移规则。允许您覆盖在 Data Dictionary 的 Data Movement Rules 编辑器赋给表格 / 实体的默认规则。在该选项卡中您可以应用或移动数据迁移规则。数 据迁移规则可以是如该表格的数据,在 30 天后更新。要获得更多信息,请看 关联源表及列与 目标表及列 。 注释 • 选择正确的数据类型对数据完整性和数据存储来说是关键的步骤。要选择对其使用目的来说 效率很高,同时又能正确容纳所存储的数据的数据类型。数据库平台的选择决定您对表中列的 数据类型的选择,因为每个数据库平台都有其特定的一组数据类型。比如,有些数据库有二进 制数据类型;其它数据库则没有这种数据类型。有些数据库支持二进制大型对象和文本类型, 但是许多数据库不支持这两种类型。最后,只有很少一些数据库支持用户自定义数据类型。 ER/Studio DA 能在不同数据库之间转换数据类型,不过有些转换只能是近似转换。 使用 ER/STUDIO DATA ARCHITECT > 开发逻辑模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 156 • 指定数据类型的另一个需要考虑的重要方面是恰当地决定所应用的数据类型的宽度,精度与 范围。您希望高效地存储数据,但是不能以丢失数据的完整性、准备性或精度为代价。 • 要获得有关数据类型映射的信息,请看 自定义数据类型映射 。如果您希望在公共之间的实施数 据类型,请使用数据字典域。要获得更多信息,请看 通过域名重用属性定义 。 • 在确定属性和列的名称时,请确保考虑到了目标数据库的命名规则。需要考虑的一些关键的地 方是名称长度,避免使用保留词和禁用的字符。大多数数据库限制名称长度为 30 或 18 个字 符。所有的数据库系统都有保留的关键字,这些关键字不能用于名称中,除非用引号引起来。 某些字符,如空格、 *、 + 和 % 也禁止用于名称中。 • 您可以在 Options Editor 的 Logical 选项卡中为使用默认数据类型创建的属性指定命名规则、 默认数据类型,以及 NULL 值是否被允许使用。选择 Tools > Options > Logical。 • 您可以在 Options Editor 的 Display 选项卡中指定属性的排列顺序。选择 Tools > Options > Display。 • 您可以在 Options Editor 的 Name Handling 选项卡中指定属性和列名称之间同步级别。选择 Tools > Options > Name Handling。 • 应用程序窗口的右下角的状态条显示了选定模型中的实体数量。 创建和编辑键 数据库中键的作用是执行实体中的唯一值和提供对表格排序的手段,以便更快地访问实体数据。 在关系数据库中,有四种类型的键: • 主键:主键,或唯一键,是在表格中唯一识别每行的候选键。 主键包括单一列或列组合,在这 些列中没有两个不同的行具有相同的值(或值的组合)。根据其设计,表格可以有多个唯一 键,但是最多一个主键。唯一键必须唯一识别所有可能出现在表格中的行,不仅是当前存在的 行,诸如社保号码。主键是唯一键的特例,因为对于唯一键来说,隐含的非零约束不是自动被 遵循的,然而主键是必须遵守此约束。唯一键列的值可能是也可能不是 NULL。唯一键和主键 可用外键引用。 • 候选键 :候选键是数据库中的非唯一键,如在雇员数据库中的姓名和出生日期。 • 关联实体 : 属性或属性组合,不唯一识别实体的每个实例,但是经常用于访问。反转项项的数 据库实现是非唯一索引。 • 外键:主键或非键属性,继承自其它实体。 ER/Studio DA 可以从数据库中对非主键或唯一约束的键定义进行反向工程 。您可以使用 Key Editor 创建主键、反转键或候选键。 Key Editor 可以从 Entity Editor 中访问。 要获得更多信息,请看以下主题: • 创建主键 • 创建候选键或反转项 • 创建外键 / 关系 使用 ER/STUDIO DATA ARCHITECT > 开发逻辑模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 157 创建主键 1 在 Data Model Explorer 中,展开 Logical Main Model,再展开 Entities 节点,然后双击您 想要添加键的实体。 2 要把已有的属性更改为主键 ,在 Entity Editor 中,点击您想要使其成为键的属性,然后点击 Edit。 要创建基于新属性的主键, 在 Entity Editor 中,点击 Add,然后根据需要定义实体的性质。 3 在 Attributes 选项卡上,点击 Add to Primary 然后点击 OK 然后退出 Entity Editor。 创建候选键或反转项 1 在 Data Model Explorer 中,展开 Logical Main Model,右键单击 Entities 节点,然后选择 您想要添加键的实体。 2 要更改现有属性的性质 ,在 Entity Editor 中,点击您想要使其成为键的属性,然后点击 Edit。 要创建基于新属性的候选键, 在 Entity Editor 中,点击 Add 按照要求定义实体性质。 3 在 Keys 选项卡上,点击 Add。 4 在 Key Editor 中,输入键的名称,然后选择想要创建的键的类型。 5 从列有实体的所有属性的 Available Keys 列表中,双击您想要添加到键的属性。 提示 : 您可以选择属性,重新排列属性,然后按 UP 或 Down,直到该属性在选定键的理想位 置中。 6 点击 OK 解释属性选择,然后再次点击 OK 以影响对实体作出的改变。 Attachment Bindings:选项卡绑定外部信息或附件到键。可从该对象去除附件,覆盖附 件绑定默认值,或改变绑定附件的位置。要覆盖已经移动到 Selected Attachments 网格中的 附件值,双击目标附件的 Value 字段。根据附件的具体类型, ER/Studio DA 会打开 Value Override Editor 或列表。附件创建在数据字典的附件文件夹中。要获得更多信息,请看 附加 外部文件到数据模型 。 注意 • 通过选择 Keys 选项卡上的 Logical Only,在生成物理模型或 SQL 时,防止实行允许键。 • 为改变外键属性的性质,必须改变原始父表格里的相应主键列。 • 为了保持域的一致, ER/Studio DA 只允许更改外键的列名。要修改外键列的其他性质,您必 须改变起始父表中的相应的主键列。 创建外键 / 关系 外键是在建立实体间关系的时候被创建的。关键中的父对象的主键成为子对象的外键。在使用 Filtered IE (无外键)表示系统时,外键不会显示在实体框中。但是使用其它表示系统时,外键则 会显示。要获得更多信息,请看 操作关系 。 使用 ER/STUDIO DATA ARCHITECT > 开发逻辑模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 158 指定外键属性名和数据类型 默认情况下,外键的名称继承自父对象的主键,但是可以使用 Logical Rolename 选项为外键 指定其他名称。 1 双击想要更改的实体。 2 点击属性列表里的外键,然后点击 Edit。 3 输入 Logical Rolename 的名称,然后选择 Synchronize Column Rolename with Logical Rolename。 4 点击 Save。 子实体现在显示该外键的逻辑角色名称。 类似地,您可以为外键指定不同的数据类型。 1 双击实体,从 Entity Editor 的属性列表的选择想要编辑的外键,然后点击 Edit。 2 选择 Edit Foreign Key Datatype 对数据类型作出必要的改变。 3 点击 Save。 操作关系 关系用于强制执行数据模型里的业务规则和声明。关系决定两个实体和 / 或视图之间的数据是 如何关联的。关系在物理模型中的实现为外键。外键的性质决定了如何通过约束和触发器在表格之 间强制执行参照用完整。 除了标准关系, ER/Studio DA 还允许您创建递归关系(对象与其本身关联)、复制关系(当 多个关系与相同对象关联)、视图关系 (将实体或表格与视图关联的关系)以及子类型聚簇关系 (将同源实体(子类型)与超类型实体关联的关系)。 要获得更多关于关系的信息,请看以下主题: • 创建和编辑关系 • 创建和编辑递归关系 • 创建视图关系 • 创建子类型聚簇关系 • 解决父实体和子实体中的名称重复问题(统一化) 使用 ER/STUDIO DATA ARCHITECT > 开发逻辑模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 159 创建和编辑关系 1 在 Data Model Explorer 中,点击 Data Model 选项卡。 2 选择 Insert > Relationship,然后点击想要插入的关系类型。 3 在 Data Model Window 中,点击父对象,然后点击子对象。 • 如果父对象和子对象具有相同的列或属性名称,则会打开 Duplicate Attribute Editor。在该 对话框中您可以通过将角色名称赋给外键,解决这些冲突。 • 如果您要创建的关系是递归关系(一种非识别性关系,父对象与子对象是同一对象) ,则会 打开 Recursive Relationship 编辑器。使用该编辑器,可以将角色名称赋给任何重名键,区 别原始键和外键。要获得更多信息,请看 创建和编辑递归关系 。 • 如果您要创建的关系将导致在两个实体间产生多个识别性或非识别性关系时,会打开 Duplicate Relationship 编辑器。使用该编辑器,您可将角色名赋给任何重叠的外键;否则 ER/Studio DA 将把所有重叠的外键合并为一个。 • 如果您绘制的关系被检测出有重叠的外键,则会打开 Edit Rolenames 对话框。在 Edit RoleNames 对话框中可以为多次继承的外键指定角色名称。当主键传递到子表格时,该属 性名也传递到子表格中。角色名称使您重新命名外键的属性的名称,以避免命名混杂,解 决关系冲突。 4 重复步骤 2 和步骤 3,直到创建出所有必要的关系。 5 要使鼠标形状返回到 Selection 工具,右键单击 Data Model Window 的任何一处。 6 在 Data Model Window 中,双击刚创建的关系。 7 完成 Relationship Editor 然后点击 OK 退出编辑器。 以下描述了需要进一步解释的选项。 要获取关于 Relationship Editor 的一般信息, 请看注意。 • Parent Key:该选项允许您选择和传递侯选键(逻辑模型)或唯一索引(物理模型)到子实 体或表格。 如果您不想传递主键时,请使用该选项。如果父表格中没有侯选键或唯一索引,将 使用主键。 • Logical Only:仅适用于逻辑模型。选择该项,则在生成物理模型时,该关系不会被实现,并 且在比较逻辑模型与物理模型时也会忽略该关系。 • Physical Only:仅适用于物理模型。如选定,在比较物理模型和逻辑模型时该关系是忽略的 • Do Not Generate:仅适用于物理模型。选择该项,则在生成 DDL时会忽略外键( FK)列(如 存在) ,在 Compare and Merge Utility中也会忽略。 虽然不会生成外键 (FK)约束,但仍会将外键 (FK)列原始列生成。要防止生成 FK,编辑 Table Editor里的FK列,选择 Hide Key Attribute选项。 如果参照完整性是由应用程序保证而非 RDBMS的外键约束保证,则可以使用该选项。 • Not For Replication:选择该项,则对父实体的更新不会复制到子实体。该选项的作用是保 证在更新子实体时不会受任何外键约束的影响。 使用 ER/STUDIO DATA ARCHITECT > 开发逻辑模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 160 • Deferrable:仅适用于物理模型。选择该项,则 REFERENCES ...DEFERRABLE 会出现在内联的 (CREATE TABLE 中)或 ALTER(CREATE TABLE 外)语句的 FK DDL 中。 DEFERRABLE 语 句在 REFERENCES 从句之后,成为约束声明逻辑的一部分。 一般来说, DEFERRABLE 参数用来指定之后的事务中的约束检查是否可以延迟到使用 SET CONSTRAINT 语句的业务结束时进行。 如果忽略该选项, 则默认情况下为 NOT DEFERRABLE。 如果在模型中,约束设置成可延迟,而在数据库中设置成不可延迟,则该表格需要首先被删除, 然后重新使用可延迟的约束建立。要了解关于可延迟约束的描述,请看 Oracle 语法文档。 • Initially Deferred:仅适用于物理模型。只有选择了 Deferrable 选项,该选项才可用。如果 选定,则 REFERENCES ...DEFERRABLE INITIALLY DEFERRED 语法会出现在该关系子表格的 DDL 中。最初延迟用于指定将约束检查推迟到事务的结束来进行。 • Disable:该选项仅适用于 Oracle 平台。如选定该项,则禁用子实体的外键。以下是为 FK 被 禁用的子实体生成的 DDL 的例子: CREATE TABLE Entity2( PK2 CHAR(10) NOT NULL a2 CHAR(10), b2 CHAR(10), PK2 CHAR(10) NOT NULL, CONSTRAINT PK2 PRIMARY KEY (PK2), CONSTRAINT RefEntity11 FOREIGN KEY (PK1) REFERENCES Entity1(PK1) DISABLE Properties 选项卡 • Relationship Type > Identifying Relationships:识别性关系总是强制性的。外键值必须存 在于子实体中,外键值必须存在于父实体的主键中。识别性关系将主键信息作为主键传递给子 实体,这会导致产生复合键。 使用复合键通常是有效和恰当的的;但同时也限制了数据模型的灵活性。 使用复合键时,子 实体中的数据只能在有父实体存在的环境中得到识别。如果需要独立使用该数据,那么您会遇 到问题。 强制关系的基数性的形式必须是 1 对 1 或 1 对多。 在创建物理模型时,由强制关系传递的外键列默认为 NOT NULL。 使用 ER/STUDIO DATA ARCHITECT > 开发逻辑模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 161 • Relationship Type > Non-Identifying, Optional Relationships:非识别关系将父实体的主 键传递到子实体的非键属性。因为非识别性关系是可选的,子实体不是总需要外键值,如果值 确实存在,那么外键值必须存在于父实体的主键中。 可选关系的基数性采取的形式是 0 或 1 到多。 在创建物理模型时,由可选关系传递的外键列默认为 NULL。 • Relationship Type > Non-Identifying, Mandatory Relationships:非识别关系将父实体的 主键传递到子实体的非键属性。外键值必须存在于子实体中,外键值必须存在于父实体的主键 中。强制关系的基数性的形式必须是 1 对 1 或 1 对多。在创建物理模型时,由强制关系传递的 外键列默认为 NOT NULL。 • Relationship Type > Non-Specific Relationships:非特定关系代表多 - 对 - 多关系。 因为多 - 对 - 多关系不能被解析,所以非特定关系不传递任何外键。多 - 对 - 多关系是不期望的,在规 范化数据模型时应该去除。 下图展示了非特定关系,其中父实体和子实体都是可选的。在 Relationship Editor 中您可以设 置父实体和子实体是否是可选的。 使用 ER/STUDIO DATA ARCHITECT > 开发逻辑模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 162 • Cardinality:基数性显示相关联的父实体和子实体的实例的比例。父实体基数比例取决于关 系是强制的还是可选的。尽管基数性是表达业务规则的强大概念,您应该知道数据库不以直 接强制执行基数性。执行基数性约束可以通过过程数据库逻辑或在数据库以外的地方完成。 以下显示 IE(Crows Feet) 表示系统的基数图标: Phrases 选项卡 • Verb Phrase:描述父表格到子表格的关系。 • Inverse Verb Phrase:描述子表格到父表格的关系。 Name 选项卡 • Business Name:标识业务文档目的的关系。 • Constraint Name:命名存在于父表格和子表格之间由关系强制执行的参照约束。在生成 DDL 时, ER/Studio DA 使用该名称作为外键约束的名称。 非识别关系 识别关系 可选 必选 1 到 0 或更多 0 到 1 或更多 1 到 0 或更多 1 到 1 或更多 0 到 1 或更多 (P) 1 到 1 或更多 (P) 1 到 0 或 10或 1 到 0 或 1(Z) 1 到 0 或 1 1 到确定 N0到 1 到确定 N1到确定 N 使用 ER/STUDIO DATA ARCHITECT > 开发逻辑模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 163 Trigger 选项卡 选择触发器维护在子对象和父对象上进行的 INSERT, UPDATE,和 DELETE 操作的参照完 整性。为每一种操作选择下面的一种类型的触发器。 • Restrict:验证外键的值在对象的主键中存在,如果不能通过验证,则禁止插入、更新或删除 数据。 • Cascade:将主键值的任何改动传递到子表中相应的外键值。 • Set Null:验证外键的值在对象的主键中是否存在。如个外键的值不能能过验证,触发器设置 子表格的外键值为 NULL,并使数据更改过程继续。 要获得更多信息,请看 创建、编辑数据库模式 。 Definition 选项卡 为关系输入或编辑定义。如果目标数据库支持定义,生成 SQL 代码时, ER/Studio DA 添 加该定义作为评论。 Compare Options 选项卡 允许您选择在 使用 Compare and Merge 工具时忽略属性的哪些性质, 这样您可以得到想 到的差异报告。 Note 选项卡 在生成模型报告的时候,添加的备注将作为 HTML 报告的一部分。您可以使用标准的 HTML 标记将备注格式化。 Rolename 选项卡 可以改变外键的角色名称,当外键有重叠现象时,这样作可以区分子属性和父属性。要改 变角色名称,双击任意一行,打开 Foreign Key 对话框。 您也可以在 Table Editor 的 Columns 选项卡上更改逻辑和默认角色名,还可以右击关系,然后选择 Edit RoleName 进行更改。 Attachment Bindings 选项卡 将外部信息或附件绑定到当前关系。可从该对象去除附件,覆盖附件绑定默认值,或改变 绑定附件的位置。要覆盖已经移动到 Selected Attachments 网格中的附件值,双击目标附件 的 Value 字段。根据附件的具体类型, ER/Studio DA 会打开 Value Override Editor 或列表。 在该选项卡中显示的附件必须事先在数据字典中创建好,并且必须已经应用于当前关系。要获 得更多信息,请看 附加外部文件到数据模型 。 注释 • 您可以查看表格的传入关系和传出关系,方法是展开表格结点,然后展开 Incoming Relationships or Outgoing Relationships 结点。展开关系节点来看相关联的表格的名称。 • 您可以改变关系类型、指定基数性、创建动词短语描述关系,创建逻辑业务和约束名称,定义 触发器,方法是双击该关系,然后在 Relationship Editor 中作出改动。 • 您可以删除某个关系,方法是在 Data Model Window 中右击此关系,然后选择 Delete Relationship。 使用 ER/STUDIO DATA ARCHITECT > 开发逻辑模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 164 • 您可以编辑某个关系,方法是在 Data Model Window 中右击此关系,对于逻辑模型,选择 Edit Relationship ;对于物理模型,选择 Edit Foreign Key。 • 改变关系类型会使 ER/Studio DA 使用下列规则重新传递外键: • 从标识改为非标识时 ,子对象中的外键从主键改为非键列。 • 从标识改为非特定,或者从非标识改为非特定时 ,外键从子对象中删除。 • 从非标识改为标识时 ,子对象中的外键从非键列或属性改为主键列或属性。 • 从未特定改为标识时 ,子对象继承父对象的主键,作为主键列或属性。 • 从未特定改为未标识时 ,子对象继承父对象主键,作为非键列或属性。 • 您可以配置选定 ER/Studio DA 如何为选定的模型关系显示,方法是选择 View > Diagram and Object Display Options Editor > Relationship,然后做出变动。 • 您不能编辑 View Relationship (请看 创建视图关系 )。 另请参阅 移动关系连接点 设置关系符号 操作关系线 覆盖特定对象的颜色和字体设置 创建和编辑关系 创建和编辑递归关系 递归关系将对象与其自身关联起来,此对象既是父对象又是子对象。例如,你可以具有管理多 个雇员的雇员,每个雇员受一名雇员管理。 雇员实体本身具有递归关系。 如果存在递归关系,必须将角色名赋予该关系。使用递归关系对话框,指定在相同实体中被继 承不止一次的外键的角色名。 例如,如果建立了递归关系,其中一个实体被同时指定为父实体和子 实体,那么主键在该实体内传递。 当 ER/Studio DA 检测到实体中有重叠的外键时,自动打开递归 关系对话框。 添加递归关系的步骤与添加常规关系略有不同;但是,您可以使用与编辑和删除常规关系相 同的方式编辑和删除递归关系。 1 选择 Insert > Insert Relationship,然后选择非识别关系类型。 2 在数据模型窗口中,点击想要应用递归关系的对象,然后再次点击。 3 完成 Recursive Relationship 或 Recursive Relationship for Multiple Keys 对话框,然后点 击 OK。 4 右击数据模型的任何位置,退回到 Selection 工具。 使用 ER/STUDIO DATA ARCHITECT > 开发逻辑模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 165 注释 • 如果存在递归关系,在必须将角色名赋予主键或至少主键的一个属性的地方,显示递归关系编 辑器。角色名不能与属性或列名相同。为了让外键出现在子对象中,必须赋予外键角色名,这 样才能与本地键区分。 • 如果建立了递归关系,此关系中的多个外键在相同实体中被多次继承, 那么 Recursive Relationship for Multiple Keys 对话框就会被打开,在其中您可以为每一个外键设置角色名称。例 如,如果建立了递归关系,其中一个实体被指定为父实体和子实体,那么主键在该实体内传递。 • 要编辑与关系相关的角色名,右击数据模型窗口的关系,然后选择 Edit Rolenames。 • 要在父对象和子对象之间导航,右击对象,然后从快捷菜单中选择 Navigate to Parent 或 Navigate to Child 。 创建视图关系 添加和删除视图关系的步骤与常规关系中的一样。但是,视图关系是从实体或视图传递属性到视 图的一种特殊关系类型。添加视图关系时,关系的末端必须是视图。视图关系不能编辑,但是可以删 除。要确定实体的哪些属性可以从父实体或视图传递到子视图,可以使用视图编辑器 - 列选项卡。 注: 要显示视图关系,必须在 Diagram and Object Display Options 对话框的 View 选项卡 里启用选项显示视图和视图关系。 选择 View > Diagram and Object Display Options。 另请参阅 创建和编辑数据库视图 创建子类型聚簇关系 注: 子类型聚簇关系仅可以在逻辑模型中表示。当从逻辑模型生成物理模型时,子类型关系 转化为识别关系。 子类型聚簇指一组具有形成一个 泛化层级 的相似特征的实体。在每个子类型聚簇中,存在一个 父实体,称为 超类型,以及一个或多个 子类型 实体。超类型归纳一组子类型;子类型实体的共同 特征赋予超类型,而子类型实体具有更多的特定属性。 子类型,也称为类别实体,代表超类型的同 类实体的子集。超类型实体的属性和关系都传递给它的所有子类型。鉴别器,子类型的属性之一, 用于子类型实体的彼此区分。 除了识别泛化层级,子类型的一个重要问题是决定如何在物理模型中实施子类型聚簇。有时最 好是将子类型投射到超类型中,将整个聚簇表示为一个单独的泛化实体。其他时候,可能需要各个 不同的子类型实体的粒度,选择实施子类型和子类型 1 对 1 或将超类型分为多个子类型。 使用 ER/STUDIO DATA ARCHITECT > 开发逻辑模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 166 在逻辑模型设计阶段,您应该寻找可以以更为概括的方式将属性汇总入实体的层级结构。通过 处理有代表性的案例,您就可以设计出有更好的灵活性和扩展性的方案。子类型的使用就是识别和 描述这种泛化的强大的工具。 实例 为了说明子类型化的使用,我们使用一组实体作为例子 - 人、客户和雇员。每个实体存储了有 关雇员的信息。相应地,人是该例中的超类型,剩余实体可以组合为一个子类型。包含在子类型实 体的任何人都可以在 “ 人 ” 中表示。在每个实体中,主键是姓名。因为子类型中的实体的每个实体 实例也可以在超类型中表示,超类型实体和所有子类型实体之间的关系必须是识别关系,即客户、 工程师和作家必须都是雇员。人、客户、雇员和供应商之间的关系是完整的,因为业务只与这些类 型的人相关。雇员、工程师和作家之间的关系是不完整的子类型,因为还有其他雇员类型,如质量 保证分析师。 在此例中,人实体是超类型。所有人都有名称、地址和电话号码等属性。人可以是雇员或客 户。除了名称、地址和电话号码属性之外,每个子类型还具有唯一的属性;例如,雇员有职业,客 户有信用额度。实体既可以是超类型,也可以是子类型。以雇员为例,雇员可以进一步分为工程师 和作家。 1 点击逻辑模型。 2 选择 Insert > Subtype Cluster,然后选择 Complete 或 Incomplete。 使用 ER/STUDIO DATA ARCHITECT > 开发逻辑模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 167 3 点击一个实体,将其指定为父(超类型) ,然后点击想要添加到子类型聚簇的实体(子类型)。 提示 : 您可以按住 CTRL 键,点击想要的实体来添加多个实体到子类型聚簇。 4 右击返回到 选择工具,然后双击新建的子类型关系指示器。 5 按要求完成 Subtype Cluster Editor,然后点击 OK。 以下描述了需要进一步解释的选项: Subtype 选项卡 • Type:选择子类型聚簇类型, Complete 或 Incomplete。 • Complete:当所有可能的子类型实体都包括在子类型聚簇中时,子类型聚簇是完整的。完 整子类型聚簇的一个例子为 人是超类型, 男性和女性都是子类型。 • Incomplete:选择该选项,如果所有可能的子类型实体不能全部包括在聚簇中。例如,子 类型聚簇由几个实体组成: 雇员、店经理、 销售人员 和仓库管理人 ,每个人都存储了雇员信 息。在此例中, 雇员是超类型,其余实体可以组合为子类型。这可能是不完整子类型聚簇, 因为其他雇员类型不能在此聚簇中表示,例如保安和出纳。 • Membership Type:选择兼容性或排他性子类型。 • Inclusive:如果每个具有子类型的超类型一次可以是不止一个子类型,则选择该选项。例 如,雇员可以是工程师 ,也可以是 作家。 • Exclusive:如果每个具有子类型的超类型一次仅可以是一个子类型,则选择该选项。 例如, 人不能既是 雇员,又是 客户。 在 IE 表示法中,排他性子类型用排他性 或符号表示。关系图和报表在 TYPE 字段中根据您的 选择显示超类型 / 子类型聚簇的类型:完整、兼容性;完整、排他性;不完整、兼容性;不 完整、排他性。 • Discriminator:从列表中选择鉴别器。鉴别器是相互区分各个子类型实体的属性。 子类型鉴 别器可以是子类型的主键属性或非键属性。定义了鉴别器之后, ER/Studio DA 在其子类型聚 簇符号的旁边显示鉴别器。 Attachment Bindings 选项卡:绑定外部信息或附件到域。可从该对象去除附件,覆盖附 件绑定默认值,或改变绑定附件的位置。要覆盖已经移动到 Selected Attachments 网格中的 附件值,双击目标附件的 Value 字段。根据附件的具体类型, ER/Studio DA 会打开 Value Override Editor 或列表。附件创建在数据字典的附件文件夹中。要获得更多信息,请看 附加 外部文件到数据模型 。 注释 • 您可以添加实体到子类型聚簇,方法是选择 Insert > Relationship > Identifying 点击您想要 将实体与之关联的超类型旁边的子类型聚簇符号,然后点击您想要添加到子类型聚簇的实体。 • 您可以右击子类型聚簇符号,然后选择 Edit Subtype Cluster 来编辑子类型。 • 您可以改变子类型聚簇符号的颜色,方法是右击该符号,然后选择 Subtype Cluster Color。 使用 ER/STUDIO DATA ARCHITECT > 开发逻辑模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 168 • 您可以从子类型中删除一个实体,方法是选择子类型和实体之间的关系,然后选择 Edit > Remove Relationship。 • 如果不想在数据模型中包括某个子类型,您可以删除该子类型。 您可以和在实体之间添加或 删除关系一样的方式,从子类型聚簇中添加或删除实体。 通过选择子类型,然后选择 Edit > Delete Subtype Cluster 来删除子类型。删除子类型聚簇,也就删除了父实体(超类型)和 子实体(子类型)之间的所有关系。 • 删除子类型之后,必须重新定义实体之间的关系。 • 尽管子类型可以指定为完整或不完整类型,在 IDEF1X 中都用同一种图形表示。 要查看在 IE (Crow's feet)中显示的不同之处,可以在 Subtype Cluster Editor 中查看子类型,或者把命 名约定或颜色作为助记符。 •IE在支持子类型上显得更加灵活,允许上滚(泛化)和下滚(特化)转换。 解决父实体和子实体中的名称重复问题(统一化) 当您创建或重命名主键属性、关系或外键,其名称与现有属性、列或子表格或实体里的外键名 称重复时,显示重复属性编辑器。例如,如果有两个实体,分别称为父实体和子实体,其中父实体 具有称为键的主键,子实体具有称为键的属性。当从父实体到子实体创建关系时,就会启动重复本 地属性编辑器,在此编辑器中您必须决定如何处理传递的属性。 注: 如果字实体具有与父实体相同名称的外键,并且在选项编辑器的 Application 选项卡里 选择了 Prompt to Resolve FK Columns 选项,则会启动重复属性编辑器。选择 Tools > Options。 提示 : 在选项编辑器的 Name Handling 选项卡里的 Allow Unification when Editing Names 选 项,可以将外属性或列的角色名称改为相同实体或表格中的其他属性或列的名称。 属性名称编辑选项 以下对重复属性编辑器中的选项和功能进行了描述: • Propagating Attributes to Resolve:显示重复的属性 / 列的列表。选择想要解决的传递属 性,然后选择想要的传递方式。 • Replace Native Attribute with propagating Attribute:若选择该选项, ER/Studio DA 将 子实体中的属性用传递的外键属性代替。如果此关系从主模型中删除, ER/Studio DA 从子实 体中删除传递的属性和原来的本地属性。 • Rolename propagating Attribute:若选择该选项,您可以重命名外键,这样子实体中的本 地属性仍然以原始名称存在。传递后,两个属性都存在于子实体中。 • Change Native Attribute Name to allow propagating Attribute Name:若选择该选项, 可以重命名子实体中的原始本地属性,这样可以将父实体中的属性名称用作外键。传递后,两 个属性都存在于子实体中。 使用 ER/STUDIO DATA ARCHITECT > 开发逻辑模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 169 • Unify Native Attribute with propagating Attribute:若选择该选项, ER/Studio DA 将子表 格中的传递外键和本地属性相统一。如果之后关系被删除, ER/Studio DA 保留本地子属性。 重名解决方案实例 以下例子根据重复属性编辑器对话框中选择的选项说明重名是如何解决的。 原始 用传递属性代替本地属性: 若选择该选项, ER/Studio DA 将子实体中的属性用传递的外键属性代替。如果关系从主模型 中删除, ER/Studio DA 从子实体中删除传递的属性和原始本地属性。 角色名传递属性 若选择该选项,您可以重命名外键,这样子实体中的本地属性仍然以原始名称存在。传递后, 两个属性都存在于子实体中。 注: 要解决命名冲突,在重复属性编辑器中您可以将外键的 rolename 指定为 idrolename。 使用 ER/STUDIO DATA ARCHITECT > 开发逻辑模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 170 将本地属性名称改为允许传递属性名称 若选择该选项,可以重命名子实体中的原始本地属性,这样可以将父实体中的属性名称用作 外键。 注: 要解决外键的命名冲突,新子实体名称指定为 id_change_native。 统一本地属性与传递属性 若选择该选项, ER/Studio DA 将子表格中的传递外键和本地属性相统一。 注: 如果删除关系, ER/Studio DA 保留子实体中的 id。 验证模型 Model Validation wizard 用于实施您为数据模型对象和数据字典的用法选择的标准。对模型进 行验证还可以节省模型校正与审核过程的花销。 ER/Studio DA 提供了 50 多个检查项来验证逻辑或 物理模型是否存在如遗失对象定义、未使用的域、相同的唯一索引和环状关系。您可以选择应该进 行哪些验证选项可以对向导检测出的验证问题进行排序,这样您的同事可以确切地知道应该从什 么地方开始修正模型。您还可以使用快速启动功能来建立验证模板。 验证模型 1 在 Data Model Explorer 中找到并右键单击该模型的顶层节点。 2 从快捷菜单中点击 Validate Logical Model 或 Validate Physical model。 3 在 Model Validation Wizard 中,选择如下介绍的验证规则和选项: 4 点击 Run Validation。 使用 ER/STUDIO DATA ARCHITECT > 开发逻辑模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 171 5 点击 Output 选项卡,查看验证结果并对结果进行排序,然后可以根据需要导出结果。 以下描述了需要进一步解释的选项。 Validation Options 选项卡以下选项支持 Oracle 的外键禁用 / 启用语法。可以禁用两个 实体之间的关系,也可以禁用主键索引,因此允许关系在父对象中具有禁用的主键,而在子对 象中有启用的外键,反之亦然。有时这样是必要的,但是如果主键禁用,而外键启用, Oracle 会报错,反之亦然。选择以下选项,验证向导会检查这些条件,如存在则报错。取消选择这些 选项会忽略这些验证条件。 • 索引: Disabled PK With At Least One Enabled FK • 外键: Enabled FK With A Disabled PK Validation Options 选项卡选择想要对模型和数据字典执行的验证规则。 Object Selection 选项卡选择要应用规则的对象。 注释 • 要获取关于使用快速启动功能的信息,请看 保存、使用快速启动设置 。 • 如果您在 Options Editor 的 View 选项卡上选择了 SQL Validation 选项,那么每次更新视图的 SQL 脚本时,验证对话框都弹出提醒您语法错误。选择 Tools > Options > View。 • 如果您在 Options Editor 的 Repository 选项卡上选择了 View SQL Alerts 选项,那么当您把 模型签入到 Repository 中时,系统会通知您模型中存在的任何 SQL 问题。选择 Tools > Options > Repository。 自定义数据类型映射 在创建实体属性时,您可以为指指定数据类型,数据类型定义了具有长度和精度的数据如何 存储在数据库中。您想要从逻辑模型生成物理模型时,逻辑属性的数据类型转化为物理数据类型。 在逻辑类型到物理类型的转化过程中使用的目标数据类型取决于目标平台和数据类型映射的方 式。物理数据类型是与平台相关的,根据 DBMS 平台,物理数据类型会有不同。在 Datatype Mapping Editor 中可以查看系统所支持的每个平台的特定映射。您可以使用默认系统映射或创建 自定义映射。 例如, ER/Studio DA 可以根据指定的映射关系知道在生成物理模型时应该把在逻辑模型中的 CHAR 数据类型转化为字符串, C 或保持不变。从数据类型映射 ER/Studio DA 也可以获知物理数 据类型的长度和精度。 ER/Studio DA 支持许多不同的数据库平台,并为每个平台提供了标准 / 默 认数据类型映射。例如,使用针对 Oracle 10g 和 11g 的默认映射或, ER/Studio DA 会将 FLOAT 映射到 BINARY_FLOAT,但是对于 Oracle 9i, FLOAT 类型的属性默认是映射成 DOUBLE PRECISION 类型。您可以自主义的默认数据类型映射,以创建适合所需的新映射。 使用 ER/STUDIO DATA ARCHITECT > 开发逻辑模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 172 在将逻辑模型转换成物理模型时,使用 Datatype Mapping Editor,自定义数据类型映射。 1 选择 Tools > Datatype Mapping Editor。 2 从 Select Mapping 列表中选择映射,显示适用于目标平台的映射。 3 点击 New,输入映射名称,然后点击 OK。 4 按要求作出改变,然后点击 OK。 注释 • 在 Datatype Mapping Editor 中,您可以为每个逻辑数据类型改变 Physical Mapping 的值。 • 在 Datatype Mapping Editor 中,只有当您尚未定义逻辑模型中的数据类型的长度、精度或默 认时,可以改变 Is Default、 Default Length 和 Default Precision 的值。 • 通过点击 Datatype Mapping Editor 中的 Rename 按钮,可以重命名数据类型。 • 自定义的数据类型映射保存为 .xml 文件,保存在 ....Documents and Settings\All Users\Application Data\ERStudioDA_X.X\DatatypeMapping 文件夹里。 • 在 Generate Physical Model Wizard 中,数据类型映射列表列出的可供选择的映射仅限于适用 于当前物理平台的系统映射和任何基于该系统映射自定义的映射。 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 173 开发物理模型 创建数据库前,确保已安装客户端软件并使用正确的连接字符串。更多信息,请参考 连接数据 源和目标 。 如果您未在即将创建数据库的平台上安装客户端连接软件,您可先为逻辑模型生成物理模型 (见生成物理数据模型 ) ,然后将数据库平台改为目标数据库。然后使用数据库向导创建所需的 DDL。 一般情况下,逻辑数据模型代表商务信息并确立商务规则,物理数据模型代表该模型在数据库 中的物理执行。物理设计解决数据模型的技术实现,并显示数据在数据库中的存储方式。例如,用 户可以指定表中每列的数据类型,并确定表在数据库中的存储方式。 要设计最有效的数据模型,请在开发物理设计之前重点关注逻辑设计。物理数据模型的建模人 员应能够使用现有数据库创建数据模型,调整数据库模型以符合参照完整性、备用关键字和索引, 并知悉如何匹配索引与 SQL 代码。在系统的开发中,目标是创建一个有效的数据库应用程序,可 以支持您的企业部分或全部。 物理设计关注特定数据库平台的性能及调配问题。高度规范化的数据库设计经常导致性能问 题,尤其是在数据规模庞大、并发用户数量多的情况下。出现问题的原因往往是查询模式复杂、多 表连接成本高、大型表查询或修改过程 I/O 强度大。解决性能问题,应考虑以下物理设计问题: • 将逻辑模型对象转换为物理模型对象 :物理模型中的元素如何对应相应逻辑模型中的元素。 • 物理模型中优化查询性能 :如何修改逻辑设计以提高数据库操作效率。 • 创建、编辑索引 :如何创建索引以提高读取操作(查询)的效率而不影响写入操作(插入、 更新、删除)的效率。 • 物理存储考虑的问题 :如何确定数据库中表和索引的物理存储,以使效率最大化并有提高余 地。 有关 ER/Studio DA 物理数据模型对象的信息,请参考以下主题: • 创建和编辑实体和表格 • 创建和编辑属性和列 • Customizing Table DDL • 创建、编辑索引 • 定义表存储 • 创建、编辑数据库依赖对象 创建、编辑表 有关创建和编辑表的信息,请参考 • 创建和编辑实体和表格 • 创建和编辑属性和列 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 174 将逻辑模型对象转换为物理模型对象 考虑物理设计问题前,了解物理设计与相应逻辑设计的映射关系非常重要。 ER/Studio DA 由 物理设计衍生逻辑设计时,将逻辑模型对象转换成相应的物理模型对象。下表详细列举不同逻辑对 象如何转换成物理对象。了解对象之间的转换之后,用户可以更好地评估改变物理设计使之不同于 逻辑设计的影响。 下表描述逻辑模型对象及其相应的物理模型对象: 逻辑模型对象 物理模型对象 注意 实体 表 实体直接转换成表。在维度模型中,自动基于模式分析为表分配类型(事实类、 维度类、雪花类或未定义类)。 属性 列 属性直接转换成表的列。 视图 视图 视图直接在逻辑和物理模型间转换。一些数据库平台提供多余属性,适用于物理 视图定义。 关系 外键 关系在物理设计中变为外键。用户可通过外键约束或触发器实施参照完整性。 主键 唯一索引或主键 约束 用户可用唯一索引或主键约束执行主键,具体情况取决于数据库平台。 备用键 唯一索引或唯一 约束 用户可用唯一索引或唯一约束执行备用键,具体情况取决于数据库平台。 反转输入键非唯一索引用户可将反转输入转换成非唯一索引。 默认值 默认值或声明默 认值 数据字典的默认值被转换成用于 Sybase 和微软 SQL Server 的默认对象。否则, 如果选取的数据库平台支持的话,将被转换成声明默认值。 规则 规则、检查约 束、默认值 数据字典规则被转换成用于 Sybase 和微软 SQL Server 的规则对象。否则,如果 选取的数据库平台支持的话,将被转换成检查约束。 关系 外键 定义 注释 用户数据类型用户数据类型或 基本数据类型 数据字典数据类型被转换成用于 Sybase 和微软 SQL Server 的用户数据类型。否 则,将被转换为其下层基本数据类型定义。 域名 列定义 域名被转换成引用域名的每一列的基本列定义。 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 175 物理存储考虑的问题 在物理设计阶段,规划表和索引的存储是提高性能、简化数据管理任务的最佳手段。规划物理 存储时,需认真考虑表和索引的位置和尺寸。 几乎所有数据库应用的性能都受 I/O 限制。要增大 I/O 吞吐量,应物理分离频繁连接的表。此 外,应分离表与其索引。其目的是尽量使数据库读写操作并行。 数据库管理员关注的两个关键点包括自由空间管理和数据分片。如果表和索引的规模及增长 规划不当,这两个管理问题会严重影响系统可用性和性能。因此,设计物理模型时,应考虑初始扩 展块大小和逻辑分区大小。 开始时,应根据预估的行数估计每个表及其索引的大小。如果数据库允许指定初始扩展块大 小,如 Oracle 数据库,应将初始扩展块大小设置为估计的大小,以避免表增大引起数据碎片。将 多个表置于一个扩展块可以缩短数据访问时间,避免重新组织表。 确定数据库中表及索引的位置和大小之后,便可估计数据库的总体大小要求。这可避免耗尽数 据库剩余空间。 以下各节描述在支持表和索引编辑器提供的选项的特定数据库平台中,如何以最优方式通过 这些选项对表进行存储和分割。 • 定义表存储 • 将表分区 • 确定索引存储 • 分区表索引 又见 创建、编辑 StoGroup 创建、编辑表空间 定义表存储 存储参数影响数据库中数据的访问时间及数据库空间的使用效率。对于访问量很大的表,将表 放在一个位置,将其索引放在另一个位置,表和其索引应放在不同的物理磁盘阵列中。这种方法可 以提高性能,因为访问表和索引时会产生互相独立的线程。 在表编辑器中的 Storage 页签,用户可以通过选项确定表的存储方式。 在表编辑器中的 Index 页签,用户可以通过选项确定索引的存储方式。更多信息,请参考 确定 索引存储 。 此外,应考虑当表某行更新后,不再适于放置在其原先所在页面时,如何存储溢出记录。在 Oracle 8.x 和 9.x 平台中,索引组织表的表编辑器的 Overflow 页签可用。更多信息,请参考 Define Table Overflow Options。 1 在 Data Model Window 中,双击要指定存储选项的表 。 2 在 Table Editor 中,选中 Storage 页签。 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 176 3 根据需要完成 Storage 页签的选项,单击 OK,退出编辑器。 注意: 表编辑器中可用的表存储选项取决于数据库平台。 单击下列一个链接,查询数据库平台存储选项信息: • HiRDB 表存储选项 • IBM DB2 Common Server 及 IBM DB2 for LUW 表存储选项 • IBM DB2 OS/390 表存储选项 • Informix 表存储选项 • Interbase 表存储选项 • 微软 SQL Server 表存储选项 • Teradata 表存储选项 • Oracle 7 表存储选项 • Oracle 8.x、 9i、 10g 及 11g 表存储选项 • PostgreSQL 表存储选项 • Sybase 表存储选项 HiRDB 表存储选项 • FIXX:指定固定长度表,无空数据。选中此选项可以缩短表访问时间,提高性能。 • Table Storage:选择此项激活 IN 及 PARTITIONED BY 选项。选择 IN,确定表的 RD 区域。 RD 区域存储表和索引信息。选则择 PARTITIONED BY,确定分区设置,如 (RDINDX19) 10, (RDDATA10)。 • PCTFREE:(PCTFREE)指定每个数据块中为将来更新预留的空间的最大百分比。该预留空间 可避免因更新操作导致数据行长度增大而引起行迁移及行链接。将来不更新的表此项为 0。指 定 PCTFREE,格式如下: UNUSED-SPACE-PERCENTAGE (UNUSED-SPACE-PERCENTAGE, FREE-PAGES-PERCENTAGE-PER-SEGMENT) (, FREE-PAGES-PERCENTAGE-PER-SEGMENT) • Lock Mode:选择锁定模式。选择 Page,一行锁定更新时当页各行均锁定。选择 Row,仅 锁定正在更新的行。 HiRDB LOB 列存储 如果 Datatype 页签中指定的列数据类型为 BLOB,该页签可用来指定大型对象存储位置。 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 177 IBM DB2 Common Server 及 IBM DB2 for LUW 表存储选项 • Tablespace:显示存储表的表空间。可根据需要从列表中选择其它表空间。 • Index Tablespace:索引表空间显示存储表索引的表空间。可根据需要从列表中选择其它表 空间。 • LONG Tablespace:显示存储在表中的长对象( LOB, CLOB)所处的表空间的名称。可根据 需要从列表中选择其它表空间。 • Log for Replication:选择该项,用日志记录表的所有变化。通过复制可将数据从一个源表复 制到一个或多个目标表中,并将源表的变化同步到目标表。 • Not Logged Initially:选择该项,防止在创建表的同一工作单元进行登陆操作;但在后续工 作单元中对该表的其它操作都记录在日志中。 IBM DB2 OS/390 表存储选项 可用选项取决于数据库平台的版本。 • Database:显示存储表数据的数据库。可根据需要从列表中选择其它数据库。 • Tablespace:显示存储表数据的表空间。可根据需要从列表中选择其它表空间。 • Log Data Changes:选择该项,在日志中记录表数据的任何变化。 • Audit Option:选择需要的审计选项。仅记录与变化相关的活动或记录所有访问活动。 • Edit Proc:输入编辑程序名称。该编辑程序在插入或更新行时对行进行编辑或编码。该选项 通常用来对行的存储进行压缩以节省空间并加密数据。 • Valid Proc:输入验证程序名称。验证程序在插入或更新行时对数据进行验证。该选项通常用 来限制表中可输入的信息;例如,员工表中各种职位类别允许的工资范围。 • Encoding:选择该项,使能编码,然后选择所需的编码格式。 • Restrict On Drop:选则择该项,防止用户意外丢弃表(将表移出数据库),直至 RESTRICT ON DROP 属性移除。 • Volatile:选择该项,将表定义为可变表。查询表时,即使统计数据表明使用在表中定义的索 引会降低性能, DB2 优化器仍会使用该索引。该选项可防止优化器使用过期表统计数据导致 性能降低。 Informix 表存储选项 可用选项取决于数据库的版本。 • DB Space:指定存储表数据的数据库的名称。 • Lock Mode:选择锁定模式。选择 Page,一行锁定更新时当页各行均锁定。选中 Row,仅锁 定正在更新的行。 • Initial Extent:(INITEXTENT)指定表中数据块初始数量。 Informix 将保留与该表行的初始扩 展块相应的数据块。 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 178 • Next Extent:( NEXT)指定下一扩展块大小。单位: kilobyte。比照表空间中最大可用剩余 空间监控该选项的值。如果剩余空间比下一扩展块小,那么表扩展块无法分配,表无法扩展, 因此,也无法接受多余数据。 • Path Name:指定存储表数据的数据库的完整路径名称。 Interbase 表存储选项 • External File:指定存储表数据的文件。 微软 SQL Server 表存储选项 注意: 可用选项取决于数据库平台的版本。 • Segment:指定表数据的存储位置。 • File Group:指定存储表数据的文件组的名称。 • Partition Scheme:指定关联分区及其在文件组中的物理位置的分区方案的名称。 • Text Image File Group:指定存储表的文本或图像数据的文件组的名称。表中任何一列含有 图像数据类型时该选项可用。 • Partition Keys:指定分区关键字。该列指导如何对分区边界的数据进行划分。通常情况下, 分区关键字基于数据或按数字顺序排序的数据分组。 Teradata 表存储选项 • Journal Table:指定日志表的名称。格式: database_name.table_name。如果未指定数据库 名称,当前会话使用默认数据库。如果为数据库定义了默认日志表,本选项替代该默认日志 表。日志表在初始化事务前存储表的图像。如果事务成功,日志被删除;如果事务失败,日志 数据被用来回滚。 • Before Journal:指定待维护的变更前图像的数量。如果指定了关键字 JOURNAL 而不含 NO 或 DUAL,仅维护图像的一份拷贝,除非 FALLBACK 生效或同时指定。如果要求对使用后备保护的 表记录日志,将自动维护 DUAL 图像。 • After Journal:指定表待维护的后像文件的数量;表更新前,任何现有图片不受影响。 • Freespace:指定在表大量数据加载操作过程中,每个柱面剩余空间的百分比( 0-75)。该预 留空间可避免由增大数据行长度的更新操作引起的行迁移及行链接。不更新的表此项为 0。 • Datablock Size:指定含有多行的数据块的最大尺寸。如果数据块尺寸较大,在单次输入 / 输 出时会选择更多的行来增强全表扫描;较小的数据块尺寸最适于事务表,它仅获取需要的信 息而将开销降到最低。数据块的最大尺寸为 127.5 Kilobyte。 • Duplicate Row Control:指定是否允许复制行。选择 Set 拒绝复制行,选择 Multiset 允许复 制行。 • Fallback Protection:选择该项,实行软件容错,拷贝原表,创建一个复件。 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 179 Oracle 7 表存储选项 • Tablespace:指定存储表数据的表空间的名称。 • Initial Transactions:(INITTRANS)指定数据块头中初始预留空间的 DML 事务的数量。 Oracle 将控制信息存储在数据块中,指明数据块中哪些行包含已提交的更改或未提交的更改。保留的 历史的量由这个参数控制。如果过多事务短时间内同时修改同一数据块, Oracle 可能没有充足 的历史信息确定某行是否由最近的一个事务更新过。如果表中许多事务更新相同数据块,为该 选项指定更大数值。 • Max Transactions:(MAXTRANS) 一旦 INITRANS 预留的空间耗尽,系统将从任何可用剩余空 间为多余事务实体分配空间。一旦分配,被分配的空间则变成块头的永久部分。本参数限制可 同时使用数据块中数据的事务实体的数量,因此也限制可为数据块中事务实体分配的剩余空 间的大小。 • Percent Free:(PCTFREE)指定每个数据块中为将来更新预留的空间的最大百分比。该预留空 间可避免因更新操作导致数据行长度增大而引起行迁移及行链接。不更新的表此项为 0。 • Percent Used:(PCTUSED)指定在重新加入可用数据块列表前每个数据块中可用空间最大百 分比。如果执行了删除操作,且数据块中可用空间小于此值,可对数据模块进行新的插入操 作。不更新的表此值为 99。默认值为 40%,即如果数据块小于 40%,可对数据块进行插入操作。 • Initial Extent:(INITEXTENT)指定 Oracle 应预留的数据块的初始数量。 Oracle 将保留与该 表行初始扩展块相对应的数据块数量。 • Next Extent:(NEXT)指定下一扩展块大小。单位: kilobyte。比照表空间中最大可用剩余空 间监控此值。如果表无法分配下一扩展块,将无法再扩展,因此也将无法接收多余数据。 • Percent Increase:(PCTINCREASE)指定下一扩展块比前一扩展块尺寸增大的百分比。谨慎设 置此项,因为此项放大对象的增长进而实质上影响表空间中的可用剩余空间。 • Min Extents:(MINEXTENTS)指定创建段时分配的扩展块的数量。此项通过保证每个已用或 未用扩展块的大小至少等于用户设置的值,控制剩余空间分割。 • Max Extents:(MAXEXTENTS)指定 Oracle 可为物化视图分配的扩展块的最大数量。一旦达到 此限值, Oracle 防止簇进一步增长并停止接收数据。谨慎使用此限值监控已经为表分配的扩 展块的数量。 Oracle 8.x、 9i、 10g 及 11g 表存储选项 可用选项取决于所用 Oracle 的版本。 • Heap:通过物理行标识组织表。 Oracle 公司不推荐用户为堆组织表指定数据类型为 UROWID 的列。 • Cache:(CACHE)为频繁访问的数据选择此项。此项指定执行全表扫描时,为此表获取的数据块 应放在缓冲缓存中最近最少使用( LRU)列表的最近最常使用端。此属性对小型查阅表很有用。 • Index Organized:(ORGANIZATION INDEX)根据主键对数据行进行分组。如果表为索引组织 表,用户可指定溢出的处理方式。更多信息,请参考 Define Table Overflow Options。用户也 可以设置对索引进行压缩。更多信息,请参考 确定索引存储 。 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 180 • Temporary Table:(GLOBAL TEMPORARY TABLE)创建全局临时表。全局临时表的定义对所 有会话可见,但数据仅对创建它的会话可见,直至会话或事务提交完毕。数据在临时表中持续 存在,或为会话级,或为事务级,具体情况取决于 ON COMMIT 的设置。此项不可用于含有关 系的表。 • DELETE ROWS:在用户发出 Commit 语句结束事务时,删除临时表。 • DPRESERVE ROWS:保留表变化直至会话结束。 • Enable Table Compression:(COMPRESS)选中该项,使能压缩。可降低磁盘及缓冲区缓存要 求,同时提高查询性能,减少数据块使用数量,降低磁盘空间要求。该选项对数据仓库环境下 的事件表最为有用。 • Enable Row Movement:(Enable Row Movement)选中该项,允许 Oracle 改变行标识,压 缩表行,易化表重组。但此项也允许 Oracle 将行移至不连续段,引起性能问题。用户必须使 能此项才可使用 Oracle 的特性,如 ALTER TABLE SHRINK、闪回表、及表重组等。 • Tablespace:指定存储表的表空间的名称。 • No Logging:(NOLOGGING)如果不希望重做文件中记录 DLL 操作,选中此项。此项可将索 引创建及更新减少达 30%。 • Parallel:(PARALLEL)选中 Oracle 的平行查询选项,可允许并行进程对表进行扫描。用户通 过此选项可以大幅提升性能。 • Degrees:指定操作中应使用的查询服务器进程的数量。通常情况下,此选项的值是 Oracle server-1 上 CPU 的数量。 • Instances:指定并行服务器之间并行查询的分配方式。 • Pct Free:(PCTFREE)指定每个数据块中为将来更新预留的空间的最大百分比。该预留空间可 避免因更新操作导致数据行长度增大而引起行迁移及行链接。不更新的表此项为 0。 • Pct Used:(PCTUSED)指定在重新加入可用数据块列表前每个数据块中可用空间最大百分比。 如果执行了删除操作,且数据块中可用空间小于此值,可对数据模块进行新的插入操作。不更 新的表此值为 99。默认值为 40%,即如果数据块小于 40%,可对数据块进行插入操作。 • Initial Trans:(INITTRANS)指定数据块头中初始预留空间的 DML 事务的数量。 Oracle 将控 制信息存储在数据块中,以指明数据块中哪些行包含已提交的或未提交的更改。保留的历史的 量由这个参数控制。如果过多事务短时间内同时修改同一数据块, Oracle 可能没有充足的历 史信息确定某行是否由 最近的一个事务更新过。初始事务限制能够更新数据块的并发事务的 最小数量以避免动态分配事务实体的开销。如果表中许多事务更新相同数据块,为该选项指定 更大数值。 • Max Trans:(MAXTRANS)指定能够更新数据块的并发事务的最大数量以避免性能问题。一旦 INITRANS 预留的空间耗尽,系统将从任何可用剩余空间为多余事务实体分配空间。一旦分 配,被分配的空间则变成块头的永久部分。本参数限制可同时使用数据块中数据的事务实体的 数量,因此也限制可为数据块中事务实体分配的剩余空间的大小。 • Initial Extent:(INITEXTENT)指定 Oracle 应预留的数据块的初始数量。 Oracle 将保留与该 表行初始扩展块相对应的数据块数量。 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 181 • Next Extent:(NEXT)指定下一扩展块大小。单位: kilobyte。比照表空间中最大可用剩余空 间监控此值。如果表无法分配下一扩展块,将无法再扩展,因此也将无法接收多余数据。 • Pct Increase:(PCTINCREASE)指定下一扩展块比前一扩展块尺寸增大的百分比。谨慎设置此 项,因为此项会放大对象的增长,进而实质上影响表空间中的可用剩余空间。 • Min Extents:(MINEXTENT)指定创建段时分配的扩展块的数量。此项通过保证每个已用或未 用扩展块的大小至少等于用户设置的值,控制剩余空间分割。 • Max Extents:(MAXEXTENT)指定 Oracle 可为物化视图分配的扩展块的最大数。一旦达到此 限值, Oracle 防止簇进一步增长并停止接收数据。比照此限值认真监控已经为表分配的扩展 块的数量。 • Free Lists:(FREELISTS)指定应用到表的自由列表的数量。默认最小值为 1。如果存在针对 同一索引的并发进程,自由列表有助于管理数据块的分配。 INSERT 操作发生时, Oracle 用自 由列表确定要使用的数据块。 Oracle 允许为表及索引定义多个自由列表。 所有表及索引的自 由列表都应设置并发 INSERT 或 UPDATE 活动的高水位线。例如,如果任何时间某表有多达 20 个最终用户执行 INSERT 操作,那么索引应有 FREELISTS=20 个自由列表。如果此项值太低, Oracle 性能会很差。增大 FREELISTS 或 FREELIST GROUPS 的值能够缓解段头争用。 • Free List Groups:(FREELIST GROUPS)仅在用户使用 Oracle 且 Parallel Server 选项在并行 模式时可用。指定允许表拥有多个段头的自由列表组的数量。此选项允许多任务插入到索引, 因此能够缓解段头争用。此选项应设置成能够访问索引的 Oracle Parallel Server 实例的数量。 在分区对象和段头争用的情况下,可以为非 RAC 系统设置自由列表组 • Buffer Pool:(BUFFER_POOL)指定用于在内存中缓存数据块的内存结构,提供更快数据访问。 • DEFAULT 在默认缓冲池中缓存数据块。 • KEEP 在内存中保留对象,避免 I/O 冲突。 • RECYCLE 一旦内存中数据不再使用,立即清除,节省缓存空间。 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 182 Oracle LOB 段存储选项 如果在 Table Editor 的 Dataype 页签上将数据类型定义为 LOB、CLOB 或 NLOB,那么 Edit LOG Segment 选项就可用,单击可打开 LOG Segment 编辑器。下面描述 LOG Segment 编辑器中的可用选项: • Segment Name:指定存储 LOB 数据的段的名称。 • Tablespace:指定存储 LOB 数据的表空间的名称。 • Blocks Accessed at one time:( CHUNK)确定为行外 LOB 分配空间的粒度。 • Percent Space Used for New Version:(PCTVERSION)控制数据块内上一图像的存储机 制。对于 PCTVersion,默认值为 10,即为 UNDO 操作保留 10% 的 LOB 存储空间。 • Enable LOB Storage In Row:LOB 可沿其所属的行进行存储,即行存储,也可存储在 LOB 段中,即行外存储。对于行内 LOB,此项最大值为 3964byte。 • LOB Cache:(CACHE)此项用于频繁访问的数据。全表扫描时,为此列获取的块被放在缓 冲缓存中最近最少使用( LRU)列表的最近最常使用端。 • Logging:( LOGGING)如果希望重做文件中记录 DLL 操作,选中此项。此项可增加多达 30%的索创建及更新。 • Initial Extent:(INITEXTENT)指定 Oracle 应预留的数据块的初始数量。 Oracle 将保留 与该表行初始扩展块相对应的数据块数量。 • Next Extent:(NEXT)指定下一扩展块大小。单位: kilobyte。比照表空间中最大可用剩余 空间监控此值。如果表无法分配下一扩展块,将无法再扩展,因此也将无法接收多余数据。 • Pct Increase:(PCTINCREASE)指定下一扩展块比前一扩展块尺寸增大的百分比。谨慎设 置此项,因为此项放大对象的增长进而实质上影响表空间中的可用剩余空间。 • Min Extents:(MINEXTENT)指定创建段时分配的扩展块的数量。此项通过保证每个已用 或未用扩展块的大小至少等于用户设置的值,控制剩余空间分割。 • Max Extents:( MAXEXTENT)指定 Oracle 可为物化视图分配的扩展块的最大数。一旦达 到此限值, Oracle 防止簇进一步增长并停止接收数据。比照此限值认真监控已经为表分配 的扩展块的数量。 • Free Lists:(FREELISTS)指定应用到表的自由列表的数量。默认最小值为 1。如果存在 针对同一索引的并发进程,自由列表有助于管理数据块的分配。 INSERT 操作发生时, Oracle 用自由列表确定要使用的数据块。 Oracle 允许为表及索引定义多个自由列表。 所有 表及索引自由列表都应设置并发 INSERT 或 UPDATE 活动高水位线。例如,如果任何时间 某表有多达 20 个最终用户执行 INSERT 操作,那么索引应有 FREELISTS=20 个自由列表。 如果此项值太低, Oracle 性能会很差。增大 FREELISTS 或 FREELIST GROUPS 的值能够 缓解段头争用。 • Free List Groups:(FREELIST GROUPS)仅在用户使用 Oracle 且 Parallel Server 选项在 并行模式时可用。指定允许表拥有多个段头的自由列表组的数量。此选项允许多任务插入到 索引,因此能够缓解段头争用。此选项应设置成能够访问索引的 Oracle Parallel Server 实例 的数量。在分区对象和段头争用的情况下,可以为非 RAC 系统设置此项。 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 183 PostgreSQL 表存储选项 • Table Space:指定存储表数据的表空间的名称。 Sybase 表存储选项 可用选项取决于数据库平台。 • DB Space:指定存储表数据的数据库的名称。 • Segment:指定存储表的段的名称。 • Locking Scheme:指定为 DDL 事务执行的锁机制。 • ALLPAGES:锁定受查询影响的数据页和索引页。 • DATAPAGES:锁定数据页但不锁定索引页,直至事务结束。 • DATAROWS:锁定数据页上的个体行,行及页不锁定。此机制开销要求更高,但对争用较 多的小表较为有益。 • Max Rows per Page:指定每页最大行数。 • Reserve Page Gap:指定预留页隙参数。 • Identity Gap:控制重启服务器引起的 ID 数量和潜在隙的分配。创建特定大小的 ID 编号块, 缓解表争用,提高性能。覆盖整个服务器的 identity burning set factor 参数。如果 Identity Gap 设置为 1000m,服务器分配前 1000 个编号并将编号最大的数据块存到磁盘。如果 1000 个编号都被使用,服务器使用接下来的 1000 个编号。如果插入第 2050 行后断电,服务器重 启后 ID 编号从 3000 开始,出现 950 个编号的编号空隙。服务器每次都必须将数据块的最大 编号写入磁盘,这样影响性能。因此用户必须确定最佳设置,达到最佳性能并将空隙降低到可 接受的范围。 • Replacement Strategy:使用取后马上丢弃(或 MRU)替换策略。该策略将页读入缓冲区最 近最常使用( MRU)端的缓存,因此不会清除其它页。但这些页在缓存中停留时间更短,因 此后续查询时不太可能在缓存中找到这些页。 • Prefetch Strategies:为会话使能或去使能大量的 I/O。 DEFINE TABLE OVERFLOW OPTIONS Table Editor Overflow 页签指定当表某行更新后,不再适于放置在其原先所在页面时,如何存 储溢出记录。在 Oracle 8.x、 9.i、 10g 和 11g 平台中,索引组织表可使用表编辑器的溢出页签。 1 在 Data Model Window 中,双击要指定存储选项的表 。 2 在 Table Editor 中,选择 Overflow 页签。 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 184 3 根据需要完成 Overflow 页签的选项,单击 OK,退出编辑器。 Overflow 页签在 CREATE TABLE 语句中创建 ORGANIZATION INDEX 子句。 本页签指定的 任何选项都将遵守该子句。 下面描述 Overflow 页签上需要额外解释的选项。 • Tablespace:指定存储溢出数据的表空间的名称。 • No Logging:如果不希望重做文件中记录 DLL 操作,选中此项。此项可将索引制作及更新减 少达 30%。 • Pct Threshold:(PCTTHRESHOLD)指定在索引块中为索引组织表预留的空间的百分比。行中 任何超过此阈值的部分都存储在溢出段中。 • Including:( INCLUDING)选择溢出数据要包含的列。 • Pct Free:( PCTFREE)指定每个数据块中为将来更新预留的空间的最大百分比。该预留空间 可避免因更新操作导致数据行长度增大而引起行迁移及行链接。不更新的表此项为 0。 • Pct Used:(PCTUSED)指定在重新加入可用数据块列表前每个数据块中可用空间最大百分比。 如果执行了删除操作,且数据块中可用空间小于此值,可对数据模块进行新的插入操作。不更 新的表此值为 99。默认值为 40%,即如果数据块小于 40%,可对数据块进行插入操作。 • Initial Trans:(INITTRANS)指定数据块头中初始预留空间的 DML 事务的数量。 Oracle 将控 制信息存储在数据块中,指明数据块中哪些行包含已提交的更改或未提交的更改。保留的历史 的量由这个参数控制。如果过多事务短时间内同时修改同一数据块, Oracle 有充足的历史信 息确定某行是否由最近的一个事务更新过。对于许多事务更新相同数据块的索引,为该选项指 定更大数值。 • Max Trans:(MAXTRANS) 一旦 INITRANS 预留的空间耗尽,系统将从任何可用剩余空间为多余 事务实体分配空间。一旦分配,被分配的空间则变成块头的永久部分。本参数限制可同时使用 数据块中数据的事务实体的数量,因此也限制可为数据块中事务实体分配的剩余空间的大小。 • Initial Extent:(INITEXTENT)指定 Oracle 应预留的数据块的初始数量。 Oracle 将保留与该 表行初始扩展块相对应的数据块数量。 • Next Extent:( NEXT)指定下一扩展块大小。单位: kilobyte。比照表空间中最大可用剩余 空间监控此值。如果表无法分配下一扩展块,将无法再扩展,因此也将无法接收多余数据。 • Pct Increase:(PCTINCREASE)指定下一扩展块比前一扩展块尺寸增大的百分比。谨慎设置 此项,因为此项放大对象的增长进而实质上影响表空间中的可用剩余空间。 • Min Extents:(MINEXTENTS)指定创建段时分配的扩展块的数量。此项通过保证每个已用或 未用扩展块的大小至少等于用户设置的值,控制剩余空间分割。 • Max Extents:( MAXEXTENTS)指定 Oracle 可为索引分配的扩展块的最大数。一旦达到此限 值, Oracle 防止簇进一步增长并停止接收数据。比照此限值认真监控已经为索引分配的扩展 块的数量。 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 185 • Free Lists:(FREELISTS)指定应用到索引的自由列表的数量。默认最小值为 1。如果存在针 对同一索引的并发进程,自由列表有助于管理数据块的分配。 INSERT 操作发生时, Oracle 用 自由列表确定要使用的数据块。 Oracle 允许为表及索引定义多个自由列表。 所有表及索引自 由列表都应设置 INSERT 或 UPDATE 活动高水位线。例如,如果任何时间某表有多达 20 个最 终用户执行 INSERT操作, 那么索引应 有FREELISTS=20个自由列表。如果此项值太低, Oracle 性能会很差。增大 FREELISTS 或 FREELIST_GROUPS 的值能够缓解段头争用。 • Free List Groups:(FREELIST GROUPS)仅在用户使用 Oracle 且 Parallel Server 选项在并行 模式时可用。指定允许索引拥有多个段头的自由列表组的数量。此选项允许多任务插入到索 引,因此能够缓解段头争用。此选项应设置成能够访问索引的 Oracle Parallel Server 实例的数 量。在分区对象和段头争用的情况下,可以为非 RAC 系统设置此项。 • Buffer Pool:(BUFFER_POOL)指定用于在内存中缓存数据块的内存结构,提供更快数据访问。 • DEFAULT:在默认缓冲池中缓存数据块。 • KEEP:在内存中保留对象,避免 I/O 冲突。 • RECYCLE:一旦内存中数据块不再使用,立即清除,节省缓存空间。 将表分区 几乎所有数据库应用的性能都受 I/O 限制。要增大 I/O 吞吐量,应物理分离频繁连接的表。此 外,应分离表与其索引。其目的是尽量使数据库读写操作并行。 1 在 Data Model Window 中,双击要分区的表 。 2 在 Table Editor 中,单击 Partitions 页签,选中要指定存储选项的索引。 3 根据需要完成 Partitions 选项。单击 Add 启动 Table Partition Editor。 根据需要完成 Table Partition Editor 选项。单击 OK 退出编辑器。单击 OK 退出 Table Editor。 注意: Partitions 页签及 Table Partition Editor 上可用的索引存储选项取决于数据库平台及其 版本。 下面描述需要额外解释的选项。单击下列一个链接,查询用户数据库平台可用的存储选项 信息: • Sybase 的表分区选项 • Oracle 8.x 及 9i 的表分区选项 • IBM DB2 for OS/390 8.x 及 9.x 的表分区选项 • IBM DB2 for LUW 9.x 的表分区选项 • 为 IBM DB2 for LUW 9.x 分布列 • IBM DB2 for LUW 5.x、 6.x、 7.x 及 8.x 表分区列 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 186 Sybase 的表分区选项 • Partition Table:(PARTITION num)如果需要对表进行分区,选中此项,然后输入分区数量。 Oracle 8.x 及 9i 的表分区选项 • Type:选择分区类型。 • Composite:在不同关键字上选择 hash partition-range partition。选中此项后,单击 Subpartition Type 指定子分区。分区越多,并行的可能性越大,争用越少。例如,下列 范围对 invoiceDate 上的表进行分区,并通过 invoiceNo 创建了 16 个子分区。 CREATE TABLE invoices (invoice_no NUMBER NOT NULL, invoice_date DATE NOT NULL) PARTITION BY RANGE (invoiceDate) SUBPARTITION BY HASH (invoiceNo) SUBPARTITIONS 4 (PARTITION invoices_Q1 VALUES LESS THAN (TO_DATE('01/04/2007', 'DD/MM/YYYY')), (PARTITION invoices_Q1 VALUES LESS THAN (TO_DATE('01/04/2007', 'DD/MM/YYYY')), (PARTITION invoices_Q1 VALUES LESS THAN (TO_DATE('01/04/2007', 'DD/MM/YYYY')), (PARTITION invoices_Q1 VALUES LESS THAN (TO_DATE('01/04/2007', 'DD/MM/YYYY')), • Range:(PARTITION BY RANGE (column_name))选中此项将不同范围的数据存储在一起, 如日期。如此一来,搜索时仅搜索数据年龄正确的分区。此外,一旦历史数据不再使用,整 个分区可被移除。 • Hash:(PARTITION BY HASH (column_name) PARTITIONS count STORE IN tablespace) 如果没有明显范围键或范围分区可能造成数据不平衡分布时选择此项。 • List:(PARTITION BY LIST)选择此项控制行与分区的映射方式。为每个分区描述信息中 的分区键指定一个离散值列表。 • Subpartition Type 按钮:启动 Subpartition Type Editor 让用户指定子分区中使用的列。对于 HASH子分区, 可以指定子分区的数量及存储位置。 对于LIST子分区, 可以指定要包含的子分区。 • Available Columns:显示可加入到分区的列。 • Selected Columns:显示构成分区键的列。此项指导如何对分区边界的数据进行划分。通常 情况下,分区键基于数据或按数字顺序排序的数据分组。用左箭头和右箭头将列移至或移出此 网格。此网格中的列构成分区。 • Up/Down 按钮:用户可重新对分区中的列进行排序。分区顺序影响访问速度。最常访问的列 应位于分区列表顶部。 • Add:单击添加表分区。单击后,启用 Oracle 8.x 及 9i 的表分区编辑器 。 • Edit:选中一个分区,单击可对其进行修改。单击后,启用 Oracle 8.x 及 9i 的表分区编辑器 。 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 187 Oracle 8.x 及 9i 的表分区编辑器 • Max Value:( VALUES LESS THAN (MAXVALUE))选择此项对所有超过设置的范围的值创 建获取全部分区。否则,为该分区范围指定 High Value。 • High Value:( VALUES LESS THAN(high value))指定分区范围的终止值。 • Tablespace:指定存储表的表空间的名称。 • No Logging:如果不希望重做文件中记录 DLL 操作,选中此项。此项可将索引制作及更 新减少达 30%。 • Pct Free:(PCTFREE)指定每个数据块中为将来更新预留的空间的最大百分比。该预留空 间可避免因更新操作导致数据行长度增大而引起行迁移及行链接。不更新的表此项为 0。 • Pct Used:(PCTUSED)指定在重新加入可用数据块列表前每个数据块中可用空间最大百分 比。如果执行了删除操作,且数据块中可用空间小于此值,可对数据模块进行新的插入操 作。不更新的表此值为 99。默认值为 40%,即如果数据块小于 40%,可对数据块进行插入 操作。 • Initial Trans:(INITTRANS)指定数据块头中初始预留空间的 DML 事务的数量。 Oracle 将 控制信息存储在数据块中,指明数据块中哪些行包含已提交的更改或未提交的更改。保留的 历史的量由这个参数控制。如果过多事务短时间内同时修改同一数据块, Oracle 可能没有 充足的历史信息确定某行是否由最近的一个事务更新过。对于许多事务更新相同数据块的 索引,为该选项指定更大数值。 • Max Trans:(MAXTRANS) 一旦 INITRANS 预留的空间耗尽,系统将从任何可用剩余空间为 多余事务实体分配空间。一旦分配,被分配的空间则变成块头的永久部分。本参数限制可同 时使用数据块中数据的事务实体的数量,因此也限制可为数据块中事务实体分配的剩余空 间的大小。 • Edit Subpartition 按钮:开启 Subpartion Editor,用户可指定对分区进行子分区的方式及 子分区的存储位置。 • Initial Extent:(INITEXTENT)指定 Oracle 应预留的数据块的初始数量。 Oracle 将保留与 该表行初始扩展块相对应的数据块数量。 • Next Extent:(NEXT)指定下一扩展块大小。单位: kilobyte。比照表空间中最大可用剩余空 间监控此值。如果表无法分配下一扩展块,将无法再扩展,因此也将无法接收多余数据。 • Pct Increase:( PCTINCREASE)指定下一扩展块比前一扩展块尺寸增大的百分比。谨慎设 置此项,因为此项会放大对象的增长,从而实质上影响表空间中的可用剩余空间。 • Min Extents:(MINEXTENTS)指定创建段时分配的扩展块的数量。此项通过保证每个已用 或未用扩展块的大小至少等于用户设置的值,控制剩余空间分割。 • Max Extents:( MAXEXTENTS)指定 Oracle 可为索引分配的扩展块的最大数。一旦达到此 限值, Oracle 防止簇进一步增长并停止接收数据。比照此限值认真监控已经为索引分配的 扩展块的数量。 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 188 • Free Lists:(FREELISTS)指定应用到索引的自由列表的数量。默认最小值为 1。如果存在 针对同一索引的并发进程, 自由列表有助于管理数据块的分配。 INSERT操作发生时, Oracle 用自由列表确定要使用的数据块。 Oracle 允许为表及索引定义多个自由列表。 所有表及索 引自由列表都应设置并行 INSERT 或 UPDATE 活动高水位线。例如,如果任何时间某表有多 达 20 个最终用户执行 INSERT 操作,那么索引应 有 FREELISTS=20 个自由列表。如果此项 值太低, Oracle性能会很差。增大 FREELISTS或FREELIST_GROUPS的值能够缓解段头争用。 • Free List Groups:(FREELIST GROUPS)仅在用户使用 Oracle 且 Parallel Server 选项在并 行模式时可用。指定允许索引拥有多个段头的自由列表组的数量。此选项允许多任务插入到 索引,因此能够缓解段头争用。此选项应设置成能够访问索引的 Oracle Parallel Server 实例 的数量。在分区对象和段头争用的情况下,可以为非 RAC 系统设置自由列表组。 • Buffer Pool:(BUFFER_POOL)指定用于在内存中缓存数据块的内存结构,提供更快数据访 问。 DEFAULT:在默认缓冲池中缓存数据块。 KEEP:在内存中保留对象,避免 I/O 冲突。 RECYCLE:一旦内存中数据块不再使用,立即清除,节省缓存空间。 IBM DB2 for OS/390 8.x 及 9.x 的表分区选项 • Available Columns:显示可加入到分区的列。 • Selected Columns:显示构成分区键的列。此项指导如何对分区边界的数据进行划分。通常 情况下,分区键基于数据或按数字顺序排序的数据分组。用左箭头和右箭头将列移至或移出此 网格。此网格中的列构成分区。 • Up/Down 按钮:用户可重新对分区中的列进行排序。分区顺序影响访问速度。最常访问的列 应位于分区列表顶部。 • Add:单击添加表分区。单击后,启用 IBM DB2 for OS/390 8.x 及 9.x 的表分区编辑器选项 。 • Edit:选中一个分区,单击 Edit 对其进行修改。单击后,启用 IBM DB2 for OS/390 8.x 及 9.x 的表分区编辑器选项 。 IBM DB2 for OS/390 8.x 及 9.x 的表分区编辑器选项 • Partitions:显示现有分区。如果使用不止一个列创建分区,分区键(列)的终止值位于 Ending At 列中,其顺序与分区定义中的列的顺序一致。用户可以选择分区,然后改变 Partition Definition 区域的 High Values 来改变分区定义。 • Partition Definition:定义每个分区键的高值。必须为每个所列的分区键输入高值。 • Inclusive:如果选择此项,则包括分区中的高值;否则,分区在达到高值前结束。 IBM DB2 for LUW 9.x 的表分区选项 • Available Columns:显示可加入到分区的列。 • Selected Columns:显示构成分区键的列。该选项指导如何对分区边界的数据进行划分。通 常情况下,分区键基于数据或按数字顺序排序的数据分组。用左箭头和右箭头将列移至或移出 此网格。此网格中的列构成分区。 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 189 • Up/Down 按钮:用户可重新对分区中的列进行排序。分区顺序影响访问速度。最常访问的列 应位于分区列表顶部。 • Add:单击添加表分区。单击后,启用 IBM DB2 for LUW 9.x 的表分编辑器 。 • Edit:选中一个分区,单击 Edit 对其进行修改。单击后,启用 IBM DB2 for LUW 9.x 的表分 编辑器 。 IBM DB2 for LUW 9.x 的表分编辑器 允许用户创建类似以下语句的 PARTITION BY RANGE 语句: CREATE TABLE orders (id INT, shipdate DATE, ...) PARTITION BY RANGE(shipdate) ( STARTING '1/1/2006' ENDING '12/31/2006' EVERY 3 MONTHS ) • Partitions:显示现有分区。如果使用不止一个列创建分区,分区键(列)的终止值位于 End Value 列中,其顺序与分区定义中的列的顺序一致。用户可以选择分区,然后改变 Partition Definition 区域的 Start Value 来改变分区定义。 • Name:允许用户定义分区名称。自动创建多个分区时不使用该项。使用 Range Width 和 Duration Label 字段创建范围分区语句,例如 EVERY 3 MONTHS。 • Column Name:显示在 Partitions 页签中选中的作为分区一部分的列的名称。 • Start Value:允许用户指定分区中包含的最早日期或时间,或最小整数。在分区语句中,起 始值是 STARTING FROM 的值。 日期字符串的格式可为下列任意一种: • yyyy-mm-dd • mm/dd/yyyy • dd.mm.yyyy 时间戳字符串格式如下: • yyyy-mm-dd hh.mm.ss.nnnnnn • yyyy-mm-dd-hh.mm.ss.nnnnnn 也可从列表中选择 MINVALUE 或 MAXVALUE,此两项的值取决于数据类型。先指定 Start Value, 然后指定 End Value。 • Start Value Inclusive:选择此项将起始值包括在分区中。插入的关键字为 INCLUSIVE IN。 如不选择,分区开始于比指定的起始值稍大的值,插入的关键字为 EXCLUSIVE IN。 • End Value:允许用户指定分区中包含的最晚日期或时间,或最大整数。如果是日期分区表, 此值为 ENDING 值。关于可接受的日期及时间戳字符串的格式,参见上文 Start Value。 • End Value Inclusive:选择此项将指定的终止值包括在分区中。插入的关键字为 INCLUSIVE IN。如不选择,分区结束于比指定的起始值稍大的日期 / 时间或整数的值,插入的关键字为 EXCLUSIVE IN。 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 190 • Range Width:使用 Range Width 及 Duration Label 自动创建多个分区。 Range Width 指对表 进行分区时使用的日期、时间或整数。例如,在 EVERY 3 MONTHS 子句中, Range Width 为 3。 • Duration Label:从列表中选择对表进行分区时使用的度量单位。在 EVERY 3 MONTHS 子句 中, Duration Label 为 MONTHS。对于整数分区表, Duration Label 选为( none)。 • Tablespace:指定存储分区的表空间。 • LONG IN:允许用户指定存储长整型数据的大型表空间。大对象默认与相应的数据对象存储 在相同表空间内,无论分区表使用一个或多个表空间。 LONG IN 子句覆盖默认行为,使长数据 存储在指定表空间内,提高数据库性能。 为 IBM DB2 for LUW 9.x 分布列 本页签允许用户创建 DISTIBUTE BY... 语句,指定在单一表空间内,表应跨数据库分区分布。 • Available Columns:显示可加入到分区的所有列。选择需要加入到分区的表,将其移至 Selected Columns 框。 • Selected Columns:显示构成分区键的列。此项指导如何对分区边界的数据进行划分。通常 情况下,分区键基于日期或按数字顺序排序的数据分组。用左箭头和右箭头将列移至或移出此 网格。此网格中的列构成分区。 • Up/Down 按钮:用户可重新对分区中的列进行排序。分区顺序影响访问速度。最常访问的列 应位于分区列表顶部。 • By Hash:如果选择此项, ER/Studio DA 根据哈希函数对表进行分区,加速表查找或数据对 比任务。 完成此页签后,会产生类似以下代码的 SQL 代码: CREATE TABLE Entity1( PK1 CHAR(10) NOT NULL, A1 CHAR(10), A2 CHAR(10), CONSTRAINT PK1 PRIMARY KEY (PK1) ) DISTRIBUTE BY HASH (PK1,A1) 如果列的数据类型为 LONG VARCHAR、 LONG VAR GRAPHIC、 BOOB、 CLOB、 DATALINK、XML、基于前面任一类型的明晰类型、或结构化类型,该列不能用作分布键的一 部分。可用列仅限于对所有现有 PK 或唯一约束常见的列。 IBM DB2 for LUW 5.x、 6.x、 7.x 及 8.x 表分区列 • Available Columns:显示可加入到分区的列。选择需要加入到分区的表,将其移至 Selected Columns 框。 • Selected Columns:显示构成分区键的列。此项指导如何对分区边界的数据进行划分。通常 情况下,分区键基于数据或按数字顺序排序的数据分组。用左箭头和右箭头将列移至或移出此 网格。此网格中的列构成分区。 • Up/Down 按钮:用户可重新对分区中的列进行排序。分区顺序影响访问速度。最常访问的列 应位于分区列表顶部。 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 191 • Use Hashing:如果选择此项, ER/Studio DA 根据哈希函数对表进行分区,加速表查找或数 据对比任务。 确定索引存储 存储参数影响数据库中数据的访问时间及数据库空间的使用效率。对于访问量很大的表,将表 放在一个位置,将其索引放在另一个位置,表和其索引应放在不同的物理磁盘阵列中。这种方法可 以提高性能,因为访问表和索引时会产生互相独立的线程。 在索引编辑器中的索引页签,用户可以通过选项确定表存储方式。 1 在 Data Model Window 中,双击要指定索引存储选项的表 。 2 在 Table Editor 中,单击 Indexes 页签,选中要指定存储选项的索引,单击 Edit。 索引编辑器的可用选项取决于数据库平台及其版本。 3 根据需要完成 Index Editor 选项。单击 OK 退出 Index Editor。再单击 OK 退出 Table Editor。 单击下列一个链接,查询用户数据库平台可用的存储选项信息: • Hitachi HiRDB 索引存储选项 • IBM DB2 for OS/390 索引存储选项 • Informix 索引存储选项 • Interbase 索引存储选项 • Microsoft SQL Server 索引存储选项 • Oracle 7.x 索引存储选项 •Oracle 8.x、 9i、 10g 及 11g 的索引存储选项,请参考 Properties 页签 • Postgre SQL 索引存储选项 • Sybase SQL Anywhere 索引存储选项 • Sybase System 10、 ASE 10、 11 索引存储选项 Hitachi HiRDB 索引存储选项 • Index Storage:(ON)指定索引存储位置。 • PCTFREE:(PCTFREE)指定每个数据块中为将来更新预留的空间的最大百分比。该预留空间 可避免因更新操作导致数据行长度增大而引起行迁移及行链接。不更新的表此项为 0。 • Unbalanced Split:(UNBALANCED SPLIT)选择此项,索引页可拆分,以保持索引树平衡、提 高性能。 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 192 IBM DB2 for OS/390 索引存储选项 IBM DB2 for OS/390 的存储选项在平台的索引编辑器的 Options 页签。更多信息,请参 考 IBM DB2 for OS/390 索引选项。 Informix 索引存储选项 • Fill Factor:(FILLFACTOR)指定索引页充满的百分比或程度。此项的值较低时,索引有增长 空间。值较高时压缩索引。如果索引已满( 100%),任何新的插入操作都会导致节点分裂。 Interbase 索引存储选项 • External File:指定索引存储位置。 Microsoft SQL Server 索引存储选项 注意: 可用选项取决于数据库的版本。 • Segment:( ON)指定索引存储位置。 • File Group:( ON)指定索引存储位置。 • Fill Factor:(FILLFACTOR)指定索引页充满的百分比或程度。此项的值较低时,索引有增长 空间。值较高时压缩索引。如果索引已满( 100%),任何新的插入操作都会导致节点分裂。 • Pad Index:(PAD_INDEX)指定中间级索引中每页预留可用空间的量。如果不使用 PAD_INDEX,默认情况下,每个中间级索引页仅留出足够空间,使之至少能够容纳索引的最 大的一行.对于索引更新量大的表来说,会导致中间级索引页经常分裂,带来不必要的开 销。为防止中间级索引页分裂,应设置 FILLFACTOR和PAD_INDEX选项。 PAD_INDEX选项使用 FILLFACTOR并将其应用到中间级索引页。例如,如果 FILLFACTOR设置为80, PAD_INDEX 将使用该值,即仅填满 80%的中间级索引页空间,而不是仅留出能容纳一行的空间。 • Sort In Tempdb:(SORT_IN_TEMPDB)指定使用 tempdb 存储用于创建索引的中间排序结 果。尽管这会增加用于创建索引的临时磁盘空间的量,但当 tempdb 与用户使用的数据库不在 同一组磁盘上时,会减少创建或重新创建索引的时间。 • Partition Keys:选择对索引进行分区时使用的键。对索引进行分区可大幅缩短查询时间和加 载时间,提高索引可维护性。 Oracle 7.x 索引存储选项 • Tablespace:(TABLESPACE)指定存储索引的表空间的名称。 • Initial Transactions:( INITTRANS)指定数据块头中初始预留空间的 DML 事务的数量。 Oracle 将控制信息存储在数据块中,指明数据块中哪些行包含已提交的更改或未提交的更 改。保留的历史的量由这个参数控制。如果过多事务短时间内同时修改同一数据块, Oracle 有充足的历史信息确定某行是否由最近的一个事务更新过。对于许多事务更新相同数据块的 索引,为该选项指定更大数值。 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 193 • Max Transactions:( MAXTRANS) 一旦 INITRANS 预留的空间耗尽,系统将从任何可用剩余 空间为多余事务实体分配空间。一旦分配,被分配的空间则变成块头的永久部分。本参数限制 可同时使用数据块中数据的事务实体的数量,因此,也限制可为数据块中事务记录分配的自由 空间数量。 • Percent Free:(PCTFREE)指定每个数据块中为将来更新预留的空间的最大百分比。该预留 空间可避免因更新操作导致数据行长度增大而引起行迁移及行链接。不更新的表此项为 0。 • Initial Extent:(INITEXTENT)指定 Oracle 应预留的数据块的初始数量。 Oracle 将保留与该 表行初始扩展块相对应的数据块数量。 • Next Extent:( NEXT)指定下一扩展块大小。单位: kilobyte。比照表空间中最大可用剩余 空间监控此值。如果表无法分配下一扩展块,将无法再扩展,因此也将无法接收多余数据。 • Percent Increase:( PCTINCREASE)指定下一扩展块比前一扩展块尺寸增大的百分比。谨慎 设置此项,因为此项放大对象的增长进而实质上影响表空间中的可用剩余空间。 • Min Extents:(MINEXTENTS)指定创建段时分配的扩展块的数量。此项通过保证每个已用或 未用扩展块的大小至少等于用户设置的值,控制剩余空间分割。 • Max Extents:(STORAGE (MAXEXTENTS))指定 Oracle 可为索引分配的扩展块的最大数。一 旦达到此限值, Oracle 防止簇进一步增长并停止接收数据。比照此限值认真监控已经为索引 分配的扩展块的数量。 Postgre SQL 索引存储选项 • Tablespace:(TABLESPACE)指定存储索引的表空间的名称。 Sybase SQL Anywhere 索引存储选项 • DB Space:( IN)指定索引存储位置。 Sybase System 10、 ASE 10、 11 索引存储选项 • Segment:( ON)指定索引存储位置。 • Max Rows per Page:( MAX_ROWS_PER_PAGE)指定每页最大行数。此选项限制每页允许的 最大行数,能够减少锁定争用,提高频繁访问的表的并发性能。默认值为 0,即创建填满的数 据页的聚簇索引、填满的叶页的非聚簇索引,同时在聚簇和非聚簇索引中的 B-tree 索引中保 留一个合适的空间数量。 堆表和聚簇索的 MAX_ROWS_PER_PAGE 的范围是 0 ~ 256。非聚簇索引的 MAX_ROWS_PER_PAGE 的最大值是适合叶页的索引行数,不超过 256。确定最大值时应从页容量中减去 32 (页头大 小),然后将差值除以索引键大小。 • Fill Factor:(FILLFACTOR)指定索引页充满的百分比或程度。此项的值较低时,索引有增长 空间。值较高时压缩索引。如果索引已满( 100%),任何新的插入操作都会导致节点分裂。 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 194 分区表索引 支持该特性的数据库平台上,对索引进行分区后能够仅访问相关分区,大幅缩短查询时间。已 分区的索引可高效维护。由于分区独立,因此维护一个分区不会影响其它分区的可用性。 用户可通过 Table Editor > Index 页签访问索引分区编辑器,根据需要分区索引并添加新的分 区。索引分区编辑器中的可用选项取决于所选的数据库平台。用户可点击下列任一链接,查询自身 数据库的选项: • IBM DB2 for OS/390 索引分区选项 • Oracle 8.x、 9i、 10g 及 11g 索引分区选项 IBM DB2 for OS/390 索引分区选项 注意: 在 IBM DB2 for OS/390 中, Options 页签的 Cluster 选项必须选中,以使能 Partitions 页签上的分区选项。在 Partitions 页签上单击 Add,启用索引分区编辑器。 • High Value:允许用户指定本分区的列的最大值。超过该值的实体不会包含在此分区内。 • Vcat:( VCAT)如果选择此项,将会为通过虚拟目录( VCAT)管理的数据集上的索引分配空 间。该目录的名称紧邻此选项指定。用户管理索引所需的数据集。 VCAT 方法一般用于定义系 统目录。要求在索引空间分配之前预定义 VSAM 数据集。 • StoGRoup:(STOGROUP)如果选择此项, DB2 管理的数据集中的索引将会存储在已命名的存 储组中。 Stogroup 定义的索引空间让 DB2 为用户完成所有 VSAM 分配工作。如果已经为数据 模型创建了一个 Stogroup,用户可使用 Stogroup Editor (参见创建、编辑 StoGroup)从列 表中选择该 Stogroup。如果选择 Stogroup,用户也可以设定 PRIQTY 和 SECQTY 的值。为防 止非分区索引浪费空间,不应设定 PRIQTY 和 SECQTY 的值,而应让 DB2 管理为索引分配的主 空间与次空间。 • PriQty:( PRIQTY)指定为索引初始配置的磁盘空间的最小值,单位: kilobyte。主分配空间 应足以满足预期的存储需求。 • SecQty:(SECQTY)指定主分配空间已满时为索引分配的磁盘空间的大小,单位: kilobyte。 如果次空间太小,数据集可能需要扩展多次以满足需要较大空间的活动。 默认值- 1 表示 DB2 应确定次空间的大小,一般是主空间的 10%。 • Percent Free:(PCTFREE)指定每个数据块中为将来更新预留的空间的最大百分比。该预留 空间可避免因更新操作导致数据行长度增大而引起行迁移及行链接。不更新的表此项为 0。 • Free Page:(FREEPAGE)指定创建索引项时多久留出一个空闲空间页。为此处指定的每个页 数留出了一个空闲页,范围在 0 ~ 255 之间。 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 195 • GBP Cache:( GPBCACHE)在数据共享环境中,指定写入组缓冲池的索引页。在非数据共享 环境中忽略此项,除非索引在声明临时表中。 • Changed:将更新的页写入组缓冲池。 • All:所有页面从 DASD 读入后缓存到组缓冲池中。 • None:缓冲池仅用于交叉废除。 Oracle 8.x、 9i、 10g 及 11g 索引分区选项 索引编辑器上的 Partition 页签的可用选项取决于数据库平台的版本。 • Type:选择分区类型。 • Range:( PARTITION BY RANGE (column_name))选中此项将不同范围的数据存储在一 起,如日期。如此一来,搜索时仅搜索数据年龄正确的分区。此外,一旦历史数据不再使 用,整个分区可被移除。 • Hash:( PARTITION BY HASH (column_name) PARTITIONS count STORE IN tablespace)如果没有明显范围键或范围分区可能造成数据不平衡分布时选择此项。如果 选择此项, Partition Count 选项可用。 • Partition Count:单击启用 Hash Partition Editor,指定子分区的数量及存储位置。 • Available Columns:显示可加入到分区的列。 • Selected Columns:显示构成分区键的列。该选项指导如何对分区边界的数据进行划分。通 常情况下,分区键基于日期或按数字顺序排序的数据分组。用左箭头和右箭头将列移至或移出 此网格。 • Up/Down 按钮:用户可重新对分区中的列进行排序。分区顺序影响访问速度。最常访问的列 应位于分区列表顶部。 • Index Scope:允许用户指定要创建的索引分区的类型。 • Local:(LOCAL)分区中的所有索引项对应一个表分区(等同分区) 。支持分区独立,提高 查询效率。 • Global:( GLOBAL)分区中的索引可对应多个表分区。不支持分区独立,必须根据范围分 区。如果指定此项,必须指定分区范围。 • Add:单击启用索引分区编辑器,添加表分区。更多信息,请参考 Oracle 8.x、9i、10g及11g 索引分区编辑器选项 。 • Edit:单击启用索引分区编辑器,添加表分区。更多信息,请参考 Oracle 8.x、9i、10g及11g 索引分区编辑器选项 。 Oracle 8.x、 9i、 10g 及 11g 索引分区编辑器选项 • Max Value:(VALUES LESS THAN (MAXVALUE))选择此项对所有超过设置的范围的值创建 获取全部分区。否则,为该分区范围指定 High Value。 • High Value:( VALUES LESS THAN (high value))指定分区范围的终止值。 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 196 • Pct Free:( PCTFREE)指定每个数据块中为将来更新预留的空间的最大百分比。该预留空间 可避免因更新操作导致数据行长度增大而引起行迁移及行链接。不更新的表此项为 0。 • Initial:(INITTRANS)指定数据块头中初始预留空间的 DML 事务的数量。 Oracle 将控制信息 存储在数据块中,指明数据块中哪些行包含已提交的更改或未提交的更改。保留的历史的量由 这个参数控制。如果过多事务短时间内同时修改同一数据块, Oracle 有充足的历史信息确定 某行是否由最近的一个事务更新过。对于许多事务更新相同数据块的索引,为该选项指定更大 数值。 • Max Trans:(MAXTRANS) 一旦INITRANS预留的空间耗尽,系统将从任何可用剩余空间为多余 事务实体分配空间。一旦分配,被分配的空间则变成块头的永久部分。本参数限制可同时使用 数据块中数据的事务实体的数量,因此也限制可为数据块中事务实体分配的剩余空间的大小。 • Initial Extent:(INITEXTENT)指定 Oracle 应预留的数据块的初始数量。 Oracle 将保留与该 表行初始扩展块相对应的数据块数量。 • Next Extent:( NEXT)指定下一扩展块大小。单位: kilobyte。比照表空间中最大可用剩余 空间监控此值。如果表无法分配下一扩展块,将无法再扩展,因此也将无法接收多余数据。 • Pct Increase:(PCTINCREASE)指定下一扩展块比前一扩展块尺寸增大的百分比。谨慎设置 此项,因为此项放大对象的增长进而实质上影响表空间中的可用剩余空间。 • Min Extents:(MINEXTENTS)指定创建段时分配的扩展块的数量。此项通过保证每个已用或 未用扩展块的大小至少等于用户设置的值,控制剩余空间分割。 • Max Extents:( MAXEXTENTS)指定 Oracle 可为索引分配的扩展块的最大数。一旦达到此限 值, Oracle 防止簇进一步增长并停止接收数据。比照此限值认真监控已经为索引分配的扩展 块的数量。 • Free Lists:(FREELISTS)指定应用到索引的自由列表的数量。默认最小值为 1。如果存在针 对同一索引的并发进程,自由列表有助于管理数据块的分配。 INSERT 操作发生时, Oracle 用 自由列表确定要使用的数据块。 Oracle 允许为表及索引定义多个自由列表。 所有表及索引自 由列表都应设置为 INSERT 或 UPDATE 活动高水位线。例如,如果任何时间某表有多达 20 个 最终用户执行 INSERT 操作,那么索引应 有 FREELISTS=20 个自由列表。如果此项值太低, Oracle 性能会很差。增大 FREELISTS 或 FREELIST_GROUPS 的值能够缓解段头争用。 • Free List Groups:(FREELIST GROUPS)仅在用户使用 Oracle 且 Parallel Server 选项在并行 模式时可用。指定允许索引拥有多个段头的自由列表组的数量。此选项允许多任务插入到索 引,因此能够缓解段头争用。此选项应设置成能够访问索引的 Oracle Parallel Server 实例的数 量。在分区对象和段头争用的情况下,可以为非 RAC 系统 freelist_groups。 • Buffer Pool:(BUFFER_POOL)指定用于在内存中缓存数据块的内存结构,提供更快数据访问。 • DEFAULT 在默认缓冲池中缓存数据块。 • KEEP 在内存中保留对象,避免 I/O 冲突。 • RECYCLE 一旦内存中数据不再使用,立即清除,节省缓存空间。 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 197 CUSTOMIZING TABLE DDL 表编辑器中选择的选项决定 CREATE TABLE 和 CREATE INDEX 语句中使用的子句。 DDL 页签 上的选项能让用户更多地控制创建的 DDL。 1 双击一个表,启用 表编辑器 。 2 单击 DDL 页签,然后单击 Customize。 注意: 如果 DDL 没有显示预期的选项,原因可能是 DDL Tab Options 对话框中相关选项没有 选中。 下面描述需要额外解释的选项: • Enclose names in quotes/brackets:为避免对象名称冲突,可将所有名称或仅与关键字冲突 的名称放在括号或引号内。如果数据库平台支持括号或引号中的对象名称,这些选项在 DDL Generation Wizard 及 DDL Tab Options 中的 General Options 中可用。如果选择 Enclose Names That Conflict with Keywords,那么任何含有 SQL 关键字的列名称都会自动放入括号。 创建、编辑索引 索引是一系列按顺序排列的指向基表中行的指针。每个索引都基于一个或多个表列中的数据 的值。索引是与表中数据分离的对象。索引创建之后,数据库会自动对其进行维护。索引用于提高 性能;大多数情况下,有索引时访问数据速度更快。尽管不能为视图创建索引,但为表创建的索引 能够提高基于表的会话中的所有操作的性能。索引也用于保证唯一性;拥有唯一索引的表中的行 不能有相同的键。如果检查了 Unique 或选中 UNIQUE,每行必须有一个唯一的索引值。如果 Unique 检查处于挂起状态,或选中 NONUNIQUE,每行可有重复索引值。 Oracle 提供第三个选项,即 BITMAP。这种类型的索引常用于数据仓库和其它数据量和即席查询量大的环境,但并发 DML 事务 少。 DB2:Allow Reverse 索引提供一种高效定位数据的机制,提高性能。索引就像图书馆的卡片目录一样:借书人不用 为一本书而找遍每个书架,而在卡片目录中找到这本书的参考信息并据此找到书的具体位置。逻辑 索引存储指向数据的指针,因此不必要查询所有潜在数据。 所有是提高查询性能的最重要的机制之一。但是,不恰当使用索引会影响性能。必须确定表中 存放的索引的最优数量、索引类型及位置,最大限度提高查询效率。 优化索引时需考虑以下规则: • Index Number 尽管索引能够提高读取(查询)性能,但也会降低写入(插入、更新及删除) 性能。这是因为只要数据有改动,索引本身也要改动。因此,使用索引时必须慎重。如果某表 的插入、更新、删除活动很多,应该限制表中索引的数量。相反,如果某表基本是静态的,如 多数查询表,那么表中放置大量索引应该不会影响总体性能。 • Index Type 一般情况下有两种查询:返回小数据集的 point queries 和返回大数据集 range queries。对于支持这两种查询的数据库,聚簇索引更适用于范围查询,或一系列集的势相对 较低的索引列。非聚簇索引更适用于点查询。 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 198 • Index Placement据胡所有SQL数据库都提供一些表和索引的物理存储机制。 用户至少应该 充分利用数据库的这一特性,将表和索引分开放置。如此一来,数据库可以并行地读取索引和 表数据,提高性能。 除索引表外,也可为辅助表定义索引。更多信息,请参考 创建和编辑辅助表 。 创建索引 1 在 Data Model Explorer 中,选择一个物理数据模型。 2 在 Data Model Window 中,双击要添加索引的表 。 3 在 Table Editor 的 Columns 页签上,单击一列,然后单击 Add to Primary Key。 一个索引会自动生成并出现在 Data Model Explorer 中的 Indexes 节点下面。 4 在 Table Editor 中,选中 Indexes 页签。 注意: 创建标识关系时也会创建一个索引。标识关系将主键作为外键从父表传播给子表。 编辑索引 1 在 Data Model Explorer 中,展开物理数据模型的 Index 节点,然后双击需要改变的索引。 提示 : 也可以在索引所属的表的 Table Editor 中的 Index 页签上编辑索引。 2 根据需要完成 Index Editor 并单击 OK。 提示 : 如果改变索引选项之后在DDL看不到任何变化,在 DDL 页签上单击 Customize,确保 选中了显示变化所需的选项。例如,如果为一个 MySql 表创建了一个非唯一索引并打开 了全文,必须选择 Generate Defined Nonunique Indexes 自定义 DDL,以显示索引。 下面描述需要额外解释的选项。 注意: 可用选项及页签取决于数据库平台。 • Set as PK Index:只读。如果选择此项,表明所选索引是主键。 • Unique Constraint:此项表示指定列中所有值必须唯一。唯一约束与主键相似。要求指定列 或表中的列中所有值必须唯一。 • Physical Only:指定当比较物理模型和逻辑模型时忽略索引。 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 199 • Disable:Adds CONSTRAINT ...DISABLE to the syntax of the table that contains the PK。 Disabling a PK constraint requires that you also disable the FK index of the child table。单击 DISABLE,ER/Studio DA 自动提供一个去使能所有 FK 约束的选项。同时执行大量数据加载、 大规模表变更、或导入到表的操作时,去使能约束能够提高性能。 注意: 索引组织表的主键不可去使能,因此对于这种索引类型,上文描述的 Disable 选项 不可用。 关于各种可用页签的信息,单击下列链接: • Columns 页签 • Properties 页签 • Options 页签 • Storage 页签 • Partitions 页签: • Compare Options 页签 • Attachment Bindings 页签 Columns 页签 选择索引应基于的列或键。索引的效率取决于所选键及其搜索顺序。 Properties 页签 此页签仅对 Oracle 8.x、 9i、 10g 及 11g 可用。 • Index Type:选择适当的索引类型。索引类型对性能影响很大。 • Bitmap:对于不常由并行应用更新的索引,选择此项。必须注意,如果要应用到唯一列(主 键候选建)的索引,需要考虑所需空间,这取决于列和数据分布的集的势。一个键值的位图 取代了一组的行标识。 • B-tree:给主键创建索引时选择此项,因为 Oracle 不支持主键索引。另外,如果需要考虑 空间问题使时,选择此项。 B-tree 索引可使任何行的访问时间均等。 • Unique:( UNIQUE)选择此项指定索引键不包含重复值,因此在某种程度上表中每行都是唯 一的。如果不选择,将会创建一个非唯一索引。此时,表中定义索引的列中各行可包含重复 值。唯一索引每个数据值有一个行标识。如果选择此项, Oracle 会在创建PK约束之前生成 一个独立的唯一索引。 • No Sort:(NOSORT)如果选择此项,指定重建索引时不对数据进行排序。 • Reverse Byte Order:如果选择此项,每个索引行字节(行标识除外)被反向,但列顺序保 持不变。索引键反向后,插入操作将会分散于索引中所有页键。 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 200 • Enable Compression:(COMPRESS)选择此项使能索引压缩。压缩可以抑制非唯一索引中的 重复键。对于多重索引(含多个列的索引),此项可将索引缩小一半以上。对于多重索引(含 多个列的索引) ,此项可将索引缩小一半以上。此选项允许用户指定多重索引前缀的长度。 • Prefix Length:(COMPRESS prefix)此项事多重 l索引的前缀长度,选择 Enable Compression后此项可用。 • Tablespace:显示存储表索引的表空间。 • No Logging:如果不希望重做文件中记录 DLL 操作,选中此项。此项可将索引制作及更新 减少达 30%。 • Pct Free:( PCTFREE)指定每个数据块中为将来更新预留的空间的最大百分比。该预留空间 可避免因更新操作导致数据行长度增大而引起的行迁移和行链接。不更新的表此项为 0。 • Initial Trans:(INITTRANS)指定数据块头中初始预留空间的 DML 事务的数量。 Oracle 将控 制信息存储在数据块中,指明数据块中哪些行包含已提交的更改或未提交的更改。保留的历史 的量由这个参数控制。如果过多事务短时间内同时修改同一数据块, Oracle 可能没有充足的 历史信息确定某行是否由 过近的一个事务更新过。初始事务限制能够更新数据块的并发事务 的最小数量以避免动态分配事务实体的开销。对于许多事务更新相同数据块的索引,为该选项 指定更大数值。 • Max Trans:( MAXTRANS)指定能够更新数据块的并发事务的最大数以避免性能问题。一旦 INITRANS 预留的空间耗尽,系统将从任何可用剩余空间为多余事务实体分配空间。一旦分 配,被分配的空间则变成块头的永久部分。本参数限制可同时使用数据块中数据的事务实体 的数量,因此也限制可为数据块中事务实体分配的剩余空间的大小。 • Parallel:通过 Oracle 并行查询选项,用户可大幅提升性能。 • Degrees:指定操作中应使用的查询服务器进程的数量。 • Instances:指定并行服务器之间并行查询的分配方式。 • Initial Extent:(INITEXTENT)指定 Oracle 应预留的数据块的初始数量。 Oracle 将保留与该 表行初始扩展块相对应的数据块数量。 • Next Extent:( NEXT)指定下一扩展块大小。单位: kilobyte。比照表空间中最大可用剩余 空间监控此值。如果表无法分配下一扩展块,将无法再扩展,因此也将无法接收多余数据。 • Pct Increase:(PCTINCREASE)指定下一扩展块比前一扩展块尺寸增大的百分比。谨慎设置 此项,因为此项放大对象的增长进而实质上影响表空间中的可用剩余空间。 • Min Extents:(MINEXTENTS)指定创建段时分配的扩展块的数量。此项通过保证每个已用或 未用扩展块的大小至少等于用户设置的值,控制剩余空间分割。 • Max Extents:( MAXEXTENTS)指定 Oracle 可为索引分配的扩展块的最大数。一旦达到此限 值, Oracle 防止簇进一步增长并停止接收数据。比照此限值认真监控已经为索引分配的扩展 块的数量。 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 201 • Free Lists:(FREELISTS)指定应用到表的自由列表的数量。默认最小值为 1。如果存在针对 同一索引的并发进程,自由列表有助于管理数据块的分配。 INSERT 操作发生时, Oracle 用自 由列表确定要使用的数据块。 Oracle 允许为表及索引定义多个自由列表。 所有表及索引自由 列表都应设置并行 INSERT 或 UPDATE 活动高水位线。例如,如果任何时间某表有多达 20 个 最终用户执行 INSERT 操作,那么索引应有 FREELISTS=20 个自由列表。如果此项值太低, Oracle 性能会很差。增大 FREELISTS 或 FREELIST GROUPS 的值能够缓解段头争用。 • Free List Groups:(FREELIST GROUPS)仅在用户使用 Oracle 且 Parallel Server 选项在并行 模式时可用。指定允许表拥有多个段头的自由列表组的数量。此选项允许多任务插入到索引, 因此能够缓解段头争用。此选项应设置成能够访问索引的 Oracle Parallel Server 实例的数量。 在分区对象和段头争用的情况下,可以为非 RAC 系统设置 freelist groups。 • Buffer Pools:(BUFFER_POOL)指定用于在内存中缓存数据块的内存结构或缓冲池,提供更 快数据访问。 • DEFAULT:在默认缓冲池中缓存数据块。 • KEEP:在内存中保留对象,避免 I/O 冲突。 • RECYCLE:一旦内存中数据块不再使用,立即清除,节省缓存空间。 Options 页签 可用选项取决于数据平台。单击下列一个链接,查询用户数据库平台可用的索引选项: • Hitachi HiRDB 索引选项 • IBM DB2 for AS/400、 Common Server、以及 UDB 版本 5 到 9 的索引选项 • IBM DB2 for OS/390 索引选项 • Informix 索引选项 • Interbase 索引选项 • Microsoft Access 及 SQL Server 索引选项 • MySQL 索引选项 • Teradata 索引选项 • Oracle 7 索引选项 • Postgre SQL 索引选项 • Sybase 索引选项 Hitachi HiRDB 索引选项 • Unique:(UNIQUE)选择此项指定索引键不包含重复值,因此在某种程度上表中每行都是唯一 的。如果不选择,将会创建一个非唯一索引。此时,表中定义索引的列中各行可以包含重复值。 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 202 IBM DB2 for AS/400、 Common Server、以及 UDB 版本 5 到 9 的索引选项 • Unique:(UNIQUE)选择此项指定索引键不包含重复值,因此在某种程度上表中每行都是唯一 的。如果不选择,将会创建一个非唯一索引。此时,表中定义索引的列中各行可包含重复值。 • Where Not Null:(WHERE_NOT_NULL)选择此项,指定唯一索引中可出现多个空值。如果索 引至少含有一个可空列,此项很有用,但所有非空实体必须唯一。 • Cluster:选择此项,指定创建聚簇索引。聚簇索引指定表的每行应该按顺序插入数据页,获 取数据时一般要求更少的磁盘 I/O。一般情况下,聚簇索引应该在单调递增的列中,例如标识 列,或其它值递增且唯一的列中。如果表经常有 INSERTS、 UPDATES 及 DELETES 操作时尤为 如此。聚簇索引可大幅提高访问速度,但一般仅限数据访问顺序与聚簇索引数须一致或相反, 或选择了一个范围的数据项目的情况。 • Percent Free:(PCTFREE)指定每个数据块中为将来更新预留的空间的最大百分比。该预留 空间可避免因更新操作导致数据行长度增大而引起行迁移及行链接。不更新的表此项为 0。 • Min Percent Used:( MINPCTUSED)指定索引叶页上最小已使用空间的量。如果使用此项, 将为索引启用联机索引重建功能。 • Allow Reverse Scans:指定索引创建后,扫描的方向可以与其定义的方向相反。 • Include:指定可附加到索引键列集的多余列。包括的列可以通过仅索引访问提高某些查询的 性能。 IBM DB2 for OS/390 索引选项 • Unique:(UNIQUE)选择此项指定索引键不包含重复值,因此在某种程度上表中每行都是唯一 的。如果不选择,将会创建一个非唯一索引。此时,表中定义索引的列中各行可包含重复值。 • Cluster:(CLUSTER) 选择此项,指定创建聚簇索引。聚簇索引指定表的每行应该按顺序插入 数据页,获取数据时一般要求更少的磁盘 I/O。一般情况下,聚簇索引应该在单调递增的列 中,例如标识列,或其它值递增且唯一的列中。如果表经常有 INSERTS、UPDATES 及 DELETES 操作时尤为如此。聚簇索引可大幅提高访问速度,但一般仅限数据访问顺序与聚簇索引数须一 致或相反,或选择了一个范围的数据项目的情况。 注意: 对于 IBM DB2 for OS/390 5.x,要启用 Index Editor 的 Partitions 页签上的索引分区选 项,必须选择 Cluster 选项。更多信息,请参考 分区表索引 。 • Where Not Null:(WHERE_NOT_NULL)选择此项,指定唯一索引中可出现多个空值。如果索 引至少含有一个可空列,此项很有用,但所有非空实体必须唯一。 • Concurrent Copy:(COPY)如果选择此项,可并发复制索引,支持索引恢复,提高索引可用性。 • Do Not Close Dataset:(CLOSE)如果选择此项,索引不使用时不会被关闭。如果不选择, 在数据集不使用且打开的数据集数量达到或超过最大值时被关闭。 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 203 • Defer Index Creation:(DEFER)指定在 INSERT、UPDATE 及 DELETE 操作期间,索引修改 延后。这可使数据更新更迅速,但在索引同步完之前,查询时可能不返回最新信息。声明临时 或辅助表中的索引不支持此选项。 • Padded:(PADDED)如果选择此项,索引实体将被加长至其数据类型的最大长度。如果大多 数索引项接近或达到最大长度,索引扫描会非常高效。如果不选择此项,索引支持变长真键, 允许每页存在更短索引及更多索引实体。此外,也允许仅索引访问。如果索引不加长,数据可 直接从索引中获取,不需在数据页上查找数据长度。不加长索引可节省大量磁盘空间。 • Partitioned:需要分区索引时选择此项。选择此项后, Partitions 页签上的 Index Partitions Editor 的选项可用。更多信息,请参考 分区表索引 。 • Using Claus:(USING)指定索引管理者及为索引创建的索引空间的类型。如果不指定 USING 子句, DB2 将管理表数据库的默认存储组中所列卷中的索引空间。 DB2 使用 PRIQTY、SECQTY 及 Erase Data 的默认值。 • VCAT:(VCAT)如果选择此项,将会为通过虚拟目录( VCAT)管理的数据集上的索引分配 空间,该目录的名称紧邻此选项指定。用户管理索引所需的数据集。 VCAT 方法一般用于定义 系统目录。要求在索引空间分配之前预定义 VSAM 数据集。 • STOGROUP:(STOGROUP)如果选择此项, DB2 管理的数据集中的索引将会存储在已命名的 存储组中。 Stogroup 定义的索引空间让 DB2 为用户完成所有 VSAM 分配工作。如果已经为数 据模型创建了一个 Stogroup,用户可使用 Stogroup Editor (参见创建、编辑 StoGroup)从 列表中选择该 Stogroup。如果选择 Stogroup,用户也可以设定 PRIQTY 和 SECQTY 的值。为 防止非分区索引浪费空间,不应设定 PRIQTY 和 SECQTY 的值,而应让 DB2 管理为索引分配的 主空间与次空间。 • PRIQTY:(PRIQTY)指定为索引初始配置的磁盘空间的最小值,单位: kilobyte。主分配 空间应足以满足预期的存储需求。 • SECQTY:(SECQTY)指定主分配空间已满时为索引分配的磁盘空间的大小,单位: kilobyte。如果次空间太小,数据集可能需要扩展多次以满足需要较大空间的活动。默认值 - 1 表示 DB2 应确定次空间的大小,一般是主空间的 10%。 • Erase Data:(ERASE)如果选择此项,指定当索引被删除时擦除索引数据集。 • None:如果选择此项, CREATE INDEX 语句中不包含任何 USING 子句。 • Buffer Pool:( BUFFERPOOL)标识用于索引的缓冲池。所用缓冲池确定数据块在内容中的缓 存方式,提高数据访问速度。 BP0 是排序用的默认缓冲池。 • Percent Free:(PCTFREE)指定每个数据块中为将来更新预留的空间的最大百分比。该预留 空间可避免因更新操作导致数据行长度增大而引起行迁移及行链接。不更新的表此项为 0。 • Free Page:(FREEPAGE)指定创建索引实体时多久留出一个空闲空间页。为此处指定的每个 页数留出了一个空闲页,范围在 0 ~ 255 之间。 • Piece Size:( PIECESIZE)指定二级索引的每个数据集最大可寻址空间。指定的空间尺寸的 单位包括 K (kilobyte)、 M (Megabyte)及 G (Gigabyte) 。如果不指定单位,将使用 kilobyte。在 DDL 中指定空间尺寸时,单位为 gigabyte 的将转换 megabyte。 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 204 • GBP Cache:( GPBCACHE)在数据共享环境中,指定写入组缓冲池的索引页。在非数据共享 环境中忽略此项,除非索引在声明临时表中。选择 Changed,表示更新的页将写入组缓冲池 中;选择 All,表示所有页将从 DASD 缓存到组缓冲池中;选择 None,表示缓冲池仅用于交 叉废除。 Informix 索引选项 • Unique:(UNIQUE)选择此项指定索引键不包含重复值,因此在某种程度上表中每行都是唯一 的。如果不选择,将会创建一个非唯一索引。此时,表中定义索引的列中各行可包含重复值。 • Cluster:( CLUSTER) 选择此项,指定创建聚簇索引。聚簇索引指定表的每行应该按顺序插入 数据页,获取数据时一般要求更少的磁盘 I/O。一般情况下,聚簇索引应该在单调递增的列 中,例如标识列,或其它值递增且唯一的列中。如果表经常有 INSERTS、UPDATES 及 DELETES 操作时尤为如此。聚簇索引可大幅提高访问速度,但一般仅限数据访问顺序与聚簇索引数须一 致或相反,或选择了一个范围的数据项目的情况。 Interbase 索引选项 • Unique:(UNIQUE)选择此项指定索引键不包含重复值,因此在某种程度上表中每行都是唯一 的。如果不选择,将会创建一个非唯一索引。此时,表中定义索引的列中各行可包含重复值。 • Sort Order:指定索引排序顺序,升序( ASC)或降序( DESC)。 Microsoft Access 及 SQL Server 索引选项 可用选项取决于数据平台及版本。 • Unique:(UNIQUE)选择此项指定索引键不包含重复值,因此在某种程度上表中每行都是唯一 的。如果不选择,将会创建一个非唯一索引。此时,表中定义索引的列中各行可包含重复值。 • Clustered:( CLUSTERED 或 NONCLUSTERED) 选择此项,指定创建聚簇索引。聚簇索引指定 表的每行应该按顺序插入数据页,获取数据时一般要求更少的磁盘 I/O。一般情况下,聚簇索 引应该在单调递增的列中,例如标识列,或其它值递增且唯一的列中。如果表经常有 INSERTS、 UPDATES 及 DELETES 操作时尤为如此。聚簇索引可大幅提高访问速度,但一般仅 限数据访问顺序与聚簇索引数须一致或相反,或选择了一个范围的数据项目的情况。如果索引 不唯一,且选择了 Clustered 选项, Non-Unique Clustered Options 可用。 • Ignore Dup Keys:( IGNORE_DUP_KEY)指定此项后,如果通过添加或更新影响多行的数据 创建重复键, (使用 INSERT 或 UPDATE 语句),引起重复的行将不会被添加,更新时被丢弃。 • Sorted Data:(SORTED_DATA)指定索引重建时对数据进行排序。 • Non-Unique Clustered Options:指定重复行被添加时采取的措施。 MySQL 索引选项 • Unique:(UNIQUE)选择此项指定索引键不包含重复值,因此在某种程度上表中每行都是唯一 的。如果不选择,将会创建一个非唯一索引。此时,表中定义索引的列中各行可包含重复值。 • Fulltext:此选项允许用户将索引设置为全文索引。 MySQL 中的全文索引是 FULLTEXT 类型 的索引。 FULLTEXT 索引仅用于 MyISAM 表,可在 CREATE TABLE 时在 CHAR、 VARCHAR 或 TEXT 列中创建,或之后通过 ALTER TABLE 或 CREATE INDEX 进行添加。 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 205 Teradata 索引选项 • Unique:(UNIQUE)选择此项指定索引键不包含重复值,因此在某种程度上表中每行都是唯一 的。如果不选择,将会创建一个非唯一索引。此时,表中定义索引的列中各行可包含重复值。 • Primary:(PRIMARY)选择此项指定索引为主索引。如果不定义主索引,表中第一列默认成 为表的主索引。 • Partitioning Expression:(PARTITION BY expression)如果选择了 Primary,此项可用。输 入表达式,根据具体属性对数据进行分区,如可按周或一段时间分区。分区数据能更高效地获 取某周的汇总数据,因为只需读取该周数据。 Partitioned Primary Index 较好的备用索引是存 在大量日常插入操作的表, 因此人们偏向按数据日期分区。根据 product_code 或 agent_id 分 区索引也可以提高查询性能。 输入表达式时如果文本框空间不够用,单击 More 启用 Partition Expression Editor 可输入多行表达式。下面是分区表达式样例: PARTITION BY RANGE_N(CAPTURE_DATE BETWEEN DATE '2007-11-30' AND DATE '2008-2-30' EACH INTERVAL '1' MONTH) Oracle 7 索引选项 • Unique:( UNIQUE)选择此项指定索引键不包含重复值,因此在某种程度上表中每行都是唯 一的。如果不选择,将会创建一个非唯一索引。此时,表中定义索引的列中各行可包含重复 值。 • No Sort:(NOSORT)如果选择此项,指定重建索引时不对数据进行排序。 Postgre SQL 索引选项 • Unique:(UNIQUE)选择此项指定索引键不包含重复值,因此在某种程度上表中每行都是唯一 的。如果不选择,将会创建一个非唯一索引。此时,表中定义索引的列中各行可包含重复值。 • Clustered:(CLUSTER)选择此项,指定创建聚簇索引。聚簇索引指定表的每行应该按顺序插 入数据页,获取数据时一般要求更少的磁盘 I/O。一般情况下,聚簇索引应该在单调递增的列 中,例如标识列,或其它值递增且唯一的列中。如果表经常有 INSERTS、UPDATES 及 DELETES 操作时尤为如此。聚簇索引可大幅提高访问速度,但一般仅限数据访问顺序与聚簇索引数须一 致或相反,或选择了一个范围的数据项目的情况。 Sybase 索引选项 可用选项取决于数据平台版本。 • Unique:(UNIQUE)选择此项指定索引键不包含重复值,因此在某种程度上表中每行都是唯一 的。如果不选择,将会创建一个非唯一索引。此时,表中定义索引的列中各行可包含重复值。 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 206 • Type:Sybase IQ 使用 HG 或 LF 索引生成更好更快捷的查询计划,执行查询操作。如果要判 断表的等同性谓词, HG 或 LF 索引也可适用于 DATE、TIME、DATETIME 或 TIMESTAMP 列。如 果频繁使用 GROUP BY 子句中的列且有不足 1000 个不同值(如日期小于三年)时,也推荐 LF 索引。 • HG:如果在连接谓词中使用列或列中含有超过 1000 个唯一值,使用 HG (High Group)索 引。High_Group 索引常用于含整数数据类型的连接列, 因为该索引处理 GROUP BY 很高效。 每个外键列都要求有其自己的 HG 索引,但如果存在连接索引,同一列不能同时含有显式创 建的 HG 索引和外键约束。 • LF:LF 是 Sybase IQ 中速度最快的索引。如果列中的唯一值少于 1000 个或列中的唯一值少 于 1000 个且用在连接谓词中,使用 LF (Low Fast)索引。对于唯一值很少(少于 1000) 的列来说,这种索引非常理想。这种列包括性别列、 Yes/No 列、 True/False 列、家属列及 工资级别列。 不要对含有 10000个或更多唯一值的列使用 LF索引。 如果表的行数小于 25000, 使用 HG 索引,因为对同一操作, HG 索引的磁盘 I/O 操作要求更少。 • Clustered:(CLUSTER) 选择此项,指定创建聚簇索引。聚簇索引指定表的每行应该按顺序插 入数据页,获取数据时一般要求更少的磁盘 I/O。一般情况下,聚簇索引应该在单调递增的列 中,例如标识列,或其它值递增且唯一的列中。如果表经常有 INSERTS、UPDATES 及 DELETES 操作时尤为如此。聚簇索引可大幅提高访问速度,但一般仅限数据访问顺序与聚簇索引数须一 致或相反,或选择了一个范围的数据项目的情况。 • Ignore Dup Keys:(IGNORE_DUP_KEY)指定此项后,如果通过添加或更新影响多行的数据创 建重复键,(使用 INSERT 或 UPDATE 语句),引起重复的行将不会被添加,更新时被丢弃。 • Sorted or Sorted Data:(SORTED_DATA)指定索引重建时对数据进行排序。 • Non-Unique Clustered Options:选择重复行的处理方式。 • Ignore Dup Rows:(IGNORE_DUP_ROW)从一批数据中清除重复行,取消任何会创建重复行 的插入或更新操作,但并不回滚整个事务。 • Allow Dup Rows:(ALLOW_DUP_ROW)允许用户在包含重复行的表中创建新的非唯一聚簇索 引。如果表中含有一个未使用 allow_dup_row 选项创建的非唯一聚簇索引,新的重复行将 无法通过插入或更新命令创建。 • None:如果既不选择 Ignore Dup Rows 也不选择 Allow Dup Rows,那么在含有重复行的 表中无法成功创建索引,也无法成功地在被索引的表中插入重复行。 Storage 页签 允许用户选择各种存储选项。具体可用选项取决于所选数据库平台。更多信息,请参考 确 定索引存储 。 Partitions 页签: 允许用户选择各种存储选项。具体可用选项取决于所选数据库平台。更多信息,请参考 分 区表索引 。 Compare Options 页签 选择需要 Compare and Merge Utility 忽略的差异。 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 207 Attachment Bindings 页签 将一条外部信息或附件与索引绑定。也可以将附件从对象拆离、替换附件绑定默认值或改 变被绑定附件的位置。双击目标附件的 Value 输入框,替换移至 Selected Attachments 网格 的附件的值。 ER/Studio DA 打开 Value Override Editor 或一个列表。具体情况取决于附件数 据类型。附件是在 Data Dictionary 中的 Attachments 文件夹中创建的。更多信息,请参考 附 加外部文件到数据模型 。 创建、编辑关系 有关新建和编辑关系的信息,请参考 操作关系。 创建、编辑数据库依赖对象 许多物理数据模型对象的可用性取决于所选数据库平台。更多信息,请参考以下主题: 创建、编辑别名 别名是别名、同义词、表、视图或其它不确定对象类型的另外的名称。 (在 IBM DB2 for OS/390 或 z/OS 平台中仅可为同义词创建别名。 )别名可为目标受众提供一个更有针对性的对象名 称。别名也可作为低开销视图。表别名可在链接过程中互相引用。别名允许用户将一个数据库用户 的许可分配给一个对象,无需创建独立的用户实体或遮蔽用户标识。 下列数据库平台支持别名: • IBM DB2 for LUW 5.x、 6.x、 7.x、 8.x、 9.x • IBM DB2 for OS/390 5.x 和 6.x • IBM DB2 for z/OS 7.x、 8.x、 9.x 注意: DB2 Alias Wizard 和 DB2 Alias Editor 的选项相同,但 Attachment Bindings 选项仅编辑 器中有。 创建、编辑别名 创建、编辑对象类型 创建 、编辑辅助表 创建、编辑包 创建、编辑缓冲池 创建、编辑回滚段 创建、编辑数据库 创建、编辑序列 创建、编辑数据库模式 创建、编辑 SQL 程序 创建、编辑函数 创建、编辑 StoGroup 创建、编辑物化查询表 创建、编辑同义词 创建、编辑物化视图 创建、编辑表空间 创建、编辑节点组 创建、编辑触发器 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 208 创建别名 1 在 Data Model Explorer 中,展开 Physical Main Model,右键单击 Aliases 节点,然后选择 New Alias。 2 完成 DB2 Alias Wizard 的选项,单击 Finish 创建别名。 提示 : 别名创建后,用户可右键单击需要修改的别名,然后选择 Edit Alias 对其进行编辑。 下面描述需要额外解释的选项。 Name 页 / 页签 输入别名名称及其所有者。 • 别名名称是别名完全合格的名称,必须不同于当前服务器上的任何表、视图、别名或同义词 的名称。 • 所有者名称是别名所有者的用户 ID。这一名称是验证明表名的授权 ID。 Reference 页 / 页签 选择需要引用的对象类型。如果满足条件的模型中有多个对象,单击标识列表选择恰当 标识。 Definition 页 / 页签 为别名输入或编辑定义。如果目标数据库支持, ER/Studio DA 生成 SQL 码时以注释形式 添加定义。 DDL 中注释的最大长度为 254 字符。 DDL 页 / 页签 显示创建别名所需的 CREATE ALIAS 语句。 ER/Studio DA 使用模型的所选数据库平台特 有的解析器生成别名。 Attachment Bindings 页签 将一条外部信息或附件与别名绑定。也可以将附件从对象拆离、替换附件绑定默认值或改 变被绑定附件的位置。双击目标附件的 Value 输入框,替换移至 Selected Attachments 网格 的附件的值。 ER/Studio DA 打开 Value Override Editor 或一个列表。具体情况取决于附件数 据类型。附件在 Data Dictionary 的 Attachments 文件夹创建,显示在此页签上之前必须应用 到别名。更多信息,请参考 附加外部文件到数据模型 。 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 209 创建和编辑辅助表 辅助表用来存储大型对象( LOB)列数据。 LOB 列是一个叫做 Base Table 的常规表中的列。 其中数据类型为 BLOB 或 CLOB,且数据为大型对象。由于数据很大,因此不与表中其它数据一起 存储。尽管在逻辑上,基表保存 LOB 列,如 VARCHAR(4),但在物理上, LOB 列数据存储在辅助 表里。每个 LOB 列至少与一个辅助表相关联。如果 LOB 列是在分区基表中定义的,那么非分区表 的每个 LOB 列都有一个辅助表,或每个分区的每个 LOB 列都有一个辅助表。例如,如果你在一个 四分区的基表里有两个 LOB 列,那么辅助表的总数必须为 8。 注意: 每个辅助表都必须存储在自己的辅助表空间,且必须为其创建唯一索引。 以下数据库平台支持辅助表: • IBM DB2 for OS/390 5.x 和 6.x • IBM DB2 for z/OS 7.x、 8.x、 9.x 注意: Auxiliary Table Wizard 和 Auxiliary Table Editor 的选项相同,但 Attachment Bindings 选项仅编辑器中有。 添加辅助表 1 在 Data Model Explorer 中,展开 Physical Main Model,右键单击 Auxiliary Tables 节点, 然后选择 New Auxiliary Table。 2 完成 Auxiliary Tables Wizard 中的选项,单击 Finish 创建辅助表。 提示 : 辅助表创建后,用户可右键单击需要修改的辅助表,然后选择 Edit Auxiliary Table 对其 进行编辑。 下面描述需要额外解释的选项。 Name 页 / 页签 输入辅助表名称及其所有者。 • 表名称是辅助表完全合格的名称,必须不同于当前服务器上的任何表、视图、别名或同义词的 名称。 • 所有者名称是需要在辅助表中存储列的基表的所有者的名称。这一名称是验证明表名的授权 ID。如果不指定,系统将使用用于创建数据库的连接的 DBS 子系统用户标识。 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 210 Base Table 页 / 页签 • 基表标识是在辅助表中存储列的基表的名称。辅助表存储 LOB 列的数据。 LOB 列逻辑上属于常 规表(称作基表)。但是由于其数据太大,物理上无法存储在基表中,因此 LOB 列物理上存 储在辅助表中。基表标识也由所有者名称、点和表名组成。下拉列表显示定义了 BLOB 或 CLOB 列的表所在模型中的所有表的名称。基表标识是可选 ER/Studio DA,但在合法 CREATE AUX TABLE SQL 语句中是必须的。 • 非分区基表中每个 LOB 列必须有一个辅助表。但是,如果在分区基表中定义了 LOB 列,那么 每个LOB列对基表的每个分区必须有一个独立的辅助表。下拉列表显示所选基表中定义为 BLOB 或 CLOB 数据类型的所有列的名称。 LOB 列名称是可选 ER/Studio DA,但在合法 CREATE AUX TABLE SQL 语句中是必须的。 • 为分区表创建辅助表时,可指定数据需要存储的分区的编号。这仅使用于存储在分区表空间中 的基表中定义的 LOB 列。 Storage 页 / 页签 • 如果模型中定义了很多数据库,可单击列表,选择要创建辅助表的数据库。更多信息,请参考 创建、编辑数据库 。 • 每个辅助表必须在其自己的表空间中定义,也就是说,每个辅助表必须有一个特定表空间。表 空间名可通过表空间所在数据库的名称进行验证。数据库。表空间构成表空间标识。表空间名 是可选 ER/Studio DA,但在合法 CREATE AUX TABLE SQL 语句中是必须的。更多信息,请参 考创建、编辑表空间 。 • 每个辅助表要求有一个唯一索引。 Index Options 页 / 页签 • Concurrent Copy:(COPY)如果选择此项,可并发复制索引,支持索引恢复,提高索引可用性。 • Do Not Close Dataset:(CLOSE)如果选择此项,索引不使用时不会被关闭。如果不选择, 数据集不使用,且打开的数据集数量达到或超过最大值时被关闭, • None:如果选择此项, CREATE INDEX 语句中不包含任何 USING 子句。 • VCAT:(VCAT)如果选择此项,将会为通过虚拟目录( VCAT)管理的数据集上的索引分配空 间。该目录的名称紧邻此选项指定。用户管理索引所需的数据集。 VCAT 方法一般用于定义系 统目录。要求在索引空间分配之前预定义 VSAM 数据集。 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 211 • STOGROUP:(STOGROUP)如果选择此项, DB2 管理的数据集中的索引将会存储在已命名的 存储组中。 Stogroup 定义的索引空间让 DB2 为用户完成所有 VSAM 分配工作。如果已经为数 据模型创建了一个 Stogroup,用户可使用 Stogroup Editor (参见 创建、编辑 StoGroup)从 列表中选择该 Stogroup。如果选择 STOGROUP,用户也可以设定 PRIQTY 和 SECQTY 的值。为 防止非分区索引浪费空间,不应设定 PRIQTY 和 SECQTY 的值,而应让 DB2 管理为索引分配的 主空间与次空间。 • PRIQTY:(PRIQTY)指定为索引初始分配的磁盘空间的最小值,单位: kilobyte。主分配 空间应足以满足预期的存储需求。 • SECQTY:(SECQTY)指定主分配空间已满时为索引分配的磁盘空间的大小,单位: kilobyte。如果次空间太小,数据集可能需要扩展多次以满足需要较大空间的活动。默认值 - 1 表示 DB2 应确定次空间的大小,一般是主空间的 10%。 • Erase Data:(ERASE)如果选择此项,指定当索引被删除时擦除索引数据集。 • Buffer Pool:( BUFFERPOOL)标识用于索引的缓冲池。所用缓冲池确定数据块在内容中的缓 存方式,提高数据访问速度。 BP0 是排序用的默认缓冲池。 • Percent Free:(PCTFREE)指定每个数据块中为将来更新预留的空间的最大百分比。该预留 空间可避免因更新操作导致数据行长度增大而引起行迁移及行链接。不更新的表此项为 0。 • Free Page:(FREEPAGE)指定创建索引实体时多久留出一个空闲空间页。为此处指定的每个 页数留出了一个空闲页,范围在 0 ~ 255 之间。 • Piece Size:( PIECESIZE)指定二级索引的每个数据集最大可寻址空间。指定的空间尺寸的 单位包括 K (kilobyte)、 M (Megabyte)及 G (Gigabyte) 。如果不指定单位,将使用 kilobyte。在 DDL 中指定空间尺寸时,单位为 gigabyte 的将转换 megabyte。 • GBP Cache:( GPBCACHE)在数据共享环境中,指定写入组缓冲池的索引页。在非数据共享 环境中忽略此项,除非索引在声明临时表中。 • Changed:将更新的页写入组缓冲池。 • All:所有页面从 DASD 读入后缓存到组缓冲池中。 • None:缓冲池仅用于交叉废除。 Definition 页 / 页签 为辅助表输入或编辑定义。如果目标数据库支持, ER/Studio DA 生成 SQL 码时以注释形 式添加定义。 DDL 页 / 页签 显示创建辅助表所需的 CREATE AUXILIARY TABLE. 语句。 ER/Studio DA 使用模型的所 选数据库平台特有的解析器生成辅助表。 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 212 Attachment Bindings 页签: 将一条外部信息或附件与辅助表绑定。也可以将附件从对象拆离、替换附件绑定默认值或 改变被绑定附件的位置。双击目标附件的 Value 输入框,替换移至 Selected Attachments 网 格的附件的值。 ER/Studio DA 打开 Value Override Editor 或一个列表。具体情况取决于附件 数据类型。附件是在 Data Dictionary 中的 Attachments 文件夹中创建的。更多信息,请参考 附加外部文件到数据模型 。 又见 创建、编辑表空间 创建、编辑缓冲池 缓冲池是一个可在内存中缓存数据块的内存结构。缓冲池将对象存储在内存中,避免 I/O 冲突 或将不使用的数据块移出内容,数据访问速度迅速,节省缓存空间。用户可使用缓冲池为许多不同 数据库平台存储索引及表。 缓冲池默认页大小为创建数据库时指定的大小,除非显式指定新的页大小。只有表空间页大小 与缓冲池页大小一致时,页才能够读入缓冲池,因此,需要保证缓冲池页大小与表空间页大小一致。 以下数据库平台支持创建缓冲池: • IBM DB2 for LUW 5.x、 6.x、 7.x、 8.x、 9.x 注意: Bufferpool Wizard 和 Bufferpool Editor 的选项相同,但 Attachment Bindings 选项仅编 辑器中有。 创建缓冲池 1 在 Data Model Explorer 中,展开 Logical Main Model,右键单击 Buffer Pools 节点,然 后选择 New Bufferpool。 2 完成 Bufferpool Wizard 中的选项,单击 Finish 创建缓冲池。 提示 : 辅助表创建后,用户可右键单击需要修改的辅助表,然后选择 Edit Auxiliary Table 对其 进行编辑。 下面描述需要额外解释的选项。 Name 页 / 页签 • 指定缓冲池大小,值为页数。如果不指定,默认值为- 1。 • 单击列表,指定缓冲池页大小,单位: Kilobyte。 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 213 • Extended Storage:在 Unix 系统中,选择扩展存储。如果请求的页不在缓冲池中,可通过扩 展存储访问, 速度比从磁盘读取页更迅速。 IBM DB2 for LUW版本9及之后版本中忽略此选项。 注意: 保证系统除了数据管理器及应用所需的内存外,有足够真实内存容纳所有缓冲池。 Nodes 页 / 页签 在版本 9 中, IBM 开始使用 DBPARITITOINNUM,不使用 NODE。 Definition 页 / 页签 为缓冲池输入或编辑定义。如果目标数据库支持, ER/Studio DA 生成 SQL 码时以注释形 式添加定义。 DDL 页 / 页签 显示创建缓冲池所需的 CREATE BUFFERPOOL 语句。 ER/Studio DA 使用模型的所选数据 库平台特有的解析器生成缓冲池。 Attachment Bindings 页签 将一条外部信息或附件与缓冲池绑定。也可以将附件从对象拆离、替换附件绑定默认值或 改变被绑定附件的位置。双击目标附件的 Value 输入框,替换移至 Selected Attachments 网 格的附件的值。 ER/Studio DA 打开 Value Override Editor 或一个列表。具体情况取决于附件 数据类型。附件是在 Data Dictionary 中的 Attachments 文件夹中创建的。更多信息,请参考 附加外部文件到数据模型 。 创建、编辑数据库 数据库是 DB2 结构,例如有关联索引的表的合集,及其所在的表空间和索引空间。使用数据 库进行管理,可以将对数据库中数据的访问限制在一个操作中,或授权将数据作为单一的单元进行 访问。 创建数据库包括以下步骤: • 建立数据库所需的系统目录表。 • 分配数据库恢复日志。 • 创建数据库配置文件,设置默认值。 • 绑定数据库实用程序与数据库。 创建数据库之前,需考虑内容、布局、未来增长及使用。 以下数据库平台支持数据库创建: • IBM DB2 for OS/390 5.x 和 6.x 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 214 • IBM DB2 for z/OS 7.x、 8.x、 9 注意: Database Wizard 和 Database Editor 的选项相同,但 Attachment Bindings 选项仅编辑 器中有。 添加数据库 1 在 Data Model Explorer 中,展开物理模型,右键单击 Databases 节点,然后选择 New Database。 2 完成 Database Wizard 中的选项,单击 Finish 创建数据库。 提示 : 辅助表创建后,用户可右键单击需要修改的辅助表,然后选择 Edit Auxiliary Table 对其 进行编辑。 下面描述需要额外解释的选项: Name & Type 页 / 页签 命名数据库并指定其类型。数据库名不能与当前服务器上的任何数据库名相同。数据库名 不能以 DSNDB 开头,除非数据库是工作文件数据库且不为 DSN 加五位数字。如果数据库在 数据共享环境下工作,且用于管理临时表的数据、存储中间 SQL 结果及创建的全局和临时表 等目的,选择 WorkFile Database (AS WORKFILE)。如果选择创建工作文件数据库,必须指 定可使用工作文件的成员或 DB2 子系统。数据共享组中仅一个成员可使用工作文件。 Option 页 / 页签 为使数据库更易管理,需将工作文件保存在单独的缓冲池中。 • 表空间和索引缓冲池: (BUFFERPOOL and INDEXBP)标识将要使用的缓冲池。所用缓冲池确 定数据块在内容中的缓存方式,提高数据访问速度。 BP0 是排序用的默认缓冲池。 • Storage Group:( STOGROUP)如果选择此项, DB2 管理的数据集中的索引将会存储在已命 名的存储组中。 Stogroup 定义的索引空间让 DB2 为用户完成所有 VSAM 分配工作。如果已经 为数据模型创建了一个 Stogroup,用户可使用 Stogroup Editor(参见创建、编辑 StoGroup) 从列表中选择该 Stogroup。如果选择 Stogroup,用户也可以设定 PRIQTY 和 SECQTY 的值。 为防止非分区索引浪费空间,不应设定 PRIQTY 和 SECQTY 的值,而应让 DB2 管理为索引分配 的主空间与次空间。 • Encoding Scheme:(CCSID)指定编码方案: ASCII、EBCDIC、UNICODE 或系统默认方案。 如果数据库在数据共享环境中用作工作文件数据库,此项无效。如果不想使用安装 DB2 for OS/390 及 z/OS 时选择的默认编码方案,可在此替换默认编码方案。不能为工作文件数据库 指定编码方案。 Definition 页 / 页签 为数据库输入或编辑定义。如果目标数据库支持, ER/Studio DA 生成 SQL 代码时以注释 形式添加定义。 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 215 DDL 页 / 页签 显示创建数据库所需的 CREATE DATABASE 语句。ER/Studio DA 使用模型的所选数据库平 台特有的解析器生成数据库。 Attachment Bindings 页签 将一条外部信息或附件与数据库绑定。也可以将附件从对象拆离、替换附件绑定默认值或 改变被绑定附件的位置。双击目标附件的 Value 输入框,替换移至 Selected Attachments 网 格的附件的值。 ER/Studio DA 打开 Value Override Editor 或一个列表。具体情况取决于附件 数据类型。附件是在 Data Dictionary 中的 Attachments 文件夹中创建的。更多信息,请参考 附加外部文件到数据模型 。 创建、编辑 SQL 程序 SQL 程序是用户创建的 PL/SQL 的可重用的块,存储在数据库中。应用可调用程序,易化代码 开发、调试及维护。程序允许编写程序赋予用户对表的执行特权而不是直接允许用户访问表,增强 数据安全性。 预存程序可以包含程序流程、逻辑、及数据库查询。预存程序可接收和生成参数、返回单个或 多个结果集、返回值。 除可完成 SQL 语句能完成的所有任务之外,预存程序还可完成以下任务: • 在一个预存程序中执行一系列 SQL 语句。 • 引用其它预存程序,简化一系列复杂语句。 • 比个体 SQL 语句执行速度更快,因为预存程序创建时是在服务器上编写的。 • 缓存在内存中,以便快速执行。 执行 SQL 程序的方式如下: • 创建对象之前或之后运行的 SQL。更多信息, 请参考 为CREATE TABLE语句创建、编辑 PreSQL 及 PostSQL。 • 可以将应用代码存储到数据库以便通过 CALL 语句使用所有应用的脚本程序和模板程序。更多 信息,请参考 创建、编辑程序 。 • 能够执行参照完整性规则及表数据中的业务规则,更新一个表时同步另一个表中的信息,发生 更新操作时初始化 DBMS 的外部动作,防止某些类型的操作(如 UPDATE)的脚本程序和模 板程序触发器。更多信息,请参考 创建、编辑触发器 。 • 能够执行 SQL 语句内多个 SQL 语句的函数。更多信息,请参考 创建、编辑函数 。 • 能够将处理来自一个源文件的 SQL 语句所需的所有代码存储在一起的包。可使用包处理和调 用大量 SQL。更多信息,请参考 创建、编辑包 。 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 216 为 CREATE TABLE 语句创建、编辑 PRESQL 及 POSTSQL 在 Table Editor 的 PreSQL & PostSQL 页签上,用户可输入 CREATE TABLE 语句之前和之后应 用的 SQL 程序。 注意: 程序中的 SQL 基于所选表和数据库平台进行验证。 1 在 Data Model Window 或 Data Model Explorer 中,双击一个表,启用 Table Editor。 2 单击 PreSQL & PostSQL 页签。 3 输入或编辑在 CREATE TABLE 语句前运行的 SQL 程序。 4 单击 PostSQL 页签,输入或编辑在 CREATE TABLE 语句前运行的 SQL 程序。 5 单击 OK,执行修改并退出编辑器。 创建、编辑程序 程序是可重用的 PL/SQL 块,存储在数据库中,可被应用调用。由于程序可重用,因此可以易 化代码开发、调试及维护。程序允许编写程序赋予用户对表的执行特权而不是直接允许用户访问 表,可以增强数据安全性。此外,程序可提高数据库效率。程序也统一和集中逻辑,否则,访问相 同数据库的多个应用中可能都存在逻辑。这种方式可以使代码维护更加容易。由于只有可执行程序 存储在服务器上,降低了存储要求,程序在服务器上执行,减少了网络流量。 程序与函数相似。不同之处在于函数可以在 SQL语句内使用,而程序必须通过 CALL语句叫用。 ER/Studio DA 支持以下类型的程序: • 常规或脚本程序: 专用于程序创建时所在的表。用户可在 SQL 中写脚本程序。通过 Table Editor - Dependencies Tab 或 Procedure SQL Editor 创建一个脚本程序。双击 Data Model Explorer 的 Procedures 节点中的程序名可启用前述两个编辑器。 • Templated Procedures:专用于程序创建或修改时所在的表。用户可以用 BASIC 写模板程 序。程序创建之后不会出现在 Data Model Explorer 的 Procedures 节点的程序列表中。 • Reusable Procedures:可重用程序在数据字典中创建,通过 Table Editor 可以将其修改为模 板程序。用户可以用 BASIC 写模板程序。可重用程序是用 BASIC 代码写的模板程序。这些程 序可应用到任何表,因为这些程序在代码中使用表上下文。数据字典里的可重用程序节点包括 DBMS 平台节点。 ER/Studio DA 根据平台组织可重用程序。如需创建、编辑、或删除可重用 程序,右键单击目标 DBMS 节点,然后单击适当的快捷菜单。 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 217 以下数据库平台支持程序: • IBM DB2 for LUW 5.x、 6.x、 7.x、 8.x、 9.x • Microsoft Access 6.x、 7.x • Microsoft SQL Server 6.x、 7.x、 2000、 2005、 2008 •Oracle 7.x、 8.x、 9i、 10g、 11g • Sybase ASA 6.0、 7.0、 8.0、 9.0、 Adaptive Server IQ 12 • Sybase Adaptive Server IQ 12 •Sybase ASE 11.0、 11.5、 11.9、 12.0、 12.5、 15 提示 : 样本模型 Northwind.dm1 说明了程序如何收集信息并对其进行计算,提供汇总信息。 注意 • 通过 Table Editor 的 Dependencies 页签可以查看与表关联的模板程序。 • 在节点的 Procedures 页签下可查看创建的脚本程序。 • 要为触发器和程序等程序逻辑生成代码,代码结果必须存储在变量 resultstring 中。例如,在 样本模型 Northwind.dm1中,数据字典为 Oracle平台列出了一个可重用触发器 SYSUPDATE。 此触发器的代码包括下列为触发器生成代码所需的语句: resultstring = trigBody 创建脚本程序 1 在 Data Model Explorer 中,展开物理 Main Model,右键单击 Procedures 节点,然后单 击 New Procedure。 2 完成 Procedure SQL Editor 的选项,单击 Validate 确保 SQL 有效。 3 单击 OK,创建程序并退出编辑器。 提示 : 辅助表创建后,用户可右键单击需要修改的辅助表,然后选择 Procedure 对其进行编辑。 下面描述需要额外解释的选项。 • 要为触发器和程序等程序逻辑生成代码,逻辑结果必须存储在变量 resultstring 中。例如, 在样本模型 Northwind.dm1 中,数据字典为 Oracle 平台列出了一个可重用触发器 SYSUPDATE。此触发器的代码包括下列为触发器生成代码所需的语句: resultstring = trigBody SQL 页 / 页签 为程序输入 SQL。 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 218 Description 页 / 页签 为程序输入或编辑定义。如果目标数据库支持, ER/Studio DA 生成 SQL 码时以注释形式 添加定义。 Permissions 页 / 页签 设置程序的访问角色及用户权限。注意,具体权限越多,其维护和更新所需的时间也越 多。角色和用户必须事先分配才会出现在 Procedure Editor 中。更多信息,请参考 赋予和取消 权限以改变数据库对象 、创建和编辑数据库角色 和创建和编辑数据库用户 。 Attachment Bindings 页签 将一条外部信息或附件与程序绑定。也可以将附件从对象拆离、替换附件绑定默认值或改 变被绑定附件的位置。双击目标附件的 Value 输入框,替换移至 Selected Attachments 网格 的附件的值。 ER/Studio DA 打开 Value Override Editor 或一个列表。具体情况取决于附件数 据类型。附件是在 Data Dictionary 中的 Attachments 文件夹中创建的。更多信息,请参考 附 加外部文件到数据模型 。 将脚本程序应用到子模型或模型 使用 Apply to Submodel(s),将脚本程序复制到一个子模型、物理模型、或一个或多个 子模型。更多信息,请参考 复制数据库对象到子模型 (应用到子模型) 。 创建可重用程序 可重用程序在数据库中维护,节省时间。不需要为每个需要使用程序的数据库应用重新创 建程序。 可重用用户自定义程序在数据字典中创建。更多信息,请参考 重用程序逻辑 。 创建用户自定义脚本程序 注意: 程序中的 SQL 基于所选表进行验证。 1 在 Data Model Window 或 Data Model Explorer 中,双击一个表,启用 Table Editor。 2 单击 PreSQL & PostSQL 页签。 3 输入或编辑在 CREATE TABLE 语句前运行的 SQL 程序。 4 单击 PostSQL 页签,输入或编辑在 CREATE TABLE 语句前运行的 SQL 程序。 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 219 5 单击 OK,执行修改并退出编辑器。 注意: 要为触发器和程序等程序逻辑生成代码,逻辑结果必须存储在变量 resultstring 中。例 如,在样本模型 Northwind.dm1 中,数据字典 为 Oracle 平台列出了一个可重用触发 器 SYSUPDATE。此触发器的代码包括下列为触发器生成代码所需的语句: resultstring = trigBody 创建用户自定义模板程序 Templated Procedure Editor 允许用户创建或编辑可重用程序。模板程序专用于程序创建 或修改时所在的表。在数据字典中创建的可重用程序可以通过 Table Editor 修改为模板程序。 用户可以用 BASIC 写模板程序。 注意 • 要为触发器和程序等程序逻辑生成代码,逻辑结果必须存储在变量 resultstring 中。例如,在 样本模型 Northwind.dm1中,数据字典 为Oracle平台列出了一个可重用触发器 SYSUPDATE。 此触发器的代码包括下列为触发器生成代码所需的语句: resultstring = trigBody • Templated Procedure Editor 包括查找和替换功能,以便操作 SQL 文本字符串。 • 模板程序与脚本程序不同,模板程序可重用。 • 用户仅可从 Table Editor 的 Dependencies 页签访问 Templated Procedure Editor。 • 程序被认为是数据模型模式。数据模型模式还包括包、函数、物化视图、辅助表、同义词及触 发器。 用户可在选项编辑器的模式对象页签上为父动作及子动作设置默认触发器动作。此外,创建关 系时,用户还可以将默认触发器应用到表。 将可重用程序绑定到表 在数据字典中定义可重用程序后, 用户可以在数据字典中将程序从 Reusable Procedural Logic 节点拖到 Data Model Window 中的表上。这样就将程序绑定到了表上。用户可以在 Table Editor 的 Dependencies 页签上看到任何已绑定的程序。 创建 SQL 程序 1 在 Data Model Explorer 中,展开物理 Main Model,右键单击 Procedures 节点,然后单 击 New Procedure。 2 完成 Procedure SQL Editor 的选项,单击 OK 创建程序。 提示 : SQL 程序创建后,用户可右键单击需要修改的程序名,然后选择 Edit SQL Procedure 对其进行编辑。 下面描述需要额外解释的选项。 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 220 Description 页签 为程序输入或编辑定义。如果目标数据库支持, ER/Studio DA 生成 SQL 码时以表注释形 式添加定义。 Attachment Bindings 页签 将一条外部信息或附件与程序绑定。也可以将附件从对象拆离、替换附件绑定默认值或改 变被绑定附件的位置。双击目标附件的 Value 输入框,替换移至 Selected Attachments 网格 的附件的值。 ER/Studio DA 打开 Value Override Editor 或一个列表。具体情况取决于附件数 据类型。附件是在 Data Dictionary 中的 Attachments 文件夹中创建的。更多信息,请参考 附 加外部文件到数据模型 。 Permissions 页签 设置程序的访问角色及用户权限。注意,具体权限越多,其维护和更新所需的时间也越 多。角色和用户必须事先分配才会出现在 Procedure SQL Editor 中。更多信息,请参考 创建 和编辑数据库角色 和创建和编辑数据库用户 。 注意 • 编辑函数和程序时,用户可以选择启用首选 SQL 编辑器。通过 Options Editor 的 Tools 页签,用 户可输入将要启用并管理 SQL ER/Studio DA 输出的 SQL 编辑器的名称和位置。选择 Tools > Options > Tools > ISQL Path。 • 对于所有可选新模型: • 要显示模式对象描述信息或其相关标记,选择 Tools > Options > Display,然后选择需要 的显示模式。 • 要隐藏无效模式对象,选择 Tools > Options > Schema Objects,然后选择 Hide Invalid Schema Object Bitmap。 • 对于当前数据模型,可选择: • 要显示模式对象或对象关系,及对象定义或对象标记,选择 View > Diagram And Object Display Options > Schema Object,然后选择显示选项。 • 要确定鼠标移到模式对象上时显示的内容,选择 Tools > Options > Diagram > Schema Object Display,然后选择显示对象描述信息或其关联 DDL。 • 对于物理模型,用户可输入在 CREATE TABLE 语句中的 CREATE OBJECT 子句之前或之后应 用的 SQL。选择 Model > Model Properties > PreSQL & Post SQL。 • Northwindl.dm1 中的 SQL Server 200 的样本物理模型提供了一些如何使用 SQL 程序的很好 的例子。 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 221 导入 SQL 程序 1 在 Data Model Explorer 中,展开 Physical Main Model,右键单击 Procedures 节点,然后 单击 New Procedure。 2 在 Description 页签上,单击 Import,然后输入或浏览,选择需要导入的 SQL 程序文件的 名称。 3 完成 Procedure SQL Editor 的选项,单击 OK 创建程序。 导出 SQL 程序 1 在 Data Model Explorer 中,展开物理 Main Model,右键单击 Procedures 节点,然后单 击 New Procedure。 2 在 Description 页签上,单击 Export,然后输入或浏览,选择需要保存 SQL 程序的 SQL 程 序文件的名称。 3 完成 Procedure SQL Editor 的选项,单击 OK 创建程序。 创建、编辑触发器 触发器是与一种表相关联的代码对象。被 SQL INSERT、UPDATE 或 DELETE 语句修改时,这 种关联的表可以自执行。触发器能包含复杂 SQL 语句,如查询其它表所需的 SQL 语句,但不能接 收参数或引数,且不能执行提交或回滚操作。此外,触发器与所有其它脚本或应用一样,会出现编 码错误问题。 由于触发器可自定义及自执行,因此常用于: • 执行参照完整性规则 。例如,东部地区一个新客户被添加到客户表时,新客户的信息也被添 加到表,供负责该地区的销售代表使用。 • 执行关于表数据的业务规则 。例如,根据客户账户状态限制订单的插入。如果客户货款到期 未付,或订单超出客户赊销限额,订单会被拒绝。 • 一个表更新时,同步另一表中的信息 。例如,用户可以在 product 表上创建一个删除触发 器。触发器使用这个表定位并删除 sales 表和 pending orders 表中匹配的行。 • 更新发生时,初始化 SQL 服务器外部动作 。例如,新雇用的员工被添加到员工表时,一封 电子邮件会发给人力资源部,提醒其执行特定动作,如安排工位及电脑设备,保证所需的所 有纸件送达新员工,新员工完成后返回人力资源部。 • 防止某些类型的操作,如更新。 例如,某更新操作尝试将 bonus (存储在 renumeration 表中)应用到一周工作时间不到 16 小时的 employees(存储在 persons 表),此时触发器 可以回滚这个更新操作。 用户可以在 Data Model Explorer 中的 Triggers 节点查看与自己的模型相关联的触发器。但如 需创建或编辑触发器,必须使用需要与触发器关联的表的 Triggers 页签。 生成的触发器代码为每个目标数据库平台定制。 ER/Studio DA 使用模板执行触发器代码生成 任务。 SQL 程序可以是触发器,这种触发器是一种特殊的程序。 ER/Studio DA 支持以下类型的触发器: 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 222 • Referential Integrity Triggers 防止用户在数据库中产生差异,保证数据库中隐含关系得到执 行。这类触发器通知数据库如何管理或处理 SQL 程序命令, SQL 程序命令执行组织的业务规 则。 ER/Studio DA 在父表和子表之间建立插入、更新及删除选项,定义参照完整性触发器。 在 Relationship Editor 的 Trigger 页签上,用户可以定义参照完整性级别及 SQL 插入、更 新和删除行为。更多信息,请参考 创建参照完整性触发器 。 • User-Defined Triggers 一般用于特殊情况,代替数据库生成的代码的默认能力。用户自定义触 发器与 DBMS 专用代码密切相关,因此,仅在物理模型中实现。共有三种用户自定义触发器: • Scripted Triggers 是用 Oracle's PL/SQL 或 Microsoft's Transact-SQL 等数据库的原始程序 码写的。如果这些对象出现在数据中,用户可对其进行逆向工程,也可以在 Data Model Window 中显示这些对象。逆向工程的触发器将表名和其它对象参考信息用硬编码写入其底 层代码。更多信息,请参考 创建用户自定义脚本触发器 。 • Templated Triggers,没有触发器引用的具体对象的名称,如表名及硬编码进其底层代码的 具体列。这就允许一个应用的多个不同对象重用触发器,多个模型重用触发器代码主体。更 多信息,请参考 创建用户自定义模板触发器 。 • Reusable Triggers,能对任何数量的表执行动作。更多信息,请参考 创建可重用用户自定义 触发器 。 注意 • 要在 Data Model Window 中查看触发器,必须使能触发器。要显示触发器,选择 Tools > Options > Schema Objects。 • 在 Options 编辑器的 Schema Objects 页签上,为新触器起指定默认触发器动作。在此页签 上,也可以选择应用默认触发器。更多信息,请参考 • 用户仅可从 Table Editor 的 Dependencies 页签访问 Trigger Editor。 • 用户可以选择仅显示一个关系的特定属性,包括 Diagram And Object Display Options 的 Relationship 页签上的触发器动作。更多信息,请参考 定制图表和对象的显示方式 。 • 要为触发器和程序等程序逻辑生成代码,代码结果必须存储在变量 resultstring 中。例如,在 样本模型 Northwind.dm1中,数据字典 为Oracle平台列出了一个可重用触发器 SYSUPDATE。 此触发器的代码包括下列为触发器生成代码所需的语句: resultstring = trigBody 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 223 触发器举例 Sub Main Dim trigName As String Dim trigBody As String Dim trigName As String Dim trigName As String crlf = Chr(13) + Chr(10) trigName = Left(CurrEntity.TableName, 24) + "UpdTrg" trigBody = "CREATE OR REPLACE TRIGGER " + trigName + " AFTER UPDATE ON " + CurrEntity.TableName + crlf trigBody = trigBody + "REFERENCING OLD AS OLD NEW AS NEW" + crlf trigBody = trigBody + "FOR EACH ROW" + crlf trigBody = trigBody + "BEGIN" + crlf trigBody = trigBody + "UPDATE " + CurrEntity.TableName + " SET UPDATEDATE = SYSDATE WHERE " For Each attrib In CurrEntity.Attributes If attrib.PrimaryKey = True Then If Right(trigBody,6) <> "WHERE " Then trigBody = trigBody + " AND " End If trigBody = trigBody + attrib.ColumnName + " = :OLD."+ attrib.ColumnName End If Next attrib trigBody = trigBody + ";" + crlf + "END;" 'Resultstring outputs the trigger to the DDL script when the Generate Database 'wizard is used.The string variable used to generate the trigger DDL needs to be set to it. resultstring = trigBody 'This message box is used to view the SQL when debugging the VB code.A table has to be selected. MsgBox(trigBody) End Sub 以下数据库平台支持触发器: • IBM DB2 for LUW 5.x、 6.x、 7.x、 8.x、 9.x • IBM DB2 for OS/390 6.x、 z/OS 7.x、 8.x、 9.x • Microsoft SQL Server 4.x、 6.x、 7.x、 2000、 2005、 2008 •Oracle 7.x、 8.x、 9i、 10g、 11g • Sybase ASA 6.0、 7.0、 8.0、 9.0 • Sybase Adaptive Server IQ 12 • Sybase SQL Server System ASE 11.0、 11.5、 11.9、 12.0、 12.5、 15 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 224 注意 • 使用 DDL Generation Wizard 生成数据库时,可选择要包括哪些触发器,以及这些触发器应 通过 CREATE 还是 DROP 语句生成。在 General Options,用户可选择创建系统触发器,如参 照完整性触发器。 • 触发器将在 Data Model Explorer 的物理模型中显示,格式: triggerName.assocatedTableName。 • 用户可在 Diagram and Display Options 对话框的 Relationship 页签上选择 Trigger Actions, 显示触发器动作。例如,显示触发器动作时,在有 Update Restrict 触发器的 Employee 表旁 边显示 U:R。 • 某些命令、语句和操作不能在触发器程序中使用。为避免触发器发生意外,请查阅 DBMS 相 关文档。 创建参照完整性触发器 参照完整性触发器,或系统触发器能够防止用户在数据库中产生差异,保证数据库中隐含关系 得到执行。这类触发器通知数据库如何管理或处理模板程序,模板程序执行组织的业务规则。在 Relationship Editor 的 Trigger 页签,用户可为父表和子表确定插入、更新、和删除行为,定义参 照完整性触发器。 注意: 不可以为非专用关系创建参照完整性触发器。 1 在 Data Model Window 中,在两个表间创建关系,保证在一张表上发生 SQL INSERT、 UPDATE 或 DELETE 操作时,两张表都得到更新。 2 在 Data Model Window,双击关系。 3 在 Relationship Editor 中,单击 Trigger 页签。 下面描述需要额外解释的选项。 • 要为触发器和程序等程序逻辑生成代码,触发器结果必须存储在变量 resultstring 中。例如, 在样本模型 Northwind.dm1 中,数据字典为 Oracle 平台列出了一个可重用触发器 SYSUPDATE。此触发器的代码包括下列为触发器生成代码所需的语句: resultstring = trigBody •ER/Studio DA使用模板执行参照完整性代码生成任务。生成的触发器代码为每个目标数据库 平台定制。对每个 INSERT、UPDATE 或 DELETE 动作,用户可应用下列基于类型、选择和所 需的数据修改程度的触发器模板: • Parent Actions:定义父表更新时子表的动作。 • Insert:None:不可改变。 • None (No Action):触发器证实父表主键中外键值的存在。如果外键值无法通过验证,更 新或删除操作无法通过参照完整性检查。 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 225 • Set Null:触发器证实父表主键中外键值的存在。如果外键值无法通过验证,触发器将子表中 的外键值设置为 Null,然后对父表执行更新或删除操作。例如,父表为 persons,子表为 tasks,两个表通过一个强制关系共用 id。在含有 ID 但 Persons 表中没有相应值的 Tasks 表 中,用户可使用 Set Null 触发器插入数据。这种情况下,数据库不会提示参照完整性错误。 • Set Default:将外键设置为默认值,然后对父表执行更新或删除操作。 • Restrict:触发器证实父表主键中外键值的存在。如果外键值无法通过验证,触发器将防止数 据的插入、更新或删除。例如,父表为 Persons,子表为 Tasks,两表通过一个强制关系共用 一个 ID。在含有 ID 但 Persons 表中没有相应值的 Tasks 表中,用户可使用 Restrict 触发器 防止插入数据。这种情况下,数据库会提示参照完整性错误。 • Cascade:如果主键被更新或删除,触发器会将修改级联至附属表中相应的外键值。 创建用户自定义脚本触发器 1 在 Data Model Window 或 Data Model Explorer 中,选择需要创建触发器的表。 2 选择 Edit > Edit Database Table。 提示 : 或者在 Data Model Window 中,双击表打开 Table Editor,或右键单击对象,然 后选择 Edit Table。 3 在 Table Editor 中,单击 Dependencies 页签。 4 单击 Add 按钮,然后选择 Triggers > Scripted。 5 完成 Trigger Editor 选项,单击 Finish 创建触发器。 下面描述需要额外解释的选项: • 要为触发器和程序等程序逻辑生成代码, 触发器结果必须存储在变量 resultstring 中。例如, 在样本模型 Northwind.dm1 中,数据字典 为 Oracle 平台列出了一个可重用触发器 SYSUPDATE。此触发器的代码包括下列为触发器生成代码所需的语句: resultstring = trigBody • Trigger Editor 包括查找和替换功能,以便操作 SQL 文本字符串。 • Name:用户可以输入触发器名称或编辑已有触发器名称。 SQL 页签 用户可以为触发器输入一个 CREATE TRIGGER 语句,或编辑已有脚本。如果不输入 SQL 脚本,可使用 Import 按钮导入。 • Export:用户可将 SQL 脚本导到 *.sql 文件。如果需要基于当前正在创建的触发器创建更多 触发器,此项非常有用。用户可导出代码,之后将其导入另一程序。单击 Export,打开 Save As 对话框。输入文件名。 ER/Studio DA 将文件保存在 Model 文件夹。如果需要将文件保存 在其它文件夹,浏览定位目标文件夹。 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 226 • Import:用户可导入 *.sql 文件。单击 Import,打开 Open 对话框。输入 *.sql 文件名,或 浏览定位该文件。 • Validate:用户可以验证 SQL 脚本。如果检测到任何错误, ER/Studio DA 将通过信息框返回 错误。错误信息包括错误类型、行及列信息。 Description 页签 包括一个文本框,用户可在文本框中输入触发器描述信息。 Attachment Bindings 页签 将一条外部信息或附件与触发器绑定。也可以将附件从对象拆离、替换附件绑定默认值或 改变被绑定附件的位置。双击目标附件的 Value 输入框,替换移至 Selected Attachments 网 格的附件的值。 ER/Studio DA 打开 Value Override Editor 或一个列表。具体情况取决于附件 数据类型。附件是在 Data Dictionary 中的 Attachments 文件夹中创建的。更多信息,请参考 附加外部文件到数据模型 。 创建用户自定义模板触发器 1 在 Data Model Explorer 中,展开 Physical Main Model,右键单击 Triggers 节点,然后单 击 New Trigger。 2 完成 Trigger Wizard 的选项,单击 Finish 创建触发器。 提示 : 辅助表创建后,用户可右键单击需要修改的辅助表,然后选择 Edit Auxiliary Table 对其 进行编辑。 下面描述需要额外解释的选项: • Trigger Editor 包括查找和替换功能,以便操作 SQL 文本字符串。 • 要为触发器和程序等程序逻辑生成代码, 触发器结果必须存储在变量 resultstring 中。例如, 在样本模型 Northwind.dm1 中,数据字典 为 Oracle 平台列出了一个可重用触发器 SYSUPDATE。此触发器的代码包括下列为触发器生成代码所需的语句: resultstring = trigBody Description 页 / 页签 为描述信息输入或编辑定义。如果目标数据库支持, ER/Studio DA 生成 SQL 码时以注释 形式添加定义。 Attachment Bindings 页签 将一条外部信息或附件与触发器绑定。也可以将附件从对象拆离、替换附件绑定默认值或 改变被绑定附件的位置。双击目标附件的 Value 输入框,替换移至 Selected Attachments 网 格的附件的值。 ER/Studio DA 打开 Value Override Editor 或一个列表。具体情况取决于附件 数据类型。附件是在 Data Dictionary 中的 Attachments 文件夹中创建的。更多信息,请参考 附加外部文件到数据模型 。 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 227 创建可重用用户自定义触发器 可重用用户自定义触发器在数据字典中创建。更多信息,请参考 创建、编辑可重用触发器 。 创建、编辑函数 函数是用户定义的子程序。函数可用编程语言编写,如 C 语言、COBOL 语言、Java 语言等, 返回一个标量值或完整表,或调用另一函数,或者用 SQL 写成,返回标量值。对于可重用应用逻 辑来说,函数很有用。可使用函数确定控制访问以及操作对象包含的底层数据的最佳方法。函数接 受许多参数并将一个单一值返回到调用程序。函数可用于数据库,检查正在输入的数据的有效性。 例如,函数可用于验证邮政编码的有效性。通过邮政编码调用例程,函数可依据邮政编码是否有效 返回一个 True 或 False 值。 用户可以创建一个可重用函数 Function SQL Editor。在这个编辑器中,可创建一个函数并将 附件与其绑定。此外,用户也可以通过 Table Editor 的 Dependencies 页签添加函数。包存储在数 据库中,不与具体表关联。 以下数据库平台支持 SQL 函数: • IBM DB2 for LUW 5.x、 6.x、 7.x、 8.x、 9.x • Microsoft SQL Server 2000、 2005 •Oracle 7.x、 8.x、 9i、 10g • Sybase ASA 6.0、 7.0、 8.0、 9.0、 Adaptive Server IQ 12 添加预存储 SQL 函数 1 在 Data Model Explorer 中,展开 Logical Main Model,右键单击 Functions 节点,然后单 击 New Function。 2 完成 Function SQL Editor 的选项,单击 OK 创建函数。 提示 : 函数创建后,用户可右键单击需要修改的函数,然后选择 Edit Function。 下面描述需要额外解释的选项。 Description 页签 为函数输入或编辑定义。如果目标数据库支持, ER/Studio DA 生成 SQL 码时以表注释形 式添加定义。 Permissions 页签 设置函数的访问角色及用户权限。注意,具体权限越多,其维护和更新所需的时间也越 多。角色和用户必须事先分配才会出现在 Function Editor 中。更多信息,请参考 创建和编辑 数据库角色 和创建和编辑数据库用户 。 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 228 Attachment Bindings 页签 将一条外部信息或附件与函数绑定。也可以将附件从对象拆离、替换附件绑定默认值或改 变被绑定附件的位置。双击目标附件的 Value 输入框,替换移至 Selected Attachments 网格 的附件的值。 ER/Studio DA 打开 Value Override Editor 或一个列表。具体情况取决于附件数 据类型。附件是在 Data Dictionary 中的 Attachments 文件夹中创建的。更多信息,请参考 附 加外部文件到数据模型 。 注意 • 编辑函数和程序时,用户可以选择启用首选 SQL 编辑器。通过 Options Editor 的 Tools 页签,用 户可输入将要启用并管理 SQL ER/Studio DA 输出的 SQL 编辑器的名称和位置。选择 Tools > Options > Tools > ISQL Path。 • 对于所有可选新模型: • 要显示模式对象描述信息或其相关标记,选择 Tools > Options > Display,然后选择需要 的显示模式。 • 要隐藏无效模式对象,选择 Tools > Options > Schema Objects,然后选择 Hide Invalid Schema Object Bitmap。 • 对于当前数据模型,可选择: • 要显示模式对象或对象关系,及对象定义或对象标记,选择 View > Diagram And Object Display Options > Schema Object,然后选择显示选项。 • 要确定鼠标移到模式对象上时显示的内容,选择 Tools > Options > Diagram > Schema Object Display,然后选择显示对象描述信息或其关联 DDL。 创建、编辑包 包是一组程序、函数、变量及 SQL 语句,用于将相关对象存储在一起。一个包包含处理来自 单个源文件的 SQL 语句所需的所有信息。可使用包处理和调用大量 SQL。包存储在数据库中,不 与具体表关联。 以下数据库平台支持包: •Oracle 7.x、 8.x、 9i、 10g、 11g 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 229 创建包 1 在 Data Model Explorer 中,展开 Logical Main Model,右键单击 Packages 节点,然后单 击 New Package。 2 完成 Package Editor 的选项,单击 OK 创建包。 提示 : 包创建后,用户可右键单击需要修改的包,然后选择 Edit Package 对其进行编辑。 提示 : Package Editor 包括查找和替换功能,以便操作 SQL 文本字符串。 下面描述需要额外解释的选项。 Header 页签 头部包含包规范。在头部,用户可以声明数据类型、变量、常量、异常、游标及子程序。 头部不包含任何代码。用户可以指定包中仅含子程序或游标使用的全局变量。这种类型的包仅 声明数据类型、常量、变量、异常、调用规范,不要求有包主体。 Body 页签 包主体可实现子程序,查询包头声明的游标。 Definition 页签 为包输入或编辑定义。如果目标数据库支持, ER/Studio DA 生成 SQL 码时以注释形式添 加定义。 Attachment Bindings 页签 将一条外部信息或附件与包绑定。也可以将附件从对象拆离、替换附件绑定默认值或改变 被绑定附件的位置。双击目标附件的 Value 输入框,替换移至 Selected Attachments 网格的 附件的值。 ER/Studio DA 打开 Value Override Editor 或一个列表。具体情况取决于附件数据 类型。附件是在 Data Dictionary 中的 Attachments 文件夹中创建的。更多信息,请参考 附加 外部文件到数据模型 。 Permissions 页签 设置包的访问角色及用户权限。注意,具体权限越多,其维护和更新所需的时间也越多。 角色和用户必须事先分配才会出现在 Package Editor 中。更多信息,请参考 创建和编辑数据 库角色 和创建和编辑数据库用户 。 创建、编辑物化查询表 与物化视图一样,物化查询表是一种基于一个或多个表的查询结果定义的表。只要视图被引 用,当视图所基于的查询进行时,一个物化查询表将查询结果作为用户可操作的数据进行存储,而 不是像底层表里的数据一样存储。 物化查询表可以大幅提升查询,特别是复杂查询的性能。 以下数据库平台支持物化查询表: 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 230 • IBM DB2 for LUW 5.x、 6.x、 7.x、 8.x、 9.x 注意: The DB2 Materialized Query Table Wizard 和 DB2 Materialized Query Table Editor 的 选项相同,但 Attachment Bindings 选项仅编辑器中有。 添加物化查询表 1 在 Data Model Explorer 中,展开 Physical Main Model,右键单击 Materialized Query Table 节点,然后单击 New Materialized Query Table。 2 完成 DB2 Materialized Query Table Wizard 中的选项,单击 Finish 创建物化查询表。 提示 : 物化查询表创建后,用户可右键单击需要修改的物化查询表,然后选择 Edit Materialized Query Table 对其进行编辑。 下面描述需要额外解释的选项。 Name 页 / 页签 物化查询表名称由此处所输入的信息产生,格式为: 所有者 . 名称。其中: • 所有者 是物化查询表的所有者。 • 名称是物化查询表的名称。 Location 页 / 页签 • What is the table tablespace:为避免日志记录数据变化时产生性能开销,在定义为 NOT LOGGED 的表空间中创建物化查询表。 • Refresh Preferences:确定基表更新时物化查询表何时更新。 • Query Optimization:如果使能此项, DB2 会考虑自动查询重写物化查性能表。使能此项 后, DB2 确定物化查询表全选中的选项时更为严格。 SQL 页 / 页签 输入物化视图的整个选择语句,以关键字 SELECT 开头。 Definition 页 / 页签 为物化视图输入或编辑定义或描述信息。如果目标数据库支持, ER/Studio DA 生成 SQL 码时以注释形式添加定义。 DDL 页 / 页签 展开创建节点集所需的 CREATE SUMMARY TABLE AS ...(SELECT ...) 语句。ER/Studio DA 使用模型的所选数据库平台特有的解析器生成物化查询表。 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 231 Attachment Bindings 页签 将一条外部信息或附件与物化查询表绑定。也可以将附件从对象拆离、替换附件绑定默认 值或改变被绑定附件的位置。双击目标附件的 Value 输入框,替换移至 Selected Attachments 网格的附件的值。 ER/Studio DA 打开 Value Override Editor 或一个列表。具体情况取决于附 件数据类型。附件是在 Data Dictionary 中的 Attachments 文件夹中创建的。更多信息,请参 考附加外部文件到数据模型 。 注意 • 刚创建的物化查询表是空表。 必须使用 REFRESH TABLE 语句显式填充系统维护的物化查询表; 使用 LOAD 工具、 INSERT 语句或 REFRESH TABLE 语句填充用户自己维护的物化查询表。 创建、编辑物化视图 使用物化视图可以大幅提高数据仓库以及决策支持系统工具的性能。物化视图能够提高访问 许多记录的查询的速度,让用户在几秒钟内查询百万兆字节数据。物化视图是一个预先计算的表, 由事件表或维度表中的聚合数据或连接数据组成。物化视图也常被称作汇总表或聚合表。这种预定 义查询的一个例子就是特定时间段内地区销售汇总。与原始的源数据相比,物化视图的预计算的数 据汇总和数据连接的存储要求低。物化视图会创建一个可以被索引和分析的真实表。 以下数据库平台支持物化视图: •Oracle 8.x、 9i、 10g、 11g 注意: Oracle Materialized View Wizard 和 Oracle Materialized View Editor 的选项相同,但 PreSQL & PostSQL、 Permissions 及 Attachment Bindings 选项仅在编辑器中可用。 创建物化视图 1 在 Data Model Explorer 中,展开 Physical Main Model,右键单击 Materialized Views 节 点,然后单击 New Materialized View。 2 完成 Oracle Materialized View Wizard 中的选项,单击 Finish 创建物化视图。 提示 : 物化视图创建后,用户可右键单击需要修改的物化视图,然后选择 Edit Materialized View 对其进行编辑。 下面描述需要额外解释的选项。 Name 页 / 页签 从物化视图的所有者列表中可以选择已在逻辑或物理模型中定义的用户。 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 232 Refresh 页 / 页签 • 如何刷新物化视图? 选择如何同步物化视图与其基表。定义物化视图的查询确定刷新的方法。 物化视图总能新建,但并不总能迅速刷新。更多信息,请参考 快速刷新方法的要求 。 • Complete:新建。 • Fast:仅应用变化。 • Force:执行 Fast 刷新;如果不可以执行 Fast 刷新,执行 Complete 刷新。 • Never:不自动刷新视图。 • Choose a refresh mechanism:选择物化视图的刷新时间。 • ON DEMAND:如果选择此项,用户可以运行一个 Oracle 嵌入程序刷新物化视图,如 DBMS_MVIEW.REFRESH (刷新具体物化视图) 、DBMS_MVIEW.REFRESH_DEPENDENT (刷新与具 体基表关联的物化视图)或 DBMS_MVIEW.REFRESH_ALL_MVIEWS (刷新所有物化视图) 。 • ON COMMIT:如果选择此项,业务被提交时刷新物化视图,更形物化视图中引用的表。 • Automatically:如果选择此项, Oracle 在指定日期或以指定频率刷新物化视图。 • Select a refresh method:如果物化视图基于主键,选择此项后,重新组织视图的主表时视 图仍能够快速刷新。这种情况下,主表必须包含一个主键约束。如果物化视图是基于行标识组 织的,需要选择行标识。如果视图不包括主表中的所有主键列,选择行标识很有用。 • Primary key:选择此项后,重新组织物化视图表并不影响使用 Fast 刷新方法刷新视图。仅在 主表包含一个已使能的主键约束时选择此方法。 Query 页 / 页签 • 从列表中选择一个预定义表空间或指定其它表空间名,存放物化视图。 • 如果需要 Oracle 选择使用的回滚段,为回滚段指定 Default。修改物化视图时 Default 选项最 为有用。 • 创建和刷新物化视图时,系统为每个物化视图存储一个 主回滚段 并进行验证。如果物化视图很 复杂,主回滚段可以忽略。 • 什么是物化视图查询? 输入用于填充和刷新物化视图的 SQL 查询。 SQL 必须有效,能用于创 建物化视图。 Transaction 页 / 页签 • Initial 事务:( INITTRANS)指定数据块头中初始预留空间的 DML 事务的数量。 Oracle 将控 制信息存储在数据块中,指明数据块中哪些行包含已提交的更改或未提交的更改。保留的历史 的量由这个参数控制。如果过多事务短时间内同时修改同一数据块, Oracle 没有充足的历史 信息确定某行是否由最近的一个事务更新过。如果表中许多事务更新相同数据块,为基于该表 的物化视图指定更大的值。 • Max 事务: (MAXTRANS) 一旦 INITRANS 预留的空间耗尽,系统将从任何可用剩余空间为多余 事务实体分配空间。一旦分配,被分配的空间则变成块头的永久部分。本参数限制可同时使用 数据块中数据的事务实体的数量,因此也限制可为数据块中事务实体分配的剩余空间的大小。 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 233 • Percent Free:(PCTFREE)指定每个数据块中为将来更新预留的空间的最大百分比。该预留 空间可避免因更新操作导致数据行长度增大而引起行迁移及行链接。不更新的表此项为 0。 • Percent Used:(PCTUSED)指定在重新加入可用数据块列表前每个数据块中可用空间最大百 分比。如果执行了删除操作,且数据块中可用空间小于此值,可对数据模块进行新的插入操 作。不更新的物化视图此值为 99。默认值为 40%,即如果可用空间小于整个空间的 40%,可 对数据块进行插入操作。 Extent 页 / 页签 • Initial Extent:(INITEXTENT)指定 Oracle 应预留的数据块的初始数量。 Oracle 将保留与该 表行初始扩展块相对应的数据块数量。 • Next Extent:( NEXT)指定下一扩展块大小。单位: kilobyte。比照表空间中最大可用剩余 空间监控此值。如果表无法分配下一扩展块,将无法再扩展,因此也将无法接收多余数据。 • Percent Increase:( PCTINCREASE)指定下一扩展块比前一扩展块尺寸增大的百分比。谨慎 设置此项,因为此项放大对象的增长进而实质上影响表空间中的可用剩余空间。 • Min Extents:(MINEXTENTS)指定创建段时分配的扩展块的数量。此项通过保证每个已用或 未用扩展块的大小至少等于用户设置的值,控制剩余空间分割。 • Max Extents:( MAXEXTENTS)指定 Oracle 可为物化视图分配的扩展块的最大数量。一旦达 到此限值, Oracle 防止簇进一步增长并停止接收数据。谨慎使用此限值监控已经为表分配的 扩展块的数量。 Options 页 / 页签 • 需要为本视图注册一个预建表吗? 如果选择此项,系统注册将一个现有表注册为一个预初始 化的物化视图。在数据仓库环境下注册大型物化视图时,此项尤为有用。 • 应该立即填充物化视图吗? 如果不选择此项,物化视图在下次刷新操作期间填充。 • 应该缓存发往物化视图的数据吗? 如果选择此项,全表扫描时, Oracle 将访问频繁的数据放 在缓冲缓存中的列表的最近最常用端。此属性对小型查阅表很有用。 • 物化视图可以查询重写吗? 如果语句中的表达式可重复,则仅使能查询重写。 • 并行操作中应该有多少个线程? 输入整数, 为创建的物化视图上的查询和 DML设置默认并行度。 • 是否压缩物化视图? 如果选择此项,系统将压缩数据段以减少对磁盘和内存的占用。 Definition 页 / 页签 为物化视图输入或编辑定义。如果目标数据库支持, ER/Studio DA 生成 SQL 码时以物化 视图注释形式添加定义。 DDL 页 / 页签 显示创建物化视图所需的 CREATE MATERIALIZED VIEW 语句。 ER/Studio DA 对模型所选 数据库平台进行平台相关分析,生成物化视图。 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 234 PreSQL & PostSQL 页签 用户可以输入 CREATE MATERIALIZED VIEW 语句之前或之后应用的 SQL。此处输入的 PreSQL 和 PostSQL 脚本包括在创建物理数据库时的脚本中。 Permissions 页签 设置物化视图的访问角色及用户权限。注意,具体权限越多,其维护和更新所需的时间也 越多。角色和用户必须事先分配才会出现在 Materialized View Editor 中。更多信息,请参考 创建和编辑数据库角色 和创建和编辑数据库用户 。 Attachment Bindings 页签 将一条外部信息或附件与物化视图绑定。也可以将附件从对象拆离、替换附件绑定默认值 或改变被绑定附件的位置。 双击目标附件的 Value 输入框,替换移至 Selected Attachments 网 格的附件的值。 ER/Studio DA 打开 Value Override Editor 或一个列表。具体情况取决于附件 数据类型。附件是在 Data Dictionary 中的 Attachments 文件夹中创建的。更多信息,请参考 附加外部文件到数据模型 。 快速刷新方法的要求 物化视图特点 物化视图有以下内容时快速刷新的支持程度: 仅连接 连接和聚合 单个表上的 聚合 仅细节表 XX X 仅单个表 X 表仅在 FROM 列表出现一次 XX X 无不重复表达式,如 SYSDATE 和 ROWNUM XX X 不引用 RAW 或 LONG RAW XX X 无 GROUP BY X 所有细节表的行标识出现在查询的 SELECT 列表中 X 如果一致,表达式可出现在 GROUP BY 和 SELECT 子句中 XX 聚合可以存在但不可嵌套 XX 带 COUNT 的 AVG XX 带 COUNT 的 SUM X 带 COUNT 和 SUM 的 VARIANCE XX 带 COUNT 和 SUM 的 STDDEV XX WHERE 子句包含连接谓词。连接谓词可以是 ANDed 比特而不是 ORed。 XX 无 WHERE 子句 X 无 HAVING 或 CONNECT BY XX X 无子查询、内联视图或集函数,如 UNION 或 MINUS XX X COUNT(*) 必须存在 X 不允许 MIN 和 MAX X 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 235 创建、编辑节点组 节点组是一个或多个已命名的数据库分区的集合。节点组中可以有 2 到 32 个节点。为节点组 定义的节点的数量决定创建数据库文件的系统数量。 在负载共享和负载平衡环境下,如果希望数据库文件在一组 System i™ 模型中可见,可创建 节点组。节点组能使工作负载在大表的分区数据库中并行处理,而小表则可以存储在一个分区或根 据需要存储在为数不多的分区中。 以下数据库平台支持节点组: • IBM DB2 for LUW 5.x、 6.x、 7.x、 8.x、 9.x 注意: DB2 Nodegroup Wizard 和 DB2 Nodegroup Editor 的选项相同,但 Attachment Bindings 选项仅编辑器中有。 创建节点组 1 在 Data Model Explorer 中,展开物理 Main Model,右键单击 Node Groups 节点,然后 单击 New Nodegroup。 2 完成 Node Groups Wizard 中的选项,单击 Finish 创建节点组。 提示 : 节点组创建后,用户可右键单击需要修改的节点组,然后选择 Edit Node Group 对其进 行编辑。 下面描述需要额外解释的选项。 外连接及唯一约束是否必须先后出现在内连接表的连接列 X 物化视图日志必须存在,包含物化视图中引用的所有列,且通过 LOG NEW VALUES 子句创建 X 物化视图日志必须存在,且含有所有细节表的行标识 X SELECT 和 GROUP BY 中的非聚合表达式必须为直列 X 明细表 DML XX 直接路径数据加载 XX X ON COMMIT XX ON DEMAND XX X 物化视图特点 物化视图有以下内容时快速刷新的支持程度: 仅连接 连接和聚合 单个表上的 聚合 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 236 Name 页 / 页签 • 节点组名称应该如何设置? 节点组名称不得以 SYS 或 IBM 开头。 • Enter the nodes (partitions) to include:指定分区编号。分区编号必须在 0 至 999 之间。 Definition 页 / 页签 为节点组输入或编辑定义。如果目标数据库支持, ER/Studio DA 生成 SQL 码时以注释形 式添加定义。 DDL 页 / 页签 显示创建节点组所需的 CREATE NODEGROUP 语句。 ER/Studio DA 使用模型的所选数据库 平台特有的解析器生成节点组。 Attachment Bindings 页签 将一条外部信息或附件与节点组绑定。也可以将附件从对象拆离、替换附件绑定默认值或 改变被绑定附件的位置。双击目标附件的 Value 输入框,替换移至 Selected Attachments 网 格的附件的值。 ER/Studio DA 打开 Value Override Editor 或一个列表。具体情况取决于附件 数据类型。附件是在 Data Dictionary 中的 Attachments 文件夹中创建的。更多信息,请参考 附加外部文件到数据模型 。 创建、编辑对象类型 对象类型定义由相似数据类型集合组成的抽象数据类型或对象。例如,用户可以创建一个对象 类型,该对象类型定义一个完整地址而不是地址中的一部分,如城市、州和邮政编码。这种情况 下,对象类型将地址中的所有信息当作一个单一的类型存储在同一位置。该完整地址在访问和操作 过程中是一个单元,而不是多个单元。也可以使用对象类型创建一个购买订单对象,包括所有购买 项目花费的求和方法。 对象类型有利于保证统一性和一致性,因为对象类型被定义为可在其它对象类型或对象中重 用的单个封装实体。此外,对象类型允许创建在关系对象中受到限制的代表真实情况的对象,灵活 性高。 创建后,用户可将对象类型当作表中的数据类型使用。 可以创建的对象类型如下: • Incomplete:不指定属性或方法,且可用于循环引用,如人 - 女性。类型在完成前可被引用。 此项也可用于创建包含未创建的子类型的 REF 属性的类型。要创建这类父类型,先创建待引 用的子类型的不完整类型,父类型创建完后创建完整子类型。 子类型是其直接父类型的具体类型,显式依赖后者。为保证父类型丢弃后子类型也丢弃, 首先应丢弃所有子类型。所有子类型丢弃后,才可以丢弃其父类型。 • Complete:通过执行指定了属性和方法的 CREATE TYPE 语句可以使不完整类型变完整。 • VARRAY:用于存储数量不多的相关数据集合。例如,如果公司某个部门有 10 个办公室(办 公室的描述互相不同) ,可创建长度为 10 的 VARRAY 来保存这些办公室的详细情况。 VARRAY 类型的值必须固定、已知,且必须为小值,因为这些值的存储格式为 RAW。 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 237 • Nested Table:如果同一实体的数据重复了未知次数且关注存储时使用嵌套表。 •Complete、 VARRAY 和 Nested Table 组合。 以下数据库平台支持对象类型: •Oracle 8.x、 9i、 10g、 11g 创建对象类型 1 在 Data Model Explorer 中,展开物理 Main Model,右键单击 Object Types 节点,然后 单击 New Object Type。 2 完成 Object Type Editor 上的页签,单击 OK 创建对象类型。 提示 : 对象类型创建后,用户可右键单击需要修改的对象类型,然后选择 Edit Object Type 对 其进行编辑。 提示 : Object Type Editor 包括查找和替换功能,以便操作 SQL 文本字符串。 下面描述需要额外解释的选项。 Header 和 Body 页签 输入 SQL 创建对象类型。由这两个页签创建的 SQL 将出现在自身的 SQL 数据块中。 Description 页签 为对象类型输入或编辑定义。 Attachment Bindings 页签 将一条外部信息或附件与对象类型绑定。也可以将附件从对象拆离、替换附件绑定默认值 或改变被绑定附件的位置。 双击目标附件的 Value 输入框,替换移至 Selected Attachments 网 格的附件的值。 ER/Studio DA 打开 Value Override Editor 或一个列表。具体情况取决于附件 数据类型。附件是在 Data Dictionary 中的 Attachments 文件夹中创建的。更多信息,请参考 附加外部文件到数据模型 。 创建、编辑回滚段 回滚段允许用户撤销或回滚在数据库中执行的 DML 事务,如 SQL 删除、插入和更新操作。回 滚段实体包含被事务修改前的数据库记录信息。 以下数据库平台支持回滚段: •Oracle 7.x、 8.x、 9i、 10g、 11g 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 238 创建、编辑回滚段 1 在 Data Model Explorer 中,展开 Physical Main Model,右键单击 Rollback Segments 节 点,然后单击 New Rollback Segment。 2 完成 Rollback Segments Wizard 中的选项,单击 Finish 创建回滚段。 提示 : 回滚段创建后,用户可右键单击需要修改的回滚段,然后单击 Edit Rollback Segments 对其进行编辑。 下面描述需要额外解释的选项。 Name 页签 • Should this rollback segment be made public? 此选项适用于在并行服务器环境下运行的数 据库。公共回滚段可由并行服务器环境下的任何数据库实例联机。私有回滚段仅可以由初始化 文件中指定了该回滚段的数据库实例联机。 Storage 页签 • What extent sizes do you want to assign to this rollback segment? 多个事务的前象细节 可以记录在一个回滚段中,但每个事务必须完全在一个回滚段中,且在写入回滚段的事务提交 之前,回滚段的数据块不被覆盖。因此,必须保证回滚段大小足够保存运行时间最长的查询的 全部信息而不用封装,足够保存 最大事务 × 并发事务数量 ÷ 回滚段数量的撤销信息。 • 默认扩展块的尺寸是 5 个数据块的尺寸。默认扩展块的最小尺寸是 2 个数据块的尺寸。扩展 块最大尺寸取决于操作系统。 • Optimal Size:最优扩展块尺寸不能小于为回滚段初始分配的空间的大小。 • What are the minimum and maximum number of extents...? 默认扩展块最小数量为 2。默 认最大数量取决于操作系统。 Definition 页签 为回滚段输入或编辑定义。如果目标数据库支持, ER/Studio DA 生成 SQL 码时以注释形 式添加定义。 DDL 页签 显示创建回滚段所需的 CREATE ROLLBACK SEGMENT 语句。 ER/Studio DA 使用模型的所 选数据库平台特有的解析器生成回滚段。 Attachment Bindings 页签 将一条外部信息或附件与回滚段绑定。也可以将附件从对象拆离、替换附件绑定默认值或 改变被绑定附件的位置。双击目标附件的 Value 输入框,替换移至 Selected Attachments 网 格的附件的值。 ER/Studio DA 打开 Value Override Editor 或一个列表。具体情况取决于附件 数据类型。附件是在 Data Dictionary 中的 Attachments 文件夹中创建的。更多信息,请参考 附加外部文件到数据模型 。 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 239 创建、编辑序列 序列用于根据序列中定义的规则生成一系列整数值。数据库序列一般用于创建主键,也可以用 于生成随机编号。 以下数据库平台支持序列: • IBM DB2 for LUW 9.x •Oracle 8.x、 9i、 10g、 11g 注意: Sequence Wizard 和 Sequence Editor 的选项相同,但 Attachment Bindings 选项仅 编辑器中有。 创建、编辑序列 1 在 Data Model Explorer 中,展开 Physical Main Model,右键单击 Sequences 节点,然后 选择 New Sequence。 2 完成 Sequences Wizard 中的选项,单击 Finish 创建序列。 提示 : 序列创建后,用户可右键单击需要修改的序列,然后单击 Edit Sequence 对其进行编辑。 下面描述需要额外解释的选项。 注意: 可用选项取决于数据平台。 Name 页 / 页签 • 如果已经为所选数据库定义了用户,可以单击列表,选择一个已定义的用户作为序列所有者。 Options 页 / 页签 • Cycling:如果在上一页 / 页签上指定了 Maximum Value,可以选择轮转使用指定的值。 • Ordering:指定序列号是否必须按请求顺序生成。 • Cache:使能缓存和最优缓存大小时,考虑下列性能和应用要求之间的平衡: • 缓存序列号后,内存中保存了大量序列号,用于快速访问。如果下一序列号可以从缓存中分 配,分配过程很迅速。但是,如果下一序列号不能从缓存中分配,应用可能需要等 I/O 操作 来完成。 • 如不缓存序列号,可以保证系统发生故障、关机或数据库去激活时不丢失任何值。序列的值 没有存储在缓存中,每个序列请求都会引起日志同步 I/O。 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 240 Definition 页 / 页签 为序列输入或编辑定义。如果目标数据库支持, ER/Studio DA 生成 SQL 码时以注释形式 添加定义。 DDL 页 / 页签 显示创建序列所需的 CREATE SEQUENCE 语句。 ER/Studio DA 使用模型的所选数据库 平台特有的解析器生成序列。 PreSQL & PostSQL 页签 用户可以输入 CREATE SEQUENCE 语句之前或之后应用的 SQL。如果选择 Generate,此 处输入的 PreSQL 和 PostSQL 脚本包括在创建物理数据库时的脚本中。 Attachment Bindings 页签 将一条外部信息或附件与序列绑定。也可以将附件从对象拆离、替换附件绑定默认值或改 变被绑定附件的位置。双击目标附件的 Value 输入框,替换移至 Selected Attachments 网格 的附件的值。 ER/Studio DA 打开 Value Override Editor 或一个列表。具体情况取决于附件数 据类型。附件是在 Data Dictionary 中的 Attachments 文件夹中创建的。更多信息,请参考 附 加外部文件到数据模型 。 Permissions 页 / 页签 设置序列的访问角色及用户权限。注意,具体权限越多,其维护和更新所需的时间也越 多。角色和用户必须事先分配才会出现在 Sequence Editor 中。更多信息,请参考 赋予和取消 权限以改变数据库对象 。 创建、编辑 STOGROUP StoGroup 是直接存储设备( DASD)上的卷集,保存表和索引所在的数据集。 CREATE STOGROUP 语句在当前服务器上创建一个存储组。用户可以为表和索引空间从标识的卷中分配存 储。单个数据库的不同部分可以存储在不同的 StoGroup 中。 如果数据集的扩展块数量达到最大值,任何将数据写到与 StoGroup 关联的表或索引的事务都 会失败,且数据库不可访问,直至为该 StoGroup 分配更多空间。应该为数据库分配充足存储空间 并认真监控其增长。关于容量规划的信息,参考 规划、预测数据库增长 。 用户可以利用创建的 StoGroup 为表或辅助表定义存储空间,或为表空间定义存储空间。更多 信息,请参考 创建和编辑辅助表 、确定索引存储 和创建、编辑表空间 。 以下数据库平台支持 StoGroup: • IBM DB2 for OS/390 5.x、 6.x、 7.x、 8.x、 9.x 注意: StoGroups Wizard 和 StoGroups Editor 的选项相同,但 Attachment Bindings 选项仅 编辑器中有。 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 241 创建 StoGroup 1 在 Data Model Explorer 中,展开 Physical Main Model,右键单击 Entities 节点,然后单 击 New Stogroup。 2 完成 StoGroup Wizard 中的选项,单击 Finish 创建 StoGroup。 提示 : StoGroup 创建后,用户可右键单击需要修改的 StoGroup,然后单击 Edit StoGroup 对 其进行编辑。 下面描述需要额外解释的选项。 Options 页 / 页签 节点组名称应该如何设置? StoGroup名称必须不同于当前服务器上的任何 StoGroup名称。 • VCAT:为 StoGroup 指定集成目录设施目录。如果 VCAT 名超过 8 个字符,指定一个别名。 • Enter the volumes to include in the Stogroup, separated by commas:包括在 StoGroup 中的指定卷。要将中所有卷包括在 StoGroup 中,输入星号( *)。 Definition 页 / 页签 为 StoGroup 输入或编辑定义。如果目标数据库支持, ER/Studio DA 生成 SQL 码时以注 释形式添加定义。 DDL 页 / 页签 显示创建 StoGroup 所需的 CREATE STOGROUP 语句。ER/Studio DA 使用模型的所选数据 库平台特有的解析器生成 StoGroup。 Attachment Bindings 页签 将一条外部信息或附件与 StoGroup 绑定。也可以将附件从对象拆离、替换附件绑定默认 值或改变被绑定附件的位置。双击目标附件的 Value 输入框,替换移至 Selected Attachments 网格的附件的值。 ER/Studio DA 打开 Value Override Editor 或一个列表。具体情况取决于附 件数据类型。附件是在 Data Dictionary 中的 Attachments 文件夹中创建的。更多信息,请参 考附加外部文件到数据模型 。 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 242 创建、编辑同义词 同义词是数据库对象的另一名称。同义词具备以下功能: • 引用对象,无需指定对象所有者(同义词定义引用所有者,但之后使用同义词时,用户不必 知道所有者名称)。 • 引用远程对象,无需指定其数据库。 • 为对象创建别名,使其目的更加明确。 以下数据库平台支持同义词: • IBM DB2 for OS/390 5.x、 6.x 以及 z/OS 7.x、 8.x、 9.x • Microsoft SQL Server 2005 和 2008 •Oracle 8.x、 9i、 10g、 11g 注意: Synonym Wizard 和 Synonym Editor 的选项相同,但 Attachment Bindings 选项仅编辑 器中有。 创建同义词 1 在 Data Model Explorer 中,展开 Physical Main Model,右键单击 Synonyms 节点,然后 单击 New Synonym。 2 完成 Synonyms Wizard 中的选项,单击 Finish 创建同义词。 提示 : 同义词创建后,用户可右键单击需要修改的同义词,然后单击 Edit Synonym 对其进行 编辑。 下面描述需要额外解释的选项。 注意: 可用选项取决于数据平台。 Name 页 / 页签 • Make this synonym accessible to all users? 选择此项,创建一个 公用同义词 。数据库中所有 人都可以使用该同义词。否则,创建仅属于同义词所有者的 私有同义词 。 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 243 Reference 页 / 页签 • What type of object does this synonym reference?可用对象的名单取决于所选数据库平台。 • IBM DB2 for OS/390 5.x、6.x 以及 z/OS 7.x、8.x、9.x:支持别名、同义词、表和视图的同 义词。 • Microsoft SQL Server 2005 和 2008:支持函数、程序和视图的同义词。 •Oracle 8.x、 9i、 10g、 11g:支持函数、物化视图、对象类型、包、程序、序列、同义词、 表和视图的同义词。 注意: 如果指定为 Unknown,对象类型将变为下面列出的对象的类型。 • What is the schema of the referenced object?What is the name of the referenced object? 列表中包含匹配上面指定的模型类型的模型中所有对象的名称。 • 如果对象在远程数据库上,需要输入数据库链接。 输入远程数据库的路径,或单击列表进行 选择。 Definition 页 / 页签 为同义词输入或编辑定义。如果目标数据库支持, ER/Studio DA 生成 SQL 码时以注释形 式添加定义。 DDL 页 / 页签 显示创建同义词所需的 CREATE SYNONYM 语句。在物理模型中, ER/Studio DA 使用模型 的所选数据库平台特有的解析器生成同义词。如果向逻辑数据模型中添加视图,系统使用默认 分析器 AINSI SQL,除非在 Logical Model Options 中更改 View Parser。更多信息,请参考 针 对选定模型定义模型选项 。 Attachment Bindings 页签 将一条外部信息或附件与同义词绑定。也可以将附件从对象拆离、替换附件绑定默认值或 改变被绑定附件的位置。双击目标附件的 Value 输入框,替换移至 Selected Attachments 网 格的附件的值。 ER/Studio DA 打开 Value Override Editor 或一个列表。具体情况取决于附件 数据类型。附件是在 Data Dictionary 中的 Attachments 文件夹中创建的。更多信息,请参考 附加外部文件到数据模型 。 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 244 创建、编辑表空间 表空间是数据库中数据的物理存储位置。管理员可以使用表空间控制磁盘布局,优化数据库性 能,例如,将频繁使用的索引存储到速度快的磁盘中。为数据库对象分配空间的方式直接影响空间 的增长能力,最终影响数据库性能。 以下数据库平台支持表空间: • IBM DB2 for LUW 5.x、 6.x、 7.x、 8.x、 9.x • IBM DB2 for OS/390 5.x、 6.x 以及 z/OS 7.x、 8.x、 9.x •Oracle 7.x、 8.x、 9i、 10g、 11g 注意: Tablespace Wizard 和 Tablespaces Editor 的选项相同,但 Attachment Bindings 选项 仅编辑器中有。 创建表空间 1 在 Data Model Explorer 中,展开 Physical Main Model,右键单击 Tablespaces 节点,然 后单击 New Tablespace。 2 完成 Tablespaces Wizard 中的选项,单击 Finish 创建表空间。 提示 : 表空间创建后,用户可右键单击需要修改的表空间,然后选择 Edit Tablespace 进行编辑。 下面描述需要额外解释的选项。可用选项取决于数据平台。 注意: 表空间的许多参数也可用于定义表存储。关于定义此处未描述的存储参数的信息,参考 定义表存储 。 Name & Type 页 / 页签 • Choose the type of data to store in the tablespace: • Regular:除临时表以外的所有数据类型都选择此项。 • Long:长表列或 LOB 表列,或结构化类型列或索引数据选择此项。表空间必须为 DMS 表 空间。 • Temporary:存储临时数据时选择此项。数据库必须至少有一个临时表空间存储临时表,另 一个临时表空间允许声明临时表。 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 245 Name 页 / 页签 • Do you want space management to be performed through the dictionary or locally in the tablespace? 指定扩展块的管理方式。 • Dictionary Managed:依赖 SQL 字典表跟踪空间使用情况。向表添加扩展块要求数据库管 理器找出空闲空间,将其标记为非空闲,这可能造成回滚段的扩展。这些操作不能同时进 行,因此可能影响数据库性能。但是,数据字典管理的表空间非常灵活,共享同一个表空间 的不同对象可以有不同的扩展大小 • Locally Managed:解决了表空间碎片以及与数据字典相关的潜在瓶颈问题。数据库管理器 维护一个空闲或已用数据块或多个数据块集合的位图。本地管理的表空间可用于临时表空 间,并可经常进行高强度扩展块分配和再分配活动。如果创建的表的扩展块尺寸不正确导致 表空间分裂,这种表空间管理方式可以在表空间层面上统一扩展块。 • Disable logging when schema/data is modified:如果选择此项,模式或数据修改时去使能 日志功能。 • Place tablespace offline after creation:如果选择此项,创建完成的表空间脱机。 • AutoAllocate Extents:如果选择此项, Oracle 自动根据表空间中的对象分配适当尺寸的扩 展块。 • Uniform Extent Size:如果选择此项,将在表空间层面而不是对象层面管理扩展块尺寸。表 空间创建时指定扩展块尺寸,表空间中创建的对象的所有扩展块尺寸相同。创建模式对象(如 表或索引)时,统一的扩展块尺寸无法替换。此选项可以防止产生碎片。 Datafile 页 / 页签 • Defined Datafiles:双击 Size 或 Unit 输入框进行编辑。仅在需要定义其它数据文件时单击 Add。 • Reuse Existing File:如果不使能 Use Oracle Managed Files to automatically generate Defaults,此选项不可用。如果选择此选项,用户可以重用现有数据文件。初次访问文件时数 据库管理器覆盖该数据文件。 Storage 页 / 页签 • 如果 Oracle 服务器的表空间是由编辑器的 Oracle 页签上指定的数据字典管理, 需要在此页签 定义扩展块的参数。 • Specify the containers for the tablespace below:指定绝对或相对目录名。相对路径与数 据库目录相关。如果目录名不存在,创建目录名。 注意: 仅在需要指定其它容器时单击 Add。 • Select a NodeGroup to assign to the tablespace:指定一个节点组或数据库分区编号。 • Select a page size:页大小必须与数据库关联的缓冲池的页大小一致。 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 246 Options 页 / 页签 • Extent Size:指定在写入下一容器前,写入容器的页的数量。数据库管理器存储数据时轮转 使用容器。默认扩展块尺寸由数据库配置参数 DFT_EXTENT_SZ 指定。 • Prefetch Size:指定预读表空间数据时读取的页的数量。默认预读尺寸由数据库配置参数 DFT_PREFETCH_SZ 指定。 • Overhead:指定 I/O 控制器的开销、磁盘寻道和延时时间。此值应为属于表空间的所有容器 的平均值。此值用于在查询优化期间确定 I/O 成本。 • Transfer Rate:指定将一页读入内存所需的时间。此值应为属于表空间的所有容器的平均值。 此值用于在查询优化期间确定 I/O 成本。 • Select the recovery status:如果选择 ON,表空间中丢弃的表可通过带 RECOVER TABLE ON 选项的 ROLLFORWARD 命令恢复。 Options 1 页 / 页签 • GBP Cache:指定组缓冲池缓存。 • Sizing:为不同 Sizing 参数指定设置。 • 如果创建非分区表空间,在 Max rows per page 输入框中输入 1 到 255 间的一个值。 • 如果创建分区表空间,在 Number of Partitions 输入框中输入为表空间创建的分区的数量 (1 到 254 之间) ,然后从 Partition Size(DSSIZE)列表中选择分区尺寸。在 Max rows per page 输入框中输入 1 到 255 之间的一个值。 • 如果创建分段表空间,从 Segment Size 列表选择一个值,在 Max rows per page 输入框输 入 1 到 255 之间的一个数。 • 如果创建 LOB 表空间,从 Partition Size (DSSIZE)列表选择一个值。 • TRACKMOD:如果设为 Yes,数据库管理器跟踪数据库修改,使能备份工具检测数据库页中 哪个子集应通过增量备份进行检查,且如有必要,包括在备份图像中。 Options 2 页 / 页签 • Locking:要控制并发访问并防止非受控数据访问,创建锁控制其它应用访问此资源的方式。 该锁关联数据库管理器资源和应用,应用称为锁所有者。 Lock Size 确定锁的粒度。 • Maximum Locks:设置一个较小数字,避免争用。 LOCKMAX 的值为 0 时能够防止锁升级。由 于锁升级会锁定表空间,因此此项为 0 时能提高表空间可用性。 LOCKMAX 设为 SYSTEM 时,数 据库管理器通过数据库配置文件中的一个设置控制锁的最大数。 • Close Rule:确定不使用表空间,且开启的数据集( DSMAX)的数量已达到限制时,数据集能 否关闭。如果选择 No,不关闭任何数据集。但是,如果达到 DSMAX 限制,且不存在 CLOSE YES 页集,那么 CLOSE NO 页集也会关闭。 • Partitions:关于分区参数的信息,请参考 将表分区 。 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 247 Definition 页 / 页签 为表空间输入或编辑定义。如果目标数据库支持, ER/Studio DA 生成 SQL 码时以注释形 式添加定义。 DDL 页 / 页签 显示创建表空间所需的 CREATE TABLESPACE 语句。 ER/Studio DA 使用模型的所选数据 库平台特有的解析器生成模式。 Attachment Bindings 页/页签 将一条外部信息或附件与表空间绑定。也可以将附件从对象拆离、替换附件绑定默认值或 改变被绑定附件的位置。双击目标附件的 Value 输入框,替换移至 Selected Attachments 网 格的附件的值。 ER/Studio DA 打开 Value Override Editor 或一个列表。具体情况取决于附件 数据类型。附件是在 Data Dictionary 中的 Attachments 文件夹中创建的。更多信息,请参考 附加外部文件到数据模型 。 创建、编辑数据库模式 数据库模式是名称空间内唯一对象的合集。模式允许用户将表和其它相关对象共同分组,例如 将表和索引分在同一组。 以下数据库平台支持模式: • IBM DB2 for LUW 5.x、 6.x、 7.x、 8.x、 9.x • Microsoft SQL Server 2005 和 2008 注意: Database Schema Wizard 和 Database Schema Editor 的选项相同,但 Attachment Bindings 选项仅编辑器中有。 创建数据库模式 1 在 Data Model Explorer 中,展开 Physical Main Model,右键单击 Schema 节点,然后单 击 New Database Schema。 2 完成 Database Schema Wizard 中的选项,单击 Finish 创建数据库模式。 提示 : 模式创建后,用户可右键单击需要修改的模式,然后选择 Edit Schema 进行编辑。 下面描述需要额外解释的选项: Object Privilege 页 / 页签 设置模式的访问角色及用户权限。注意,具体权限越多,其维护和更新所需的时间也越 多。角色和用户必须事先分配才会出现在 Sequence Editor 中。更多信息,请参考 赋予和取消 权限以改变数据库对象 。 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 248 Definition 页 / 页签 为模式输入或编辑定义。如果目标数据库支持, ER/Studio DA 生成 SQL 码时以注释形式 添加定义。 DDL 页 / 页签 显示创建模式所需的 CREATE SCHEMA 语句。 ER/Studio DA 使用模型的所选数据库平台特 有的解析器生成模式。 Attachment Bindings 页签 将一条外部信息或附件与模式绑定。也可以将附件从对象拆离、替换附件绑定默认值或改 变被绑定附件的位置。双击目标附件的 Value 输入框,替换移至 Selected Attachments 网格 的附件的值。 ER/Studio DA 打开 Value Override Editor 或一个列表。具体情况取决于附件数 据类型。附件是在 Data Dictionary 中的 Attachments 文件夹中创建的。更多信息,请参考 附 加外部文件到数据模型 。 物理模型中优化查询性能 非规范化物理模型 逻辑设计无论看起来多好,其工作所需要的复杂、开销大的查询都会导致它在实践中出现故 障。一些情况下,解决性能问题的最好办法就是脱离逻辑设计。非规范化或许是将逻辑设计与物理 设计分开的最重要原因,因为分开之后,不需要牺牲逻辑设计来解决实际性能问题。 非规范化物理设计时需考虑下列常见场景。 • Duplicated Non-Key Columns:用户可能会复制其它表中的非键列来排除访问需要或在查询 中连接到该表,例如,复制查询表中的描述或名称列。复制表中非键列时,保证程序逻辑同步 列数据,以使列数据与引用表中的值相同。 • Horizontal Table Splits:如果表中有多行数据,用户可能需要将一个表拆分成多个表对数据 进行分区。拆分后的表使用相同模式,但存储不同范围的主键值。对表进行拆分能够降低获取 数据所用的索引的尺寸和密度,因此能够提高索引效率。另一方面,一旦拆分了表,必须访问 多个表而不是一个表中的数据。这要求使用更为复杂的程序逻辑对表进行管理。 • Vertical Table Splits:如果有多列数据的表的读写操作很多,可能需要将表拆分成多个含有 不同列集的表。每个列集使用相同的主键。这样可以将更新活动分散在多个表中,因此能够降 低维护多个索引带来的影响。与水平表拆分一样,垂直表拆分要求使用更为复杂的程序逻辑管 理多个表。 由逻辑模型生成物理模型后,可通过非规范化映射提高物理模型实现的性能。 与手动编辑物理模型不同,非规范化映射记录发生的改变,保留回到逻辑模型的链接(在 Table Editor 的 Where Used 页签可见)。这就使非规范化自动文档化,减少与更新过的逻辑模型 合并所需的手动操作。此外,任何时候可以撤销一个映射( 撤销非规范化映射 )。 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 249 可用的非规范化映射如下: • Roll Up 非规范化:移除一个或多个不必要子表,将其列并入父表。(所有表必须共用同样的 主键。) • Roll Down 非规范化 :移除不必要的父表,将其中所有非主键列复制到一个或多个子表中。 (所有表必须共用同样的主键。 )子表可以进一步通过 Table Merge Denormalization 进行合 并。 • 水平拆分非规范化 :将表分区成 2 个或多个列相同的表。 • 垂直拆分非规范化 :移除表并将其列分布在 2 个或多个新表中。新表的主键与原表相同;其 它每列可以分布在一个、多个或所有新表中,或者被丢弃。 • 列映射非规范化 :从表中复制一列到另一个表,排除连接需要,提高查询性能。 • 表合并非规范化 :将具有相同主键的 2 个或多个不相关的表综合在一个表中,移除不必要的 表。新表含有各原表的列。 移除及合并子列 Roll Up 非规范化 Roll-up 非规范化映射从物理模型中移除一个或多个不必要子表,将其列合并到父表。所有表 必须共用同样的主键。在 Roll-up 操作中, PARENT 主键保留。子表中的任何 PK 列都会被丢弃。 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 250 下面的例子中, Sales Order Line 表并入 Sales Order 表, Sales Order Line 表中所有列并入 Sales Order 表,仅父表中的键得以保留。 创建新 Roll-up 映射 1 显示物理模型。 2 单击并拖动或按 CTRL 键并单击 选择父表和子表。 3 右键单击所选表中的一个表,选择 Denormalization Mapping > Rollups。 4 根据需要完成 Roll Up Denormalization Wizard 中的选项。 注意 • 选中 Convert Subtype Relationships to Recursive Relationships 复选框后,用户将子类型并入 父类型时可以保留子类型之间的关系。这些关系将变为递归关系。子类型中的角色名称将在父 类型中使用。 否则, 此页仅供参考。 如果列出的表正确, 单击Next。否则单击 Cancel重新选择。 • 如果 Rollup 菜单上的选项呈灰色不可选,确保没有误选其它表或其它对象。 之前 之后 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 251 • 一切正常后,子表中的列可在新合并的表中重复。例如,如果父子关系用集的势 1:12 使月份 相关的数据规范化,那么 Wizard 将会默认将子表中的列在新合并的表中重复 12 次。系统将 会在原始列名称后加上数字后缀对重复的列进行命名。创建映射之后应恰当重命名这些列。 移除不必要父表 Roll Down 非规范化 Roll-down 非规范化映射移除不必要的父表,将其中所有非主键列复制到一个或多个子表中。 所有表必须共用同样的主键。下列例子中, SLSORDR 表变为 SLSORDRLINE 表。子表将防止复合 键传播 SLSORDRID 标识关系。在 Rolldown 操作中, CHILD 主键保留。子表中的任何 PK 列都会 被保留。 . 之前 之后 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 252 创建新 Roll-Down 映射 1 显示物理模型。 2 单击并拖动或按 CTRL 键并单击 选择父表和子表。 3 右键单击一个选中的表,在弹出的菜单中选择 Denormalization Mapping > Rolldowns。 4 根据需要完成 Roll Down Denormalization Wizard 中的选项。 注意 • 如果 Rolldowns 菜单上的选项呈灰色不可选,确保没有误选其它表或其它对象。 •Wizard的第一个面板仅供参考。如果列出的表正确,单击 Next。否则单击 Cancel 重新选择。 • 如果正常,非规范化的子表可以通过 表合并非规范化 进一步合并。 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 253 分区表并复制列 水平拆分非规范化 水平拆分非规范化映射将表分区成两个或多个列相同的表。下面的例子中,一个单个打折表被 拆分为三个独立的表。 创建新的水平拆分映射: 1 显示物理模型。 2 右键单击一个选中的表,选择 Denormalization Mapping > Horizontal Splits。 3 根据需要完成 Horizontal Table Split Wizard 中的选项。 之前 之后 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 254 用多个共用主键的新表替换表 垂直拆分非规范化 垂直拆分非规范化映射将表移除并将其中的列分布在两个或两个以上的新表中。新表的主键 与原表相同;其它每列可以分布在一个、多个或所有新表中,或者被丢弃。下列例子中,用 5 个单 独列分别描述 5 年收入情况的一个表被拆分成 5 个表,每个新表描述一年的收入情况。 创建垂直拆分映射 1 显示物理模型。 2 右键单击一个选中的表,选择 Denormalization Mapping > Vertical Splits。 之前 之后 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 255 3 根据需要完成 Vertical Table Split Wizard 中的选项。 注意: 分配列时,可以通过 Shift +单击或 CTRL +单击选择多个列,然后将这些列一次性拖入 一个新表。列仍然处于选中状态,因此,如果合适,可以再将这些列拖到另一个新表中。 复制列排除连接 列映射非规范化 列映射非规范化从表中复制一列到另一个表,排除连接需要,提高查询性能。下列例子中, pubname 列被复制到 titles 表,排除了查询图书出版商名称时的连接需要。 创建新的列映射 1 在 Data Model Explorer 的 Data Model 页签上,右键单击需要映射的列,然后选择 Denormalization Mapping > Column Mappings。 2 根据需要完成 Column Mapping Wizard 中的选项。 注意: Wizard 的第一个面板仅供参考。如果列出的表正确,单击 Next。否则单击 Cancel 重 新选择。 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 256 移除不必要的表 表合并非规范化 表合并非规范化将 2 个或多个不相关但拥有相同主键的表合并成一个表, 新合并的表中包含原 表中所有列。下列例子中, Jobs 表中所有字段都合并到了 dbo.newjobs 表。 创建新的表合并映射: 1 显示物理模型。 2 单击并拖动或按 CTRL 并单击 选择待合并的表。 3 右键单击一个选中的表,选择 Denormalization Mapping > Table Merges。 4 根据需要完成 Table Merge Denormalization Wizard 中的选项。 注意 • 如果 Table Merges 菜单上的选项呈灰色不可选,确保没有误选其它表或其它对象。 •Wizard的第一个面板仅供参考。如果列出的表正确,单击 Next。否则单击 Cancel 重新选择。 撤销非规范化映射 1 在 Data Model Explorer 的 Data Model 页签,右键单击映射(在物理模型 Denormalization Mapping 区域下方) 。 2 选择 Undo Denormalization Mapping。 注意: 如果 Reflect 变为原表中为映射选择的选项,对非规范化表所作的任何变化都会传播到 原表中。否则,撤销映射会将原表恢复到映射前状态。 之前 之后 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 257 同步物理模型与逻辑模型 模式规范化或非规范化后,用户可能需要将其与真实世界数据库同步。用户可使用 Submodel Synchronization Utility 了解发现的差异并决定改变哪些变化。更多信息,请参考 同步子模型 。 规划、预测数据库增长 为保证数据库性能达到最优,用户应评估自身存储需求并作相应规划。本节为用户提供这方面 帮助。本节包括以下主题: • 规划表和索引存储 • 预测表增长 规划表和索引存储 在物理设计阶段,规划表和索引的存储是提高性能、简化数据管理任务的最佳手段。规划物理 存储时,需认真考虑表和索引的位置和尺寸。几乎所有数据库应用的性能都受 I/O 限制。要增大 I/O 吞吐量,应物理分离频繁连接的表。此外,应分离表与其索引。其目的是尽量使数据库读写操 作并行。 数据库管理员关注的两个关键点包括空间管理和数据分片。如果表和索引的规模及增长规划 不当,这两个管理问题会严重影响系统可用性和性能。因此,设计物理模型时,应考虑原始扩展块 大小和逻辑分区容量。 开始时,应根据预估的行数估计每个表及其索引的大小。 Capacity Planning 工具可以根据提 供的特定增长参数,预测数据库大小。如果数据库允许指定原始扩展块大小,如 Oracle 数据库, 应将原始扩展块大小设置为估计的大小,避免表增大引起数据分片。将多个表放入同一扩展块,可 以减少数据访问时间,确定表重组。 确定了数据库中表和索引的大小和位置之后,应估计数据库总容量要求,避免数据库空闲空间 耗尽。 预测表增长 可为每个表记录能力规划标准,以便表在数据库中实现之前确定适当尺寸。 Table Editor 的 Capacity Planning 页签使用一些标准,如表行数、表增长率、增长类型、增长 期、表最大尺寸等,帮助用户预测变化。 1 在 Data Model Explorer 中,双击物理模型中的一个表。 2 单击并完成 Capacity Planning 页签上的选项。 提示 : 改变 Avg.Width 列和 Percent Null 列的值可以更准确地预测表增长。 在 Table Editor 中所作的增长预测显示在 Capacity Planning 工具中,并可进行编辑。 使用 ER/STUDIO DATA ARCHITECT > 开发物理模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 258 预测数据库增长 用户可以使用 Capacity Planning 工具预测新实现的或现有的数据库系统的存储要求,因此可 以提前做好数据库预算和工程。 1 在 Data Model Explorer 中,选择并右键单击一个物理模型。 2 单击并完成 Capacity Planning 页签上的选项。 下面描述需要额外解释的选项: • Sizing Options 页签: Index Options:选择下列任一选项: Primary Key(PK)、Foreign Key (FK)、 Alternate Key (AK)、 Inversion Entry (IE)。 • Growth Parameters 页签:指定引起数据库增长的开销因素。所需的开销量取决于为数据库 所选的 DBMS 平台和存储选项,如预留为空闲空间的数据块的最小百分比、日志、审计以及 数据恢复选项。此处设置的值会反应在 Growth Analysis 页签的 Projected Size 列。 • Row Overhead:指定所选的物理模型 DBMS 平台存储每个记录的开销的公式。此值表示 DBMS用于存储记录的开销的字节数。 初始应设为 0,但可指定任何字节数增加到行尺寸上。 • Table Overhead:存储表的数据的开销。此值是标尺寸的倍数。如果此值为 1.2,则对应 20% 的开销。默认值 1 表示无开销。 • Index Overhead:存储索引的开销。字节数被加到被索引列的尺寸。例如, Oracle 服务器 中,索引开销为 6 字节,因此在被索引列的尺寸总合上加 6。 • Blob Overhead:存储 BLOB 列的开销。与 Table Overhead 相似,此项是应用到 BLOB 存 储的一个倍数。如果此值为 1.2,则对应 20% 的开销。 1 表示无开销。 • Blob BlockSize:输入 BLOB 列的估计平均尺寸。此值将用作每个 BLOB 列的平均尺寸。 使用 ER/STUDIO DATA ARCHITECT > 操作数据字典 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 259 注意 • 在Sizing Options页签对表所作的任何变更都会自动在该页签的 Sizing Estimates上有所反映。 • 对 Sizing Options 和 Growth Parameters 所作的变更反映在 Growth Analysis 页签上。 • 在 Capacity Planning 工具中所作的能力预测显示在 Table Editor 中,并可进行编辑。 报告数据库增长分析 在 Capacity Planning Utility 上,用户可以导出所产生的标准,格式为 RTF 或 CSV。例如,用 户可以自己制作物理模型的增长方式报告。 1 在 Data Model Explorer 中,选择并右键单击一个物理模型。 2 单击 Capacity Planning 并完成 Capacity Planning 工具的 Sizing Options 和 Growth Parameters 选项。 3 单击 Growth Analysis 页签,选择需要的 Report Type 和 Report Options。 在 Output 区域出现报告内容预览。 操作数据字典 用户可以使用数据字典执行标准、提高重用性、并为所有模型创建公共参照标准。 定义良好的数据字典能够防止持续做无用功,让用户通过指尖满足所有需求。域名与参照值、 默认值、和规则共同使用,让用户创建可在任何逻辑或物理模型中使用的数据元素公共列表。用户 可使用附件系统,向逻辑或物理模型中任何对象添加额外元数据。每个对象编辑器都有 Attachment Bindings 页签,用户可在此页签添加附件。 在数据字典中定义了对象之后,用户可在逻辑或物理模型中使用这些对象。用户可定义域名, 创建模板或可重用属性和列。例如,为属性或列创建的域名 Timestamp 可用来跟踪修改日期。现 在,任何 LastModifyDate 属性或列都可以绑定到 Timestamp 域名,所以也可以通过这个单个域名 进行管理。参照值、默认值和规则克直接在属性和列上实现,或用于进一步确定域名的定义。在前 面的例子中, LastModifyDate 是当前系统日期。因此,可以在数据字典中创建一个默认值 CurrentSystemDate,其定义可能因目标 DBMS 有所不同。如果默认值之后绑定到默认页签下的 Timestamp 域名,绑定到这个域名的每个属性和列都会收到当前系统日期的默认值。 用户可在许多 *.dm1 文件中使用数据字典。如果使用 Repository,Enterprise Data Dictionary 系统可用于在多个模型中实现一个字典。 Enterprise Data Dictionary 中对象的变化会反映在使用对 象的任何模型中。如果不使用 Repository,可用 Import Data Dictionary 命令(参考 导入数据字 典)从另一 *.dm1 文件导入字典对象。用第二种方式实现时值得注意的一点是,一个字典发生变 化不会影响源字典。 使用 ER/STUDIO DATA ARCHITECT > 操作数据字典 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 260 如果域名定义和参照值需要从其它源(如外部元数据知识库)导入时,也可用宏将域名定义 和参照值从 Excel 导入和导出。有关宏的更多信息,在 Data Model Explorer 中 Macro 页签查看相 关文档和宏样例。 提示 : 用户可以在 Northwind 数据模型中找到一个随 ER/Studio DA 产品发送的结构合理的数 据库字典范例。 注意: 如果使用 ER/Studio 知识库,用户可以创建 Enterprise Data Dictionary。该数据字典可 用于多个图表。更多信息,请参考 使用储存库中的数据字典 。 下列可重用字典对象存储在 Data Model Explorer中的Data Dictionary页签的对象相关节点: • Attachments:关联数据库对象和数据类型,如文字附注或指向外部文件的指针。更多信息, 请参考 附加外部文件到数据模型 。 • Data Security Information:执行企业数据安全标准和自定义级别。更多信息,请参考 用数据 安全类型和属性保证安全 。 • Defaults:使用默认值可使数据库内容更为高效。更多信息,请参考 用默认值增强数据完整性 。 • Rules:不允许违反规则的事务进行,保证数据完整性。更多信息,请参考 通过规则增强数据 完整性 。 • Reference Values:用户可创建并管理参照值。更多信息,请参考 使用参照值定义有效的属性 数据。 • Naming Standards Templates:执行命名标准。更多信息,请参考 通过命名标准模板执行命 名标准 。 • User Datatypes:自定义数据类型,提供更高灵活性。更多信息,请参考 使用用户数据类型 保证域名定义一致 。 • Domains:可重用属性和列,能够提高模型创建效率。用域名中定义的属性和列填充实体和 表,快速创建模型。更多信息,请参考 通过域名重用属性定义 。 • Reusable Procedural Logic:可重用触发器、可重用程序以及库。更多信息,请参考 重用程 序逻辑 。 本节还包含以下主题: • 导入数据字典 • 复制、粘贴数据字典对象 使用 ER/STUDIO DATA ARCHITECT > 操作数据字典 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 261 导入数据字典 用户可以导入另一数据模型图像( DM1 文件)的数据字典,使模型创建更容易,更高效。此 外,也可使用宏执行一些任务,包括导入域名和对象定义等项目、设置物理表的存储参数、添加命 名约定到约束等。 在模型中使用公共数据字典,便于在多个数据模型中重用和执行已确立的数据定义。导入数据 字典时,新对象被添加到现有数据字典中。 ER/Studio DA 维护所有现有字典对象和组织结构。 导入数据字典 1 选择 File > Import Data Dictionary。 2 在 File Name 输入框中,输入存储目标数据字典的数据模型的名称,或浏览定位该数据模型。 3 选择复制名称的方式。从 Resolve Imported Objects with Duplicate Names 窗格中所列选 项中选择一个选项。 4 单击 Open。 复制、粘贴数据字典对象 用户可选择任何标准数据字典对象,复制并粘贴在当前图表或其它图表中。复制粘贴数据字典 对象时, ER/Studio DA 一并复制粘贴其所有附属对象。用户也可选择多个标准数据字典对象,如 Defaults 和 Rules,或多个程序逻辑数据字典对象, 如 Reusable Triggers 或 Reusable Procedures。 1 在 Data Model Explorer 中,单击 Data Dictionary 页签。 2 在 Data Dictionary 页签,右键单击一个或多个目标对象,然后选择 Copy Dictionary Objects。 3 定位目标数据字典(当前图标或其它图表) ,右键单击任何节点,然后选择 Paste Data Dictionary Objects。 注意 • 用户也可以将本地字典中的对象复制粘贴到 Enterprise Data Dictionary。 • 粘贴域名时,可使用 Switch Domain Bindings 宏映射本地属性到企业属性。在 Data Model Explorer 中的 Macro 页签的宏样例中可以找到宏( Modeling Productivity Macros)。该宏 扫 描激活的模型或所有模型中的所有列和属性,并将域名绑定由源域名转到目标域名。每个绑定 的列的信息将会随目标域名一起更新。所有域名替换都会保留。 • 如果选择了多个程序逻辑数据字典对象,这些对象的类型必须一致(即全为可重用触发器或 可重用程序,但不能两者都有),其它对象类型可不同。 • 要使能 Copy Data Dictionary 菜单项,必须单击一个数据字典对象节点。 • Paste Data Dictionary 菜单项在根数据字典对象节点和节点内都可用。 使用 ER/STUDIO DATA ARCHITECT > 操作数据字典 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 262 附加外部文件到数据模型 附件和附件类型提供将外部信息关联到数据模型的结构化方法。用户可通过这种方式扩展元 数据并包括支持文档,如会议纪要、风险分析和电子表格。可将附件绑定到用户系统中的任何文件 或应用。 附件有两个关键组成部分: • Attachment Types:一个组织系统,用户可以将相似附件归为同类,并指定哪些对象可以绑 定到这类附件。附件类型定义其下创建的附件的范围。使用附件类型组织附件。可以根据附件 应用到的对象类型或附件应为模型捕获的业务数据的范围进行组织。附件创建完成后,用户可 以将其绑定到与附件类型关联的任何数据模型对象。 • Attachment:用户可以与在 Attachment Type 中选择的图表对象类型关联的信息。附件可以 有多种形式,如外部文件、日期或测试列表。 提示 : 用户可在 Northwind 样例模型中找到结构良好的附件文件夹的范例。 创建、编辑附件类型 1 在 Data Dictionary 中,右键单击 Attachments 文件夹并单击 New Attachment Type。 2 根据需要定义附件类型并单击 OK 完成编辑器选项。 下面描述需要额外解释的选项: Name 页 / 页签 定义附件类型名称,提供附件类型描述信息,如使用该类型附件的时间和原因。 Attachment Type Usage 页/页签 列出所有支持的对象类别,用户可以将该类型附件绑定到对象类别。此处选择的任何对象 类别都会绑定到这一附件类型,之后会显示在 Attachment Editor 的 Binding Information 页签。 注意 • 如果需要仅允许具体附件绑定到具体对象,用户可在本页签创建一个附件类型,选择相应的框 指定具体对象。 • 如果编辑现有附件类型并从 Attachment Type Usage 页签的对象列表中移除对象类型,与该 附件类型关联的绑定附件会受到影响。 • 如果需要仅允许具体附件绑定到具体对象,用户可在 Attachment Type Usage 页签创建一个 附件类型,选择相应的框指定具体对象。 使用 ER/STUDIO DATA ARCHITECT > 操作数据字典 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 263 创建、编辑附件 1 在 Data Dictionary 中,右键单击适当的附件类型文件夹并单击 New Attachment。 2 根据需要定义附件并单击 OK 完成编辑器选项。 提示 : 附件创建后,用户可右键单击需要修改的附件,然后选择 Edit Attachment 对其进行编辑。 下面描述需要额外解释的选项: Name 页 / 页签 定义附件名称,提供附件类型描述信息,如使用该附件的时间和原因。 Value 页 / 页签 选择附件所含数据的类型。对于 Text List 数据类型,用户可以列出可能用到的数据值然后 设置默认值。 Binding Information 页签 选择要绑定附件的对象类别和 /或具体对象。 可以用数据模型对象编辑器中的 Attachment Bindings 页签 替换这一设置。 绑定附件到对象 1 保证附件可以与其要绑定到的对象一起使用。 在 Data Dictionary 中,双击需要绑定的附件,保证其可以绑定到所选类型的对象。 绑定附件到具体对象 附件绑定到数据字典中对象类型后,用户可以选择将附件绑定到对象编辑器上的该类型的具 体对象。例如,将一个附件绑定到一个实体类型对象。在 Entity Editor 中,单击 Attachment Bindings 页签。从 Attachment Bindings 列表中选择需要绑定到具体实体的附件,单击箭头,将附 件移动到已与该实体关联的附件列表。 注意: 绑定到主键的附件不会转移到关系中子表的外键。 替换附件值 可以使用 Value Override Editor 将附件默认值替换成一个新值。用户可以为已绑定的附件添加 信息。要替换附件值,单击 Value 输入框。 Value 输入框根据所选数据类型有所不同。例如,如果 附件为文本数据类型,用户可使用 Value Override Editor 编辑文本。下面描述可用的数据类型及 其关联的值,以及如何改变这些值: • Boolean:可选择 None、 True 或 False。 • Date:显示当前日期。要改变日期,单击列表,用日历选择目标日期。 • External File Path:用户可改变外部文件路径。输入一个文件路径或浏览定位文件。如果需 要查看附加的文件,点击 View File 按钮。 使用 ER/STUDIO DATA ARCHITECT > 操作数据字典 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 264 • Numeric:用户可改变数值。在框中输入数值。 • Text:用户可改变字符值。在框中输入文本。 • Text List:双击文本框中的空行,输入一个值并按 TAB 键前往下一行。重复上述步骤,直至 值添加完毕。按上、下按钮对值重新排序。按 Delete 按钮删除值。第一个实体是默认值。要 改变默认值,单击目标值并单击 Set as Default 按钮。 • Time:用户可改变时间值。在框中选择一个时间参数(小时、分钟、秒、 AM/PM)并输入一 个值或滚动到需要的值。继续选择时间参数并改变值,直至输入合适的时间。 用数据安全类型和属性保证安全 数据字典的数据安全管理功能帮助用户在数据模型内执行安全标准。这个功能允许数据架构 师对模型中的对象进行分类,如实体、属性、子模型或模型等,关联数据库对象和各种安全影响水 平或合规映射。用户可以用文档记录数据安全,正如用文档记录其它属性如数据专员用文档记录功 能业务区或外部文档。使用报告特性与其它相关人员交流安全信息。 • Data Security Type:对安全方面的最高级描述。默认描述包括 Compiance 和 Classification。 用户可添加或编辑安全类型并向其添加属性。例如,用户需要描述如何保证安全,因此可以添 加一个 Enforcement Mechanism 类型,然后赋予其属性,如需要 Project 和 Model 密码和 Read-Only Granted By Default 等。 • Data Security Property:具体安全属性。 Compliance Mapping 是一个默认例子,描述应该 坚持几个行业合规和报告标准中的哪个。用户可添加或编辑安全类型并向其添加属性。例如, 用户需要描述如何保证安全,因此可以添加一个 Enforcement Mechanism 类型,然后赋予其 属性,如需要 Project 和 Model 密码和 Read-Only Granted By Default 等。 本节包括以下主题: • 生成默认安全信息 • 创建、编辑数据安全类型 • 创建、编辑数据安全属性 生成默认安全信息 1 在 Data Dictionary 页签,右键单击 Data Security Information 文件夹并单击 Generate Default Security Information。 2 如果已经生成了默认安全信息,选择如何解决重复属性问题。 生成的信息包括 Compliance Mapping、Privacy Level 和 Security Information 安全属性, 用户可为自身操作环境定制。 使用 ER/STUDIO DATA ARCHITECT > 操作数据字典 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 265 注意 • 要查看和编辑默认安全属性,右键单击安全属性对象,选择 Edit Security Property。 • 如果编辑默认安全属性后需要将属性重置到默认值,再次生成属性。如果有提示,覆盖现有安 全对象。 创建、编辑数据安全类型 1 在 Data Dictionary 页签,右键单击 Data Security Information 文件夹,然后单击 New Security Type。 2 输入安全属性类型的名称,提供描述信息,如安全属性使用的时间和原因,然后单击 OK。 提示 : 数据安全属性类型创建后,用户可右键单击需要修改的类型,然后选择 Edit Data Security Type 进行编辑。 创建、编辑数据安全属性 1 在 Data Dictionary 中,右键单击适当的安全类型文件夹,然后单击 New Security Property。 2 根据需要定义安全属性并单击 OK 完成编辑器选项。 提示 : 数据安全属性创建后,用户可右键单击需要修改的属性对象,然后选择 Edit Data Security Property 进行编辑。 下面描述需要额外解释的选项: Name 页签 定义安全对象名称,提供附件类型描述信息,如使用该数据安全属性的时间和原因。 Value 页 / 页签 选择安全对象所含数据的类型。对于 Text List 数据类型,用户可以列出可能用到的数据值 然后设置默认值。 Binding Information 页签 选择要绑定安全属性的对象类别和 / 或具体对象。用户可以使用对象类别编辑器的 Security Information 页签替换这一设置。 使用 ER/STUDIO DATA ARCHITECT > 操作数据字典 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 266 用默认值增强数据完整性 如果不指定属性或列的值,系统提供默认值,增强模型中数据的完整性。默认值能够保证属性 和列总是有一个值,即便用户或事务不提供值。 用户可以将默认值绑定到列、属性、域名以及数据字典中创建的其它用户自定义数据类型。默 认值在数据字典中创建,因此用户可以管理并重用常用默认值。 创建、编辑默认值 1 在 Data Dictionary 中,右键单击 Defaults 文件夹,然后单击 New Default。 2 根据需要定义默认值并单击 OK 完成编辑器选项。 提示 : 默认值创建后,用户可右键单击需要修改的默认值,然后选择 Edit Default 进行编辑。 下面描述需要额外解释的选项: Default Value 页签 添加值的语法必须与使用默认值的数据库平台使用的语法相同。 Attachment Bindings 页签 将一条外部信息或附件与域名绑定。也可以将附件从对象拆离、替换附件绑定默认值或改 变被绑定附件的位置。双击目标附件的 Value 输入框,替换移至 Selected Attachments 网格 的附件的值。 ER/Studio DA 打开 Value Override Editor 或一个列表。具体情况取决于附件数 据类型。附件在 Data Dictionary 的 Attachments 文件夹创建,显示在此页签上之前必须应用 到默认值。更多信息,请参考 附加外部文件到数据模型 。 Binding Information 页签 选择要绑定默认值的对象类别和 / 或具体对象。可以用数据模型对象编辑器中的 Default 页签 替换这一设置。 又见 用数据字典对象确定绑定的对象 改变数据字典对象绑定和数值 使用 ER/STUDIO DATA ARCHITECT > 操作数据字典 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 267 通过规则增强数据完整性 规则验证提供给属性或表列的数据,增强数据完整性。例如,用户可以定义规则 NotLessThanZero,指定属性或列的数据值为 0 或更大值。该规则绑定到表列之后,会拒绝任何表列 值为负值的事务。规则是独立的数据库对象,与检查约束一样,但在整个数据模型中可以重复使用。 规则与数据字典中的默认值一样,允许用户管理并重用常用规则。规则可以帮定到其它字典对 象,如数据类型,或 UDT,以及属性 / 列。规则可以直接在域名中或 Rules 节点下创建。 例子 如果用户有一个要应用到许多字段的泛型约束,可以创建一个域名,指定该域名的约束。可以 在表的列中使用用占位符。用 @var 代替列名。数据库字典中的规则绑定到列时,列名代替 @var。 例如, Northwind.dm1 样本模型中创建了一个规则,语法如下: UPPER(@var) in (Y, N) 规则以如下方式绑定到 au_id 列时: 规则变为: UPPER(CURRENT_CUSTOMER) in (Y, N) 使用 ER/STUDIO DATA ARCHITECT > 操作数据字典 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 268 如下列截屏中 Check Constraint Value 区域显示: 创建、编辑数据字典规则 1 在 Data Model Explorer 中,单击 Data Dictionary 页签。 2 在 Data Dictionary 页签中,右键单击 Rules 文件夹,然后单击 New Rule。 3 完成 Add/Edit Dictionary Rule Editor 编辑器选项并单击 OK,执行变更。 提示 : 创建后,用户可以双击规则,启用编辑器对其进行编辑。 下面描述需要额外解释的选项: Rule Value 页签 指定规则。添加规则的语法必须与使用规则的数据库平台使用的语法相同。 Attachment Bindings 页签 将一条外部信息或附件与规则绑定。也可以将附件从对象拆离、替换附件绑定默认值或改 变被绑定附件的位置。双击目标附件的 Value 输入框,替换移至 Selected Attachments 网格 的附件的值。 ER/Studio DA 打开 Value Override Editor 或一个列表。具体情况取决于附件数 据类型。附件在 Data Dictionary 的 Attachments 文件夹创建,显示在此页签上之前必须应用 到默认值。更多信息,请参考 附加外部文件到数据模型 。 Binding Information 页签 选择要绑定规则的对象类别和 / 或具体对象。用户可以使用对象类别编辑器的 Rule/Constraint 页签替换这一设置。 又见 用数据字典对象确定绑定的对象 改变数据字典对象绑定和数值 使用 ER/STUDIO DATA ARCHITECT > 操作数据字典 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 269 使用参照值定义有效的属性数据 参照值是定义允许的数据的属性。参照值代表查询表列、代码值范围或应用到列的规则或约 束。参照值可以定义为值的范围或详细项目列表。 注意: 用户可以使用宏从 Excel 中导入或导出多个参照值。在 Data Model Explorer 的 Macro 页签,选择 SampleMacros > Import Reference Values from Excel 获取不同宏的信息。 1 在 Data Dictionary 中,右键单击 Reference Values 节点,然后单击 New Reference Value。 2 根据需要定义参照值并单击 OK 完成编辑器选项。 提示 : 创建后,用户可以双击参照值,启用编辑器对其进行编辑。 下面描述需要额外解释的选项: Reference Value 页签 • Values NOT Between:如果选择此项,用户可以为绑定的被认为无效的域名、属性或列定义 值的范围。 • Reference Value Type: • By Range:如果选择此项,用户可以为绑定的属性、域名或列定义值的范围。在 Reference Value Range 区域的 Minimum and Maximum 输入框中输入值。 • By List:如果选择此项,用户可以为绑定的属性、域名或列定义值列表。选择此项后, Editor 发生变化,显示一个 Value and Value Description 框。在表的第一行双击 Value 输入框,输入 值。要输入描述信息,双击第一行的 Value Description 输入框,输入相应的描述信息。继续 以此方式输入,直至所有需要输入的值都已输入。保存参照值时列表末尾的空行不考虑。 使用 ER/STUDIO DATA ARCHITECT > 操作数据字典 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 270 Definition 页签 为参照值输入或编辑定义。如果目标数据库支持, ER/Studio DA 生成 SQL 码时以参照值 注释形式添加定义。 Attachment Bindings 页签 将一条外部信息或附件与参照值绑定。也可以将附件从对象拆离、替换附件绑定默认值或 改变被绑定附件的位置。双击目标附件的 Value 输入框,替换移至 Selected Attachments 网 格的附件的值。 ER/Studio DA 打开 Value Override Editor 或一个列表。具体情况取决于附件 数据类型。附件在 Data Dictionary 的 Attachments 文件夹创建,显示在此页签上之前必须应 用到参照值。更多信息,请参考 附加外部文件到数据模型 。 Binding Information 页签 选择哪些对象类别和 / 或具体对象可以使用此参照值。可以用数据模型对象编辑器中的 Reference Values 页签 替换这一设置。 又见 用数据字典对象确定绑定的对象 改变数据字典对象绑定和数值 使用 ER/STUDIO DATA ARCHITECT > 操作数据字典 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 271 通过命名标准模板执行命名标准 用户可以在命名标准模板中定义字符大小写,或添加前缀 / 后缀,使对象类型更易识别。命名 标准模板包括缩写列表和选项。缩写列表用于自动在逻辑名和物理名之间互相转换,选项为特定模 型的选项,用户根据对象类型、名称长度标准、前缀 / 后缀标准定义大小写标准。 Naming Standards Utility 用于将命名标准模板应用到模型中的模型或对象。更多信息,请参考 通过命名标 准模板执行命名标准 。 命名标准模板可以创建和存储为 dm1 文件的数据字典中的命名标准模板对象或外部文件的 XML 数据中。 Enterprise Data Dictionaries 和本地数据字典都支持命名标准模板。 创建并保存后,在 ER/Studio DA 内使用其它向导时都可以命名标准模板,包括 XML Schema Generation、 Generate Physical Model、 Compare and Merge、 Model Validation 和 Add New Physical Model。命名标准模板可以通过对象编辑器中的 Naming Standards 页签应用到域名、属 性和实体。 参考下列主题,创建新的命名标准模板,导入现有模板,定义、查看或定制命名标准模板,导 出命名标准模板,将命名标准模板应用到 Naming Standards Utility。 1 创建命名标准模板 2 跟踪命名标准模板的版本 创建命名标准模板 Naming Standards Template Editor 有两种实现的方法。一种用于创建可导入供与任何图表使 用的外部模板,另一种用于创建绑定到活动图表的模板。 Naming Standards Editor 用于将图表中 的对象绑定到命名标准模板。包括两个页签,即 Attachment Bindings 和 Binding Information。外 部模板编辑器中没有这两个页签。 1 要创建保存为 XML 文件的外部命名标准模板 ,选择 Tools > Naming Standards Editor。 要创建保存为活动图表的数据字典中对象的命名标准模板, 在 Data Model Explorer 的 Data Dictionary 页签,右键单击 Naming Standards Templates 节点,然后单击 New Naming Standards Template。 上面两种方式都可以启用 Naming Standard Template Editor。 2 要保存新文件并退出工具,单击 OK。 如果模板是个数据字典对象 ,新命名标准模板出现在 Data Model Explorer, Data Dictionary, Naming Standards Templates 节点。 如果模板是外部文件, Model 目录中会创建新的命名标准模板文件。命名标准模板的扩 展名为 .nst。 提示 : 创建后,用户可以在 Data Dictionary 页签上双击命名标准模板的对象,启用编辑器编 辑模板。 下面描述需要额外解释的选项: 使用 ER/STUDIO DATA ARCHITECT > 操作数据字典 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 272 Name 页签 • Import from External Naming Standards Template:用户可以将 XML格式的命名标准模板 导入图表。该模板可以是使用 Naming Standards Template Editor (从Tools菜单访问)创建 的外部命名标准模板。 • Export to External Naming Standards Template:命名标准模板保存时扩展名为 .nst。之 后,其它 ER/Studio DA 用户可以使用导入功能打开自己图表中的命名标准模板。 Logical 页签和 Physical 页签 • Case 列:选择一个转换选项应用到每个逻辑数据模型对象类型: 下表描述通过大小写转换选项获得的结果: Mapping 页签 • Import/Export:单击将缩写列表导入或导出为一个逗号分隔值文件( .csv)。 大小写转换选项 数据模型名称 转换后的名称(删除空格) [none] CUSTOMER ADDRESS CODE CUSTOMERADDRESSCODE UPPER Customer CUSTOMER lower CUSTOMER customer UpperCamel CUSTOMER ADDRESS CODE CustomerAddressCode lowerCamel CUSTOMER ADDRESS CODE customerAddressCode 使用 ER/STUDIO DATA ARCHITECT > 操作数据字典 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 273 • Abbreviations 页签:将逻辑名称映射到物理名称并进一步限定名称类型。在本页签上,用户 也可以定义非法名称,从逗号分隔值文件( .csv)中导入缩写列表或导出显示到 .csv 文件的缩 写列表。 提示 : 要删除行,选中该行并按键盘上的 Delete 键。选择行的最简单方式是右键单击该行。 用户也可按 Shift 键或按 Ctrl 键并右键单击选择多行。 • Prime:表明在 Logical 或 Physical 列输入的词使得名称唯一,如 Customer、Employee 和 Account。 • Qualifier:限定类别词以进一步定义属性含义。名称可以有多个修饰词。例如,在 Customer First Name ID逻辑列名称中, Customer是Prime, ID是Class。如果命名标准模板中有逻辑 文本First和Name的缩写且用户检查了限定框, ER/Studio DA在转换过程中重新排序时会将 First和Name归类为限定词。 • Class:属性中数据的类型。类别数据一般用在属性和列名称中,不用在实体或表名称中。 大多数新的命名标准在属性名称结尾有类词,如 name、 date、 code、 id 和 document。 • Illegal:名称中不允许出现的词。主要在验证过程使用。 • Priority:用于解决将物理名称转换为逻辑名称时重复物理缩写的问题。默认值为 Primary。 为已经映射到逻辑名称的物理名定义映射时,优先级变为 Secondary。用户可以选中优先级 输入框, 单击下拉箭头并选择新的优先级。如果将缩写的优先级从 Secondary变为Primary, 此前为 Primary 的缩写的优先级变为 Secondary。物理名称仅可拥有一个主缩写,但可以拥 有多个二级缩写。 Order 页签 指定逻辑名称和物理名称每部分的顺序。如果不指定顺序,将沿用原始名称中各部分的 顺序。 在 Part 1 列中为每个对象类型选择相应的单元格,单击箭头,然后选择在逻辑名称和物理 名称之间转换时名称的哪部分应该在先。然后根据需要定义第二部分和第三部分。 注意: 要指定某个对象部分不排序,在该部分对应的列中选择正确的单元格,单击箭头然后选 择省略号( ...)。 General 页签 • Delimiter Options 区域:定义如何在逻辑模型和物理模型中分解词。例如, Customer Number 应该转换为 CustNum 还是 Cust_Num。在本页签上, 遇到特定字符要拆分单词时, 在 Delimiter Options 区域单击 By Character,然后输入字符。 大小写变化时要对词进行拆分, 在 Delimiter Options 区域,选择 By Case。 • Special Characters 区域:指定哪些字符被视为特殊字符以及如何处理这些字符。 使用 ER/STUDIO DATA ARCHITECT > 操作数据字典 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 274 Attachment Bindings 页签 将一条外部信息或附件与命名标准模板绑定。也可以将附件从对象拆离、替换附件绑定默 认值或改变被绑定附件的位置。双击目标附件的 Value 输入框,替换移至 Selected Attachments 网格的附件的值。 ER/Studio DA 打开 Value Override Editor 或一个列表。具体 情况取决于附件数据类型。附件在 Data Dictionary 的 Attachments 文件夹创建,显示在此页 签上之前必须应用到参照值。更多信息,请参考 附加外部文件到数据模型 。 Binding Information 页签 选择哪些对象类别和 / 或具体对象可以使用此命名标准模板。 可以用数据模型对象编辑器 中的 Naming Standards 页签 替换这一设置。 跟踪命名标准模板的版本 用户可以将命名标准模板( NST)导入到 Enterprise Data Dictionary 的 NST 对象。Enterprise Data Dictionary 是一个已经添加到或将要添加到知识库的数据字典。无论何时进入数据字典,用 户都可以添加注释,描述应用的变化。用户可以查看知识库中任何对象的历史版本。 又见 使用储存库中的数据字典 查看储存库对象的签出历史 使用用户数据类型保证域名定义一致 用户自定义的数据类型是整个数据模型中保证域名属性定义一致性的强大机制。用户可以从 基本数据类型创建用户自定义数据类型,可指定宽度、精度和标度。此外,用户可以将规则和默认 值绑定到用户自定义数据类型,增强域名完整性。用户自定义数据类型创建后,用户可以在属性、 表列和域名中使用该类型,无需每次都定义其底层定义。用户自定义数据类型对于数据库中常被引 用的表列来说非常有用,如 PhoneNo、 ZipCode 或 PartNo。 用户数据类型的中央维护可以防止用户手动编辑每个被引用表列时出现冗余和潜在错误。例 如,可以在 Part 表中的 PartNo 中定义一个整数代理键, 提高效率。用户已经定义了一个自定义数 据类型 partnumber 防止数据库设计中每次使用 PartNo。之后,用户了解到原有系统中要转换的 数据包含更多字符格式的部分编号。要顺应这些变化,用户只需将 partnumber 的定义由整数变为 基于字符的用户数据类型。 ER/Studio DA 自动使用 partnumber 将所有表列转变为新的定义。 尽管目前只有少数数据库平台支持用户自定义数据类型, ER/Studio DA 在物理模式下将用户 自定义数据类型工具推广到所有数据库平台。 ER/Studio DA 为任何不支持用户自定义数据类型的 数据库平台生成 SQL 代码时将用户自定义数据类型转换为其基本定义。 注意: 生成数据库时,仅 SQL Server、 Sybase 和 IBM DB2 的用户自定义数据库类型的 CREATE 语句可以包含在 DDL 中。 使用 ER/STUDIO DATA ARCHITECT > 操作数据字典 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 275 创建、编辑用户数据类型 1 在 Data Dictionary 页签中,右键单击 User Datatypes 节点,然后选择 New UserDatatype。 2 根据需要定义用户自定义数据类型并单击 OK 完成编辑器选项。 提示 : 创建后,用户可以在 Data Dictionary 页签上双击命名标准模板的对象,启用编辑器编 辑模板。 下面描述需要额外解释的选项: UDT 页签 • Apply nullability to all bound columns:如果指定了 Yes Allow Nulls,此复选框可用。编辑 用户数据类型并改变之前的选择时,选择此复选框后,变化将会传播到绑定到该用户数据类型 的所有对象。 • Default Binding:可选。如果要将用户数据类型绑定到默认值,从列表中选择此项。 • Rule Binding:可选。如果要将用户数据类型绑定到规则,从列表中选择此项。 Attachment Bindings 页签 将一条外部信息或附件与用户数据类型绑定。也可以将附件从对象拆离、替换附件绑定 默认值或改变被绑定附件的位置。双击目标附件的 Value 输入框,替换移至 Selected Attachments 网格的附件的值。 ER/Studio DA 打开 Value Override Editor 或一个列表。具体 情况取决于附件数据类型。附件在 Data Dictionary 的 Attachments 文件夹创建,显示在此页 签上之前必须应用到用户数据类型。更多信息,请参考 附加外部文件到数据模型 。 Binding Information 页签 选择哪些对象类别和 / 或具体对象可以使用此用户自定义数据类型。 用户可以使用实体或 表编辑器中的 Attributes 或 Columns 页签,或域名编辑器中的 Datatype 页签替换这一设置。 注意: 用户数据类型定义发生变化时, ER/Studio DA 自动更新用户整个模型以便所有相关对 象都使用新定义。 使用 ER/STUDIO DATA ARCHITECT > 操作数据字典 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 276 通过域名重用属性定义 域名在创建用户模型中常用实体属性或表列时非常有用。创建域名后,用户可以一次性定义对 象,之后将域名应用到实体属性和表列中重复使用该对象。 域名是可重用属性模板,能够提高域名定义一致性。用户可以像创建属性一样创建域名,为其 指定名称、数据属性、空状态、默认值和验证规则。创建域名之后,可以将其应用到属性和表列, 在数据模型中重用。通过定义域名,用户还可以将到底层域名协议的变化传播到所有引用该定义的 属性和表列。 执行商务规则的一个重要方法是定义并应用域名限制。域名完整性指管理属性可使用的值的 规则。通过限制和验证属性值,用户可以执行重要商务规则,如保证支票帐户维持良性平衡,或防 止非法电话号码进入。 ER/Studio DA 允许用户使用域名文件夹组织域名。域名文件夹允许用户创建并管理数据字典 域名。用户可以创建不同域名文件夹,将域名分类到不同的组中。节点内可以再创建节点。可以将 现有域名移动到域名文件夹或在文件夹中创建新的域名。 域名可以拖或丢到表或实体中,用于创建列或属性。域名也可以被拖到另一域名上,创建子域 名。具体做法是将选中的域名移到目标域名下。也可以将域名复制粘贴到另一个域名上,创建所选域 名拷贝,用作子域名或目标域名。注意,复制的域名发生的任何变化都不会继承到粘贴的子域名上。 域名可以有嵌套子域名或初始复制了父域名大多数属性但创建后行为不同的子域名。添加域 名或编辑域名功能中的 Domain Override 选项能够创建继承并替换域名系统,不会丢失与属性或 列的重要关系(绑定信息)。 注意: 如果删除一个域名文件夹,该文件夹中所有域名和文件夹一并删除。所有与任何列和属 性绑定的内容都会去绑定。 创建域名文件夹 1 在 Data Dictionary 页签中,右键单击 Domains 节点,然后单击 New Domain Folder。 2 输入域名名称,单击 OK。 创建、编辑域名或子域名 1 要在域名根节点创建域名, 在 Data Dictionary 页签上,右键单击 Domains 节点,然后单击 New Domain。 要在域名文件夹内创建域名, 在 Data Dictionary 页签上,展开 Domains 节点,然后右 键单击域名文件夹节点,单击 New Domain。 要创建子域名(域名文件夹中的域名) ,在 Data Dictionary 页签上,导航至要创建子域 名的域名文件夹,右键单击域名文件夹,然后单击 New Domain。 使用 ER/STUDIO DATA ARCHITECT > 操作数据字典 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 277 2 根据需要定义域名并单击 OK 完成编辑器选项。 提示 : 创建后,用户可以在 Data Dictionary 页签上双击域名对象,启用编辑器编辑域名。 下面描述需要额外解释的选项: Datatype 页签 • Receive Parent Modifications:对于子域名 ,此项允许用户将父域名的属性变化同步到子域 名。选择此项后,系统自动同步父域名与子域名的属性, Reference Values、 Naming Standards、 Attachment Binding 和 Binding Information 页签上指定的属性不同步。如果不 选择此项,将会创建初始与父域名相同的子域名,但是子域名没有任何附件绑定。父域名随 后发生的变化不会继承到子域名。用户对子域名所作的任何变化都会替换从父域名继承的 值。因此,子域名仅从父域名继承之前没有指定给子域名的属性。 • Synchronize Domain and Attribute/Column Names:选择此项同步域名、属性和列名称。 如果之前在 Attribute 和 / 或 Column Name 输入框输入的名称与域名不同,选择此项会替换 输入的内容。 • Apply nullability to all bound columns? 如果选择了一个可以为空的数据类型,但在 Allow Nulls 区域中单击了 No,不允许为空,此选项可用。如果没有绑定列,选择此复选框不会产 生影响。 • Identity Property 区域:如果图表中模型的数据库平台以及所选数据类型支持标识属性,此 区域可用,如 TINYINIT 支持这一属性。 Default 页签 • Default Binding:如果默认值没有绑定到域名( Data Dictionary > Defaults > Edit Default Definition > Binding Information),用户可以输入一个声明默认值或从 Default Binding 列 表中选择另一个默认值。从物理模型中选择 Generate Database 时,声明默认值会出现在声 称的 SQL 中。 • Declarative Default:插入过程中没有显式指定域名值时,指定默认域名值。 DEFAULT 定义 可应用到任何列,定义为时间戳或有 IDENTITY 属性的列除外。对 DEFAULT 仅可分配约束值 (如字符串) 、系统函数(如 SYSTEM_USER())、空值或约束名。 Rule/Constraint 页签 添加、修改或删除约束。检查约束用于保证数据库中数据有效性以及提供数据完整性。更 多信息,请参考 使用检查约束实施数据完整性 。 Reference Values 页签 参照值是定义允许的数据的属性。参照值代表查询表列、代码值范围或应用到列的规则或 约束。更多信息,请参考 使用参照值定义有效的属性数据 。 使用 ER/STUDIO DATA ARCHITECT > 操作数据字典 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 278 Naming Standards 页签 控制用户和对象修改相关项目的权限。命名标准模板绑定到对象后,该模板将代替 Naming Standards Utility 或 Generate Physical Model 工具中选择的命名标准模板。因此,模 型的某些部分要求不同版本的标准时用户可以将不同的命名标准应用到不同的对象。例如,一 些对象在数据库中已经存在,用户不需要应用新的命名标准到这些对象。更多信息,请参考 通 过命名标准模板执行命名标准 。 Definition 页签 为域名输入或编辑定义。如果目标数据库支持, ER/Studio DA 生成 SQL 码时以域名注释 形式添加定义。 Note 页签 此处添加的注释在为模型生成报告时将成为 HTML 报告的一部分。用户可以使用 HTML 标记格式化这些注释。 Override Controls 页签 控制绑定到域名的列中可以替换以及不可以替换的内容。 • General Overrides 区域: allow/disallow 选项如果设置为 Disallow,系统关闭绑定的属性或 列上的覆盖指示器。 用户修改域名覆盖控件并将一个或多个一般覆盖选项设置为 Disallow 时, ER/Studio DA (以及 Enterprise Data Dictionaries 的 RepoServer)会为该特定属性清除所有 现有覆盖。 • Name Synchronization:完全将域名从绑定的属性或列中分离。此项会避免疏忽导致的变 化,如属性或列名称一致,导致部分同步,之后进一步发生变化,引起属性或列的变化。 • Attachment Synchronization:与绑定的列同步时,保留域名中的附件。任何添加到域名的 附件都会传播到属性或列。 Always Migrate 能够始终将域名中的新附件迁移到列。用户仍然可 以直接向列添加附件。 Attachment Bindings 页签 将一条外部信息或附件与域名绑定。也可以将附件从对象拆离、替换附件绑定默认值或改 变被绑定附件的位置。双击目标附件的 Value 输入框,替换移至 Selected Attachments 网格 的附件的值。 ER/Studio DA 打开 Value Override Editor 或一个列表。具体情况取决于附件数 据类型。附件在 Data Dictionary 的 Attachments 文件夹创建,显示在此页签上之前必须应用 到域名。更多信息,请参考 附加外部文件到数据模型 。 Binding Information 页签 选择要绑定附件的对象类别和 / 或具体对象。用户可以分别使用实体或表编辑器的 Attribute 或 Column 页签替换这一设置。 使用 ER/STUDIO DATA ARCHITECT > 操作数据字典 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 279 重用程序逻辑 数据字典支持以下类型的程序逻辑并允许用户根据数据库平台组织这些程序逻辑: • Reusable Triggers:一种特殊的预存程序。数据修改操作(如 INSERT、 UPDATE 或 DELETE)发生时,程序自动执行。由于触发器可自定义并自动启用,因此一般用于维护数 据库参照完整性。 • Reusable Procedures:用 BASIC 代码编写的模板化程序。这些程序可应用到任何表,因为 这些程序在代码中使用表上下文。 • Libraries:允许用户分割用于为可重用数发器和可重用程序生成 SQL 的代码块。此项允许用 户重用代码块。可重用触发器或程序代码可以调用知识库函数。 创建新程序逻辑时启用的编辑器是 Sax Basic 编辑器,兼容 Microsoft Visual Basic。 本节包括以下主题: • 创建、编辑可重用触发器 • 创建、编辑可重用程序 • 创建、编辑知识库 创建、编辑可重用触发器 1 选择表。 注意: 程序中的 SQL 基于所选表和数据库平台进行验证。如果不选择表, SQL 无法正确验证。 2 在 Data Dictionary 中,展开 Reusable Procedural Logic 节点,展开 Reusable Triggers 节点。 3 右键单击适当的数据库平台节点,单击 New Trigger。 4 根据需要定义触发器并单击 OK 完成编辑器选项。 提示 : 创建后,用户可以在 Data Dictionary 页签上双击触发器对象,启用编辑器。 下面描述需要额外解释的选项: • 要为触发器和程序等程序逻辑生成代码,逻辑结果必须存储在变量 resultstring 中。例如, 在样本模型 Northwind.dm1 中,数据字典 为 Oracle 平台列出了一个可重用触发器 SYSUPDATE。此触发器的代码包括下列为触发器生成代码所需的语句: resultstring = trigBody 使用 ER/STUDIO DATA ARCHITECT > 操作数据字典 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 280 BASIC 页签 包括文本编辑器和所有 ER/Studio DA Macro Editor 上可用的编辑与格式化工具。用户可 以输入或点击 Import 按钮导入触发器代码。 可以使用 Visual BASIC 和 / 或 AI 为可重用触发器 创建代码。 • DBMS:要将打开编辑器时点击的 DBMS 变为其它 DBMS,可以使用 Copy Dictionary Object 功能将触发器移至正确的 DBMS 节点。 • Select Libraries:单击选择已经定义好的知识库,添加到触发器节点。使用知识库功能时,需 要选择此选以项选择知识库文件。 创建、编辑可重用程序 1 选择表。 注意: 程序中的 SQL 基于所选表和数据库平台进行验证。如果不选择表, SQL 无法正确验证。 2 在 Data Dictionary 中,展开 Reusable Procedural Logic 节点,展开 Reusable Procedures 节点。 3 右键单击适当的数据库平台文件夹,单击 New Procedure。 4 根据需要定义可重用程序并单击 OK 完成编辑器选项。 提示 : 创建后,用户可以在 Data Dictionary 页签上双击程序对象,启用编辑器对其进行编辑。 下面描述需要额外解释的选项: • 要为触发器和程序等程序逻辑生成代码,逻辑结果必须存储在变量 resultstring 中。例如, 在样本模型 Northwind.dm1 中,数据字典 为 Oracle 平台列出了一个可重用触发器 SYSUPDATE。此触发器的代码包括下列为触发器生成代码所需的语句: resultstring = trigBody BASIC 页签 包括文本编辑器和所有 ER/Studio DA Macro Editor 上可用的编辑与格式化工具。用户可 以输入或点击 Import 按钮导入程序代码。可以使用 Visual BASIC 和 / 或 AI 为可重用触发器创 建代码。 • DBMS:要将打开编辑器时点击的 DBMS 变为其它 DBMS,可以使用 Copy Dictionary Object 功能将触发器移至正确的 DBMS 节点。 • Select Libraries:单击选择已经定义好的知识库,添加到触发器节点。 使用 ER/STUDIO DATA ARCHITECT > 操作数据字典 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 281 创建、编辑知识库 1 在 Data Dictionary 中,右键单击 Libraries 文件夹,然后单击 New Library。 2 根据需要定义知识库并单击 OK 完成编辑器选项。 下面描述需要额外解释的选项: BASIC 页签 包括文本编辑器和所有 ER/Studio DA Macro Editor 上可用的编辑与格式化工具。用户可 以输入或点击 Import按钮导入知识库代码。可以使用 Visual BASIC和/或AI为知识库创建代码。 知识库举例 'This function generates the header for a templated insert 'procedure.Input is entity name that is used to generate 'procedure name.Platform is Oracle. Function insertprocheader (ent As Entity) As String Dim result As String Dim attr As AttributeObj 'add create statement for the procedure with naming convention result = "CREATE OR REPLACE PROCEDURE P" & ent.TableName & "INSERT" & vbCrLf result = result & "(" & vbCrLf 'add parameter list for insert statement 'loop in actual sequence order For i = 1 To ent.Attributes.Count For Each attr In ent.Attributes If attr.SequenceNumber = i Then 'make parameter line for column result = result & "V" & attr.ColumnName & vbTab & vbTab & vbTab result = result & "IN " result = result & attr.Datatype & "," & vbCrLf End If Next attr Next i trim last comma of the parameter list result = Left(result, Len(result) - 3) 'add last closed parantheses result = result & ")" & vbCrLf result = result & "AS" & vbCrLf & "BEGIN" & vbCrLf 'return header insertprocheader = result End Function 使用 ER/STUDIO DATA ARCHITECT > 操作数据字典 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 282 调用知识库举例 此主程序说明如何调用知识库函数。 注意: 知识库需要添加到可重用触发器或预存程序。 Sub Main Dim procstring As String procstring = insertprocheader(CurrEntity) 'call other library functions for body of procedure 'call other library functions for body of procedure 'check procedure text with a message box 'disable when generating DDL MsgBox(procstring) 'output procedure string variable to DDL wizard resultstring = procstring End Sub 用数据字典对象确定绑定的对象 View Bindings 对话框显示所选数据字典对象绑定到的属性或列的名称。所选对象显示哪些域 名绑定到了哪些属性和列。 1 在 Data Dictionary 页签,导航至要调查的字典对象,如具体规则。 2 右键单击数据字典对象并选择 View ....Bindings。其中, ... 是数据字典对象的名称。 注意 • View Bindings 对话框为只读对话框。 • 要去绑定对象,使用数据字典对象编辑器的 Binding Information 页签,或要去绑定的对象或 数据库类别的编辑器上的相关页签。 又见 改变数据字典对象绑定和数值 使用 ER/STUDIO DATA ARCHITECT > 操作数据字典 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 283 改变数据字典对象绑定和数值 数据字典对象的绑定可在数据模型对象编辑器中进行替换。例如,用户创建了一个安全属性并 将其应用到了一个实体。用户可以通过 Attribute Editor 的 Security Information 页签去绑定实体属 性的安全属性或改变安全属性的值。 注意: 为能够将数据字典对象绑定到数据库对象,对象所属的具体对象或类别必须绑定到了数 据字典对象编辑器中的数据字典对象。 1 在 Data Model Explorer 中,右键单击数据模型对象,然后单击 Edit。 2 在编辑器中,单击下表描述的相应页签。 注意: 用户也可以将附件绑定到整个图表。在 Diagram Properties 对话框中可以改变图表绑 定。选择 File > Diagram Properties。 3 改变绑定并单击 OK 退出编辑器。 注意 • 双击网格中附件的值,可以启用 Value Override Editor。用户可以覆盖该附件的值。 • 创建了报告之后,用户可以在报告中描述所选对象绑定的附件的详细信息。更多信息,请参考 创建 RTF 和 HTML 模型报告。 To change bindings of this type Use this tab in the database object editor Attachments: Attachment Bindings Data Security Information Security Information Defaults 默认值 规则 Rule/Constraint or Constraints Reference Values Reference Values 命名标准模板 Naming standards User Datatypes Datatype Domains Attributes 使用 ER/STUDIO DATA ARCHITECT > 文档化数据析取、转换和加载 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 284 操作企业数据字典 如果安装的产品可以访问 ER/Studio Repository,用户可以将本地数据字典提升为知识库,创 建企业数据字典,在知识库用户之间共享。更多信息,请参考 使用储存库中的数据字典 。 文档化数据析取、转换和加载 本节包括以下主题: • 数据沿袭介绍 • 数据沿袭流程 • 创建、编辑数据沿袭数据流程 • 定义源系统 • 关联源表及列与目标表及列 • 文档化表/实体数据 ETL • 文档化列 / 属性 ETL 数据沿袭介绍 通过数据沿袭功能,用户可以将数据从 A 点到 B 点的移动以及任何中间步骤文档化。这类移 动有时称作析取、转换和加载( ETL)。A点和B点可以是平面文件,高端数据库(如 Oracles 和 DB2)、 XML 文件、Access 数据库和 Excel 工作表。这有时被称为源和目标映射。 ERStudio 生成 的模型可以代表途经的任何一点。数据架构师需要能够指定数据源和目标,直至列/属性。除了定 义源和目标映射的元数据外,还有规定数据沿途操作方法的规则。 移动数据的任务一般分配给几乎没有数据建模经验的专业开发人员。这些开发人员需要优秀 的文档指导他们决定哪些数据该移到哪里。对于这些研发人员来说,数据移动和映射文档化一般相 当于一项数据架构任务。数据架构师需要在非常复杂的系统之间跟踪数据。例如,一个组织可能有 一个数据仓库。这个数据仓库的数据源自许多不同系统,如 CRM (客户关系管理) 、薪酬、分类 总帐、会计、产品和库存系统。相应地,可能有不同的联机数据集市接受来自数据仓库的的数据, 为销售总监、人力资源总监和市场团队生成企业各方面业绩的报告。 使用 ER/STUDIO DATA ARCHITECT > 文档化数据析取、转换和加载 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 285 下图描述通用的数据移动过程: 图中,数据从左边的各种系统出发,流向数据仓库。数据仓库以更利于生成报告的格式存储数 据。这样一来,源系统开销降低,因此资源不会用来直接在源系统上生成报告。必须清除数据以保 证用于生成报告的数据的质量。报告可以直接在企业数据仓库( EDW)生成,但数据往往被发送到 针对具体受众的专业数据集市。数据移动到联机数据管理器( ODM)的过程中,会执行进一步的清 理或操作。使用 ERStudio 的组织很可能这一过程每部分都有一个模型,包括 CRM、分类总帐 / 会 计、订单、库存、 EDW 以及 ODM 系统。数据架构师需要将这些体统通过映射关系联系起来。他们 管理各个模型,需要定义生成报告的映射,帮助数据仓库工程师。将数据移至数据集市的 ETL 开发 人员需要了解从 EDW 中哪些列和表获得数据。为了保证一致性,他们需要来自旧系统或联机事务处 理(OLTP)系统的映射。 ER/Studio DA 提供多种对数据在系统之间的移动进行文档化的方式。 用户可以通过下面的方式在 Reports 和生成的 SQL 中查看指定的 ETL 信息: • 在 Table 编辑器中,用户可以将数据与管理数据移动的规则的析取频率文档化。 • 在表列编辑器中,用户可以文档化数据从源移到目标(源到目标映射)的过程中的转换方式。 用户可以通过 Data Lineage 页签创建数据移动和转换的可视化。创建后,用户可以看到源与 目标之间的关系,数据如何从一个表移动到另一个表,以及数据如何转换。 使用 ER/STUDIO DATA ARCHITECT > 文档化数据析取、转换和加载 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 286 数据沿袭流程 一般数据沿袭流程如下: 1 定义源系统 2 关联源模型和目标模型 3 关联源表及列与目标表及列 4 创建、编辑数据沿袭数据流程 5 文档化表/实体数据 ETL 6 文档化列 / 属性 ETL 7 通过报告、 SQL、 XML、导出的元数据,或通过 ER/Studio Portal 和 ER/Studio Viewer 与同 事共享数据沿袭。 定义源系统 数据源可以源自活动的图表(本地模型)中的模型、导入到活动图表的外部源或在 Data Lineage 页签上创建的数据源。源可以从 *.dm1 文件、 *.dt1 文件、数据库或 SQL 文件、平面文 件或其它常用应用文件导入。在 Data Lineage 页签上可以找到来自开放图表的潜在源,展开 Data Sources > Local Models 可以看到。 注意: 通过 Data Lineage 页签导入的源数据仅包含表和列名称、数据类型、可否为空、主键 和列定义等信息。要获取详细信息,反工程数据库或使用 Metadata Wizard 将其导入 ER/Studio DA。 本节包括以下主题: • 创建新源 • 将外部源导入其它源 创建新源 1 在 Data Lineage 页签,展开 Data Sources 节点。 2 右键单击 Other Sources,选择 New Source。 使用 ER/STUDIO DATA ARCHITECT > 文档化数据析取、转换和加载 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 287 3 根据需要完成 Data Source Properties 对话框选项,单击 OK,退出编辑器。 新源会出现在 Other Sources 节点下,有一个空对象节点,可能是表或实体,取决于定义 的数据源类型。用户可以展开 Other Sources 节点,然后展开新源节点,编辑新源模型。之 后,右键单击源对象,选择 Add Table/Entity 启用表编辑器或实体编辑器。 下面描述需要额外解释的选项: General 页签 • 一般属性 • Name:这里指定的名称在 Data Lineage 页签上的 Other Sources 节点显示为数据源。 • Type:选择源类型。此项的设置影响 Connectivity 组的可用选项。例如,为 DBMS (如 MySQL)选择 Relational。 • Connectivity Properties • Host,Server/Service, Port:用于连接到外部 DBMS。对于现有 ER/Studio DA物理模型, 此项留空。 • DBMS Type, Version, Location/Path, File Type, Encoding:此项设置取决于上面所 选的 Type。 Model Usage 页签 此页签为只读页签,显示 General 页签上定义的源。保证此处显示内容符合您的需要。 将外部源导入其它源 1 在 Data Lineage 页签,展开 Data Sources 节点。 2 右键单击 Other Sources,选择 Import New Source。 3 根据需要完成 Data Source Properties 对话框选项,单击 OK,退出 Import Source 向导。 新源汇出现在 Other Sources 节点下。 下面描述需要额外解释的选项: 第 1 页 -- 请选择您希望导入源数据的起始位置 • From a Repository based DM1 file:允许用户获从 ER/Studio Repository管理的数据模型和 Named Releases获取源。如果选择此项, ER/Studio DA打开Repository Operation Status对 话框和 Get From Repository 对话框。这个过程连接到知识库设置中定义的当前知识库服务 器。 Import Source向导自动获取图表。 • From an SQL file: ER/Studio DA 导入该 SQL 文件。 使用 ER/STUDIO DATA ARCHITECT > 文档化数据析取、转换和加载 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 288 • Compare against a live database:如果选择此项,将会出现一个页面。用户可以在页面上 选择数据和连接类型。连接类型可以是 ODBC 或 Native/Direct Connection。有关连接到数据 库的信息,包括故障处理信息,请参考 连接数据源和目标 。 • Comparison Quick Launch:Compare Quick Launch 数据保存为 *.rvo 文件。有关使用向导 中 Quick Launch 选项的信息,请参考 保存、使用快速启动设置 。 第 5 页 -- 结果 • Current and Target Model Display Grid:源模型和目标模型之间有一个 Resolution 列。 默认合并会将数据合并入新的源文件。用户可以单击 Resolution 列中的任何项目,打开决 策列表。如果需要改变决策,单击列表并单击新的决策。改变了对象的默认决策之后,依附 于对象的属性的决策和对象的决策会自动更新。也可以单击类别文件夹(如 Tables Resolution 列)改变对象类别下所有对象的决策。此外,用户可以按 CTRL 键选择多个项 目,然后右键单击,打开决策列表。 • SQL DIfference:要打开 SQL Difference 工具,选择任何是长文本字段的差异,如 Definition、 Note 或 DDL,然后单击 SQL Difference 查看模型的 SQL 差异。此工具仅允 许用户查看差异。差异决策在 Compare and Merge Utility 的 Results 页面执行。 • Filter Report on Results:创建源内容报告以及选择的决策。用户可以创建 HTML 报告或 RTF 报告。 提示 : 可以使用页面底部的选项改变默认显示。 关联源模型和目标模型 数据移动属性描述在数据沿袭页签之外源模型和目标模型的联系方式。用户可以将源模型关 联到同一个图表中的一个或多个模型,或从外部系统导入的模型。此处定义的规则在实体和表编辑 器的 Data Lineage 页签上的表 / 实体级别使用。 1 在 Data Model Explorer 上,右键单击具体模型的最上层节点,选择 Data Movement Properties。 2 选择 Source 或 Targets 页签。 3 选择要添加或编辑的映射的级别。 4 单击 Add,从所列模型中选择模型。 5 如果希望当前模型的变化自动更新到 .dm1 文件内的其它模型,选择 Synch registered data... 选项。 完成后,双击任何表,编辑表级和列级的移动规则。 使用 ER/STUDIO DATA ARCHITECT > 文档化数据析取、转换和加载 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 289 关联源表及列与目标表及列 数据移动规则描述源与目标表和实体的关联方式。用户可以将源数据与同一模型、活动图表中 的一个或多个表和实体关联,或与旧系统中导入的表关联。此处定义的规则在实体和表编辑器的 Data Lineage 页签上的表级别使用。 创建、编辑数据移动规则 1 在 Data Lineage 页签中,右键单击 Data Movement Rules,然后选择 New Data Movement Rule。 2 根据需要完成 Data Movement Rule 编辑器选项,单击 OK,退出编辑器。 创建后,用户可以双击数据移动规则,启用数据移动规则编辑器对其进行编辑。 下面描述需要额外解释的选项: Rule Information 页签 • Rule Name:输入名称,指明作用于其上的操作和对象,取决于绑定定义的具体情况。 • Rule Type:选择能最好描述数据移动的通用移动规则类型。 • Rule Text:将数据移动计划文档化,可能是添加说明或临时计划。 Binding Information 页签 选择要绑定规则的对象类别和 / 或具体对象。用户可以在实体或标编辑器的 Data Lineage 页签覆盖这一设置 。更多信息,请参考 创建和编辑实体 。 又见 数据沿袭流程 为模型分配数据移动属性 分配数据源或目标和用户要使用的映射级别,包括直接映射或二次映射。必须已经通过 Data Source/Targets Properties 在 Data Lineage 页签添加了源 / 目标。 要将数据源 / 目标添加到物理模 型,执行以下操作: 1 右键单击具体物理模型名称的最上层节点,选择 Data Movement Properties。 2 选择 Source 或 Targets 页签。 3 选择要添加或编辑的映射的级别。 4 单击 Add,从所列模型中选择模型。 5 如果希望当前模型的变化自动更新到 .dm1 文件内的其它模型,选择 Synch registered data... 选项。 完成后,双击任何表,编辑表级和列级的移动规则。 使用 ER/STUDIO DATA ARCHITECT > 文档化数据析取、转换和加载 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 290 创建、编辑数据沿袭数据流程 数据沿袭数据流程组织并封装数据转换以及在生成目标数据的转换中使用的源表和列。两个 实体 / 表之间可以存在多级映射,也可以存在涉及不同属性 / 列的多个转换。 提示 : 显示转换定义、输入和输出。代码由 Diagram and Object Display Options 编辑器中的 Transformation 选项控制。更多信息,请参考 配置和定制 ER/Studio DA。 创建数据沿袭数据流程 1 在 Data Model Explorer 中,单击应用窗口底部的 Data Lineage 页签。 2 如果打开图表后首次单击 Data Lineage 页签,系统将提示创建 Data Lineage Data Flow。 单击 Yes。 如果打开图表后已经单击过 Data Lineage 页签,在 Data Lineage Explorer 中,右键单击 Data Flow 节点,然后单击 Create Data Flow。 使用 ER/STUDIO DATA ARCHITECT > 文档化数据析取、转换和加载 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 291 3 输入数据流程名称,单击 OK。 注意: 应用窗口顶部的图表标题页签中出现的名称所附信息包括 :当你在数据沿袭浏览器中 单击一数据流时,数据流的名称。例如 GIMDB.DM1 - Data Flow Model View:Data Flow Name*。 4 如果还没有创建数据移动规则和数据源和目标,前往 关联源表及列与目标表及列 或定义源系 统,然后回到 步骤 5。 5 导航至 Data Lineage 窗口,然后将源和目标表或实体拖到或丢到 Data Lineage 窗口。 提示 : 可以有多个源和目标表或实体。根据需要的数量拖动或丢弃。 提示 : 要显示转换的输入和输出,在 Data Lineage 窗口右键单击空白区域,选择 Diagram and Object Display Options,然后单击 Transformation 页签,选择 Input and Output Columns。 注意: 如果单击 Repository、 Data Dictionary 或 Macros explorer 页签, Data Lineage Window 将继续显示数据流程的可视化。如果单击 Data Model 页签, Data Lineage Window 被 Data Model Window 代替。单击 Data Lineage 页签,返回 Data Lineage Window。 6 右键单击 Data Lineage Window 的空白区域,然后单击 Insert Transformation。 7 双击新转换启用 Transformation Editor。 8 根据需要完成 Transformation Editor 页签的选项,单击 OK,退出编辑器。 提示 : 数据流程创建后,可以双击该流程更改其名称,或双击转换或组件,更改其属性。 9 右键单击 Data Lineage Window 的空白区域,然后单击 Insert Data Stream。 10 单击输入源,然后单击转换对象。如有必要,重复上述步骤直至将所有输入连接到转换对象。 11 单击转换对象,然后单击输出。如有必要,重复上述步骤直至将所有输出连接到转换对象。 下面描述 Transformation Editor 中需要额外解释的选项: Name:转换的名称可以在这一输入框中进行编辑。 Type:单击类型列表,选择转换,或在文本框中,输入现有转换类型的名称或输入新转 换类型的名称。 列标签 ( 也可用作属性 ) 显示父模型、属性 / 列名、数据类型和转换输入和输出的定义。 使用 ER/STUDIO DATA ARCHITECT > 文档化数据析取、转换和加载 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 292 • Inputs:单击省略号( ...)按钮,选择此转换中要转换的源数据。用户可以选择表的所有列或 仅选择部分列作为转换的输入。 • Outputs:单击省略号( ...)按钮,选择此转换要创建的输出数据。 Definition 页签 • Business:为受众描述该转换。 • Code:输入将要执行转换的代码,如 VB Basic 或 JavaScript 函数或程序的一个 SELECT语句。 Data Movement Rules 页签 此页签上的数据为 Data Lineage Explorer 的 Data Movement Rules 节点的规则。 注意: 用户可以在 Data Lineage Window 中双击转换,删除或编辑输入或输出列。单击 Transformation Editor 中的省略号,然后选择需要移除的列。 Attachments 页签 将一条外部信息或附件与转换绑定。也可以将附件从对象拆离、替换附件绑定默认值或改 变被绑定附件的位置。双击目标附件的 Value 输入框,替换移至 Selected Attachments 网格 的附件的值。 ER/Studio DA 打开 Value Override Editor 或一个列表。具体情况取决于附件数 据类型。附件在 Data Dictionary 的 Attachments 文件夹创建,显示在此页签上之前必须应用 到默认值。 提示 : 与任何其它数据库对象一样,用户可以右键单击转换,选择 Comments,为转换添加注 解。 又见 数据沿袭流程 文档化表/实体数据 ETL 通过实体或表编辑器的 Data Lineage 页签文档化表 / 实体数据用作源的频率以及最后一次用 作源的时间。在 Data Lineage Explorer 中创建数据移动规则后,用户可以将这些规则应用到所选 表 / 实体。用户可以根据需要的数量,将数据移动规则关联到表 / 实体。用户创建报告、生成 SQL 或 XM 模式,或导出元数据时,可以报告数据移动规则。 文档化表数据移动 1 在 Data Model 页签,导航至需要文档化数据沿袭的表 / 实体并双击。 2 在 Table Editor 中,单击 Data Lineage 页签。 3 根据需要完成 Data Lineage 对话框选项,单击 OK,退出编辑器。 又见 数据沿袭流程 使用 ER/STUDIO DATA ARCHITECT > 保存、使用快速启动设置 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 293 文档化列 / 属性 ETL 在列 / 属性级别,用户可以为源 / 目标属性映射添加转换逻辑,将数据从一个系统移到另一个 系统时的转换方式文档化。用户可以将多个源 / 目标映射到物理 / 逻辑模型中的一个列 / 属性。 对于同一个物理模型, 可以多次注册相同的源 /目标或物理模型。 例如,在Adventure Works.dm1 模型中,如果数据仓库用于制作分析报告以及执行一些数据清理任务,用户可以将物理模型 Adventure Works 作为直接源和直接目标注册到物理模型 Adventure Works DW。此外,还可以将物 理模型 Adventure Works 既作为间接源又作为直接源注册到物理模型 Adventure Works DW。 文档化列 / 属性数据源 1 在 Data Model 页签,导航至需要文档化数据沿袭的表 / 实体并双击。 2 在表 / 实体编辑器中,选择要文档化的列或属性,然后单击 Data Lineage 页签。 3 单击 Direct Sources 页签。 4 单击 Edit。 5 在 Edit Source/Target Mappings 对话框,从源列表选择要映射到目标的源,并相应地编辑 转换逻辑。 提示 : 描述信息可选,但对于维护性来说是非常好的也是关键的工程实践。 6 继续上述步骤,映射间接源、直接目标和间接目标。 7 单击 OK 退出编辑器。 保存、使用快速启动设置 为提高执行重复任务的性能,快速启动功能允许用户保存 ER/Studio DA 向导和工具的设置和 选择,供以后使用。用户可以将下列每个向导和工具的设置保存在不同的文件中。 • Compare and Merge • DDL Generation • Model Validation • Naming Standards • Reports, Reverse Engineering • Reverse Engineering • Submodel Synchronization • XML Schema Generation 使用 ER/STUDIO DATA ARCHITECT > 保存、使用快速启动设置 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 294 将快速启动设置保存到文件 1 在向导或工具的最后一页,去选择 Use file-based Quick Launch settings。 2 单击 Save As。 3 输入快速启动设置文件的文件名。 4 单击 OK。 使用文件中的快速启动设置 1 选择 Use file-based Quick Launch settings。 2 单击 Load File。 3 导航至需要的快速启动设置文件并双击。 快速启动文件扩展名如下: •CMO为 Compare and Merge •DDO为 DDL Generation •MVO为 Model Validation •NSO为 Naming Standards •RPO为 ER/Studio DA Report •RVO为 Reverse Engineering •SSO为 Submodel Synchronization •XQO为 XML Schema Generation 默认情况下,这些文件存储在 ER/Studio DA 应用数据目录的 XML 子目录。默认目录可 以在 Tools > Options > Directories > Quick Launch 进行更改。 • Windows XP:C:\Documents and Settings\\Application Data\Embarcadero\ERStudio\XML • Windows Vista:C:\Users\\AppData\Roaming\Embarcadero\ERStudio\XML 4 选择 Settings and Objects 使用保存的设置,选择 Settings Only 使用默认设置。 5 单击 Go! 重命名快速启动设置文件 1 在向导或工具的最后一页,去选择 Use file-based Quick Launch settings。 2 从列表中选择一个快速启动设置文件。 3 单击 Rename。 使用 ER/STUDIO DATA ARCHITECT > 创建 RTF 和 HTML 模型报告 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 295 4 输入新的快速启动设置文件的文件名。 5 单击 OK。 删除快速启动设置 1 在向导或工具的最后一页,去选择 Use file-based Quick Launch settings。 2 从列表中选择一个快速启动设置文件。 3 单击 Delete。 创建 RTF 和 HTML 模型报告 ER/Studio DA 最强大的应用之一是文档生成器的应用,它能够将复杂数据库和关联的元数据 交流到 Enterprise。 ER/Studio DA 拥有广泛的报告生成能力: • HTML Report Generation:瞬间生成基于 HTML的网站,通过使用标准浏览器(如 Microsofts Internet Explorer或Netscape Navigator)的数据模型和模型元数据,提供简单导航能力。 • RTF Report Generation:瞬间生成文档,兼容 Microsoft Word 等应用。 提示 : 除了为模型审阅者提供报告外,用户也可以让使用 ER/Studio Viewer 或 ER/Studio Portal 的审阅者能够看到实际模型,但不能作任何改动。 ER/Studio DA Report Wizard 在基于逻辑或物理模型创建多信息文本( RTF)和 HTML 报告 的过程中引导用户。 ER/Studio DA Report Wizard 允许用户生成 RTF 和 HTML 报告。尽管两种格 式的报告中信息相同(存在个别例外),但是由于 RTF 报告和 HTML 报告格式不同,信息的呈现 方式也有些微不同。每种格式类型的报告信息的类型差异都在关于每个对象类型报告的具体信息 所在的页中有注解。 为什么使用 RTF 报告 RTF 报告适合硬拷贝分发。用户几乎可以使用任何流行的文字处理应用程序察看 RTF 格式的 报告。 用户可以选择报告中包括的对象类型(如实体、关系等),也可以选择报告中包括的每个对象 类型的信息量,如每个对象类型的所有实例和 / 或每个对象实例的详细信息。 RTF 报告包括一个标题页,紧接着是目录,然后是报告。总之,为报告中包括的信息选择的任 何内容、每个对象类型(如实体、关系等)都在汇总报告中进行介绍。汇总报告介绍每个对象类 型的每个实例的概况。之后是每个对象类型的每个实例的详细报告。报告中的许多信息以易读的表 格的形式呈现。 使用 ER/STUDIO DATA ARCHITECT > 创建 RTF 和 HTML 模型报告 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 296 为什么使用 HTML 报告? HTML 报告适合在互联网或本地内网共享。此类报告要求有支持帧(且帧已使能)的浏览器。 用户可以在报告中包括子模型的 JPG、 GIF 或 BMP 图像,并且可以为每个子模型分别设置焦距。 HTML 格式的报告与网页的感觉相似。打开报告时先打开标题页。在标题页顶部以及报告各页 顶部都有一个列表,允许用户选择对象类型报告页。该列表仅包括有报告页的对象类型。如果没有 报告某图表对象类型的信息,该图表的报告不会出现在列表中。每个对象类型的报告页左边窗格中 都有一个列表,提供对象类型具体实例的链接。信息以易读的表格形式呈现。 生成报告 ER/Studio DA 为所有数据模型对象生成报告,每个报告有自己特定的属性。 1 在 Data Model Explorer 中,定位需要生成报告的逻辑或物理模型。 2 右键单击报告的模型源,然后单击 Generate Reports。 3 根据需要完成 ER/Studio DA Report Wizard 页面的选项。 ER/Studio DA 为所有数据模型对象生成报告,每个报告有自己特定的属性。 下面描述需要额外解释的选项: 注意: 根据所选模型是逻辑模型还是物理模型以及选择创建 RTF 还是 HTML 报告,选项有所 不同。 第一页 • Do you want to invoke an Editor to view the report after it is generated?:如果选择 Yes,启用查看和编辑 .rtf 或.html 文件的默认应用,如查看和编辑 .rtf 文件的Microsoft Word 或查看和编辑 .html 文件的 Firefox。 • Use enhanced version: 模型包含一个拥有超过 200 个对象的属性时,使用此选项。 如果选 择此项, ER/Studio DA 将 HTML 报告分成三个区域或帧,保证快速导航到属性中所有对象。 报告中可查看的数据分为 Object Type、 Object List 和 Object detail。 第二页 选择要报告的数据库和数据沿袭对象。 使用 ER/STUDIO DATA ARCHITECT > 创建 RTF 和 HTML 模型报告 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 297 • 要查看页面左边的对象树中的数据库对象的全名,将光标停留在对象图标上。 • 可用页签取决于数据库平台。 • 右键单击对象树上的任何地方,可以通过快捷菜单选择或去选择所有对象。也可以显示或隐藏 有所有者的对象的所有者名称。 • 如果打开向导前在数据模型上选择图表对象,仅已选择的对象在对象树中被选中,用户无需重 新选择这些对象。 • 用户可以单击 + 和 - 节点展开或收缩对象树。 • Select All 按钮:选择所有对象。如果不单击 Select All,且使用版本 6.6 之前的版本中保存的 快速启动设置,有关对象的选择将会被覆盖,因为一个新的特性会根据子模型组织对象。 第三页  RTF 报告 • Create Title Page:允许用户创建标题页。标题页包括报告标题和图表报告,之后是 Diagram Properties的Information页签上指定的图表详细信息。 • Page Break Options:允许用户指定在报告哪里插入分页符。分页符默认在报告中每部分的 结尾。注意: 每部分结尾插入分页符和会大幅增加报告的长度。 第三页  HTML 报告 使用 ER/STUDIO DATA ARCHITECT > 导出数据模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 298 • Submodel Image Options:为模型或子模型选择包含在报告中的 .gif、 .jpg 或 .png 格式的 图像,与截屏相似。 注意: 生成 JPG 对资源要求很高,且不适合大型数据模型。如果需要捕获整个大型数据模型, 可以尝试降低质量或调小焦距,改变图像类型格式,或选择单个选项, ER/Studio DA 会为所选的每个对象捕获单个对象。例如不选择 Logical Model,即不同时选择该模型 中的每个模型和子模型,相反,分别选择模型和子模型。 • Logo and Link Options • Image File:选择一个图像(如公司 Logo)包括在页面左手边。 • New Link:输入读报告的人员点击上面指定的图像时需要显示的内容的 URL。 • Report Formatting:单独选择保留格式,包括对象定义和注释的 .html 标记。如果不在对象 编辑器中对文本进行排版,选择让文本自动换行。 又见 ER/Studio Portal User Guide, Reports 导出数据模型 用户可以将逻辑或物理数据模型以多种不同的格式导出到多种平台。用户可以与其它数据库 用户合作,交流数据库设计,从自己的数据模型创建 SQL 以创建物理数据库。此外,还可以创建 XSD 模式,并与可以使用该模式的研发人员共享应用。 单击下面链接,获取导出数据模型的信息: • 为特定模型导出元数据 • 为所有模型和子模型导出元数据 • 导出数据模型到 XML 文件 • 将数据模型导入 Describe 使用 ER/STUDIO DATA ARCHITECT > 导出数据模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 299 为特定模型导出元数据 注意: 用户需要专门的许可证才可以访问元数据导出桥。在 About ERStudio 对话框可以看到 被许可使用的模块列表。 注意: ER/Studio DA 的 Developer Edition 不支持这一特性。 通过 MetaData Export Wizard,用户可以导出格式与多种行业标准工具兼容的图表。有关支 持的平台和桥的当前列表,见: • Windows XP:C:\Program Files\Embarcadero\ERStudio Data Architect X.X\MIRModelBridges.xml • Windows Vista:C:\Program Files\Embarcadero\ERStudio Data Architect X.X\MIRModelBridges.xml 或在 http://docs.embarcadero.com/products/er_studio 参考 pdf 版本。 1 在 Data Model Explorer 中,右键单击需要导出的模型或子模型。 2 单击 Export Model Metadata。 3 根据需要完成 Export Model Metadata 对话框。 提示 : 单击选项名旁边的输入框,输入值或从列表中选择。每个选项的帮助文本在页面底部区 域显示。 4 如果要保存或打印日志,单击 Save to File 或 Print。 下面描述需要额外解释的选项。 第一页 Type:从列表中选择需要用来生成文件的 MIR Bridge。生成的文件可以导入到所选桥类 型支持的第三方应用。 第三页 本页显示导出成功和不成功的警告信息和提示信息。 使用 ER/STUDIO DATA ARCHITECT > 导出数据模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 300 为所有模型和子模型导出元数据 注意: ER/Studio DA 的 Developer Edition 不支持这一特性。 注意: 用户需要专门的许可证才可以访问元数据导出桥。在 About ERStudio 对话框可以看 到被许可使用的模块列表。 通过 MetaData Export Wizard,用户可以导出格式与多种行业标准工具兼容的图表。有关支 持的平台和桥的当前列表,见: • Windows XP:C:\Program Files\Embarcadero\ERStudio Data Architect X.X\MIRModelBridges.xml • Windows Vista:C:\Program Files\Embarcadero\ERStudio Data Architect X.X\MIRModelBridges.xml 或在 http://docs.embarcadero.com/products/er_studio 参考 pdf 版本。 1 单击 File > Export File > Export Model Metadata。 2 根据需要完成 Export Model Metadata 对话框。 提示 : 单击选项名旁边的输入框,输入值或从列表中选择。每个选项的帮助文本在页面底部区 域显示。 3 如果要保存或打印日志,选择 Save to File 或 Print。 下面描述需要额外解释的选项: 第一页 Type:从列表中选择需要用来生成文件的 MIR Bridge。生成的文件可以导入到所选桥类 型支持的第三方应用。 第二页 Model selection:选择导出逻辑模型、物理模型或所有模型。如果选择导出物理模型, 由于 ER/Studio DA 文件中可以有许多物理模型,用户必须在 Physical model name 输入框输 如模型名称。 第三页 本页显示导出成功和不成功的警告信息和提示信息。 使用 ER/STUDIO DATA ARCHITECT > 导出数据模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 301 导出数据模型到 XML 文件 eXtensible Markup Language (XML)是一种文件格式,最近成为互联网上数据表达和交流 的标准。现在许多应用和平台也支持 XML。这种文件格式允许数据建模人员和应用开发人员在以 服务为导向的领域进行合作。例如,数据建模人员将数据和描述应用如何交流数据的关系建模并将 模型导出到 XML 文件。开发人员可以使用该 XML 文件保证应用正确交互。 ER/Studio DA 允许用户生成下列 XML 格式的文件: • Schema Definition (XSD):XSD正式描述XML文档中的元素。这是对象特点以及对象之间联 系方式的一种抽象表达。 XSD用于验证 XML文档中每个元素都符合 XSD中描述的元素规则。模 式多用于电子商务、数据控制和数据型类应用以及字符数据必须验证、需要进行严格的数据控 制或强健的数据形态的场景。例如,许多应用使用 XSD验证配置文件中的参数。 用户可以单击将整个逻辑模型作为一个 xsd 文件导出。 该功能预测模型元素与 xsd 元素的 映射关系,用户不能控制映射关系。更多信息,请参考 生成模式定义( XSD)。 • Document Type Definition (DTD):DTD 是另一种 XML 模式语言,用于传统的文本文档发 布应用。 DTD 是特定类型或类别的文档的 XML 声明语法中的一个描述信息。 DTD 定义特定 元素类型使用的名称、使用场景以及元素组合方式,保证所有符合 DTD 的文档的制作和命名 方式一致。应用(如编辑器、搜索引擎、浏览器和数据库)中的验证程序读取 XML 文件前读 取 DTD,以准备显示 XML 文档或对 XML 文档进行操作。 • XML Metadata Interchange (XMI):XMI 文件格式主要用于促成数据建模应用之间进行数据 交换。XMI 基于 XML 格式,允许使用通用建模语言( UML)的建模人员和使用不同语言和开 发工具的编程人员交流模型元数据信息,包括一组数据的构成元素及组织方式。  用户可以使用 MetaData Export Wizard 导出整个 .dm1 文件或单个模型到 .xsd 或 .xmi 文 件。该功能预测模型元素与 xsd 元素的映射关系,用户对导出参数可以进行一定的控制。更多 信息,请参考 为特定模型导出元数据 和为所有模型和子模型导出元数据 。 • XML Schema Generation (XML):XML Schema Generation Wizard 创建可以基于逻辑或物 理模型、子模型、或模型或子模型的具体组件的模式。 XML Schema Generation Wizard 允许 用户自定义 XML 模式结构。用户可以点击所需选项,将数据库设计中的可用对象拖入代表 XML 模式的树中。向导提供高级选项,将相关实体和属性转换成复杂类型、元素和属性;定 义命名标准和数据类型映射;并入其它向导中使用的快速启动系统,保存以前的设置,便于重 复操作。更多信息,请参考 生成自定义 XML 模式。 用户可使用 XML 编辑应用(如 Microsoft XML Notepad、Eclipse、Visual Studio 和 Altova XML Spy)查看和编辑模式。 本节包括以下主题: • 生成模式定义( XSD) • 生成文档类型定义( DTD) • 生成自定义 XML 模式 使用 ER/STUDIO DATA ARCHITECT > 导出数据模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 302 生成模式定义( XSD) 1 打开 XML 模式基于的模式。 2 选择 File > Export File > XML File > Schema Definition (XSD)。 3 指定输出文件并单击 Save。 生成文档类型定义( DTD) 执行 XSD 命令创建逻辑模型的模式定义。 1 打开模式定义基于的模式。 2 选择 File > Export File > XML File > Document Type Definition (DTD)。 3 指定输出文件并单击 Save。 生成自定义 XML 模式 1 打开 XML 模式基于的模式。 2 选择 Models > XML Schema Generation。 3 在 XML Schema Generation Wizard 中,接受默认值,然后选择模式中包括的数据库实体, 或改变模式选项,自定义模式内容。 4 完成 XML Schema Generation Wizard,单击 Finish 退出编辑器。 注意: XML Schema Generation Wizard 包含多个选项,使用标准 XML 术语,定义创建的 .xsd 文件的内容。之后的程序对这些选项有简短描述。有关 XML 术语和编码标准信息,请参 考 www.w3.org/XML。 下面描述需要额外解释的选项: 第一页 此对话框中的选项定义出现在 XML 模式开始位置的 XML 处理参数,启用 Quick Launch, 保证用户能够重用选项设置,重新运行 XML 生成器。此页签的 Quick Launch 设置文件可以加 载,以便用户使用已保存的设置和对象重新生成模式。用户生成模式前也可以修改设置和对象。 • Encoding:指定外部已解析实体的字符编码标准名称。 UTF-8 是最常用的编码标准名称。其 它可能用到的编码标准名称包括 UTF-16、ISO-10646-UCS-2、ISO-10646-UCS-4、ISO-8859-1、 ISO-8859-02、 ISO-2022-JP、 Shirft-JIS 和 EUC-JP。 使用 ER/STUDIO DATA ARCHITECT > 导出数据模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 303 • Standalone:选择合适的选项,指明属性默认值和文档实体外部的实体声明的存在情况。 • Yes:表明不存在影响从 XML 处理器到应用的信息的文档实体外部标记声明。 • No:表明存在影响从 XML 处理器到应用的信息的文档实体外部标记声明。 • Unspecified:表明 XML 处理器应该确定文档应独立还是依赖外部标记声明。文档类型声明 中没有独立声明。 • Schema Level Comment:选择类型并输入模式中包括的注释的内容。 • XML Comment:如果选择此项,表明注释使用标准 XML 注释语法。 XML 解析器忽略 XML 注释。 Schema Level Comment 框中的信息描述模式的目的。例如, • xs:documentation:如果选择此项,表明注释元素的子元素 xs:documentation 中包括注 释。 Schema Level Comment 中的信息描述模式的目的,并对任何处理应用可用。例如, this is an XSD comment • xs:appinfo:如果选择此项,表明注释元素的子元素 xs:appinfo 中包括注释。 Schema Level Comment 框中的信息为处理应用、式样表或其它工具提供额外信息。例如, this is an XSD comment 第二页 设置模式属性和命名空间参数。这两个参数都不是必要参数,但各种 XML 模式开发工具 使用模式属性和命名空间参数验证 XSD。 • Namespace:定义模式中使用的 XML 词汇,由唯一元素和属性名称构成。命名空间定义模式 中使用命名空间前缀的任何元素和属性。 使用的每个词汇都应有自己的命名空间,以使能 XML 解析器解决命名相同的元素或属性之间意义不明确问题。下面的例子中,元素 lib:Title 在位于 http://www.library.com 的 XML 词汇中定义。 Sherlock Holmes Arthur Conan Doyle • Location:定义命名空间的统一资源标识符( URI),一般使用网络地址约定。用户不需要定义 命名空间的词汇,但命名空间 URI 位置一般含有 DTD 或定义 XML 精确数据结构的 XML 模式。 要添加新的命名空间声明,在第一个命名空间和位置实体下方单击,然后输入命名空间声明。 使用 ER/STUDIO DATA ARCHITECT > 导出数据模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 304 • Target Namespace:指定定义 XML 实例中创建的任何新元素和属性的 XML 模式或 DTD 的 URI。XML 解析器使用目标命名空间验证 XML,保证 XML 中使用的任何元素和属性都在声明 的命名空间中存在。 XML 解析器也为所使用的元素和属性的结构和数据类型的其它约束检查 目标命名空间。如果目标命名空间和默认命名空间不同,用户可以从类型属性列表中选择命名 空间。类型列表用本页定义的命名空间填充。 Default Namespace:指定用另一个命名空间作前缀显式定义 XML 模式中没有显示定义 的任何元素的 DML 或 DTD 的 URI。 Element Form Default/Attribute Form Default:elementFormDefault 和 attributeFormDefault 声明互相依赖。下面描述各种声明组合的结果。 第三页 注意: 第三页上的页签中的一些选项非常相似,如 Add element refs to parent entity elements 和 Include view columns for complex types, elements, and groups。如果可能,相似 选项一同描述。 Model Options and Dictionary Options:Model Options 在模型对象被丢弃到第四页 的 Schema Body 中时控制实体关系图( ERD)到 XML 的映射的默认行为。在域名对象被丢 弃到第四页的 Schema Body 中时,Dictionary Options 控制实体关系图( ERD)到 XML 的映 射的默认行为。 元素默认值 属性默认值 结果 Not specified Not specified 没有任何规则定义全局或局部声明的元素和属性的定义方式。 Not specified qualified 所有局部和全局声明的属性必须以命名空间限定。 Not specified unqualified 所有局部和全局声明的属性必须不以命名空间限定。 qualified Not specified 所有局部和全局声明的元素必须以命名空间限定。 qualified qualified 所有局部和全局声明的元素和属性必须以命名空间限定。 qualified unqualified 所有元素和全局声明的属性必须以命名空间限定,局部声明的属性必须不以命 名空间限定。 unqualified Not specified 所有局部和全局声明的元素必须不以命名空间限定。 unqualified qualified 属性和全局声明的元素必须以命名空间限定,局部声明的元素必须不以命名空 间限定。 unqualified unqualified 所有全局声明的元素和属性必须不以命名空间限定,局部声明的元素和属性必 须以命名空间限定。 unqualified qualified 属性和全局声明的元素必须以命名空间限定,局部声明的元素必须不以命名空 间限定。 使用 ER/STUDIO DATA ARCHITECT > 导出数据模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 305 • Include definitions as annotations:如果选择此项,指定将定义作为实体、属性或视图声明 的注解包括进来。例如,下面的实体声明中,实体定义 Someone we employ 包括在元素 xs:annotation 中。 Someone we employ. • Include Nillable property in XSD:如果选择此项,指定为从允许空值的对象创建的元素生 成 nillable=true 选项。上面的例子中,为元素生成了可为空的选项。 • Include attributes for complex types, elements and groups:如果选择此项,指定将实体 从模型拖到和丢到模式时包括实体属性或视图列。属性和列添加到了 complexType 声明。此 选项默认将属性包括在元素 xs:sequence 中。下面的例子中,实体 Employee 被拖到元素 complexType,创建了包含实体属性的顺序元素。 • Include PK attributes:如果选择此项,指定将主键( PK)索引作为属性包括在内。例如, 下列实体声明包括 EmployeeID。 EmployeeID 是 Employee 实体的主键。 使用 ER/STUDIO DATA ARCHITECT > 导出数据模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 306 • Include FK attributes:如果选择此项,指定实体添加到复杂类型或元素节点时将外键( FK) 属性包括在内。例如,下列实体声明包括 Employee 实体的外键,即 JobID 和 PublisherId。 • Add element refs to parent entity refs (Include view columns for complex types, elements, and groups):如果选择此项,指定创建元素参考,表明关系。例如,如果选择了 此选项,且父实体如 CUSTOMER 在元素节点下作为元素实现,用户将子实体 ORDER 拖到 复杂类型节点下,那么系统会创建 。 此选项自动填充元素参考的数值,对于标识关系, minOccurs=1, maxOccurs="unbounded",对于非标识关系, minOccurs= 0, maxOccurs="unbounded。 • Default to xs:sequence:如果选择此项,指定在元素 xs:sequence中包括模型详细信息。 顺序元素指定顺序中必须存在子元素。每个子元素可以出现0到任意次。在其后的 Eemployee实体声明中,实体属性包括在元素 xs:sequence中。 employee属性出现的顺序 与定义属性的模型中的顺序一致。 使用 ER/STUDIO DATA ARCHITECT > 导出数据模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 307 • Default to xs:choice:如果选择此项,指定元素 xs:choice 包括模型详细信息。 xs:choice 指定 声明中包含的元素中仅有一个可以出现在包含的元素中。在其 后的 Employee 实体声明中,实体属性包括在元素 xs:choice 中。 • Default to xs:all:如果选择此项,指定元素 xs:all 中包括模型详细信息。 xs:all 指定子 元素可按任意顺序排列。在其后的 Employee 实体声明中, 实体属性包括在元素 xs:all 中。 • Include attribute defaults:如果选择此项,指定包括在 Attribute Editor 的 Default 页签中指 定的属性默认值。例如,下列属性声明中,包括默认值。 • Set the minOccurs based on the attribute (or view column) NULL option:选择此项后, 实体属性(或视图列)的 Nulls 属性设置为 NULL 时, minOccurs 值设置为 0。 例如,样本模型 OrangeMart.dm1 中,逻辑模型中的 Approved_Product 实体有允许 NULL 的 Therapeutic_equiv_code_ID。如果生成该实体中属性的 XSD 时使能了此选项, minOccurs 值自动设置为0,与下面情况类似: 实体属性的所有 Nulls 属性设置为 NOT NULL 时, minOccurs 设置为 1。 使用 ER/STUDIO DATA ARCHITECT > 导出数据模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 308 • Include Reference Values as Enumerations:选择此项会抑制从列表参照值创建的枚举。用 户可以选择绑定到属性和域名的列表参照值是否应该在生成的 XML 文件中存在。选择此项且 有绑定列表参照值的域名或属性被拖到模式主体上时,仅为简单类型创建枚举。同样情况下, 如果同类对象被拖到模式主体的 Elements 类别,仅在创建了该元素的新的本地简单类型后才 创建参照值的枚举。但是用户如果需要枚举,可以手动将参照值拖到或丢到简单类型。 • General Options tab:General Options 在属性和域名数据类型被丢到第四页的 Schema Body 窗口时控制属性和域名数据类型的默认映射。 • Create local simple types by default:如果选择此项,声明定义元素的 xs:element 下的本 地简单类型。后面的例子中,为元素 Description 声明了简单类型 xs:string。 root element description • Include Datatype Length:如果选择此项,指定从属性创建元素和简单类型时包括属性的数 据类型长度。 • Default to global simple types:如果选择此项,数据类型从模型转换为全局。 • Default to base datatypes:如果选择此项,使用数据类型映射字典将数据类型从模型转换 为标准 xs:datatypes。在向导第五页的 Datatype Conversion 页签选择。 root element description 使用 ER/STUDIO DATA ARCHITECT > 导出数据模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 309 • Generation Order:指定 Page 中 Schema Body 中的节点列表的顺序。 Includes and Import 总是在列表顶端。其它节点的顺序取决于所选的顺序选项。 • Most to least granular:按以下顺序列出节点:复杂类型、组、元素和简单类型。 • Least to most granular:按以下顺序列出节点:简单类型、元素、组和复杂类型。 Datatype Conversion 页签 数据类型字典使用通过 Datatype Mapping Editor 创建的字典转换数据类型。要选择数据 类型字典,在文本框中输入字典名称或点击箭头选择使用过的字典。 注意: 命名字典用于将数据模型中的名称转换成模式名称。如果没有提供字典名称,此对话框 中的其它选项将用来转换名称。 Name Conversion 页签 此对话框中可用的名称转换选项将模型名称转换成符合 XML 标准的名称。尽管该工具可 以显示所有数据模型名称,一些模型名称可能不符合 XML 标准命名约定。例如, XML 模式不 能有以字符开头的元素名称,比如 123Customer 是无效名称。 注意: XML Schema Generation 工具在生成有效 XSD 时会出错。如果 NST 选项应用后名称中 出现任何非法字符,工具会自动清理这些字符。 • Select Naming Standards Template:要选择命名标准模板,在文本框中输入字典名称,或 单击 Select External 并浏览到字典的位置。命名标准模板用于将数据模型中的名称转换成模 式名称。如果没有提供字典名称,此对话框中的其它选项将用来转换名称。如果提供了模板名 称,对话框上的其它选项不可用。单击 Next 选择模式中要包括的对象。关于命名标准模板的 信息,请参考 复制、粘贴数据字典对象 。 • Case Conversion Options:下面描述可用的大小写转换选项及其使用后的结果: 大小写转换选项 数据模型名称 转换后的名称(删除空格) 大驼峰 CUSTOMER ADDRESS CODE CustomerAddressCode 小驼峰 CUSTOMER ADDRESS CODE customerAddressCode 大写 Customer CUSTOMER 小写 CUSTOMER customer 保留大小写 CUSTOMER ADDRESS CODE CUSTOMERADDRESSCODE 使用 ER/STUDIO DATA ARCHITECT > 导出数据模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 310 第四页 用户在此页可以创建模式,选择模型对象及其在模式中的分组以及顺序。 Available Objects列表用活动模型的模型对象填充。数据字典中的所有域名和参照值都包 括在内。如果数据模型中存在多个字典,域名和参照值按字典进行组织。 如果模式包括实体定义和属性,所选对象的属性值的变化仅出现在模式中。在此对话框对 属性值所作的所有变动不会影响模型的属性。 注意: Schema Body 元素的 minOccurs 和 maxOccurs 属性的设置反应了 Entity Editor 的 Datatype 页签上 Allow Nulls 选项的设置。 要创建模式,参考以下程序: 1 包括外部模式 2 导入引用的命名空间 3 将域名和属性添加到简单类型区域 4 将参照值添加到域名 5 将域名、属性和实体对象添加到元素区域 6 将域名、属性和实体添加到分组区域 7 将复杂实体对象添加到复杂类型区域 8 从属性或列创建 xs:attributes 9 改变模式对象的属性值 10 改变模式主体区域中的对象顺序 11 从模式主体区域删除元素 12 为元素添加组合 13 为元素添加组参照 14 改变现有组合的类型 15 预览模式 16 创建生成物理数据库之前和之后运行的 SQL 17 模式创建完成后,单击 Finish。 XML 模式创建并保存在目标目录,名称为向导第一页指定的文件名。 使用 ER/STUDIO DATA ARCHITECT > 导出数据模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 311 包括外部模式 Include 声明包括含有 Include 声明的模式的目标命名空间中的外部模式。 1 在 XML Schema Generation Wizard 第四页的 Schema Body 区域,右键单击 Includes,选 择 New。 2 输入 Include 声明名称,单击 OK。 新的 Include 声明在 Schema Body 树的 Includes 文件夹中高亮显示,其属性在下面的属 性窗格中显示。 3 在属性窗格的 Property Value 列,单击 Include 声明的名称并输入模式的 URI。 4 创建更多 Include 声明,重复第一步到第三步。 提示 : 用户可以右键单击 Includes 节点下的 Include 声明名称,然后选择 Edit 或 Delete,对 其进行编辑或删除。 导入引用的命名空间 Import 声明对含有 Import 声明的模式引用的模式组件的命名空间进行标识。 提示 : 使用 Import 声明对没有在 XML Schema Generation Wizard 第二页的 Schema Attributes 中标识过的任何命名空间进行声明。 1 在 XML Schema Generation Wizard 第四页的 Schema Body 区域,右键单击 Import,选择 New。 2 输入 Import 声明名称,单击 OK。 新的 Import 声明在 Schema Body 树的 Import 文件夹中高亮显示,其属性在下面的属性 窗格中显示。 3 在属性窗格的 Property Value 列,单击属性 schemaLocation 旁边的空间,然后输入含有导 入的命名空间的模式文档的 URI。 4 在属性窗格的 Property Value 列,单击 namespace 声明的名称并输入含有待导入的命名空 间的模式的 URI。 5 创建更多 Import 声明,重复第一步到第三步。 提示 : 用户可以右键单击 Import 节点下的 Import 声明名称,然后选择 Edit 或 Delete,对其 进行编辑或删除。 使用 ER/STUDIO DATA ARCHITECT > 导出数据模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 312 将域名和属性添加到简单类型区域 域名可以包括在 Schema Body 的 Simple Types 或 Complex Types 区域。 注意: 将包含子域名的域名拖到 Simple Types 节点后,模式中不会包含其任何子域名。 在 Available Objects 列表,单击简单域名或属性,然后将其拖到 Schema Body 窗格的 Simple Types 节点。 Simple Types 节点展开,显示新增对象。 注意: 如果为简单类型添加了目标域名,用户可以选择模式元素,滚动通过属性,并单击 Property Value 列表改变默认类型和类型前缀。可用命名空间取决于向导第二页声明的 命名空间。 将参照值添加到域名 将参照值从 Available Objects 列表拖到或丢到 Schema Body 中的对象。 对象的参照值以 Schema Body 中对象属性的形式出现。 注意 • 关于重排 Schema Body 节点中对象顺序的信息,请参考 改变模式主体区域中的对象顺序 。 • 关于改变 Schema Body 节点中对象属性值的信息,请参考 改变模式对象的属性值 。 • 要预览模式,单击 Preview。更多信息,请参考 预览模式。 使用 ER/STUDIO DATA ARCHITECT > 导出数据模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 313 将域名、属性和实体对象添加到元素区域 在 Available Objects 列表,单击域名、属性或实体对象,然后将其拖到 Schema Body 窗格的 Elements 节点。 Elements 节点展开,显示新增对象。 注意 • 参照值不可以拖到 Elements 节点中的域名上,请使用 Simple Types 节点。 • 用户可以将简单实体或复杂实体与其所有属性一并拖到 Elements 节点并将其它属性拖到其 choice、 sequence 或 all attribute 容器。 • 要将元素的属性转换为元素,将属性拖出 complexType 容器。 • 要将元素转换为另一元素的属性,将元素拖入 complexType 节点。 • 元素节点定义的元素下面可能有一个复杂类型。用户可以在元素下面插入复杂类型并在其 下插入组合。 • 如果将属性拖到元素下面的复杂类型节点,属性将包括在组合下面的 xs:attribute 容器中。 • 如果将属性拖到组合节点,属性将包括在组合下面的 xs:element 容器中。 将域名、属性和实体添加到分组区域 在 Available Objects 列表,单击域名、属性或实体,然后将其拖到 Schema Body 窗格 的 Groups 节点。 Groups 节点展开,显示新增对象。 注意 • 使用 Groups 节点定义模式其它部分(如元素)可以引用的分组。 • 与元素或复杂类型一样,分组下可能有组合。 将复杂实体对象添加到复杂类型区域 在 Available Objects 列表中,选择复杂对象,如域名或实体,将其拖到 Schema Body 中 的 Complex Types 节点。 Complex Types 节点展开,显示新增对象。 注意 • 如果为简单类型添加了目标域名,用户可以选择模式元素,滚动通过属性,并单击 Property Value 列表改变默认类型和类型前缀。可用命名空间取决于向导第二页声明的命名空间。 • 使用 Complex Types 节点定义独立复杂类型以备以后使用。 • 一般情况下,复杂类型定义元素节点中的元素可以引用的复杂结构。 • 复杂类型提高了 XSD 中的重用率。 使用 ER/STUDIO DATA ARCHITECT > 导出数据模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 314 从属性或列创建 xs:attributes 用户可以通过以下任何一种方法将属性或列添加到 xs:attributes 声明: • 将属性 / 列从 Data Model 树拖到 Complex type 节点 (不是下面的 Sequence 节点)。 • 将 Sequence 节点( Complex type 内)下的元素拖到上面的 Complex type 节点。 使用上述任何一种方法都可以看到属性 / 列旁边的图标变为 “a”,表明其是 xs:attribute。 改变模式对象的属性值 1 在 Schema Body 中,选择对象。 2 在属性窗格中,单击属性名称旁边的 Property Value 列中的空间,输入新值,改变属性值。 改变模式主体区域中的对象顺序 模式主体中的对象顺序决定生成的模式中元素的顺序。为传达关系,提高模式可读性,用户将 对象丢到模式主体节点后可能需要对其重新排序。 • 要将对象放于容器中的对象列表顶部,直接将对象拖到 Schema Body 节点顶部。 • 要将对象放在另一对象下方,在 Schema Body 节点,将对象上方的对象或组合容器拖到对象 下方。 • 要选择连续的对象列表并将对象拖到模式主体中的同一节点, 选择列表中第一个对象, 按Shift 键并单击列表中最后一个对象,最后将该组对象拖到模式主体中的一个节点。 • 要将多个对象拖到模式主体的同一个节点,选择一个对象,按住 CTRL 键选择更多对象,然后 将该组对象拖到模式主体的一个节点。 注意: 不能通过拖动在节点间移动对象。如果需要,删除对象,然后将其从 Available Objects 列表拖到模式主体中的另一节点。 从模式主体区域删除元素 在 Schema Body 中,右键单击元素名并选择 Delete Element。 该元素及其所有子元素从 Schema Body 节点删除。 使用 ER/STUDIO DATA ARCHITECT > 导出数据模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 315 为元素添加组合 在模式中使用组合对元素进行分组。 系统支持下列组合类型: • xs:sequence • xs:choice •xs:all 组合类型节点位于 complexType 容器下方。 1 在 Schema Body 中,右键单击元素名并选择 New Local complexType。 2 右键单击刚添加的 Complex Types 节点,选择 New,然后选择需要添加的组合类型。 可以将其它对象拖到组合节点。 注意: 要在现有组合节点创建组合类型节点,右键单击组合节点,选择 New,然后选择需要 添加的组合类型。 为元素添加组参照 用户可以为空组合节点添加组参照。 1 在 Schema Body 中,右键单击元素名并选择 New Local complexType。 2 右键单击刚添加的 Complex Type 节点,然后选择 New Group。 3 在属性框中,单击 Property Name ref 旁边的 Property Value 列中的空间,然后输入组名 称或点击箭头选择要参照的组的名称。 改变现有组合的类型 将组合类型添加到 Schema Body 节点后,用户可以根据需要改变该类型。 组合节点名称可以是: • xs:sequence • xs:choice •xs:all 右键单击组合节点,选择 Convert to,然后选择新组合类型。 预览模式 1 要预览模式,单击 Preview。 生成的模式的预览出现。 使用 ER/STUDIO DATA ARCHITECT > 导出数据模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 316 2 完成预览后,单击 Close 返回前一对话框,可以继续改变模式的格式和内容。 3 如果必要,单击 Back 返回前一对话框并改变选项。 将数据模型导入 DESCRIBE 将 ER/Studio DA 图表导到 Describe 时,新的 UML 对象模型直接从 ER/Studio DA 模型创建。 ER/Studio DA - Describe Export Wizard 能够让用户将 ER/Studio DA 数据模型导入到 Describe 图表。 将 ER/Studio DA 图表导入新的 Describe Project 的过程需要执行以下基本步骤: 1 创建 Describe Project。 2 检查首选项是否要求创建视图。如果要求,创建视图。 3 环通映射结构。 4 转换关系。 5 用 ER/Studio DA Diagram id 标记 Describe project。 将 ER/Studio DA 图表导入现有的 Describe Project 时,需要按顺序执行以下步骤: 1 获取系统。 2 环通映射结构。 • 如果节点没有关联的标记,创建关联标记。 • 如果节点名没有修改,获取其关联标记并更新标记。 • 如果节点有新属性,在 Describe 中添加属性。 • 如果节点有修改了的属性,在 Describe 中更新属性。 用户可以通过 ER/Studio DA - Describe Integration Advanced Setup Editor 设置将 ER/Studio DA 图表导入 Describe project 的各种选项。用户可以通过 ER/Studio DA - Describe Integration Preferences Editor 设置将 ER/Studio DA 图表导入 Describe project 的通用首先项。 将 ER/Studio DA 导入 Describe 前,查阅下列主题: • ER/Studio DA 中的标准数据类型长度 • 导出 UML 类型 • ER/Studio DA - Describe 映射 又见 使用向导导入到 Describe Project 通过高级方法将数据模型导入 Describe 为导出设置 Describe 协同首选项 使用 ER/STUDIO DATA ARCHITECT > 导出数据模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 317 导出 UML 类型 下表说明各种数据库类型及其映射的 UML 类型: 数据库类型 UML 类型 BIGINT long BINARY byte BIT bool CHAR string COUNTER int DATE string DATETIME string DATETIMN string DECIMAL float DECIMALN float DOUBLE PRECISION double FLOAT float FLOATN float IMAGE/LONG BINARY byte INTEGER int INTN int LONG VARCHAR string MLSLABEL/VARCHAR string MONEY float MONEYN float NCHAR string NTEXT/LONG NVARCHAR string NUMERIC float NUMERICN float NVARCHAR string PICTURE byte REAL/SMALLFLOAT float ROWID/VARCHAR string SERIAL/INTEGER int SMALLDATETIME string SMALLINT short SMALLMONEY Float TEXT string TIME/DATETIME string 使用 ER/STUDIO DATA ARCHITECT > 导出数据模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 318 ER/STUDIO DA - DESCRIBE 映射 ER/Studio DA - Describe Integration 允许 ER/Studio DA 逻辑模型实体直接映射到 Describe 类别标记。总体来说,用户可以由 ER/Studio DA数据模型生成类别模型。 ER/Studio DA和Describe 融合的目的是让使用 ER/Studio DA 的数据库建模人员能够由逻辑数据库模型创建类别图表。 融合过程映射特定格式的 Describe 类别。将 ER/Studio DA 数据模型导入 Describe 之前,应 先了解 Describe 是如何映射到 ER/Studio DA 的。为保证导入成功,查阅下列主题: • 在 Describe 和 ER/Studio DA 之间映射数据类型 • 映射 Describe 和 ER/Studio DA 之间的关系 • 可选 vs. 必选关系(存在) 映射 • 基数映射 又见 从 Describe 中导入数据模型 映射 ER/STUDIO DA 和 DESCRIBE 的数据类型 ER/Studio DA Describe 融合包括 ER/Studio DA - Describe Integration Advanced Setup - Datatypes 页签上显示的默认映射。用户可以添加、改变或删除映射,从 XML 文件导入映射,或 导入数据字典,然后将新映射保存到另一数据类型映射文件供以后使用。默认数据类型文件为只读 文件,不可以修改。 1 保证 Describe 正在运行。 2 在 ER/Studio DA 中,选择 File > Describe™ Collaboration > Export to Describe > Advanced。 Describe - ER/Studio DA Integration Advanced Setup 对话框打开。 3 单击 Datatypes 页签。 4 单击一个 UML 或数据库类型,然后从列表中选择另一类型。 TIMESTAMP/DATE string TINYINT short UNIQUEID int VARBINARY/BLOB byte VARCHAR string VARIANT char 数据库类型 UML 类型 使用 ER/STUDIO DATA ARCHITECT > 导出数据模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 319 5 完成 UML 到数据类型的映射的改变后,单击 Save Mapping,映射变化保存到新的映射文件 中。 6 在 Describe - ER/Studio DA Integration Advanced Setup 对话框中完成对其它页签上的选 项的变更后,单击 OK。 注意: 系统基于指定的 Describe project 创建了新的模式。 下面描述高级编辑器中需要额外解释的输入框: Import Mapping:选择此项导入含有数据类型映射的 XML 文件。Open 对话框打开,用 户可以选择 XML 文件。单击 Open,导入文件并返回 ER/Studio DA - Describe Integration Advanced Setup Editor。 又见 ER/Studio DA - Describe 映射 使用向导导入到 Describe Project 使用向导导入到 DESCRIBE PROJECT ER/Studio DA Describe Export Wizard 有五个区域,用户可以将 Describe 类别标记及其关系 导入 ER/Studio DA 图表。 注意: 必须打开 Describe 以使用向导。 1 选择 File > Describe™ Collaboration > Export to Describe > Wizard。 2 根据 ER/Studio DA - Describe Integration Wizard 提示完成其余步骤。 注意: 向导使用用户在高级编辑器或首选项编辑器的 Preferences and Datatypes 页签上的设 置。用户可以在向导最后一页单击 Advanced,改变首选项。 又见 为导出设置 Describe 协同首选项 通过高级方法将数据模型导入 Describe 将数据模型导入 Describe 使用 ER/STUDIO DATA ARCHITECT > 导出数据模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 320 通过高级方法将数据模型导入 DESCRIBE 1 选择 File > Describe™ Collaboration > Export to Describe > Advanced。 注意: 用户在高级编辑器的 Preferences and Datatypes 页签上所作的选择将出现在首选项编 辑器中的相应页签上。 2 完成 Describe - ER/Studio DA Integration Advanced Setup 对话框的页签,单击 OK。 下面描述需要额外解释的选项: • Import Mapping:选择此项导入含有数据类型映射的 XML 文件。 Open 对话框打开,用户可 以选择 XML 文件。单击 Open,导入文件并返回 ER/Studio DA - Describe Integration Advanced Setup Editor。 • Class Actions • Insert As New:用户可以将选中的实体及其属性作为新类别插入 Describe。插入的类别标 记为 New。 • Insert into Selected:用户可以将选中的实体及其属性插入选中的类别。 • Select Associated:用户可以发现实体关联的类别。选中此菜单项后,选中的实体的类别 在 Describe 类别列表框中高亮显示。 又见 为导出设置 Describe 协同首选项 将数据模型导入 Describe 为导出设置 DESCRIBE 协同首选项 用户在此编辑器或 Advanced Setup 对话框中选择的首选项和数据类型被保留,便于以后在 Describe Collaboration Wizard 和 Advanced Setup 中使用。 1 选择 File > Describe Collaboration > Export to Describe > Preferences。 Describe - ER/Studio DA Integration Preference 编辑器打开。此编辑器的 Preferences and Datatypes 页签与 Describe - ER/Studio DA Integration Advanced Setup 对话框中的相应 页签相同。 注意: 用户在高级编辑器的 Preferences and Datatypes 页签上所作的选择将出现在首选项编 辑器中的相应页签上。 使用 ER/STUDIO DATA ARCHITECT > 导出数据模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 321 2 完成 Describe - ER/Studio DA Integration Preferences 对话框的页签,单击 OK。 下面描述需要额外解释的选项: Import Mapping:选择此项导入含有数据类型映射的 XML 文件。Open 对话框打开,用 户可以选择 XML 文件。单击 Open,导入文件并返回 ER/Studio DA - Describe Integration Advanced Setup Editor。 Class Actions: • Insert As New:用户可以将选中的实体及其属性作为新类别插入 Describe。插入的类别标记 为 New。 • Insert into Selected:用户可以将选中的实体及其属性插入选中的类别。 • Select Associated:用户可以发现实体关联的类别。选中此菜单项后,选中的实体的类别在 Describe 类别列表框中高亮显示。 又见 为导出设置 Describe 协同首选项 将数据模型导入 Describe 生成脚本文件或数据库 用户可以通过 DDL Generation Wizard 生成 DDL,创建数据库。用户可以随时使用该向导从 物理模型创建数据库。此向导引导用户创建数据库以及为数据库生成 SQL 源代码。用户无需知道 执行这些操作的任何命令。 ER/Studio DA 允许用户生成 DDL,更新现有数据库或创建新数据库。用户可以通过向导选择 自己平台特有的数据库对象以及相关选项。 注意: 向导中的选项根据所用数据库平台略有不同。 生成脚本文件或数据库 1 在 Data Model Explorer 中,选择一个物理模型,然后选择 Database > Generate Database。 提示 : 如果打开向导前在数据模型上选择图表对象,已选择的对象在向导中的对象树中呈选中 状态,用户无需重新选择这些对象。 2 根据 DDL Generation Wizard 提示完成其余步骤。 下面描述需要额外解释的选项: 使用 ER/STUDIO DATA ARCHITECT > 导出数据模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 322 第一页 Generate Objects To Multiple Files:如果选择此项,系统为每个所选对象写一个独立 的 SQL 文件。每个所选对象类型的对象都在子目录中按顺序排列。 Generate Objects with a Database Connection:如果选择此项,用户可以在已连接的 数据库中创建所选对象。单击 Connect,打开 DDL Generation Wizard - Database Connection 对话框,输入数据库连接信息。除非选择在 Generation Options 包括 DROP Statements,否 则 ER/Studio DA 试图创建目标数据库中已有对象时会发送 DDL 错误信息。 Generation Options 位于用户选择数据模型中需要创建数据库或生成 SQL 脚本的对象的页签上。 第二页 Select an Existing SQL Server 2005 Database:如果选择更新现有数据库,需要保证 选择了将 DROP Statements 包括在 Generation Options 中。否则, ER/Studio DA 试图创建 目标数据库中已有对象时会发送 DDL 错误信息。 Generation Options 位于用户选择数据模型 中需要创建数据库或生成 SQL 脚本的对象的页签上。 第三页- General Options Generate Object Creation Verification Code:在 SQL Server 和 Sybase 数据库平台中 可用。选择后,此选项可以为表、视图、索引、程序和函数生成类似下列代码的代码。 IF OBJECT_ID('Entity1') IS NOT NULL PRINT '<<< CREATED TABLE Entity1 >>>' ELSE PRINT '<<< FAILED CREATING TABLE Entity1 >>>' go 提示 • 右键单击向导中对象树上的任何地方,可以通过快捷菜单选择或去选择所有对象。也可以显示 或隐藏有所有者的对象的所有者名称。 • 要查看根据当前所选设置生成的 DDL,随时单击向导中的 SQL Preview 按钮。用户可以直接 从 SQL Preview 对话框打印或保存 SQL 脚本。 • 用户可以改变在向导第三页的 General Options 页签中的 Generate Other Object Types 区域 默认选择的对象类型。单击 Tools > Options > Object Types 中的首选项。 注意 • 关于使用快速启动选项的信息,请参考 保存、使用快速启动设置 。 • 更多关于连接数据库的信息,请参考 数据库连接 和连接数据源和目标 。 使用 ER/STUDIO DATA ARCHITECT > 导出数据模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 323 创建生成物理数据库之前和之后运行的 SQL 用户可以在向导中选择 Database > Generate Database 命令并单击 Finish,创建 ER/Studio DA 由物理模型生成物理数据库前运行的 PreSQL 和 PostSQL 程序。以 Emergency Admissions 样 本模板的 PreSQL 和 PostSQL 为例,生成数据库前用户可以创建用户并为用户分配具体权限,生 成数据库之后可以创建物化视图。 1 在 Data Model Explorer 中,选择一个物理模型,然后选择 Model > Model Properties。 2 单击 PreSQL & PostSQL 页签。 3 在相应的页签上,输入或复制粘贴 PreSQL 和 PostSQL。 4 如果需要生成 PreSQL 和 PostSQL 脚本,选择 Generate。 5 单击 OK。 创建生成表之前及之后运行的 SQL 程序 用户可以在向导中选择 Database > Generate Database 命令并单击 Finish,创建 ER/Studio DA在物理模型中生成表前运行的 PreSQL和PostSQL。用户在表编辑器中输入的 PreSQL和PostSQL 可以包括在创建表的 CREATE TABLE 语句之前及之后生成的 SQL 中。 1 双击需要关联 SQL 程序的表。 2 在 Table Editor 中,单击 PreSQL & PostSQL 页签。 3 在相应的页签上,输入或复制粘贴 PreSQL 和 PostSQL。 4 如果需要生成 PreSQL 和 PostSQL 脚本,选择 Generate。 5 单击 OK。 使用 ER/STUDIO DATA ARCHITECT > 打印数据模型 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 324 创建生成物理模型视图之前及之后运行的 SQL 程序 用户可以在向导中选择 Database > Generate Database 命令并单击 Finish,创建 ER/Studio DA 在物理模型中生成视图前运行的 PreSQL 和PostSQL程序。用户在视图编辑器中输入的 PreSQL 和 PostSQL 可以包括在创建视图的 CREATE VIEW 语句之前及之后生成的 SQL 中。 1 双击需要关联 SQL 程序的视图。 2 在 View Editor 中,单击 PreSQL & PostSQL 页签。 3 在相应的页签上,输入或复制粘贴 PreSQL 和 PostSQL。 4 如果需要生成 PreSQL 和 PostSQL 脚本,选择 Generate。 5 单击 OK。 打印数据模型 用户可以从 ER/Studio DA 打印单色或彩色数据模型,分发给审阅者。用户可以通过 Print 对 话框设置具体打印参数,如 printing specific sections of your diagram、 diagram appearance、 page range、 zoom leve 和 border specifications。 Print 对话框也有导航工具,让用户导航到图 表,选择打印区域。用户可以保存打印设置供以后使用。 提示 : 打印模型前,在 Data Model Window 中显示页面边界,以最佳方式放置对象,以便更 好地查看和打印。 选择 Tools > Options > Display > Page Boundaries。 打印数据模型 1 在 Data Model Explorer 中,选择要打印的物理模型、逻辑模型或子模型。 2 选择 File > Print。 3 在 Print 对话框选择需要的选项并单击 OK。 注意: 为使无法访问 ER/Studio DA 的审阅者查看模型,除了打印模型外,用户也可以创建 XML 模式,保存模型并将其与 ER/Studio DA 查看器一起分发给审阅者,创建关于模型的 RTF 和 HTML 报告,将模型以另外一种应用要求的格式导出,或创建模型的图像。更多信息, 请参考 创建 RTF 和 HTML 模型报告 、导出数据模型 和导出数据模型的图像 。 使用 ER/STUDIO DATA ARCHITECT > 导出数据模型的图像 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 325 导出数据模型的图像 用户可以从 ER/Studio DA 创建数据模型截屏图并分发给审阅者。可以选择不同图像格式,包 括 EMF、 JPEG、 GIF、 BMP 和 PNG。 1 在 Data Model Explorer 中,选择要抓图的物理模型、逻辑模型或子模型。 2 选择 File > Export Image。 3 在 Save As Image 对话框中选择需要的选项并单击 OK。 注意: 选择图像特征时注意,分辨率越低,文件越小。分辨率越高,文件越大, 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 326 使用 ER/STUDIO REPOSITORY 注: Developers Edition 的 ER/Studio DA 不支持访问 ER/Studio Repository。 Developer Edition 用户无法登录 Repository Server 或通过任何方式访问服务器。 储存库允许多个用户同时访问图表。通过使用标准模式的 ER/Studio DA 并将变更信息输入单 个模型中,建模人员可以更新或删除模型信息。 如要使用储存库操作,如签入、签出、获得图表等,您必须先设定储存库连接细节,然后登录 储存库。如要进一步研究储存库,您需要设定 Portal 连接细节,然后登录 Portal。 注: 在安装储存库过程中,默认用户名和密码 Admin 被设为缺省值。 Admin 用户名和密码拥 有超级用户权限,也就是说,管理员拥有所有储存库权限。管理员应该创建用户和角色, 确保储存库的安全性。更多信息请参阅《 确保存储库的安全性 》。 用完储存库之后,您应该及时退出储存库。关闭 ER/Studio Data Architect (ER/Studio DA) 之 后,您将自动退出储存库。 本节主要为储存库用户介绍如何使用储存库。 注: 储存库架构、设置、维护、控制和查询选项在《管理员参考指南》中都有详细说明。 设定 REPOSITORY 和 PORTAL 连接细节 如需了解有关设定 ER/Studio Repository 和 ER/Studio Portal 连接细节的信息,请参阅《 配置 Repository 和 Portal》。 注: 如果管理员修改了 Security UI,如修改了批准或取消访问文件夹的权限,或者使用不同 权限在项目间移动图表的权限,此时,用户必须重新登录,更新自己的权限。 使用 ER/STUDIO REPOSITORY > 登录 / 退出 REPOSITORY 和 PORTAL 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 327 登录 / 退出 REPOSITORY 和 PORTAL 登录 Repository 或 Portal 1 如要登录储存库 ,选择 Repository > Log In。 如要登录 Portal,选择 Repository > Enterprise Portal > Log In。 2 填写登录对话框然后单击 OK。 以下对需要额外说明的选项进行了详细说明: User Name:输入您的用户名。区分大小写。 Password:输入您的密码。区分大小写。 Log in using current Windows Account:选择该选项后,使用当前 Windows 用户的用户名 和密码登录 Repository 或 Portal。该选项可以访问联网 LDAP 服务器,检验用户证书。 Remember me:选择该选项后,当您选择登录时, ER/Studio DA将自动填写用户名和密码。 注: • 在安装储存库过程中,默认用户名和密码 Admin 被设为缺省值。管理员应该在第一次登录之 后修改 Admin 密码。 • 管理员用户可以删除。这样可以避免意外锁定。 您可以使用 Roles 和 Privileges 设置更多用户, 确保储存库的安全性。 • 如果管理员更改了储存库的安全信息,用户必须重新登录,更新自己的权限。 退出 Repository 或 Portal 1 如要退出储存库 ,选择 Repository > Log Out。 2 如要退出 Portal,单击 Repository > ER/Studio Portal > Log out。 3 在 “Repository Operation Status” 对话框中选择需要的选项和操作,然后单击 “Close”。 注: 如果在选择 “Do Not Display Dialog Again” 后想要查看 “Repository Operation Status” 对话框,您可以重新选择 “Repository Options” 选项。更多信息请参阅《 配置 Repository 和 Portal》。 使用 ER/STUDIO REPOSITORY > 同步评论 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 328 同步评论 您可以针对 ER/Studio DA 中与文档同时保存并且上载到储存库中的任何对象添加评论。添加 评论时,您可以及时更新储存库,或者如果您喜欢,您可以使用您的所有新评论一次性更新储存 库。同步评论还可以确保您的模型随时更新其他用户添加的评论。您无需签出对象即可添加评论。 选择 Repository > Synchronize Comments。 其他参考资料: 为数据库对象添加注释 使用储存库中的对象 储存库平台版本可以控制并允许其他用户恢复图表副本,以便于在自己本地电脑中查看或编 辑 -- 如果他们有相关权限。用户角色代表用户可以对图表和对象执行的操作。通过使用标准模式 的 ER/Studio DA 并将变更信息输入单个模型中,建模人员可以更新或删除模型信息。 在添加您的图表之前,如果您想限制用户访问该图表,那么,您需要拥有创建的用户和角色。 更多信息请参阅《 确保存储库的安全性 》。 储存库中包含大量便于用户使用图表的特征集。随后我们将详细介绍使用这些特征的详细程序。 本节主要内容如下: • Repository Status 图标 • 在储存库中添加图表或数据字典 • 保护储存库对象 • 更改图表文件名 • 恢复储存库图表、模型、子模型或命名的版本 • 获得最新版本图表 • 将更改的项目保存到储存库中(签入) 使用 ER/STUDIO REPOSITORY > 使用储存库中的对象 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 329 REPOSITORY STATUS 图标 以下图标显示了储存库中图表和对象的签出状态。多个用户可以同时签出任何一个对象。本地 列显示了您的本地电脑中显示的对象的状态,而远程列则显示储存库的其他用户如何查看相同的 文档状态: 了解储存库 通过使用 “Repository” 选项卡,您可以了解储存库的全部内容,查看储存库中模型和对象的 细节报告。 “Repository” 选项卡连接 ER/Studio Portal,您可以访问储存库细节,访问方式和 Portal 用户使用的方式相似;如要访问 Portal,首先您需要设定 Portal 连接细节,然后登录 Portal。更多 信息请参阅《 配置 Repository 和 Portal》。 Remote 图标 远程状态 Local 图标 本地状态 签入 签入 签出 签入 排他签出 签入 签入 签出 签出 签出 签入 排他签出 签入 延迟签出 签出 延迟签出 排他签出 延迟签出 命名的版本 命名的版本 使用 ER/STUDIO REPOSITORY > 使用储存库中的对象 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 330 查看储存库报告 通过 “Repository” 选项卡,您可以查看图表、模型、子模型以及有助于您理解模型的实体报告。 1 配置 Portal 连接。 提示 : 选择 Repository > Repository Options 然后在 “Enterprise Portal” 选项卡中填写细节。 更多信息请参阅《 配置 Repository 和 Portal》。 2 登录 Portal。 提示 : 选择 Repository > ER/Studio Portal > Log In。 3 在 Repository Explorer 中扩展储存库结构,然后单击您想要查看的图表、模型或子模型的名称。 基本报告显示在 Repository 窗口中。 4 在基本报告顶部,单击 “View as report”。 通过该报告,您可以完成多项任务: 使用 ER/STUDIO REPOSITORY > 使用储存库中的对象 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 331 • 单击 “View as pdf”,然后您可以: • 保存报告 ,单击 “View as pdf” 并单击磁盘图标。 • 打印报告 ,单击 “View as pdf” 并单击打印机图标。 • 评论报告 ,单击 “View as pdf” 并单击对话框图标。 • 添加报告附件 ,单击 “View as pdf” 并单击纸夹图标。 • 如要保存报告原始数据 ,单击 “View as xls”,系统创建一个采用逗号分隔符的文件,该文件 可以在 Microsoft Excel 中打开。 • 如要查看相关报告 ,在 “Related Reports ” 域中单击报告名称。 • 如要查看有关报告中对象的报表 ,单击报告中的任意链接名称。例如,图表报告中包含用来打 开物理和逻辑模型的链接,模型报告中包含用来打开图表报告、子模型和实体的链接。 在储存库中添加图表或数据字典 使用 “Add Diagram” 操作可以将当前的图表及其数据字典(如果您选择)添加到储存库中。 注: 在将数据模型对象添加到储存库中之前,您首先需要添加包含这些对象的图表。 1 登录储存库。 2 选择 Repository > Diagrams > Add Diagram。 使用 ER/STUDIO REPOSITORY > 使用储存库中的对象 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 332 3 确认或修改 “Add Diagram to ER/Studio Repository” 对话框中的选项,然后单击 OK,关 闭对话框。 以下是需要额外说明的选项: Save As:用于设置新空白图表的文件名,或更改现有图表的文件名。该命令该将创建一个同 名的本地 DM1 文件。 Add to Repository Project:单击列表,将图表添加到已经建立的项目中。更多信息请参阅 《使用储存库项目 》。 Bind Existing Enterprise Data Dictionaries:选择一个数据字典与图表绑定。如果您还没有 创建企业数据字典,那么,该列表为空。使用储存库可以将多个数据字典与图表、本地字典以 及许多企业数据字典绑定。 Promote Local Data Dictionary to Enterprise:根据选定的 DM1 文件数据字典创建企业数 据字典。 Data Dictionary Name:如果选择 “Promote Local Data Dictionary to Enterprise”,您可以 更改新企业数据字典的名称;反之则不能。 Filename:当您向储存库中添加图表时,本地图表文件的名称自动分配给储存库中对应文件, 但是,您可以使用 “Change Diagram Filename”命令更改储存库中文件的名称,这种更改操作 不会影响本地文件名。更多信息请参阅《 更改图表文件名 》。 注: • 在添加您的图表之后,如果您想限制用户访问该图表,那么,您需要选择用户和角色并保护您 的图表。 保护储存库对象 在储存库安全中心,拥有更新安全信息权限的用户或管理员可以限制其他用户访问项目、图 表、模型、子模型和数据字典层级的数据模型。 注: 为了确保储存库对象的安全性,您必须创建储存库用户和角色。更多信息请参阅《 确保 存储库的安全性 》。 1 选择 Repository > Security > Security Center。 2 在 “Repository Object” 域查找并单击选择一个您希望保护的对象。 使用 ER/STUDIO REPOSITORY > 使用储存库中的对象 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 333 3 如要允许用户访问选定的对象 ,在 “Available Users” 中单击一个用户并将其拖至 “Available Role”。该用户继承 “Available Role” 域中用户角色的权限。 如要取消用户访问权限 ,在 “Available Roles”中单击一个用户并将其拖至 “Available Role”。 注: “No Access” 角色只能在图表或项目层级使用。 4 按照要求重复以上步骤 步骤 2 和步骤 3,然后单击 OK,退出安全中心。 5 通知用户必须退出存储库,然后再次登录,接收储存库对象安全更新信息。 更改图表文件名 重命名储存库中与选定图表相关的文件。如果您是第一次向储存库中添加图表,系统将自动定 义文件名,名称与图表名称相同。 注: 使用 “Change Diagram Filename” 选项重命名图表不会改变 “Diagram Title” 中显示的 图表名称。您可以更改 “Diagram Properties” 以及 “Diagram Title” 中的内容,打开图 表,选择 File > Diagram,然后编辑 “Information” 对话框中的名臣。 1 登录储存库。 2 选择 Repository > Diagrams > Change Diagram Filename。 3 在树形图中,查找并选择您想要重命名的文件。 4 单击 “Rename”。 5 在 “Change Filename” 对话框中输入新文件名,并在 “Comment” 中记录文件名更 改。 “Change Filename” 对话框显示。 6 单击 OK,确认名称更改信息,然后单击 “Close”。 注: • 对于任何版本控制软件 (VCS),所有用户都应该签入所有变更信息,并在重命名后执行清理 操作。 使用 ER/STUDIO REPOSITORY > 使用储存库中的对象 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 334 恢复储存库图表、模型、子模型或命名的版本 恢复储存库对象操作可以将储存库中选定图表、子模型或命名版本拷贝到用户本地电脑中。您 可以将储存库中的数据模型或命名的版本拷贝到您的本地系统。如果本地电脑中包含这些对象,使 用 “Get from Repository” 操作将本地版本刷新为储存库中的最新版本。 注: 分配给储存库安全中心用户的权限决定着您对储存库对象的访问方式。更多信息请参阅 “ 关于储存库权限( About Repository Permissions) ”。 1 登录储存库。 2 选择 Repository > Diagrams > Get from Repository。 3 在 “Get From Repository” 对话框中,查找图表的方法有三种。 • 浏览并选择对象。 • 在 “Show diagrams that begin with:” 域中输入图表名称的前几个字母。键入字母之后,最 新图表列表中显示与字母相匹配的图表。 • 单击 “Filter”,输入搜索标准,限定储存库对象列表中显示的结果。 “Filter” 使用 ER/Studio Portal 访问储存库。 • 如果您已经登录 Portal, “Filter Diagram List” 将显示您可以输入搜索标准的位置。 • 如果您尚未登录 Portal,系统将提示您马上登录。 ER/Studio 尝试连接 “Repository Options” 中指定的 Portal。更多信息请参阅 “ 配置 Repository 和 Portal”。 如需了解更多有关使用 “Filter” 选项的信息,请参阅 “ 过滤搜索结果 ”。 4 如要修改对象,如果您拥有修改权限,选择 “Check Out Immediately”,如果您没有修改权 限,那么您只能读取文件。 提示 : 您可以使用 “Check Out Exclusively” 选项阻止其他用户修改对象。反之,当您签入变 更时,如果其他用户对同一对象签入了变更,您可以消除您的版本与储存库中版本之间 的所有差异。如需了解更多信息,请参阅 “ 签入对象 ”。 5 单击 OK。 选定的对象从储存库中复制到 Tools > Options > Directories > Models 指定的模型目录中。 注: • 如果 Tools > Options > Directories > Models 指定的模型目录中已经存在一个同名模型,系 统将警告您继续执行 “Get from Repository” 操作将会导致本地版本被储存库中的版本覆盖。 此时,您可以选择取消 “Get” 操作,本地版本的内容将不会受到影响。 • 您可以查看命名的版本,但是,一般情况下,您不能修改它。作为一项特殊的储存库操 作, “Rollback Diagram” 可用来将命名的版本作为最新版本的图表签入储存库;回滚操作结 束之后,您可以签出图表(或其中一部分) ,对其加以修改。 使用 ER/STUDIO REPOSITORY > 使用储存库中的对象 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 335 过滤搜索结果 “Repositoty” 对话框中 “Get Diagram” 的 “Filter” 选项可用于更好地控制搜索以及与过滤选 项相匹配的搜索结果。 1 单击 “Get Diagram” 对话框右侧的 “Filter”。 2 选择 “Filter list of diagrams based on Enterprise Portal search criteria”。 3 在下方域中输入您的搜索标准,然后单击 OK。 下文介绍了有关高级搜索域及其选项的更多信息。 • Search Text:指定属性值开头、结尾、内容,或者与文本匹配的属性值。您还选择 “Include matches for similar-sounding words”,搜索与搜索字符串相近的结果。如要搜索更加精确并 且获得更加有用的结果,搜索字符串中可以包含很多运算符。如需了解这些运算符列表及其使 用方法,请参阅 “ 创建特殊搜索字符串(使用 Query Parser)。 ” 注: 如果近期没有执行更新操作, Portal中图表的列表可能与储存库中的图表列表有所不同。 如需了解更多有关 Portal 同步的信息,请参阅《 ER/Studio Portal 用户指南》中 “ 管理 员任务 ” 部分内容。 • Modification:根据修改日期和 / 或最后一个修改图表的用户名过滤搜索结果。 • Object Type:设置过滤选项,搜索结果中包含所有或者指定对象类型。您还可以按住 Ctrl键 并单击想要包含的项目,选中列表中的多个项目。 4 当您输入搜索文本并至少指定一个对象类型之后,单击 OK 查看搜索结果。 与过滤标准相匹配的图表名称以及当前 ER/Studio Repository 和 ER/Studio Portal Repsiotry 中显示的图表名称将显示在 “Get From Repository” 对话框的图表域中。 5 单击您想要从储存库中提取的图表的名称,然后单击 OK。 6 如要再次查看所有图表,打开 “Filter Diagram List”对话框,清空 “Filter list of diagrams based on... ” 选项,然后单击 OK。 使用 ER/STUDIO REPOSITORY > 使用储存库中的对象 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 336 创建特殊搜索字符串(使用 Query Parser)。 Portal 使用 Apache Lucene Query Parser 运行这些搜索字符串运算符。在搜索时应避免 使用一些特殊字符。比如: + - && || ! ( ) { } [ ] ^ " ~ * ? : \ 如要避免出现这些特殊字符,在特殊字符前面输入一个反斜线符号 (\)。 如需了解更多有关 Lucene Query Parser 的信息,请访问 http://lucene.apache.org/java/2_4_0/queryparsersyntax.html。 获得最新版本图表 “Get Latest Version” 选项可以使用储存库中的最新版本刷新已经本地打开的图表。例如,如 果多个用户签出同一个图表,并且有人对您正在使用的图表执行了修改操作,那么,当他们提交变 更信息之后,您可以获得最新版本图表,并用其更新您本地的图表。 选择 Repository > Diagrams > Get Latest Version。 注: 如果发现由于多个用户修改过图表导致出现更改冲突, ER/Studio DA 将弹出 “Review Changes and Resolve Conflicts” 对话框,在继续操作之前,您必须解决本地图表与远程 图表之间的冲突。 运算符 搜索标准 示例 AND (&&) (“ 和 ”) 包含输入的所有搜索词语 apples AND oranges AND bananas( 苹果 和橙子和香蕉 ) apples && oranges && bananas (苹果 和橙子和香蕉) OR (||) (“ 或 ”) 至少包含输入的一个词语 cats OR dogs (猫或狗) cats || dogs (猫或狗) 包含输入的整个短语 exactly this (“ 完全匹配 ”) “” 不包含输入的部分词语 apples NOT oranges NOT bananas (包括苹果,不包括橙子和香蕉) + 必须包含一个词语,另一个词语可以包含也可以不 包含 +apples oranges (包括苹果,橙子可以 包括,也可以不包括) - 必须包含一个词语,但不包含另一个词语 +apples -oranges (包括苹果,但不包括 橙子) ? 与替换的单个字符相匹配 c? (与 “cat” 猫匹配但与 coat“ 外套 ” 不 匹配) * 匹配零个或更多字符 do* (与 do、 dog、 dogs、 dogsled 相 匹配) ~ 拼写相似的词语 land~ (与 land、 sand、 band 相匹配) “” ~ 非常相近的词语 diagram update~10 (与图表和更新信息 不超过 10 个字的对象相匹配) 使用 ER/STUDIO REPOSITORY > 使用储存库中的对象 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 337 将更改的项目保存到储存库中(签入) 签入过程可以确保本地签出项目与储存库版本变更之间保持同步。 签入过程可用于签入一个对象(如实体)或者整个图表(如果您已经使用完毕)。 ER/Studio DA 尝试将您的修改内容合并到储存库中。如果在合并过程中发现任何冲突,系统将提示您解决这 些冲突。消除所有冲突并且合并完毕之后,合并的结果将被添加到储存库和您的图表中。合并结果 添加到您的图表中目的是确保您的图表与储存库中的文件保持同步。 签入对象 当您签入一个对象时,所有对象结构完整性和参照完整性 (RI) 的从属物也被签入。您可以将新 建项目(如您添加到签入图表中的实体)或多个选定的项目一次性签入储存库中。 签入每个对象时,储存库会使用多项规则,以确保图表的完整性: • 如果您有一个对象并且分别签出该对象的一个或多个从属物,那么,当您签入主对象时,该对 象的所有从属物都被签入。 • 如果您已经删除一些对象,当您签入修改的对象时,所有删除的对象也被签入储存库中 -- 无 论它们是否与修改的对象有关。 • 如果您签入一个与一个属性绑定的数据字典对象,并且更改数据字典对象会影响到该属性,那 么,系统会标识该属性进行延迟签出。 签入数据字典 当您签入数据字典时,储存库服务器可以创建一个新版对象与单个数据字典的对象绑定。例 如,如果您在删除用户数据类型之后签入一个数据字典,并且该用户数据类型与一个属性绑定,那 么,服务器将创建一个非绑定的新版属性。这是因为,删除数据字典对象会导致该对象的所有绑定 都被取消。该属性的版本历史 (Version History) 中将显示新版信息以及自动生成的评论。当用户对 受影响的属性执行 “Get Latest Version” 操作时,非绑定的新版本将被包括在用户拷贝的图表中。 如果用户在签入数据字典之前修改或删除了受影响的属性,那么,用户版本的属性与储存库服务器 创建的属性在合并时将会发生冲突。您应该只选择 ER/Studio DA 版本的属性来完成您的更改。 当您签入一个数据字典并且该字典中包含经过修改的数据字典对象,此时也会发生冲突。例 如,假设您更改了附件 (Attachment) 的数据类型,此时,签入包含该数据类型的数据字典。任何 与该附件绑定的对象都必须取消数值覆盖,因为数值覆盖只对特殊类型的附件数据有效。也就是 说,与附件绑定的对象(可能包含在数据字典或图表中)更新为储存库中的最新版本,并反映对 象数值覆盖已被取消。 如果您修改了数据字典,那么,您需要在签入图表之前签入数据字典。例如,如果您在数据字 典中创建了一个域,并在图表中使用了该域,如果您在数据字典之前签入图表, ER/Studio DA 将 弹出错误讯息。 注: 如果发现由于多个用户修改过图表导致出现更改冲突, ER/Studio DA 将弹出 “Review Changes and Resolve Conflicts” 对话框,在继续操作之前,您必须解决本地图表与远程 图表之间的冲突。 使用 ER/STUDIO REPOSITORY > 使用储存库中的对象 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 338 签入到储存库 基本上,所有对象类型的储存库签入程序都大同小异。 1 保存您对图表的更改,选择 File > Save。 2 单击您想要签入的对象,或者 CTRL- 单击多个您想要签入的对象 3 右键单击并选择 “Check in”。 根据您选择的选项,快捷菜单中的签入选项显示如下: Check in Diagram、 Check in Model、 Check in Submodel、 Check in Object、 Check In Data Dictionary、 Check In Data Dictionary Object、 Check In Source/Target 或 Check In Data Flow。 注: 签入数据字典的同时, “Data Lineage” 选项卡中定义的任何数据移动规则都将一同签入。 4 填写 “Repository Check In” 对话框,然后单击 OK,开始签入。 如果您在签入之前选择了 “Review Changes”,系统将提示您解决您的版本与储存库版本 之间的冲突。 变更和冲突类别 下表给出了有关 “Review Changes and Resolve Conflicts” 对话框中图标的更多说明,用 于区分发现的不同点及其默认解决方法。 注: 一般来讲,对于您未发现或忘记的变更项目,最有效、最安全的处理方法是将其签入到 储存库中。只有您已经变更但又决定不变更的项目不受约束。 分类图标 描述 本地图表变更与其他用户对储存库中远程图表的变更相冲突。这些冲突表现为,用户变更了本地 图表项目,而其他用户也对该项目进行了变更并且将变更结果签入了储存库。有关冲突的更多信 息请参阅 “ 解决签入和合并冲突 ”。 其他用户不能在储存库版本中修改本地图表中的新增项目。这些新增项目包含在本地图表中,与 任何远程图表的变更不冲突。 其他用户不能在储存库版本中修改本地图表中删除的项目。这些删除的项目包含在本地图表中, 与任何远程图表的变更不冲突。 其他用户不能在储存库版本中修改本地图表的更新项目。这些更新项目包含在本地图表中,与任 何远程图表的变更不冲突。 使用 ER/STUDIO REPOSITORY > 使用储存库中的对象 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 339 解决签入和合并冲突 如下内容介绍了逻辑模型后方冲突解决方法: 如果储存库版本与用户签出的版本不同,说明两者之间发生了冲突。在这种情况下,您可 以选择接受您的版本、储存库版本或者两个版本,消除数据冲突。最常见的冲突场景是同时有 多个用户对模型进行变更。储存库冲突一般分为三种: • 本地更新了项目但储存库删除了该项目。 • 本地删除了项目但储存库更新了该项目。 • 本地更新了项目但储存库对该项目进行了不同的更新。 第 1 种和第 2 种冲突 :勾选复选框,指定使用本地版本。 (您可以展开项目,查看本地图表中 更新的项目或表格属性。系统只显示更新的属性) 。 如果您勾选了冲突项目的复选框,表 A 将被应用于本地图表和储存库版本的图表;表格 无法删除。但是,如果用户清空了复选框,远程版本的图表将被应用于本地版本 -- 表格将从 本地图表中删除。 反例:本地删除了项目但是储存库更新了该项目。您可以展开这些项目,查看属性和新表 格数值(查看其他用户更新表格的内容)。系统只显示更改的属性。如果您选择了冲突项目的 复选框,本地版本将被应用 -- 表格将从本地版本和储存库版本的图表中删除。如果您没有选 择该复选框,本地版本的图表将更新该表格。 第三种冲突 :“Review Changes and Resolve Conflicts” 对话框将在表格冲突项目下方显示每 个新名称。第一个名称属性项目(新名称项目)将显示本地版本的表格名称数值(名称由本 地用户决定) 。第二个项目将显示储存库版本图表中的表格名称的新数值。每个项目对应一个 选项按钮。如果您单击 ER/Studio DA 版本表格名称的选项按钮,本地名称版本将被应用于储 存库和本地版本 ER/Studio DA。如果您选择了储存库版本,该名称将被应用于本地版本的图 表 (储存库中依然有效)。 下表总结了常见的签入冲突及其解决办法。 冲突 解决办法 ER/Studio DA 储存库 不变 已修改 软件冲突,不显示在对话框中,选择储存库版本。 不变 已删除 软件冲突,不显示在对话框中,选择储存库版本。 不变 不变 无冲突,不显示在对话框中。 已修改 不变 软件冲突,显示在已经勾选 “Review Changes” 的对话框中,选择 ER/Studio DA 版本。 已删除 不变 软件冲突,显示在已经勾选 “Review Changes” 的对话框中,选择 ER/Studio DA 版本。 已修改 已修改 硬件冲突,显示在对话框中,选择 ER/Studio DA 版本。 已修改 已删除 硬件冲突,显示在对话框中,选择储存库版本。 已删除 已修改 无冲突,显示在已经勾选 “Review Changes” 的对话框中,选择 ER/Studio DA 版本。 不存在 新增 无冲突,不显示在对话框中,选择储存库版本。 新增 新增 不属于冲突,通过重命名 ER/Studio DA 其中一个对象或者删除其中一个对 象或属性解决冲突。 使用 ER/STUDIO REPOSITORY > 使用储存库中的对象 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 340 注: • 如果选择 “Review Changes” 选项,软件冲突显示在 “Resolve Conflicts” 对话框中。 • 无论是否设置 “Review Changes” 选项,硬件冲突都会显示出来。 序号变更和其他自动解决的差异 在大型复杂模型中,数据的表现方式可能有所不同。这些一致性问题对模型中的数据没有 实质性影响,但它们会作为变更信息显示在 “Review Changes” 对话框中。例如,当表格中有 两个外键列并且名称相同,但角色没有命名,此时, ER/Studio DA 会将两者统一。 在表格中展开的每个关系内部数据都有一个列,但只有一个使用该特定名称。显示哪个不 重要,假设它们和数据库中同一个列有关。 ER/Studio DA 偶尔会根据更低级别的内部 ID 更改 显示的列。如果两列添加的时间不同,并且在表格中使用的序号不同,当 ER/Studio DA 切换 显示的列时,可能表格中列的顺序会发生变化。这可能会导致其他列的序号也发生变化。这些 序号的变化通常显示在对话框中。 虽然 ER/Studio DA 能够处理取消选择这些额外变化的问题,但是,支持 ER/Studio DA 自动更新效果会更好。 ER/Studio DA 更新数据可以确保数据的一致性,对话框中取消选择的 变更可能取消 ER/Studio DA 的一些变更操作,但不能全部取消。此外,一些不一致问题可能 导致 ER/Studio DA 或其储存库合并功能无法处理被破坏的数据。 通常, ER/Studio DA 能够及时识别并纠正这些不一致问题,避免数据被严重破坏,但是, 如果您取消选择了变更,不一致数据将无法签入到储存库,而且无法在储存库中解决。 签出储存库项目 签出编写的信息会启用之前添加到储存库的项目,如图表、模型、子模型、数据模型对象、数 据字典、数据字典对象和数据源 / 目标。从储存库中签出所有对象类型的程序都大同小异。 注: 签出已经签出的项目可以确保本地版本和储存库版本之间保持同步。 1 打开储存库图表,即之前添加到储存库的图表。 2 单击您想要签出的对象,或者 CTRL- 单击多个您想要签出的对象。 3 单击右键并选择 “Check Out”。 根据您选择的选项,快捷菜单中的签出选项可能显示为 Check Out Diagram、Check Out Model、Check Out Submodel、Check Out Object、Check Out Data Dictionary、Check Out Data Dictionary Object、 Check Out Source/Target 或 Check Out Dat Flow。 注: 签出数据字典的同时, “Data Lineage” 选项卡中定义的任何数据移动规则也将一同签出。 使用 ER/STUDIO REPOSITORY > 使用储存库中的对象 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 341 4 填写 “Repository Check Out” 对话框,然后单击 OK,开始签出。 以下是需要额外说明的选项: • Synchronize with latest Repository diagram data:该选项可以帮助您的图表数据与储存库 图表数据之间保持同步。例如,如果项目位于不同的位置,或者储存库版本采用的背景颜色与 您选择的颜色不同,您可以使用储存库中的信息更新您的图表。通常,如果您没有选择该选 项,签出操作的速度会更快;只有当您想要恢复储存库中最新版本对象时,选择该选项。 • Check out Exclusively:如果选择该选项,您可以使用独有的权限签出项目。该选项可以限制 其他用户在您已经签出项目时再次签出项目。您是唯一可以修改项目并将数据提交到储存库 的用户。如果您使用独家权限签出项目,当您签出对象时其他用户只拥有读取和 / 或延迟签出 权限。 注: • 如果您签出一个包含很多关系的父项目,关系从属项目也一同签出。 • 如果其他用户已经签出项目,那么,您将无法使用独家权限签出项目。您可以查出签出项目的 用户,只需右键单击项目,选择 “Version History”,然后单击 “CheckOut Status” 选项卡。 • 如果您没有选择独家签出,但是尝试向模型中添加一个对象,系统将提示您使用独家权限签出 模型。 • 在本地工作环境下,如果您从储存库中签出一个对象, ER/Studio DA 会将可编写副本保存到 您的本地电脑。如果您断开与储存库的连接,您仍可以在核对之前修改对象。当您再次连接储 存库时,您仍可以签出该对象。如要确认更改内容,您需要登录储存库,并签入您的更改。 • 您可以获得单个对象或多个对象,但不能签出整个图表。 • 当您签出一个对象时,对象结构和参照完整性 (RI) 从属物也一同签出。也就是说,您同时将获 得最新版本的从属物。 • 针对图表和对象执行储存库签出操作完全相同。根据您在 Data Model Explorer 中选择的选 项,菜单可能有所不同。 • 多个用户可以同时签出同一个对象。 • 您可以从储存库中签出整个图表。在签出过程中,图表数据字典也一同签出。 • 您可以签出单个数据字典对象。如果数据字典对象与任何属性绑定,您可以签出或签出该数据 字典对象,但对图表没任何影响。如果数据字典与属性绑定,并且更改数据字典对象会影响到 该属性,那么,系统会标识该属性进行延迟签出。 使用 ER/STUDIO REPOSITORY > 使用储存库中的对象 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 342 取消对签出图表的更改 如果您已经签出图表并修改图表,但又想撤销对图表的更改,您可以取消签出。 1 登录储存库,打开目标图表。 2 如要取消更改并且不需要再次签出图表 ,选择 Repository > Diagrams > Undo Diagram Check Out。 如要取消更改同时再次签出图表 ,选择 Repository > Diagrams > Redo Diagram Check Out。 此时本地图表将刷新成储存库的最新版本。 未登录条件下签出对象 如果您尚未登录储存库但想要修改未经签出的储存库项目,您可以本地签出该项目,当以后您 可以连接储存库时再运行延迟签出命令。这样,您可以在不连接储存库的情况下修改您本地的图 表,当您无法连网但想要在不签出的前提下移动图表中的对象,或者想要更快速访问大型模型的时 候,该选项非常有效。 当您连接储存库并且想要从储存库中签出图表时,选择 Repository > Diagrams > Run Delayed Checkout。 删除储存库中的图表 删除图表操作可用于删除储存库中的图表。同时您还可以使用不可用本地磁盘中的图表。 注: 这是一种破坏性行为。在删除图表之前,通知其他可能正在访问该图表的用户。如果您 需要再次使用该图表,使用另一个名称将图表另存到您的本地磁盘中。 1 登录储存库。 2 选择 Repository > Diagrams > Delete a Diagram。 3 在 “Select a Diagram to Delete” 对话框中选择要删除的图表。 4 选择 “Leave Diagram Data behind and marked as Deleted” 复选框。 注: 虽然不是必选项,但使用该选项可以避免图表全部损失。如果选择该选项,以后您可以 在需要时恢复该图表。 5 单击 OK。 使用 ER/STUDIO REPOSITORY > 使用储存库中的对象 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 343 注: • 当您从储存库中删除图表时,本地的图表副本也随之删除。如果您想要保存本地的图表,您必 须重命名 *.DM1 文件。 • 删除图表时, ER/Studio DA 暂时保存图表数据,并将其标注为已删除。删除之后,数据仍会 显示在储存库中,但是只有当用户直接查询储存库时才会显示,但并不通过 ER/Studio DA 客 户端显示。 强制签入 储存库管理员可以签入用户已经签出的对象。更多信息请参阅 “ 创建和管理用户 ”。 确定签出对象的用户 任何时候,只要登录储存库,您都会看到有哪些用户签出了图表的任何一部分;包括查看每个 对象的签出状态,从属性到子模型和数据字典,再到整个图表,一切的一切。 1 打开储存库图表,然后登录储存库。 2 在 “Data Model”、“Data Dictionary”、“Data Lineage” 或 “Macros” 选项卡中,查找您想 要研究的对象。 3 右键单击对象,然后单击 “Version History”。 4 在 “Version History” 对话框中单击 “CheckOut Status”。 ER/Studio DA 开始查询储存库中的最新状态。 以下内容对需要额外说明的对话框域进行了详细说明: User Name:签出对象的用户用来登录储存库的 ID。 Machine Name:在 Windows System Properties 中定义的计算机名称,签署对象时使用。 使用 ER/STUDIO REPOSITORY > 使用储存库中的对象 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 344 查看储存库对象的签出历史 您可以使用 “Version History” 选项查看详细的签入记录,查看正在使用对象的用户,或者决 定自己需要哪个版本 -- 如果您需要回滚到旧版本。 注: 每次您签入对象时, ER/Studio DA 的版本号都会增加 1 个数。当您签出单个对象时,如 域、宏或数据移动规则,修改该对象并且然后签入,该对象的版本号也会增加;如果父 对象未同时签出或签入,其版本号将不会增加。但是,当您签出属性时,包含该属性的 实体连同属性中包含的其他所有属性一起签出。所以,当您签入属性变更时,该变更属 性、未变更属性和实体的版本号都会增加。 1 打开储存库图表,然后登录储存库。 2 在 “Data Model”、“Data Dictionary”、“Data Lineage” 或 “Macros” 选项卡中,查找您想 要研究的对象。 3 右键单击对象,然后单击 “Version History”。 4 在 “Repository Version History” 对话框中单击 “Version Entry”,然后单击 “Details”。 记录的版本细节随之显示,包括签入对象时用户输入的评论。 使用命名版本的储存库图表 命名版本是使用指定名称保存的图表版本。以后您可以从储存库中恢复该版本的图表,以便于 查看或编辑。 以下部分详细介绍了您想要在命名版本中执行的功能: • 设定命名版本 • 获得命名版本或图表 • 删除命名版本 设定命名版本 使用指定名称将最新版本的图表保存为命名版本。以后您可以从储存库中恢复该版本的图表, 以便于查看或编辑。 1 登录储存库。 2 打开您想要设定为命名版本的图表,然后将其签入储存库。 3 选择 Repository > Releases > Set Named Release。 ER/Studio DA 将命名版本添加到对应图表中。在 Explorer 树形图中,命名版本用相机图标表示。 使用 ER/STUDIO REPOSITORY > 使用储存库中的对象 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 345 注: • 当设定命名版本时,切记,唯一性通过命名惯例实现。设定命名版本时,您可以决定一种命名 规则。如果您想要将图表文件名与命名版本相关联,您必须输入图表文件名,用作该版本名称 的一部分。 • 您可以查看命名版本,但是您不能编辑版本。通过特殊的储存库操作 “ 回滚图表 ”,您可以将 命名版本作为最新版本图表签入。当回滚操作结束之后,您可以签出图表(或者一部分)并 修改它。 • 当确定命名版本的名称时,必须确保名称独一无二。我们建议使用的命名规则要求版本名称中 包含图表的名称。唯一性在储存库层级而非图表层级设定。 获得命名版本或图表 通过使用 ER/Studio Repository,您可以将储存库中的命名版本和图表下载到本地电脑的指定 目录中。 “Get From Repository” 操作可下载储存库中的图表、子模型和命名版本。 “Get From Repository” 对话框显示储存库中的所有图表和项目,您可以展开每个图表节点,显示其子模型和 命名版本。 1 如要获得命名版本,选择 Repository > Releases > Get Named Release。 如要获得图表,选择 Repository > Releases > Get Diagram。 2 按照要求填写 “Get From Repository” 对话框。 以下部分对部分选项进行了详细说明: • Repository tree:显示储存库中每个图表的节点。单击节点一侧的加号,展开并显示所有子 模型和命名版本。您可以选择单个对象,并从储存库中获取。 • General Information:显示有关储存库的信息,以及相关模型和子模型。显示的信息包括 Repository Version、 Number of Models、 Number of Nested Projects 以及 Users with checked out objects。 • Check Out Immediately:仅适用于子模型。立即将在树形图中选定的项目签出到本地设备中。 • Check Out Exclusively:仅适用于子模型。如果已经选择 “Check Out Immediately”,您可以 使用该选项立即将在树形图中选定的项目独占签出到本地设备。 注: • 您可以对您获取的项目进行更改,但是在您签出项目并签入更改之前,储存库中的 DM1 文件 不会反应这些变更。 • 您可以查看命名的版本,但是,一般情况下,您不能修改它。通过特殊的储存库操作 “ 回滚图 表 ”,您可以将命名版本作为最新版本图表签入。当回滚操作结束之后,您可以签出图表(或 者一部分)并修改它。 • 如果本地图表的名称和您想要获取的存储库中的图表相一致,您必须使用 *.bak 文件扩展名 重命名本地图表。如果您没有重命名本地图表,您将无法完成 “Get From Repository” 操作。 使用 ER/STUDIO REPOSITORY > 使用储存库中的对象 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 346 • 如果文件位于活动文件目录中并且文件名和选定图表的名称相同,或者和包含选定子模型的 图表的名称相同,那么,结果分为以下几种: • 如果本地文件名和选定图表或子模型名称相同, ER/Studio DA 将打开该文件,并使用最新 储存库信息更新该文件。 • 如果本地文件元祖同一个图表,但是包含的子模型不同于用户选定的子模型(或者,本地 文件包含整个图表和用户选定的子模型,或者其他), ER/Studio DA 对文件进行检查,然 后签出对象。如果有任何对象签出, ER/Studio DA 都会打开本地文件,而不是选定的图表 或子模型。从而便于用户签入其工作内容。如果没有任何对象签出, ER/Studio DA 将删除 本地文件,并使用选定的图表或子模型代替该文件。 • 如果本地文件并非 DM1 文件,而是从旧版本 ER/Studio DA 中获取的 DM1 文件、包含不同 图表 GUID 的 DM1 文件,或者尚未添加到储存库中的 DM1 文件, ER/Studio DA 将使用 BAK 扩展名重命名该文件,并将目标图表或子模型保存在合适的位置。 • 如果您选择获得命名版本, ER/Studio DA 会给出选项,让您选择保存命名版本文件的位置。 如要查看该选项,您必须在树形图中选择一个命名版本(选定命名版本后隐藏 UI 并使用签出 UI 代替)。 删除命名版本 该选项可用于删除存储在 ER/Studio Repository 中的图表的命名版本。如要删除命名版本,您 的服务器中必须有命名版本。 1 选择 Repository > Releases > Delete Named Release。 2 单击 “Select a Named Release” 列表然后选择目标版本。 分支和合并图表 当分支稳定并合并到当前部署模型之后主要用于测试或开发目的。您可以随时执行分支和小 分支操作。 1 打开要分离或合并的目标图表。 2 选择 Repository > Diagrams > Branch/Merge Diagram。 3 如要创建活动图表的分支 ,在“Branch Tree”中选择要分离的图表,然后单击 “Branch”按钮。 如要创建活动图表的分支 , 在“Branch Tree”中选择要分离的图表或要合并图表的分支, 然后单击 “Merge”。 以下部分对部分选项进行了详细说明: Display deleted diagrams:选择该选项可以查看图表的所有分支,包括之前删除的分 支。删除的图表无法显示,也不能选择执行 Branch 或 Merge 功能。 使用 ER/STUDIO REPOSITORY > 使用储存库中的对象 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 347 注: • 使用列举方法(如字母数字形式或其他形式)和描述性名称是一个不错的工程实践。 • 您可以通过更改显示选项,决定显示 *.dm1 文件名或者图表名:选择 Repository > Options > General,然后更改 “Diagram Name Display Format”。 回滚图表至之前版本 使用回滚功能将储存库中的最新命名版本替换成旧版本图表。由于新版本已经更改,或者您不 再需要或者不想再使用,所以想返回到旧版图表,此时 “ 回滚图表 ” 操作尤其有用。 1 登录储存库并获得一个命名版本。 2 查看图表,确定您想要返回到旧版本。 3 选择 Repository > Diagrams > Rollback Diagram。 注: • 当回滚操作结束之后,您可以签出图表(或者一部分)并修改它。 • 我们建议您仔细查看图表,以确保您真的想要返回至之前的版本。 删除储存库中的图表 注: 删除图表是一种破坏性的行为。在删除图表之前,通知其他可能正在访问该图表的用户。 1 登录储存库。 2 选择 Repository > Diagrams > Delete Diagram。 3 在 “Select a Diagram to Delete” 对话框中选择要删除的图表。 4 选择 “Leave Diagram Data behind and marked as Deleted ” 复选框。 注: 虽然不是必选项,但使用该选项可以避免图表全部损失。如果选择该选项,以后您可以 在需要时恢复该图表。 5 单击 OK。 使用 ER/STUDIO REPOSITORY > 使用储存库中的数据字典 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 348 注: • 当您从储存库中删除图表时,本地的图表副本也随之删除。如果您想要保存本地的图表,您必 须重命名 *.DM1 文件。 • 删除图表时, ER/Studio DA 暂时保存图表数据,并将其标注为已删除。删除之后,数据仍会 显示在储存库中,但是只有当用户直接查询储存库时才会显示,但并不通过 ER/Studio DA 客 户端显示。 使用储存库中的数据字典 企业数据字典 (EDD) 可以让您在同一储存库的多个图表中共用一个数据字典。 EDD 保存在储 存库中(而非特定 DM1 文件),与使用 EDD 的 DM1 文件绑定。如果更改一个 EDD,与之绑定 的任何 DM1 文件都会被更改。 您可以为每个图表使用多个字典。 也就是说,您可以拥有一个 “通用字典 ”或者“项目级字典 ”。 注: • 在添加新对象之后再签入企业数据字典是个不错的选择。否则,其他用户将无法使用这些字 典,或者当前的图表将无法顺利签入 -- 新字典对象已经被使用。 本节主要内容如下: • 确定企业数据字典的使用位置 • 创建企业数据字典 确定企业数据字典的使用位置 在更改企业数据字典之前,您可能想要了解哪些图表使用了该字典。 选择 Repository > Data Dictionary > Enterprise Data Dictionary Bindings。 创建企业数据字典 您可以将常用的数字字典与企业数据字典合并使用。或者,您可以新建一个 EDD,然后向 EDD 中添加新项目,就像向常用数字字典中添加新项目一样。 将本地数字字典与企业数据字典合并 1 确保包含您想要添加的数据字典的图表为当前使用的图表。 2 登录储存库。 3 选择 Repository > Diagrams > Add Dictionary。 4 在 “Add Diagram to ER/Studio Repository” 中选择 “Promote Local Data DIctionary To Enterprise”。 使用 ER/STUDIO REPOSITORY > 使用储存库中的数据字典 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 349 创建新的空数据字典 1 登录储存库。 2 打开一个储存库图表。 注: 如果储存库图表没有显示,使用 “Create Enterprise Data Dictionary” 命令。 3 选择 Repository > Data Dictionary > Create Enterprise Data Dictionary。 注: • 字典创建完毕之后,您可以将 EDD 与绘图绑定,然后向 EDD 中添加新对象,就像向本地数 字字典中添加对象一样。 • 新的 EDD 自动与当前图表绑定。 • 与一般数据字典不同, EDD 不包括 “Reusable Procedural Logic” 节点,所以, EDD 中不包含 触发器、程序或库。 关联数据字典和图表 绑定现有企业数据字典和图表可以让您重用数据字典对象,如域、参考值和附件。 现在, “Enterprise Dictionary Binding” 对话框中包含附件和参考值。绑定以网格格式表示, 可以导出到 *.csv 文件中用于完成报告。 1 登录储存库。 2 签出您想要与字典绑定的图表。 3 选择 Repository > Data Dictionary > Bind Enterprise Data Dictionary,然后选择您想要关 联的字典。 注: • 您可以将多个数字字典与同一个图表绑定。 • 要想在一个图表中包含多个数据字典,您必须使用企业版本的 ER/Studio DA。 • 如果变更企业数据字典中的字典对象,使用这些对象的图表也会随之更改。如果您只想使用域 或附件,例如,在某个特定图表中,那么,您可以将该域或附件保存在本地字典中。如果您需 要重用域或附件并在整个图表中更新,您应该在企业字典中创建该域或附件。 • 您可以为每个图表使用多个字典。 也就是说,您可以拥有一个 “通用字典 ”或者“项目级字典 ”。 • 在绑定字典之前,您必须先签出图表。 • 您无需签入图表即可向储存库提交变更。 执行 “ 绑定企业数据字典 ” 操作会自动使用最新信息 更新储存库服务器。 使用 ER/STUDIO REPOSITORY > 使用储存库中的数据字典 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 350 解除图表与企业数据字典的绑定 如果您不再需要,您可以解除企业数据字典与图表的绑定。执行 “ 移除企业数据字典 ” 操作会 自动使用最新信息更新储存库服务器。举例来讲,用户图表的一个属性与企业数据字典 MyEnterpriseDD 的其中一个域绑定。当该用户从图表中移除 MyEnterpriseDD 时,那么,从储存 库中获取该图表的后续用户获取的图表中将不再包含 MyEnterpriseDD,而且,相关属性与域的绑 定也随之解除。 解除图表与企业数据字典的绑定 1 签出图表。 2 在 “Data Model Explorer” 中选择 “Data Dictionary” 选项卡。 3 选择 Repository > Data Dictionary > Remove Enterprise Data Dictionary。 注: • 在解除绑定字典之前,您必须先签出图表。 • 您无需签出图表即可向储存库提交变更。 • 与数据字典项目绑定的任何属性都将随之变更。如果在解除数据字典绑定之前未将属性从储 存库中签出,那么, ER/Studio DA 将自动执行延迟签出。 签出数据字典 “ 签出 ” 操作可用于复制最新版本的数据字典或数据字典对象,以便于您对其加以修改。 注: • 您可以从储存库中签出整个数据字典。 • 您可以签出单个数据字典对象。如果数据字典对象与任何属性绑定,您可以签出或签出该数据 字典对象,但对图表没任何影响。如果数据字典与属性绑定,并且更改数据字典对象会影响到 该属性,那么,系统会标识该属性进行延迟签出。 • 储存库签出操作与数据库和数据库对象签出操作相同。根据您在 Data Model Explorer 中选择 的选项,菜单可能有所不同。 • 您可以使用 “ 独家 ” 权限签出一个数据字典或数据字典对象。这样,当您在签出数据字典或数 据字典对象或者将两者都签出时,您可以限制其他用户签出这些项目,也就是说,您是唯一可 以修改这些项目并向储存库提交数据的用户。如果您使用独家权限签出项目,当您签出对象时 其他用户只拥有读取和 / 或延迟签出权限。 • 如果数据字典对象没有和任何属性绑定,您可以签出数据字典,图表不会受到任何影响。 • 如果数据字典与属性绑定,并且更改数据字典对象会影响到该属性,那么,系统会标识该属性 进行延迟签出。 使用 ER/STUDIO REPOSITORY > 使用储存库中的数据字典 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 351 签出数据字典 1 在 “Data Model Explorer” 中选择 “Data Dictionary” 选项卡,然后单击目标数据字典对象。 2 选择 Repository > Data Dictionary > Check Out Data Dictionary Object。 其他参考资料: 签出数据字典 签入数据字典 签入操作可用于在您用完数据字典之后将其签入。储存库将尝试将您完成的所有更改合并到 储存库中。如果在合并过程中发现任何冲突,系统将提示您解决这些冲突。消除所有冲突并且合并 完毕之后,合并的结果将被添加到储存库和您的图表中。合并的结果将被添加到您的数据字典中, 以保持与储存库的同步。 当您签入数据字典时,储存库服务器可能会创建与单个数据字典对象绑定的新版本对象。例 如,如果用户在删除用户数据类型之后签入一个数据字典,并且该用户数据类型与一个属性绑定, 那么,服务器将创建一个非绑定的新版属性。这是因为,删除数据字典对象会导致该对象的所有绑 定都被取消。该属性的版本历史 (Version History) 中将显示新版信息以及自动生成的评论。当您对 受影响的属性执行 “Get Latest Version” 操作时,非绑定的新版本将被包括在您的图表中。如果您 在签入数据字典之前修改或删除了受影响的属性,那么,您所用版本的属性与储存库服务器创建的 属性在合并时将会发生冲突。您应该选择 ER/Studio DA 版本的属性来完成您的更改。 当您签入一个数据字典并且该字典中包含经过修改的数据字典对象,此时也会发生冲突。例 如,假设您更改了附件 (Attachment) 的数据类型,此时,签入包含该数据类型的数据字典。任何 与该附件绑定的对象都必须取消数值覆盖,因为数值覆盖只对特殊类型的附件数据有效。也就是 说,与附件绑定的对象(可能包含在数据字典或图表中)更新为储存库中的最新版本,并反映对 象数值覆盖已被取消。 签入数据字典 在 “Data Model Explorer” 中单击 “Data Dictionary” 选项卡,然后单击目标数据字典对象。 注: 如果您修改了数据字典,那么,您需要在签入图表之前签入数据字典。例如,如果您在 数据字典中创建了一个域,并在图表中使用了该域,如果您在数据字典之前签入图表, ER/Studio DA 将弹出错误讯息。 注: • 储存库不支持签入单个数据字典对象。您只能签入整个数据字典。 • 如果您所用版本的图表与储存库图表版本发生冲突, “Merge Conflict Resolution” 对话框将随 之打开。如需了解更多有关合并冲突及其解决办法的信息,请参阅 “ 分支和合并图表 ”。 • 如果您修改了数据字典,那么,您需要在签入图表之前签入数据字典。例如,如果您在数据字 典中创建了一个域,并在图表中使用了该域,那么,假如您在数据字典之前签入图表, ER/Studio DA 将弹出错误讯息。 使用 ER/STUDIO REPOSITORY > 使用储存库中的数据字典 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 352 撤销数据字典签出 撤销签出操作可以将储存库中最新版本的图表或对象传输到您的设备中。您可以查看图表,但 是不能修改图表。 撤销数据字典签出 选择 Repository > Data Dictionary > Undo Check Out Data Dictionary。 注: 当您撤销数据字典签出操作时,您在签出操作撤销之前对图表做的任何更改都会被取消。 重新签出数据字典 重新签出操作可以将储存库中最新版本的图表或对象传输到您的设备中。由于您已经签出图 表或对象,您可以查看并修改这些项目。 重新签出数据字典 1 在 “Data Model Explorer” 中选择 “Data Dictionary” 选项卡,然后单击目标数据字典对象。 2 选择 Repository > Data Dictionary > Check Out Data Dictionary。 注: 在您执行 “Redo Check Out ” 操作之前对图表进行的任何更改都将被取消。 关联企业数据字典与储存库图表 使用数据字典绑定可以查看并控制企业数据字典与储存库图表之间的关系。 “Enterprise Data Dictionary Bindings” 对话框中列出了您的所有企业字典,并显示了您想要使用对象的位置。举个 例子,如果所有或部分图表使用的企业数据字典中包含一个 “Name” 域,您可以查找该域,查看 使用了哪些实体、表格和模型,进而进行影响分析,分析域的变更将会影响哪些模型。 打开 “Enterprise Data Dictionary Bindings” 对话框 选择 Repository > Data Dictionary,然后单击 “Enterprise Data Dictionary Bindings”。 相关主题 关联数据字典和图表 使用 ER/STUDIO REPOSITORY > 使用储存库项目 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 353 恢复企业数据字典 如果想恢复企业数据字典,您必须打开储存库图表并与企业数据字典绑定,或者打开已经与数 据字典绑定的储存库图表。 有关绑定企业数据字典和储存库图表的信息 ,请参阅 “ 关联数据字典和图表 ”。 有关确定哪些储存库图表与企业数据字典绑定的信息 ,请参阅 “ 关联企业数据字典与储存库 图表 ”。 使用储存库项目 储存库项目可用于将您的模型整理到以工作组、图表类型或者任何其他适合业务环境的的结 构为基础的项目组中。您可以在嵌套层次结构中添加子项目。您可以创建子项目,作为工作模型支 持更多用户访问。 注: 为了保护项目,软件程序选用了储存库角色,您可以将这些角色分配给一些项目,然后 将权限层叠到项目中的任何图表。更多信息请参阅 “ 确保存储库的安全性 ”。 创建、删除、重命名和定义储存库项目 项目可用于将您的图表集合到群组中。您可以根据工作组、图表类型以及任何适合您的业务环 境的结构创建项目。 1 登录储存库。 2 选择 Repository > Project Center。 “Repository Project Center” 对话框打开。 3 如要创建新项目 ,单击 “New”。 如要删除项目 ,在项目树形图中单击您想删除的项目,然后单击 “Delete”。必要时在 “Delete Project Warning” 对话框中选择处理任何嵌套项目的方式。 如要重命名项目 ,在项目树形图中单击您想重命名的项目,然后单击 “Rename”。在 “Repository Rename Project ” 对话框中输入该项目的新名称,然后单击 OK。 如要在项目中添加图表 ,在项目树形图中单击目标项目,在 “Available Diagrams” 列表中选 择您想要添加的图表,然后单击向右箭头,将图表添加到 “Selected Diagrams” 列表中。 如要移除项目中的图表 ,在项目树形图中单击目标项目,然后在 “Selected Diagrams ” 列表 中选择您想要移除的图表,并单击向左箭头,将图表移到 “Available Diagrams” 列表中。 • 如要保留嵌套项目 ,单击 “Preserve”。该操作会将嵌套项目上升一个层级。 • 如要删除所有嵌套项目 ,单击 “Delete All”。该操作会将嵌套项目中的所有图表移到被删除 项目的上个层级。 使用 ER/STUDIO REPOSITORY > 取消储存库操作 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 354 4 单击 “Apply” 或 OK。 注: • 图表可以包含在其中一个项目中,也可以不包含在任何项目中。 • 当您删除一个项目时,该项目中包含的所有组件,如图表和角色,都不会被删除。与被删除项 目相关的图表和角色将继续保留,供拥有相关权限的用户使用。 取消储存库操作 您可以随时取消储存库操作,如添加图表,签出 / 签入项目或图表,当您必须在客户收到 “ 操 作已完成 ” 确认信息之前取消相关操作。 单击状态栏 中的 “Cancel” 按钮,或者单击 “Repository Operation Status” 对话框中的 “Cancel” 按钮。 使用 ER/STUDIO REPOSITORY > 研究并报告储存库 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 355 研究并报告储存库 登录储存库之后,使用 “Repository” 选项卡研究并报告储存库,方法和您使用 ER/Studio DA Enterprise Portal 的方法相同。 “Repository” 选项卡中以层级形式列出了储存库项目。这种层级结构显示了项目名称、图表、 模型以及报告储存库的子模型。单击层级结构中的链接即可打开报告。在报告中,您可以查看细节 报告,将报告保存为不同的文件格式,并查看模型和子模型图像。如需了解更多信息,请参阅 “ 查 看模型和子模型图像 ” 1 单击 “Repository” 选项卡,登录 ER/Studio DA Enterprise Portal。 报告储存库中的项目层级结构显示。 2 您可以针对图表、模型和子模型研究并创建相关报告。更多信息请参阅 • 查看图表报告 • 查看模型报告 • 查看子模型报告 查看模型和子模型图像 在储存库层级结构中打开基本报告之后,您可以查看模型和子模型的真实图像。 1 单击 “Repository” 选项卡 查看储存库的层级结构。 2 展开层级结构,单击其中的一个模型或子模型。 3 在显示的报告中单击页面右侧的 “View Image”。 缩小为页面大小的子模型图表将出现。 4 放大图示,查看详细信息。 查看图表报告 报告中包含图表名称以及图表中的模型。 1 单击 “Repository” 选项卡 查看储存库的层级结构。 2 展开层级结构,单击其中一个图表名称,基本报告随之显示。 使用 ER/STUDIO REPOSITORY > 研究并报告储存库 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 356 3 单击 “View as report”,相关报告显示,报告中包含以下选项和信息: View As PDF/View as XLS:缺省视图为 HTML 视图。单击对应连接,在浏览器中查看 PDF 格式的报告,或者将报告保存为 XLS 格式。 Diagram File:显示图表名称。 Author:图表的创建者。 Version:图表的迭代。 Company:生成该图表的公司的名称。 File Name:包含该图表的 DM1 文件名。 Project:包含该图表的储存库项目的名称。 Create/Modified Date:图表的创建日期修改日期显示为最后一次修改图表的日期。 Related Reports:单击 “Attachments” 链接,运行单个对象附件报告,您可以查看和 / 或保 存该报告。 Definition:图表的定义。 Logical Model:列出所有与图表相关的逻辑模型。同时还显示每个模型的符号( Notation)、 样式( Style)和平台( Platform)。单击逻辑模型名称,打开该模型的报告。 Physical Model:列出所有与图表相关的物理模型。同时还显示每个模型的符号( Notation)、 样式( Style)和平台( Platform)。单击物理模型名称,打开该模型的报告。 4 单击Logical和/或Physical模型, 展开查看详细的子模型、 实体、 关系信息, 并查看相关报告。 5 报告显示为默认 HTML 格式,您可以保存或打印报告。您还可以查看或保存 PDF 或 XLS 格式 的报告,只需单击对应的 “View as” 链接即可。 查看模型报告 报告中显示了模型名称、子模型、实体、关系以及有关选定模型的视图。 1 单击 “Repository” 选项卡 查看储存库。 2 展开层级结构,单击模型名称,查看基本模型报告。 使用 ER/STUDIO REPOSITORY > 研究并报告储存库 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 357 3 单击 “View as report”,相关报告显示,报告中包含以下信息: View as PDF/ View as XLS:缺省视图为 HTML 视图。单击对应连接,在浏览器中查看 PDF 格式的报告,或者将报告保存为 XLS 格式。 Model:显示模型名称。 Notation:显示模型使用的关系符号。 Style:显示模型类型。 Project:显示包含该模型的储存库项目的名称。 Diagram File:显示图表文件名称。单击图表文件名称,打开图表细节报告 DM1 文件。 Related Reports:显示额外信息的相关报告。可用报告包括: • Attribute Definitions:显示包含模型属性的细节报告。 • Entity Definitions:显示该模型的实体定义细节报告。 • Business Rules:显示该模型的业务规则细节报告。 • Attachments:显示该模型的实体附件细节报告。 • Security Information:显示该模型的对象安全等级细节报告。 4 报告显示内容分为 4 部分:子模型、实体、关系和视图。您可以打开细节报告,了解每个部分 中的元素。 •“子模型 ” 部分显示子模型的名称和图像。单击模型名称,打开选定子模型的细节报告,查 看实体、关系和视图信息。单击 “View Image” 查看该子模型的图示。右键单击图像并从上 下文菜单中选择相关命令,保存、复制和 / 或打印图像。 •“实体 ” 部分显示每个相关实体的名称和定义。单击实体名称,细节报告随之显示,包括选 定实体的名称、定义、数据类型、域、键类型和容许空( Allow Nulls)信息。 •“关系 ” 部分显示每个相关关系的父实体、子实体、类型、存在、基数和反向信息。单击父 实体或子实体名称,打开细节报告,查看名称、定义、数据类型、域、键类型以及容许空等 信息。 •“视图 ” 部分显示相关视图的 View 和所有者。单击视图名称打开细节报告,查看相关项目 的名称、同义名、表达式和序列。 使用 ER/STUDIO REPOSITORY > 研究并报告储存库 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 358 查看子模型报告 子模型报告中包含实体、关系以及和该模型相关的子模型视图。 1 单击 “Explore” 查看报告层级结构。 2 展开层级结构,单击子模型名称,查看基本子模型报告。 3 单击 “View As Report ”,相关报告显示,报告中包含以下信息: View as PDF/ View as XLS:缺省视图为 HTML 视图。单击对应连接,在浏览器中查看 PDF 格式的报告,或者将报告保存为 XLS 格式。 Submodel:显示子模型的名称。 Notation:显示模型使用的关系符号。 Style:显示模型类型。 Project:显示包含该子模型的储存库项目的名称。 Diagram File:显示图表文件名称。单击图表文件名称,打开图表细节报告 DM1 文件。 Parent Model:显示父模型。链接至该模型的细节报告。 Related Reports:显示额外信息的相关报告。可用报告包括: • Attribute Definitions:显示该模型的细节报告,包含模型的属性和定义。 • Entity Definitions:显示该子模型的实体定义细节报告。 • Business Rules:显示该子模型的业务规则细节报告。 • Attachments:显示该子模型的实体附件细节报告。 • Security Information:显示该子模型的对象安全等级细节报告。 4 报告内容分为 4 个部分:定义( Definition)、实体 ( Entity)、关系( Relationship)和视图 (View)。 • Definition:显示子模型定义或描述。 • Entities:显示每个相关实体的名称和定义。单击实体名称,细节报告随之显示,包括选定 实体的名称、定义、数据类型、域、键类型和容许空( Allow Nulls)信息。 • Relationship:显示每个相关关系的父实体、子实体、类型、存在、基数和反向信息。单击 父实体或子实体名称,打开细节报告,查看名称、定义、数据类型、域、键类型以及容许空 等信息。 • Views:显示相关视图的 View 和所有者。单击视图名称打开细节报告,查看相关项目的名 称、同义名、表达式和序列。 使用 ER/STUDIO REPOSITORY > 研究并报告储存库 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 359 保存您的报告 报告格式默认为 HTML。 1 如果想使用不同格式查看或保存报告,单击 PDF 或 XLS。 PDF (便携文件格式):显示 Adobe Acrobat 文件。 XLS (Microsoft Excel 电子表格) :单击 XLS 格式之后,“File Download” 对话框显示。单击 “Save”, “Save As” 对话框显示。 注: 您还可以单击 “Open”,报告显示为只读表格文件。 2 选择位置,输入文件名,然后单击 “Save”。 报告保存为 .XLS 文件。 查看细节 在研究或搜索结果报告中,您可以展开并查看每个对象类型的细节报告,或使用其他格式显示 结果。细节报告只适用于以下对象。 注: 以下未列出的对象类型的报告为标准报告,报告中包含和对象有关的所有文本属性。 • 图表细节 • 逻辑模型细节 • 物理模型细节 • 逻辑子模型细节 • 物理子模型细节 • 实体细节 • 表格细节 • 逻辑视图细节 • 物理视图细节 每份细节报告中都包含相关报告的链接,以及重复属性的一个或多个细节部分。您不能直接使 用细节报告。必须首先通过搜索或浏览定位一个对象。 使用 ER/STUDIO REPOSITORY > 研究并报告储存库 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 360 图表细节 报告中包含图表的逻辑和物理模型。模型列表根据模型名称首字母排列。 • 报告由几个部分组成:显示逻辑数据模型的标题部分、相关报告、描述图表的定义部分以及逻 辑 / 物理模型部分。 • 图表作者、版本、公司、版权、定义、逻辑模型属性以及相关报告均显示在报告顶部。 • 您可以通过搜索结果和浏览器访问报告。 • 通过该报告您可以查看附件报告。 • 一次只能针对一个图表选择相关报告的数据。 您可以在搜索结果报告中打开该报告。在 “Diagram File” 列打开您想要打开的图表链接。 逻辑模型细节 报告中包含逻辑模型的实体和关系以及逻辑子模型属性。实体、关系和子模型列表根据各自名 称的字母排序。 • 报告由显示路基模型属性的标题、模型实体和关系三部分组成。 • 您可以导航至实体附件( Entity Attachments)、安全信息( Security Information)、实体 定 义(Entity Definitions)、属性定义( Attribute Definitions)以及业务规则( Business Rules) 报告。 • 一次只能针对一个逻辑模型选择相关报告的数据。 • 您可以通过搜索结果和图表报告访问该报告。 您可以通过图表细节报告打开报告。在 “Logical Model” 列单击您想要打开的模型链接。完整 逻辑模型报告随之显示,报告中包含子模型、实体、关系和视图的名称和定义。 物理模型细节 报告中包含物理模型的表格、外键和视图。表格、外键和视图列表根据各自名称的字母排序。 • 报告分为几个部分:显示物理模型属性的标题部分、相关报告以及模型表格、外键和视图等部分。 • 物理模型名称、符号、样式、平台和相关报告显示在报告顶部。 • 您可以通过搜索结果和图表报告访问该报告。 • 通过该报告,您可以打开实体附件和安全信息报告。 • 一次只能针对一个物理模型选择相关报告的数据。 您可以通过图表细节报告打开报告。在 “Physical Model” 列打开您想要打开的模型链接。 使用 ER/STUDIO REPOSITORY > 研究并报告储存库 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 361 逻辑子模型细节 通过该报告,您可以打开以下相关报告:属性定义( Attribute Definitions)、实体定义( Entity Definitions) 、业务规则( Business Rules)、附件( Attachments)和安全信息( Security Information)。逻辑子模型中包含三个部分:实体、关系和视图。 • 报告由显示逻辑子模型属性的标题、相关报告以及子模型定义、实体、关系和视图部分组成。 • 逻辑子模型名称和相关报告显示在报告顶部。 • 您可以通过搜索结果和逻辑模型报告访问该报告。 • 一次只能针对一个逻辑子模型选择相关报告的数据。 您可以在逻辑模型报告中打开该报告。打开目录 Search Results > Diagram > Logical Model,然后在 “Submodels” 列中单击指定子模型链接。 物理子模型细节 通过该报告,您可以打开以下相关报告:属性定义( Attribute Definitions)、实体定义( Entity Definitions) 、业务规则( Business Rules)、附件( Attachments)和安全信息( Security Information)。物理子模型中包含三个部分:实体、关系和视图。表格、外键和视图列表根据各自 名称的字母排序。 • 该报告由显示物理子模型属性的标题、相关报告以及模型实体、关系和视图三个部分组成。物 理子模型名称和相关报告显示在报告顶部。 • 您可以通过搜索结果和物理模型报告访问该报告。 • 一次只能针对一个物理子模型选择相关报告的数据。 您可以在物理模型报告中打开该报告。打开目录 Search Results > Diagram > Physical Model,然后在 “Submodels” 列中单击指定子模型链接。 实体细节 通过该报告,您可以打开实体附件、安全信息和属性定义报告。报告主体中包含了实体的属性。 • 整个报告由三个部分组成:显示实体属性的标题、相关报告和实体属性部分。实体定义、注释 以及相关报告均显示在报告顶部。 • 您可以通过搜索结果、逻辑模型报告和逻辑子模型报告访问该报告。 • 一次只能针对一个实体选择相关报告的数据。 • 属性列表按照升序排列。 您可以在物理模型报告或逻辑模型报告中打开该报告。打开目录 Search Results > Diagram > Physical Models (或者 Logical Models),然后在 “Entity” 列中单击指定实体链接。 使用 ER/STUDIO REPOSITORY > 研究并报告储存库 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 362 表格细节 通过该报告,您可以打开实体附件和安全信息报告。报告主体中包含了表格的列。列清单可以 升序排列,也可以降序排列。 • 整个报告由三个部分组成:显示表格属性的标题、相关报告和表格列部分。 • 表格定义、注释以及相关报告均显示在报告顶部。 • 您可以通过搜索结果、物理模型报告或物理子模型报告访问该报告。 • 一次只能针对一个表格选择相关报告的数据。 逻辑视图细节 通过该报告,您可以打开实体附件和安全信息报告。报告主体中包含了逻辑视图的列。视图列 清单按照序号降序排列。 • 整个报告由三个部分组成:显示逻辑视图属性的标题、相关报告和视图列部分。 • 逻辑视图所有者、平台、视图定义、注释以及相关报告均显示在报告顶部。 • 您可以通过搜索结果和物理模型报告访问该报告。 • 一次只能针对一个逻辑视图选择相关报告的数据。 您可以在物理模型报告或逻辑模型报告中打开该报告。打开目录 Search Results > Diagram > Physical Models,然后在 “Views” 列中单击指定视图链接。 物理视图细节 通过该报告,您可以打开实体附件和安全信息报告。报告主体中包含了物理视图的列。 • 整个报告由三个部分组成:显示物理视图属性的标题、相关报告和视图列部分。 • 物理视图所有者、平台、视图定义、注释以及相关报告均显示在报告顶部。 • 您可以通过搜索结果和物理模型报告访问该报告。 • 一次只能针对一个物理视图选择相关报告的数据。 您可以在物理模型报告或逻辑模型报告中打开该报告。打开目录 Search Results > Diagram > Physical Models (或者 Logical Models),然后在 “Views” 列中单击指定视图链接。 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 363 ER/STUDIO DATA ARCHITECT 自动化 自动化接口对象可以通过脚本控制 ER/Studio Data Architect (ER/Studio DA) 的大多数功能。您可 以创建宏,将重复的任务自动化,或者延伸应用程序中现有的功能。正如 《为何使用自动化对象?》 所说的,从长远角度来看,短短几天的编码工作可以帮助您节约几个月的人力资源成本。 本节主要为熟悉 BASIC 的编程人员服务。您可以使用 ER/Studio DA 的宏编辑器学习相关内 容,但是,您还是需要一本专业的教材,特别是对于 BASIC 编程新手。宏语言是 SAX BASIC,类 似于 MS VB。但和其他 BASIC 语言在语法上略有不同,但这种差异非常重要。详细信息请参阅有 关《Automation Interface Reference Guide》的介绍,该手册可从 “Help” 菜单中打开,这样可 以节省一些调试时间。 您还可以创建事件处理器,每次您使用应用程序执行任务时(如 Add Entity),该处理器将自 动运行。详情请参阅《 创建事件处理器 》。您还可以编写一个更新事件的处理器,详情请参阅《 处 理更新事件 》。 储存库中包含多个有关宏的范例。如要查看这些范例,打开任何 ER/Studio DA *.dm1 文件, 切换到 Data Model Explorer 中的 Macro 选项卡,双击任何宏范例。宏将在 Macro Editor 中打开。 以上图表显示了在 ER/Studio DA 中使用宏与在 ER/Studio DA 之外运行您自己的 COM 应用 程序之间的差别。在外部应用案例中,您需要创建一个链接用来连接 ER/Studio DA Type Library, 并说明 ERStudio 对象的类型。使用 MS VB 6.0 和 .Net VB/C# 的示例应用在您的安装目录中: ..\Program Files\ERStudio Data Architect X.X\Readme\TableList.zip。 从内部来看,唯一的不同就在于命名空间、类型库和最高级应用对象在您运行或编辑宏之前已 经创建完毕。否则,外部和内部应用代码几乎完全一致。您可以将宏中的代码复制粘贴到略有不同 的外部应用中。 例如,如果您想让用户将 ER/Studio DA模型元数据自动导入应用程序,如 Microsoft Outlook, 您可以编写一个宏,充分利用对象交互。 ER/STUDIO DATA ARCHITECT 自动化 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 364 相关主题 《为何使用自动化对象?》 使用 SAX Basic 宏编辑器 其他参考资料: 通过命令行访问 ER/Studio DA 对象和对象模型 自动化对象编程指南 《为何使用自动化对象?》 自动化接口对象可以通过脚本控制 ER/Studio DA 的大多数功能。您可以创建定制宏,将重复 的任务自动化,或者延伸 ER/Studio DA 中现有的功能。例如: • 如果您正在将多个应用集成到一个业务流程中,或者重用旧代码,您可能想要编写一个外部程 序来控制 ER/Studio DA。 • 在 ER/Studio DA 中,您可能想要在 20 个不同模型中添加新的实体。您希望每个实体颜色一 致,并且属性和注释完全相同。您可以手动一遍又一遍地重复步骤完成这一切。或者,您可以 使用自动化对象,有了它,您可以自动创建带有必要属性和注释的实体。每次您运行脚本时, 操作都会保持高度一致,确保不会遗漏属性,或者实体命名出错。 • 您可以创建事件处理器,每次您使用 ER/Studio DA 执行任务时(如 Add Entity),该处理器 将自动运行。参阅 创建事件处理器 。您还可以编写一个更新事件的处理器,详情请参阅《 处 理更新事件 》。 现有许多脚本都经过了多次不断修改, 选择一个与您的要求最相近的 ER/Studio DA 宏并修改它。 《ER/Studio DA 中的示例宏 》对 ER/Studio DA 中的宏进行了详细说明。您还可以连接其他用户,通 过 ER/Studio DA 用户组和在线论坛分享他们的知识。在 www.embarcadero.com 网页中选择 Services > Communities。 对象和对象模型 对象建模是现代面向对象编程软件的核心。如需了解更多有关面向对象建模的信息,请参阅任 何有关面向对象编程的教科书,或者访问统一建模语言 (UML) 网站。您无需理解 UML 便可使用自 动化接口。对于熟悉面向对象建模软件的人来讲,控制组织更加直观简洁。但对于新手来讲,以下 内容可能更有帮助。 面向对象编程 对象是一些代码函数以及这些函数使用的数据。面向对象建模是将(假设相关)函数和数据 封装在一个以对象名称命名的包裹中。 Word 函数代表方法。类似数据代表属性。 类推就像是汽车引擎,在编程里,我们称之为引擎对象 (Engine Object)。对象的属性可能是 “Engine.Speed”,那么获得并显示 “Engine.Speed” 的方法便是使用 “Engine.Tachometer”。 同样地,一个实体对象对应一种索引方法,用来获取最新索引并将其显示出来。 ER/STUDIO DATA ARCHITECT 自动化 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 365 自动化对象编程指南 本节主要介绍创建 ER/Studio DA 宏过程中常见的编码任务。但和其他 BASIC 语言在语法上略 有不同,但这种差异非常重要。 本节主要为熟悉使用 BASIC 的编程人员服务。 您可以使用 ER/Studio DA 的宏编辑器学习相关 内容,但是,如果您是 BASIC 编程新手,您还是需要这样一本书。 Get/Let 属性说明 属性可以定义为 Get/Let,意思是您可以读取属性 (Get) 或更改属性 (Let)。但是,很多这类属 性都通过 ER/Studio DA 设定,并且事实上用户只能读取这些属性 ,也就是说,只能 Get 但不能 Let。例如,大多数数字 ID 属性都是 Get。 一般来讲,如果您可以使用 ER/Studio DA 的 GUI 设计控件编辑一个属性,并且有相关的自动化 对象, 那么该属性为 Get/Let。如果您无法在ER/Studio DA中编辑,则该属性为只读属性 (Get -only)。 “Set” 使用说明 不要一直使用 “Set” 作为代码范例。如果在 ER/Studio DA 中使用 SAX BASIC Editor,您必须 在第一个脚本对象的第一个示例中使用 “Set” 函数(或对象范围内的分组码) 。如果对象引址发 生变化,您必须重用该函数。这与 BASIC 可执行映像完全不同,如果使用 BASIC 可执行映像,您 可以显示 “Public” 等对象,但在 Microsofts VB.Net. 中您必须 设定他们。 ER/Studio DA 宏编辑器示例: Set MyDiagram = DiagramManager.ActiveDiagram 'some code that closes the active diagram and opens another diagram Set MyDiagram = DiagramManager.ActiveDiagram “Dim...As” 说明 SAX BASIC 不允许您说明并初始化陈述中的任何变量。范例: 'No way: Dim MyData As Integer = 30 'This is OK: Dim MyData As Integer = 30 MyData = 30 ER/STUDIO DATA ARCHITECT 自动化 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 366 相关主题 其他参考资料: ER/Studio Data Architect 自动化 对象模型树状图 在宏编辑器中例示父对象 在外部应用中安装父对象 访问对象集合 使用属性分配对象的外观和行为 使用方法完成复杂动作 ER/Studio DA 中的示例宏 在 Windows 中运行 ER/Studio DA 宏指令 创建事件处理器 处理更新事件 在 GUI 建模菜单中添加宏 ER/STUDIO DATA ARCHITECT 自动化 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 367 对象模型树状图 以下概念图表显示了主要对象的树状图。当编写宏时,通常您会按照显示的顺序例示对象。为 了简单直观,毗连对象(如 Lines 和 Entities 或 Indexes)不包括在内。 其他参考资料: 相关主题 ER/STUDIO DATA ARCHITECT 自动化 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 368 在宏编辑器中例示父对象 DiagramManager 属于父级对象,用于访问其他所有 ER/Studio DA 对象。当您启动宏编辑器 时, DiagramManager 对象被例示,这就意味着您可以马上使用该对象 -- 无需创建。开始编码: Dim ActiveDiagram as Diagram Set MyDiagram = DiagramManager.ActiveDiagram 如果您编写的是外部应用,父对象必须例示为 “ERStudio.Application”。详情请参阅《 在 外部应用中安装父对象 》。 其他参考资料: 相关主题 在外部应用中安装父对象 命名空间和上下文环境在 ER/Studio DA的宏编辑器之外有所不同。 外部程序采用 COM接口。 例如,在外部 VB 项目中,基类对象是 ERStudio.Application,而 ER/Studio DA 宏环境中的基 类对象是 DiagramManager。否则,对象模型和例示的顺序会完全相同。 ER/Studio DA 中包含了一个 VB 应用范例。保存在您的安装目录中: ..\Program Files\ERStudio Data Architect X.X\Readme\TableList.zip。此类其他范例采用 MSVB6、 .Net VB 和 C#,位于同一目录中。 如要运行该程序,打开压缩文档 TableList.zip,然后完成以下 1-3 步。 如果您熟悉 COM 编程, 直接跳到第 3 步 “ 代码分段 ”,在 ER/Studio DA 中配置您的 VB 项目。 1 将 Pubs.dm1 复制到 C:\。 Pubs.dm1 与该应用程序绑定,保存目录为: • Windows XP:C:\Documents and Settings\All Users\Application Data\Embarcadero\ERStudioDA_X.X\Sample Models • Windows Vista:C:\ProgramData\Embarcadero\ERStudioDA_X.X\Sample Models 2 使用 MS Visual Basic 6.0 (或更新版本)打开 VB 项目文件 TableList.vbp。 3 确保您的项目参考 ER/Studio DA 类型库: a) 选择 Project > References..。 b) 在列表中选择 ER/Studio DA Type Library。 4 在适当范围内添加如下说明。在 TableList.bas 中这段说明位于模块中: ' Option Explicit 'Require object declarations Public app As ERStudio.Application 'Specify as ER/Studio types rather than "Object" Public diagm As ERStudio.Diagram Public mdl As ERStudio.Model Public ent As ERStudio. ER/STUDIO DATA ARCHITECT 自动化 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 369 5 按照以下说明例示: Set app = CreateObject("ERStudio.Application") 'Start ER/Studio DA if not running Set diagm = app.OpenFile("C:\Pubs.dm1") 'Instantiate a diagram Set mdl = diagm.ActiveModel 'Instantiate a model 在 ER/Studio DA 的 SAX BASIC 中运行的宏将使用预初始化的 “DiagramManager” 对象。在 联机帮助的 “ 代码示例 ” 部分以及 ER/Studio DA 的 “Macro” 选项卡中包含很多示例。 最佳编程实践: 使用 DiagramManager.GetLastErrorCode() 或 DiagramManager.GetLastErrorString() 检查错误。 总结: 在 ER/Studio DA 外部,您以 ERStudio.Application 示例开始。在其内部,您以 DiagramManager 开头 -- 示例已经开始运行。 访问对象集合 集合是同类对象的总和。例如,模型对象是图表中所有模型的总和。 每个集合有四种方法: •Item (),默认的集合方法。 • Add() • Remove() • Count.() 您可以按照名称(和序号或技术键)访问对象。以下代码示例说明了系统默认的行为: Dim myentity as Entity Set myentity = mymodel.Entities("Entity1") 在该示例中, Item() 的实体集合方法用来返回 Entitiy1 对象,但是脚本中不需要包含明确的方 法参考信息,因为这是默认方法。 Add()、 Remove() 和 Count() 方法适用于所有集合(除了特别说明的) 。这些方法可以及时修 改 ER/Studio DA 中的内部数据。 Add() 方法可用于向集合中添加新对象。如果对象未经初始化, Add() 方法无效。 Count() 用来显示集合中对象的总数。 ER/STUDIO DATA ARCHITECT 自动化 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 370 迭代集合 恢复集合中每个对象的最常用方法是使用 For Each ...Next loop。使用变量 HowMany 开始 并重复以下循环。 ' Sets the entity name for each entity in the given collection Dim MyDiagram As Diagram Dim MyModel As Model Dim MyEntity As Entity Dim EntName As String Dim HowMany As Integer Set MyDiagram = DiagramManager.ActiveDiagram Set MyModel = MyDiagram.ActiveModel HowMany = 1 ' Iterates through the Entities collection to rename all entities For Each MyEntity In MyModel.Entities ' Uses CStr function to convert the Count variable to a string EntName = "ShinyNewEntity" + CStr (HowMany) MyEntity.EntityName = EntName HowMany = HowMany + 1 Next MyEntity 其他参考资料: 相关主题 使用属性分配对象的外观和行为 性质和对象决定着对象的外观或行为。颜色、计数、名称和 ID 都属于常见的对象属性。其中 部分属性,如 ID,通常为只读属性。其他属性则可以更改。 ER/Studio DA 通过更新内部数据即时 反应属性的变化。 Dim MyDiagram As Diagram Dim MyModel As Model Dim MyEntity As Entity Dim EntName As String Dim EntID As Integer Set MyDiagram = DiagramManager.ActiveDiagram Set MyModel = MyDiagram.ActiveModel EntID = 1 We want the name of the Entity that ER/Studio DA has identified as ID =1 Set MyEntity = MyModel.Entities.Item(EntID) EntName = MyEntity.EntityName Now we can display EntName in a MsgBox, write it to a text file, or change it and re-name the Entity. ER/STUDIO DATA ARCHITECT 自动化 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 371 使用方法完成复杂动作 方法用来执行比简单设置或读取属性更为复杂的动作。例如, OpenFile() 是一种 DiagramManager 方法,可以开始一系列其他操作:它必须导航目录 / 文件系统,分配为用来处 理文件的资源,跟踪文件处理和属性等信息。 Dim MyDiagram As Diagram Dim strFile As String strFile = "C:\Documents and Settings\Owner\Application Data\Embarcadero\ERStudio\Model\MyModel.dm1" Set MyDiagram = DiagramManager.OpenFile(strFile) ER/STUDIO DA 中的示例宏 宏示例在 ER/Studio DA 安装过程中生成。有效示例代码扩展集也作为自动化接口基准代码参 考资料的一部分包括在《联机自动化接口参考资料》中。 以下部分概括介绍了示例宏的功能。每个宏的标题都包括更多使用信息。多数已经安装的宏也 包括在示例代码的帮助文件中,用来方便用户剪切、粘贴和对比。 • 元数据管理宏 • 模型设计宏 • 建模生产率宏 • 物理建模宏 元数据管理宏 • Attachment Example:导出活跃模型中和每个选定表格所有附件相关的数据。 • Data Lineage Export to Excel:将数据沿袭信息导入 Excel。如果电子表格的格式没有变 化,您可以更新映射并将其导入模型。 • Data Lineage Import from Excel:导入 Excel 表格中的数据系统信息。 • Data Lineage Export to Excel:导出当前模型中所有属性的域绑定信息。 • Domain Bindings Import From Excel:导入 Excel 中的域绑定信息。 • Export Domain Info to Excel:将域及其属性导入 Excel。 • Export Index Column Info to Excel:在 ER/Studio DA 中生成有关活跃模型的索引列报告。 • Export Model Meta Data to Excel:将与活跃模型相关的模型元数据导入 Excel。 • Export Model Meta Data to Word:生成和活跃模型中选定实体有关的 mini 报告。 • Export Object Definitions and Notes to Excel:将表格、视图、关系和属性的定义和注释 导入 Excel。 • Export Reference Value Info to Excel:将参考值及其属性导入 Excel。 ER/STUDIO DATA ARCHITECT 自动化 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 372 • Export Relationship Info to Excel:在 ER/Studio DA 中生成和活跃模型有关的外键列报告。 • Import Domains from Excel:从指定 Excel 表格中导入域。 • Import Index Names from Excel:从 Excel 中导入关系名称。 • Import Object Definitions and Notes from Excel:从 Excel 表格中导入和实体、属性、视 图和关系相关的定义和注释。 • Import Reference Values from Excel:从 Microsoft Excel 中导入参考值。 • Import Relationship Names from Excel:从 Microsoft Excel 中导入关系名称。 • Submodel Report:生成和活跃模型有关的实体列表及其子模型。输出格式为 Excel 电子表。 模型设计宏 模型设计宏控件演示如果自动修改模型外观。您可以使用这些宏组合实体、更改背景或实体及 其属性文本颜色,或将多个实体组合成一个实体,进而更改模型外观。 • Auto-Align Selected Entities Left:以左手边为准对其所有选定的实体。这个宏控件模拟了 选择模型中两个或更多实体然后单击 “Alignment” 工具栏中 “Align Left” 按钮的 User。请注 意,您必须至少选择两个实体才能运行该宏。 • Auto-Color All Entities with FKs:说明如何使用实体对象、实体显示对象和选定的对象,以 及如何区分这些对象。该宏可用来更改所有实体的背景颜色 -- 外键为紫色。首先,选择活跃 子模型中的所有实体。然后,将包含外键的所有选定实体的背景颜色改为紫色。最后,取消选 择所有选定(突出显示)的实体。 • Auto-Combine Selected Entities:使用包含非外键属性的新实体取代所有选定的实体。将新 实体放在选定实体 X/Y 坐标中间线的图表中。新实体名称由选定实体的名称组成(每个名称 下方标注下划线)。每个属性名称由原实体名称和属性名称组成,中间用下划线分开;属性也 采用这种命名方式,以确保新实体的唯一性。 • Change Submodel Display Properties:在活动子模型中更改多个显示属性。特别要指出的 是,它可以改变非主列、非继承属性的字体和颜色。属性字体的大小和形状也可以改变。 建模生产率宏 • Add Base Attributes To Person Entity:将基本属性添加到代表人的选定实体中。该指令还 可以根据实体名称选择主键。 • Add Definition to Type Entities:为选定的实体添加定义。应用于选定实体的定义还将自动 包括对象名称,格式为 “My definition text + entity name +(s)”。 • Add Parent Name Prefix to Propagating Key:将实体名称作为前缀添加到所有属性角色名 称中。该指令显示了如何使用 FKColumnPair 对象。 • Add Table Name Prefix Globally:支持用户为活动模型中的所有实体添加前缀。对话框提示 用户添加前缀。如果活动模型为逻辑模型,该前缀将被添加到所有实体的名称中。如果活动模 型为物理模型,该前缀将被添加到所有表格名称中。 ER/STUDIO DATA ARCHITECT 自动化 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 373 • Add Table Name Prefix Selectively:支持用户为模型中选定的实体名称添加前缀。对话框 提示用户添加前缀。如果活动模型为逻辑模型,该前缀将被添加到所有选定实体的名称中。如 果活动模型为物理模型,该前缀将被添加到所有选定表格的名称中。 • Add Table Owner Globally:适用于物理模型,该指令可以更新活跃模型中所有表格的所有 者域。 • Add Table Owner Selectively:适用于物理模型,用来更新所有选定实体表格编辑器中的所 有者域。 • Add View Owner Globally:适用于物理模型,用于更新活跃模型中所有表格视图编辑器的 所有者域。 • Add View Owner Selectively:适用于物理模型,用来更新所有选定实体视图编辑器中的所 有者域。 • Attribute Binding Macro:列出所有模型(逻辑和所有物理模型)和域的所有非绑定属性 / 列。用户可以通过按下 “Bind” 按钮,将属性与任何列出的域绑定。 • Auto-Convert Datatype:迭代所有选定实体,确定哪些属性使用 VARCHAR数据类型,然后 将数据类型改为 TEXT。 • Auto-Create Data Dictionary and Bound Domain:该指令的使用分为几个步骤。首先,新 建图表并想数据字典中添加规则、默认值和域。然后,将规则和默认值绑定到域中。接着,将 实体添加到图表中,并未实体添加属性。最后,绑定域和属性。 • Auto-Create Data Dictionary:快速创建用户定义的数据字典。该指令可作为一个模板,用来创 建用户定义的或用于具体业务的数据字典。该指令可以插到 ER/Studio DA 的 ERSBasicHandlers 系统中,尤其是 ERSBasicHandlers 中的 “CreateDiagramHandler(CurDiagram As Object)” 中,如 果勾选 “ER/Studio DA's Automation Interface Options” 中的 “Create Handlers” 选项,当用户创 建新图表时,该数据字典将被创建并填写完整。 • Auto-Create New Diagram:在逻辑模型中创建包含六个实体的新图表,然后生成使用 IBM DB/2 数据库平台的物理模型。 • Generate Constraints From Reference Values:根据定义的参考值生成约束。 • Convert Name Case:将活动模型中所有选定表格或实体的名称转换成大写或小写字母。对 话框提示用户决定名称格式为大写或小写。 • Definition Editor:列出所有表格,便于用户按下 “Update” 按钮,更新表格中的定义域。该 指令还将列出每个表格的列清单,您可以使用该清单更新每个列的定义。 • Domain Bindings:打开对话框,显示图表数据字典中的所有域以及与选定域绑定的所有属 性。用户可以查看哪些属性与选定域绑定,同时,他也可以解除个别属性与选定域的绑定。 • Example macro-Loop Through Current Submodel:演示如何循环当前子模型中的对象。 • Get Related Entities:该指令可以选择选定表格中的相关父和 / 或子实体。如要使用该指令 捕捉图表中的一组实体,或者在图表树形图中选中它们,那么,右键单击宏执行命令。父实体 和子实体的选定取决于勾选的选项。该指令可用于协助创建子模型。 ER/STUDIO DATA ARCHITECT 自动化 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 374 • Import Data Dictionary:从特别排版的文本文件中导入数据字典对象。该指令的备注中包含 相关指南,介绍并描述了必须使用的文件格式。 • Index Naming:将命名规则应用于所有类型的索引。该指令为使用选定表格或所有表格提供 了一个选项。 • Name Foreign Constraints:弹出对话框,提示用户指定 Foreign Constraints 命名惯例。该 指令可以使用父表名称和子表名称命名所有约束。它还可以通过在重复名称最后添加索引,确 保名称独一无二。 • Name Primary Constraints:使用给定的命名惯例命名所有主键约束。表格名称要么带前缀, 要么带后缀。 • Notes Editor:列出所有表格,便于用户按下 “Update” 按钮,更新表格中的注释域。该指令 还将列出每个表格的列清单,用户可以使用该清单更新每列的注释。 • Selectively Output PK and FK DDL:针对所有选定的表格输出主键和外键约束。如要操作 选定的表格,右键单击宏执行命令。 DDL 可以预览或写入文件。 • Switch Domain Bindings:扫描活动模型或所有模型中的所有列和属性,将域绑定从源域切 换至目标域。每个绑定列的信息随着目标域的变化而更新。禁用任何域都将受到保护。 物理建模宏 物理建模的宏指令保存在具体数据库平台的文件夹中。以下内容对物理建模的宏指令进行了 说明: • IBM DB2 • Generate Partitions for OS390 Clustered Indexes:提供并连接,为聚集索引添加多个分 区。系统显示表格列表。选择一个表格后,系统将加载被分区的聚集索引。整个分区内的储 存参数完全一致。 • Selectively Add DB2 Permissions to PostSQL:针对 DB2 物理模型中任何选定表格的 PostSQL 添加权限。 • Selectively Update OS390 Index Storage:给出活动物理模型中的表格列表。右栏中的表 格随着指定存储参数而更新。用户可以将表格添加到更新的列表中,也可以将其从中删除。 • Selectively Update OS490 Table Storage:给出活动物理模型中的表格列表。右栏中的表 格随着指定存储参数而更新。用户可以将表格添加到更新的列表中,也可以将其从中删除。 • Update DB2 OS390 Index Storage Parameters:给出活动物理模型中的表格列表。右栏 中的表格随着指定存储参数而更新。用户可以将表格添加到更新的列表中,也可以将其从中 删除。 • Update DB2 OS390 Table Storage Parameters:给出活动物理模型中的表格列表。右栏 中的表格随着指定存储参数而更新。用户可以将表格添加到更新的列表中,也可以将其从中 删除。 ER/STUDIO DATA ARCHITECT 自动化 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 375 • MS SQL Server • Selectively Add MS SQL Server to PostSQL:针对 SQL Server 物理模型中任何选定表格 的 PostSQL 添加权限。 • SQL Server Storage Update:打开对话框,用于更新和用户指定的文件组相关的表格参 数,或者更新和用户指定文件组相关的索引参数和填充因数。 • Oracle • Insert Synonym in PostSQL:打开对话框,提示用户设定具体表格或实体的同义名。同义 名代码被插入到指定表格或视图的 PostSQL 中。活动模型必须拥有 Oracle 物理模型才能运 行该指令。 • Selectively Add Oracle Permissions to PostSQL:针对 Oracle 物理模型中任何选定表格 的 PostSQL 添加权限。 • Selectively Add Oracle Sequence:弹出对话框,提示用户指定 Oracle 序列的命名规则和 选项。序列被添加到选定表格的 PreSQL 中。 • Selectively Update Index Storage Parameters:更新选定表格的 Oracle 索引存储参数。 • Selectively Update Oracle Storage:打开对话框,提示您设定模型中选定实体的 Oracle 属性。您可以设定的属性包括表空间、初始扩展块的大小和下一个扩展块的大小。 • Sybase • Selectively Add Sybase Permissions to PostSQL:针对 Sybase 物理模型中任何选定表格 的 PostSQL 添加权限。 在 WINDOWS 中运行 ER/STUDIO DA 宏指令 您可以在 Windows Command Shell(类似于以前的 DOS 命令行控制台)运行 ER/Studio DA 宏指令。您可以通过批处理文件或者 Windows Desktop 运行该指令。 通过命令行访问 ER/Studio DA 如要通过批处理文件 (*.bat file)命令访问 ER/Studio DA,使用“-m”选项指定您想要运行的宏: Start /wait /min "erstudio" erstudio.exe -m MyMacro.bas ER/STUDIO DATA ARCHITECT 自动化 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 376 通过 Windows 访问 ER/Studio DA 1 选择 Start > Run。 2 键入 “cmd” 并按下 Enter。 注: • 您可以使用 Erstudio 命令使用写入 ERStudio Sax Basic 宏编辑器中的宏。在 ERStudio.exe 保 存目录中运行该指令。默认位置为: ...\Program Files\Embarcadero\ERStudio Data ArchitectX.X • 您必须在 Options Editor 的 “Application” 选项卡中指定宏目录。默认位置为: Windows XP:C:\Documents and Settings\All Users\Application Data\Embarcadero\ERStudioDA_X.X\Macros Windows Vista:C:\ProgramData\Embarcadero\ERStudioDA_X.X\Macros • 宏可以保存在子目录中。将名称或空间过长的宏使用引号标注。 • 您必须在命令行语法中使用 .bas 扩展名。 • 执行宏命令过程中出现的任何错误都被写入出错文件 .err 中,该文件位于 Options Editor - Directories 选项卡的宏目录中。文件名中包括出错日期。 ER/Studio DA 在文件中列出每个错 误及其出现的时间。 • 您可以使用命令行中的宏对话框,但您必须写入宏代码,以便于处理图表打开问题。活动图表 中使用的宏可能无法正常运行。 其他参考资料: 相关主题 创建事件处理器 ER/Studio DA 可以处理编程事件。如要使用事件,您必须选择相关选项。选择 Tools > Options > Automation Options,然后选择 Create Handlers。 您还可以编写一个更新事件的处理器,详情请参阅《 处理更新事件 》。 ER/STUDIO DATA ARCHITECT 自动化 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 377 您可以定制模板,创建数据库对象,如: 当您创建一个实体时, ER/Studio DA 会调用 ERSBasicHandlers.bas 文件中的 CreateEntityHandler( ) 函数。 调用函数时, ER/Studio DA 向处理器传输新建的实体(现有实体)和现有图表。目前,文件 中的所有函数体均为空。您可以使用这些函数体扩展以上列出的任何对象的创建行为。 注: 在您退出 Entity Editor 之前, ER/Studio DA 不会调用属性和索引的创建事件函数。 示例: Sub CreateEntityHandler(CurEntity As Object, CurDiagram As Object) Dim Prefix as String Dim EntityName as String Dim NewEntityName as String Prefix = "ERS" EntityName = CurEntity.EntityName NewEntityName = Prefix + EntityName CurEntity.EntityName = NewEntityName End Sub 本示例修改了 CreateEntityHandler 函数,每次您新建实体后,默认实体名称都会添加 ERS 前缀。 详细说明如下: 当您使用 Entity Tool 新建实体时,默认实体名称为 EntityX,比如 Entity1、Entity2。通过上述 方式修改 CreateEntityHandler 函数体之后,默认实体名称变成 ERSEntityX (如 ERSEntity1、 ERSEntity2)。 • 实体 • 属性 • 关系 • 索引 • 模型 • 子模型 • 域 • 默认值 • 用户数据类型 • 规则 • 视图 • 视图关系 • 触发器 • 存储程序 ER/STUDIO DATA ARCHITECT 自动化 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 378 注: •ER/Studio DA启动之后开始读取 ERSBasicHandlers.bas 文件中的所有创建事件处理器函数。 您可以在应用程序运行的同时修改这些函数。但是,您必须重启 ER/Studio DA 才能应用修改 后的结果。 • 您不能在事件处理器函数域中指定具体的对象类型(例如 Entity)。必须将所有对象显示为普 通对象类型。 其他参考资料: 相关主题 处理更新事件 您可以定制实体更新模板子程序。 如要启用该选项,选择 Tools > Options > Automation Options,然后选择 Update Handlers。 您可以专为以下对象定制模板: 当您使用 Entity Editor 编辑实体时, ER/Studio DA 会即时调用 ERSUpdateHandlers.bas 文件 中的 UpdateEntityHandler 函数。 调用函数之后, ER/Studio DA 将实体对象作为第一个参数、图表对象作为第二个参数、更新 类型作为第三个参数进行传输。这样可以区分哪些属性已经更新完毕。文件中的函数体包含不同实 体属性的空 Case 语句。这些空语句没有任何意义。您可以通过使用函数中属性 Case 语句定制 / 扩展上述对象的更新行为。 注: 在您退出 Entity Editor 之前, ER/Studio DA 不会调用实体的更新事件函数。 •Name •Table Name • Definition •Note •PostSQL • PreSQL • Storage Location • Initial Extent • PCT Free • No Logging •PCT Increase • Next Extent •PCT Used ER/STUDIO DATA ARCHITECT 自动化 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 379 示例 Sub UpdateEntityHandler(CurEntity As Object, CurDiagram As Object, UpdateType As Integer) Dim Prefix as String Dim EntityName as String Dim NewEntityName as String Prefix = "ERS" Select Case UpdateType Case UPDENTITYNAME EntityName = CurEntity.EntityName NewEntityName = Prefix + EntityName CurEntity.EntityName = NewEntityName Case UPDENTITYTABLENAME Case UPDENTITYDEFINITION Case UPDENTITYNOTE Case UPDENTITYPOSTSQL Case UPDENTITYPRESQL Case UPDENTITYSTORAGELOCATION Case UPDENTITYINITIALEXTENT Case UPDENTITYPCTFREE Case UPDENTITYNOLOGGING Case UPDENTITYPCTINCREASE Case UPDENTITYNEXTEXTENT Case UPDENTITYPCTUSED End Select End Sub 本示例修改了 UpdateEntityHandler 函数,每次您修改实体名称后,默认实体名称前都会添加 ERS 前缀。 详细说明如下:当您编辑实体名称并将其改为 Entity1 时,您还可以为该名称自动添加前缀。 通过这种方式修改 UpdateEntityHandler 函数体中的 Case 语句,实体名称变为 ERSEntity1。 注: •ER/Studio DA启动之后开始读取 ERSBasicHandlers.bas 文件中的所有更新事件处理器函数。 您可以在应用程序运行的同时修改这些函数。但是,您必须重启 ER/Studio DA 才能应用修改 后的结果。 • 您不能在更新事件处理器函数域中指定具体的对象类型(例如 Entity)。必须将所有对象显示 为普通对象类型。 其他参考资料: 相关主题 ER/STUDIO DATA ARCHITECT 自动化 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 380 在 GUI 建模菜单中添加宏 在 “Add/Remove Macros” 对话框中,您可以为您希望在 ER/Studio DA 不同位置快速打开的 宏指令添加快捷方式。该对话框可以从主菜单中打开,也可以在图表、实体、视图和关系快捷菜单 中打开。每个对象最多使用 10 个宏。 注: • 您打开对话框的位置是 ER/Studio DA 添加快捷方式的位置。例如,如果您右键单击一个实体 并且随后单击 “Add/Remove Macro Shortcuts”,ER/Studio DA将打开 “Add/remove Macros” 对话框,并在标题栏中显示 Entity。 • 每个对象最多有 10 个宏。 以下表格显示了 “Add/Remove Macros” 对话框中可以使用的选项和功能: 选项 描述 可用宏 列出所有可以在快捷菜单中设置的宏。 选定的宏 显示当前快捷菜单中的宏。 ER/STUDIO DATA ARCHITECT 自动化 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 381 添加或删除宏 1 选择 Macro Shortcuts > Add/Remove Macro Shortcuts。 2 在 “Available Macros” 中单击目标宏,然后单击向右箭头。 提示 : 您可以双击任何宏将其添加或删除。 3 如要删除一个宏,在 “Selected Macros” 中单击目标宏,然后单击向左箭头。 注: 您最多只能选择 10 个宏。如果您试图选择的宏超过 10 个, ER/Studio DA 将弹出错误 提示讯息。您必须在添加新宏之前删除一些宏。 4 成功添加或删除宏之后单击 OK。 其他参考资料: 相关主题 使用 SAX BASIC 宏编辑器 您可以使用宏编辑器编写并使用自动化脚本。 ER/Studio DA 宏语言包含基于 ER/Studio DA 对 象类型扩展的 SAX BASIC 语言。 SAX BASIC 与 Visual Basic 非常相似,但略有不同,所以,请注 意《Automation Interface Reference》中给出的两者之间的差别。 如要打开 Basic Macro Editor,选择 Tools > Basic Macro Editor。 注: 您最多可以同时打开 9 个宏编辑器。 代码自动填写 使用上下文相关编辑帮助可以帮您节约键入代码的时间。使用快捷菜单和弹出菜单帮助您编 写宏。当您启动宏编辑器之后,系统将自动设置 ER/Studio DA 库参考值,此时您可以使用该菜单 写入正则表达式。当您写入代码时编辑器会打开菜单和弹出对话框。当您必须做出选择时,编辑器 会给出选择列表或必要的语法。 ER/STUDIO DATA ARCHITECT 自动化 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 382 滚动菜单便于您选择适用的对象或属性与方法。如下所示: ACTIVEX AUTOMATION MEMBERS BROWSER (OLE VIEWER) ActiveX Automation Members Browser 可以显示 ER/Studio DA Type Library 自动化对象。您 可以将函数模板复制粘贴到您的脚本中。 如要浏览对象,在 Data Type 列表中选择一个对象。该菜单中包专门用于 ER/Studio DA 的所 有自动化对象以及多个表示为 Vb 的 Visual Basic 对象。Methods/Properties 列表中包 含适用于选定对象的方法和属性。当您选择其中一个方法或属性时,其他信息将显示在对话框中。 在 Browser 中,您可以将函数粘贴到您的宏中。您还可以在粘贴函数之前模拟结果。模拟结果 有助于在函数域中添加其他参数。帮助字符串给出了有关选定属性或方法的描述。这也是其他 Typelib Viewer使用的信息, 如Microsofts Visual Studio OLE Viewer或任何代码编辑器中的 Typelib 应用程序。 ER/STUDIO DATA ARCHITECT 自动化 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 383 单击问号 ? 按钮,打开对象的 “Automation Interface Reference”,显示有关该对象属性或方 法的更多信息。 如需了解有关 ActiveX Automation Members Browser 的更多信心,请参阅《 Sax Basic Help》。 添加、编辑和运行 BASIC MACROS ER/Studio DA 中包含 SAX BASIC 编辑器、解释器和调试器(下文统称为 “ 编辑器 ”)。 如要使用 SAX BASIC 编辑器 在 “Data Model Explorer” 中单击 “Macros” 选项卡。 提示 : 如需了解更多有关 SAX BASIC 语言的信息,请单击编辑器 Help 按钮。 添加宏 1 在 “Data Model Explorer” 中选择 “Macros” 选项卡。 2 右键单击一个宏或宏文件夹,然后选择 “Add Macro” 打开宏编辑器。 注: 当您执行保存操作之后可能需要刷新文件列表之后才能再次查看。 编辑宏 如要编辑宏,双击宏。 ER/STUDIO DATA ARCHITECT 自动化 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 384 重命名宏 1 右键单击宏,然后选择 “Rename Macro”。 2 编辑宏名称,或者键入新名称。 3 按下 Enter,保存新名称。 注: 您可能需要刷新文件列表之后才能查看。 删除宏 如果您不在需要宏,您可以将其删除。如要删除一个宏,执行以下步骤: 1 右键单击您想删除的宏,选择 “Delete Macro”。 2 单击 Yes。 运行宏 当您创建并保存宏之后,您可以运行该宏指令。 右键单击宏,然后选择 “Run Macro”。 提示 : 如要在 ER/Studio DA Basic Macro Editor 中运行宏,单击 “Start” 或者单击绿色箭头按钮。 其他参考资料: 使用 SAX Basic 宏编辑器 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 385 《管理员参考手册》 本手册主要服务于已经安装 ER/Studio Data Architect (ER/Studio DA)以及正在配置 ER/Studio DA 或管理 ER/Studio Repository 的用户。手册的主要内容如下: • 连接数据源和目标 • 理解和维护储存库 • 确保存储库的安全性 • 管理储存库文件 连接数据源和目标 在 ER/Studio DA 中,您可以使用 Reverse Engineer Wizard 连接一个数据库,然后根据现有 的数据库新建一个数据模型。您还可以使用 DDL Generation Wizard 连接一个数据库,然后系统 会自动生成 SQL 源代码,用于构建数据库。在 ER/Studio DA 中,您还可以使用 Model Compare and Merge 连接数据库。 ER/Studio DA 支持以下数据库连接方法: • 开放数据库互连 (ODBC),使用ODBC驱动程序。 (参阅《 设定ODBC数据源和目标的连接 》。) • 原生连接,使用数据库客户端软件。(参阅《 使用原生连接或直接连接 》。) 提示 : 如需了解支持的数据库列表,请参阅《 Installation Guide》或选择 Tools > Datatype Mapping Editor 查看系统针对支持的每个数据库默认的数据类型映射。 其他参考资料: 对现有数据库进行逆向工程 生成脚本文件或数据库 使用比较与合并实用工具 《管理员参考手册》 > 连接数据源和目标 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 386 设定 ODBC 数据源和目标的连接 ER/Studio DA 可以使用 32 位 ODBC 驱动程序连接数据库服务器,对数据库执行逆向工程或 根据数据库对象创建 SQL。在使用 Reverse-Engineering Wizard或DDL Generate Wizard和ODBC 选项连接数据库之前,您首先要安装目标数据库平台支持的 ODBC 驱动程序,并设定 ODBC 数据 源。您可以使用 ODBC数据源管理器设定数据连接,然后根据逆向工程向导、比较合并向导和 DDL 生成向导访问数据。 注: 大多数数据库厂商都针对每个平台推出对应的 ODBC 驱动程序。此外,多家第三方开发 商也为多款数据库平台出售 ODBC 驱动程序。但您必须使用 32 位 ODBC 驱动程序。 ER/Studio DA 兼容于 16 位 ODBC 1 选择 Tools > ODBC Setup。 2 按照屏幕提示信息配置数据源。 注: • 按照 ODBC 厂商提供的说明书配置 ODBC 驱动程序。 • 在 ODBC 数据源管理器 “User DSN” 选项卡中设定的数据源只供登录用户使用,而在 “System DSN” 选项卡中设定的数据源可以供系统的所有用户使用。 • 您还可以在 Windows 中选择 Start > Settings > Control areal > Administrative Tools > Data Sources (ODBC),访问 ODBC 数据源管理器。 • 您可以通过分发包含数据源定义的文件 ..\Windows\ODBC.ini 与其他用户共享您的 ODBC 数据源配置。 使用原生连接或直接连接 通过使用原生连接或直接连接,您可以逆向工程 MS SQL Server、IBM DB2 for OS/390、IBM DB2 for LUW、Oracle 和 Sybase ASE 支持的所有数据库对象。如要连接这些数据库,您必须首先 安装从数据库厂商购买的对应 DBMS 客户端应用软件。(如需了解有关可用客户端应用软件版本 的信息, 请参阅《 Installation Guide》中的“ER/Studio Repository Database Server Requirements” 部分内容。) 1 在运行 ER/Studio DA 的机器上安装从数据库厂商购买的 RDBMS 客户端应用软件。 如下表格列出了您可以使用原生连接或直接连接方式连接的数据库以及必要的 RDMBS客 户端应用软件。 数据库 必要的 RDBMS 客户端应用软件 IBM DB2 for OS/390 IBM DB2 Connect IBM DB2 for LUW 7.x */8.x/9.x Server 对应版本的 IBM DB2 客户端应用软件( 7.x/8.x/9.x) Microsoft SQL Server 2000/2005 对应版本的 SQL Server Client Access (2000 或 2005) Oracle 8.1.x/9.0.x/9.2.0.x 和 10g 对应版本的 Oracle 客户端应用软件 (8.1.7.4/9.0.x/9.2.0.x 或 10g) Sybase ASE 12.x/15.x Sybase Client Utilities 11.9 或更新版本 《管理员参考手册》 > 连接数据源和目标 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 387 2 向您的 ER/Studio DA 用户提供访问数据库必需的数据源连接字符串,以便于他们能够在 Reverse Engineer、 DDL Generation 或 Compare and Merge 向导的 “Data Source” 域中输入必要信息。 其他参考资料: 对现有数据库进行逆向工程 生成脚本文件或数据库 使用比较与合并实用工具 排除数据库连接故障 使用以下清单解决遇到的所有数据库连接问题。确认您的设置之后,如果您无法连接数据库, 请与英巴卡迪诺技术支持部联系。 本节主要内容如下: • IBM DB2 连接清单 • Informix 连接清单 • Interbase 连接清单 • Microsoft Access 连接清单 • Microsoft SQL Server 连接清单 • Oracle 连接清单 • Sybase 连接清单 数据库 必要的数据源连接字符串 IBM DB2 for OS/390 IBM DB2 for LUW 使用您在 “ODBC Data Source Administrator” 中设定的 ODBC 数据源。 MS SQL Server 使用服务器名称。 Oracle 使用 SQL*Net 连接字符串或别名,如果您已经定义: Oracle SQL*Net Easy Config Oracle SQL*Net Easy Config Oracle Net8 Configuration Assistant Sybase ASE 《管理员参考手册》 > 连接数据源和目标 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 388 IBM DB2 连接清单 1 您已经针对您想要通过 ER/Studio DA 访问的每个 IBM DB2 数据库设置了 ODBC 数据源输入。 注: ER/Studio DA 使用支持 IBM DB2 的 ODBC 仅用于连接。 它不使用 ODBC 目录调用功能; ER/Studio DA 包含有关 DB2 系统目录的全部信息。 2 您已经在本地电脑上安装 IBM DB2 客户端连接软件。 3 您的本地电脑设置了 SYSADMIN、SYSCTRL、SYSMAINT 或 DBADM 数据库权限(而非 OS 权限)。 注: 与其他数据库平台不同,注册本地的 IBM DB2 数据源需要经过 IBM DB2 服务器批准。 提示 : 只有 DBADM 权限可以使用 GRANT 语句予以批准访问数据库。其他权限只能通过数据 库管理员配置予以分配。 4 您的服务器已经在 IBM DB2 Client Configuration Assistant 配置完毕。 5 您已经对 IBM DB2 Client Configuration Assistant 的连接进行测试,并证实连接有效。 6 SQLLIB\BIN 子目录使用 Windows Path 变量设置。 7 如果使用 DBArtisan,您可以在 Datasource Registration Wizard 或 Discover Datasource 对话 框的服务器列表中查看各个服务器。 8 您可以通过指定的客户端应用软件连接您的服务器。 9 IBM DB2 5.x 客户端软件安装在本地机器上。并保存在 IBM DB2 CD 中。 INFORMIX 连接清单 1 您可以通过指定的客户端应用软件连接您的服务器。 2 您在本地安装了兼容于您想要连接的 Informix 服务器( Informix 5、Informix 7、Informix CLI for 7.2)的 32 位 Informix ODBC 驱动程序。 3 您的本地电脑上安装并配置了 32 位 Informix SetNet。 4 您使用 Informix ODBC 驱动程序在 ODBC Adminstrator 中配置了数据源,并将其与正确的 SetNet 信息相关联。 《管理员参考手册》 > 连接数据源和目标 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 389 INTERBASE 连接清单 1 您可以通过指定的客户端应用软件连接您的服务器。 2 您在本地安装了 32 位 InterBase 4.2 ODBC 驱动程序。 3 您使用 InterBase ODBC 驱动程序在 ODBC Adminstrator 中配置了数据源,并将其与有效的 InterBase 数据库相关联。 MICROSOFT ACCESS 连接清单 1 您在本地安装了 32 位 Microsoft Access ODBC 驱动程序。搜索您的本地驱动程序。驱动程序 保存在 Microsoft Access CD 中。 2 您使用 Microsoft Access ODBC 驱动程序在 ODBC Data Source Administrator 中配置了数据 源,并将其与有效的数据库相关联。 3 您在使用 Admin 登录用户名登录您的数据库。 4 如果您的数据库为压缩模式,那么您需要在 ODBC 设置中对数据库进行维护。 5 数据库文件采用标准归档模式,而非锁定模式或只读模式。 MICROSOFT SQL SERVER 连接清单 1 您可以通过指定的客户端应用软件连接您的服务器。 2 您已经在本地安装了 Microsoft SQL Server 6.5/7.0 客户端应用软件。该软件程序保存在 Microsoft SQL Server CD 中。 3 您已经在其中一个 Microsoft SQL Server 配置工具( SQL Server Client Configuration Utility 或 Client Network Utility)中完成了服务器配置 。 4 如果使用 DBArtisan,您可以在 Datasource Registration Wizard 或 Discover Datasource 对话 框的服务器列表中查看各个服务器。 5 如果选用 SQL Server 6.5,以下子目录使用 Windows Path 变量设置 :MSSQL\BIN or MSSQL\BINN and MSSQL\DLL。 6 如果选用 SQL Server 6.5,您可以通过 ISQLW.exe 查验服务器。 7 如果选用 SQL Server 6.5,您需要在 Microsoft SQL Client Configuration Utility 的 “DBLibrary” 选项卡中选择 “Automatic ANSI to OEM” 和 “Use International Settings” 选项。 8 如果选用 SQL Server 7.0, MSSQL7 子目录使用 Windows Path 变量设置。 9 如果选用 SQL Server 7.0,您需要在 Client Network Utility 的 “DB Library Options” 选项卡红 选择 “ Automatic ANSI to OEM Conversion” 和 “Use International Settings” 选项。 《管理员参考手册》 > 连接数据源和目标 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 390 ORACLE 连接清单 1 您可以通过指定的客户端应用软件连接您的服务器。 2 您的服务器已经在其中一个 Oracle 配置工具中配置完毕: SQL*Net Easy Config、 Net8 Easy Config 或 Net8 Configuration Assistant。 3 如果使用 Net8 Easy Config 或 Ne8 Configuration Assistant,您可以查验服务器。 4 以下子目录中的其中一个采用 Windows Path 变量设置: ORANT\BIN、 ORAWIN95\BIN、 ORAWIN\BIN、 ORA81\BIN。 5 以下数据库中至少有一个保存在 Oracle home BIN目录中: Ora73.dll、Ora803.dll、Ora805.dll 或Oran8.dll。 6Oracle客户端配置工具与对应的 TNSNAMES文件相关联: TNSNAMES.ora。如果使用 DBArtisan, 您可以在 Datasource Registration Wizard或Discover Datasource对话框中,选择 Server下拉列表, 在“TNSNAMES”文件中查看服务器列表。 SYBASE 连接清单 1 本地安装 Sybase 客户端应用软件 11.x 版本。搜索您的本地驱动程序,该驱动保存在 Sybase CD 中。 2 本地安装 Sybase 网络库 LIBSYBDB.dll。 3 您的服务器已经在其中一个 Sybase 配置工具中配置完毕: SQLEDIT 或 DSEDIT。 4 您可以使用 SQLEDIT.exe 和 SYBPING.exe 或 DSEDIT.exe 查验服务器。 5 以下子目录使用 Windows Path 变量设置: SYBASE\BIN and SYBASE\DLL。 6 如果您使用的是 Windows 95 或 Windows 98, Autoexec.bat 文件名为 SYBSET.bat。 7 如果您使用的是 Windows NT, Sybase System Environment Variable (Control Page\ System\Environment) 只与 Sybase 目录相关联。 8 如果您使用的是 16位Open Client Software,请将其 与 32位Open Client安装在同一个目录中。 9Sybase客户端配置工具与对应的 SQL.ini 文件相关联:如果使用 DBArtisan,您可以在 Datasource Registration Wizard 或 Discover Datasource 对话框中,选择 Server 下拉列表, 在 SQL.ini 文件中查看服务器列表。 《管理员参考手册》 > 理解和维护储存库 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 391 理解和维护储存库 本节主要内容如下: • 储存库的架构与设计 • 配置 Repository 和 Portal • 应急预案 储存库的架构与设计 《管理员参考手册》 > 理解和维护储存库 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 392 储存库依赖原生客户端连接和 TCP/IP 协议在 ER/Studio DA、Repository Server 和 Repository Database 之间收发信息。客户端域服务器之间的通信安全可靠。如果客户端和存储库支持 SSL, 您可以指定一个通用的 URL 和端口,用来支持客户端和存储库之间的安全通信。 在 SystemModels 目录中,存储库模式包含元数据图表 (Repository300MetaModel.dm1)。图 表中列出了实体间的关系,但为了不影响性能,真实数据库中不包含 FK 限制参数。文件中包含传 播链,这可能对编写用于运行存储库的问题有所帮助。 如需了解完整的软件列表、 安装要求以及支持的 Repository Databases,请参阅《 安装指南 》。 储存库客户端 ER/Studio DA为储存库中的图表数据提供了一个用户界面。 ER/Studio Repository 菜单可用于 访问储存库的所有功能和特性。如要访问和使用储存库,您必须运行 ER/Studio DA。 在 “Repository” 选项卡中,您可以选择访问 Repository 元数据,通过 ER/Studio Portal 搜索 并创建报告。 储存库服务器 储存库服务器将 ER/Studio DA与Repository Database连接在一起。储存库服务器中包含 SQL 代码,该代码在查询数据库、检索数据或在数据库中插入数据必不可少。当储存库服务器收到执行 操作的请求并且该项操作要求服务器读取数据库中的数据并返回相关信息时,或者当服务器收到 执行操作的请求并且该项操作要求服务器在数据库中写入新数据的时候,储存库服务器将运行该 代码。 注: 由于储存库服务器负责向数据库中插入新数据并从数据库中获取数据,所以,每个 Repository Database 只能对应一个储存库服务器。 储存库服务器可以管理储存库中数据的状态以及 Repository 数据库中存储的数据。此外,它 还根据 ER/Studio DA 用户的请求记录建模变更操作。 收到请求后,服务器开始执行以下操作: 1 核实并确保用户拥有执行操作的权限。 2 如果操作请求从 Repository 数据库中获取数据,服务器将从数据库中获取数据,并将其发送 到发出请求的 ER/Studio DA 对象。 3 如果执行操作需要在 Repository 数据库中存储数据,储存库服务器将向数据库中写入数据。 4 然后通知 ER/Studio DA 所有客户储存库的最新状态,并将相关信息发送给客户,更新显示信息。 《管理员参考手册》 > 管理储存库文件 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 393 管理储存库文件 储存库服务器安装文件中包括多个文件夹(如下所述)。根据您选择的配置选项,尤其当您在 服务器上设置 “-deleteoff” 选项时,您可能想要手动删除 “Repo In/Out” 文件夹中的旧文件(如 下所述) 。 您可以随时安全删除 .pri 或 .pro 文件。您可以安全删除任何过时文件,因为通常文件在写入 目录后都会被及时处理完毕。当然, .out 和 .err 文件也不例外。扩展名为 .in 的文件不能删除,并 且这些文件在文件夹中保存的时间不能长于系统处理文件的时间,除非 Repo Services 已经终止。 安装储存库时,您可以将服务器和数据库安装在同一台机器上,或者也可以选择不同机器。无 论您将每个组件安装在哪台机器上,我们都建议您定期备份两个组件。 REPOSITORY DATABASE 存储库使用数据库存储有关储存库图表及其对象的信息。每次用户登录、退出、添加或删除任 何图表元素,数据库都会自动更新。此外, Repository 数据库中还存储某些 Repository 操作的历 史记录以及所有安全规则和数据。 文件夹 描述 Repository 文件夹中包含储存库子文件夹,如下所示。此外,它还包含和三项储存库服务相关的可执行文件 以及储存库服务器许可应用程序、许可协议副本、帮助文件副本(包含有关安装和许可储存库 的信息)。 Logs 该文件夹中包含储存库文件的子目录。用于存储每项储存库服务使用的日志文件以及有关事件 或交易的信息。 RepoIn 存储从 ER/Studio DA 客户端收到的请求文件,直到服务器处理这些文件。如果该文件夹中包含 旧文件: 1. 在 Windows Explorer 中打开目录。 2. 根据 “Date Modified” (修改日期)将文件分类(最早的文件位于最上端)。 3. 自上向下选择所有文件,停在您感觉合理的位置。建议选择当前日期之前修改的所有文件。 4. 删除这些文件。 RepoOut 存储存储库服务器发送给 ER/Studio DA 客户端的文件,直到这些文件处理完毕。 《管理员参考手册》 > 管理储存库文件 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 394 警告: 不要直接更新储存库表格,因为数据库是一种交易系统,专门用于处理协作模型 的使用。再 ER/Studio DA 之外更新 Repository 数据库可能会破坏数据。 Embarcadero\Repository\Utilities\MasterScripts 和 SQLScripts 目录 中的 SQL 脚本供存储库在 ER/Studio DA 内部使用,如果在 ER/Studio DA 之外 使用,必须按照请求并且在英巴卡迪诺支持部的监督下进行。 注: 您可以查询数据,并从存储库中选择数据用于完成报告。您可以使用 Embarcadero\Repository\Utilities\QueryScripts 和 Embarcadero\ERStudio Data Architect X.X\SQLCode\Repo_Queries 目录 中常用的 SQL 脚本。但是,您可以自己创建脚本,为了帮助您成功创建脚本,您可以 使用 \Program Files\Embarcadero\ERStudio Data Architect X.X\System Models 目录中的元模型。 配置 REPOSITORY 和 PORTAL 通过使用可配置的 Repository 设置,您可以设定并修改服务器细节、存储库显示设置、检验 政策和通信设置。 Repository 的动作通过两个对话框控制, 储存库选项 和存储库属性( Repository Properties)。 Portal 的设置也在 “Repository Options” 对话框中定义。 设置 Repository 和 Portal 选项 1 登录储存库。 2 选择 Repository > Repository Options。 3 在 “Repository Options” 选项卡中指定您的变更,然后单击 OK,退出编辑器。 以下是需要额外说明的选项: “General” 选项卡 完成 Repository 服务器的所有设置。 • Server Machine:显示 ER/Studio Repository 的主机名称。单击 Repository 列表查看并选择 其他 Repository。单击 “Refresh”,更新 Repository 列表中所有 Repositories 的主机名称。 • Refresh:单击 “Refresh” 刷新网络中显示的 Repository 服务器列表。 • Active File Directory:用于保存从 Repository 查处或恢复的文件的目录。与网络共享目录不 同,Active File Directory 应安装在本地机器上,因为网络共享目录可能会导致 Repository 操 作失误。 警告: 请将 Active File Directory 安装在本地电脑上。共享网络目录可能会导致 Repository 操作失误。 《管理员参考手册》 > 管理储存库文件 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 395 • Hide Repository Status Icons:选择该选项后, “Data Model and Data Lineage” 和 “Data Model and Data Lineage” 窗口中将不再显示 Repository Status 图标,如锁。如果想要打印没 有图标的图表时,您可以使用该选项。 • Show Repository Status Dialog:指定您希望显示还是隐藏 “Repository Status” 对话框,该 选项将显示 Repository 每步操作的计时信息。 • View SQL Alerts:选择该选择后, “Repository Merge” 操作将在 check-in 时显示警告讯息, 提醒用户多个用户修改了视图中的数据。 如果弹出 SQL 警告讯息,您可以选择隐藏此类讯息。 您可以使用 “View SQL Alerts” 选项重新查看这些讯息。 • Enable Repo Events Polling:“Repository Events Polling” 选项可以重现有关 Repository 操 作的信息,以便于即时更新图表或对象状态的最新信息。如果选择了 “Repo Events Polling”, 您可以设置查询的间隔时间。使用默认设置。 • Repo Events Polling Interval:为了完成本地图表和对象状态与 Repository 之间的同步而进 行轮询的间隔时间(秒)。 • Hide General Information Data:为了提高性能,您可能想要选择该选项,以防 Repository 状态信息显示在 “Get From Repository” 对话框的 “General Information” 域中。 • Display Synchronize Comments Warning:如果选择该选项,系统将提示用户在同步评论与 Repository 之前保存所有更改。如果不选择该选项,系统将在同步之前自动保存更改内容。 • Diagram Name Display Format:决定图表名称在 “Repository” 对话框中的显示方式,如 “Get from Repository”。如果选择该选项, Diagram Name (Filename.dm1) 中的图表名称可 能显示为 Demo1 (Model.dm1),其中 “Demo1” 代表 “Diagram Properties” 对话框的名称域, 您可以使用 File > Diagram Properties 路径找到。 “Check Out Policy” 选项卡 用于修改检验政策属性值。例如,您可以设定档用户尝试编辑未经验证的 Repository 项目时, 系统给出提示讯息。 • ER Objects 域:确定存储核心数据的方式,如模型对象的名称和定义。 • Layout Objects 域:确定存储实体对象显示信息或图形信息的形式,如对象的大小、颜色和 位置。 Immediate:即时检验政策要求连接服务器和用户登录。当您尝试编辑未经检验的对象时,系 统会提示您检验对象,或者在编辑器中以查看或只读模式打开该对象。 Delayed:如果选择 “Delayed and Confirmation Required” 选项,当您尝试编辑未经检验的 对象时,系统会提示您检验该对象。如果您在 “Confirmation” 对话框中选择 Yes,或者如果您 没有选择 “Confirmation Required” 选项,ER/Studio DA 使用打开的红锁标注对象,表示对象 只经过局部检验,如果用打开的绿锁标注对象,表示该对象已经经过 Repository 的检验, Repository 的所有用户都可以查看该对象。 Repository 不清楚对象的检验状态,而且 , 只有当 您运行 Repository > Diagrams > Run Delayed Check Out命令之后,真正的检验才会开始, 此时,您需要解决任何与其他用户输入的变更相冲突的问题。 《管理员参考手册》 > 管理储存库文件 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 396 “Enterprise Portal” 选项卡 URL:用于设置 ER/Studio Portal的连接细节,以便于您使用 “Repository”选项卡和Repository 功能(如 “Get Diagram”)了解并报告 Repository的内容。指定运行 Portal的服务器名称(如 datojt090)或者用于登录 Portal的URL (如http://datojt090/ersportal)。 Show Portal Status Dialog:如果选择该选项,系统将显示 Portal 操作过程中每个步骤的计 时信息。如果不选择该选项,如果 Portal 操作过称各种出现错误, “Portal Error Information” 页面将显示。 Operation Timeout Value:显示在 Portal 操作在因失误暂停之前持续的时间。 注: • 当您向 Repository 添加或输入文件时,您应该在 “Active File Directory” 中执行同样的操作。 • 配置您的 Repository Server Settings 时,请考虑您的安装配置。 • Repository数据库和 Reposotory服务器可以安装在不同的机器上, 所以,当您配置 Repository 服务器时, Repository 数据库不会受任何影响。 存储库属性( Repository Properties) 1 如要只查看 “Repository Properties”,登录 Repository。 如要更改 Repository Server Ports,退出 Repository。 2 选择 Repository > Repository Properties。 3 单击“Server”选项卡,查看服务器设置,然后单击 “User”选项卡查看当前用户的登录用户名。 4 当您无法成功登录 Repository 时,如果有必要,您可以系统用来与 Repository 通信的端口。 在 “Server” 选项卡中单击 “Edit Ports”,更改端口设置,单击 “Apply Changes” 后单击 OK, 退出编辑器。 SSL 端口:自 8.5 版本开始, ER/Studio DA 便开始支持安全套接层 (SSL) 通信协议,该协议对 客户端和 Repository 之间传递的讯息进行加密保护。所以,在 SSL 对 ER/Studio DA 网络讯息 加密之前,您必须选择 “Use SSL connection to Repository”。 《管理员参考手册》 > 管理储存库文件 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 397 优化存储库性能 以下技巧可以帮助您优化存储库的性能: • 专用服务器 :存储库的性能与图表的数量和大小以及客户端和存储库之间的数据传输量直接 相关。我们建议为存储库选择专用服务器,除非您安装的是非常强大的硬件,比如,可以同 时管理多项应用程序的多处理器机架式服务器。 • 分离 Repository Server 和 Repository Database:Repository Server 和 Repository Database 可以分别安装在不同的机器上,但是,由于这种配置方式减少了存储的信息量,所以等待时间 得以大大缩短。如果您决定分离 Repository Serve 和 Repository Database,为了获得最高性 能,您应该将 Server 安装在用户登录的机器上。 • 清理储存库文件夹 :在 Repository Server 中, RepoIn 和 RepoOut 文件夹位于 \...\Embarcadero\Repository\ 文件夹中。有时网络故障可能需要您在这些文件夹中创建 一些条目。文件夹中的大量文件会严重影响存储库的性能。存储库应定期清理这些文件及中 的文件,如每天晚上没人访问存储库时。 • 签入/签出图表与签入 /签出对象:您可以使用 RepoSrvDb.Log中的信息优化存储库的性能,并 针对用户如何更高效使用存储库提供建议。例如,签入或签出整个图表比选择多个对象然后将 其签入或签出的效率更低。 RepoSrvDb.Log 文件保存在储存库应用服务器上。该文件中记录 了使用储存库的用户和使用时间、发送的请求类别、处理结果、用于处理请求的总时间。系统 会针对每项请求列出 “Total Process Seconds”,其中包括分析请求文件、在数据库中插入和 / 或检索数据以及构建和卸除结果文件所用的时间。 • 在 Oracle 环境下 : • 分隔表空间 :为存储库表格创建单独的表空间, ERSTUDIO_DAT 和索引, ERSTUDIO_IDX。 每个表空间的容量应该不小于 1 MB。在有些非常大的储存库环境中,在原来的表空间基础 上,进一步将更大的表格分隔并创建索引,例如 ERSTUDIO_DAT2 和 ERSTUDIO_IDX2,对优 化存储库性能非常有效。 • 重建索引 :每月至少重建一次存储库索引 ERSTUDIO_IDX。根据添加的图表数量,您可能需 要每周重建一次索引。 • 分析并计算统计量 :在最新版 Oracle 环境中运行 “DBMS_STATS” 或者在更早版本 Orable 环境中运行 “Analyze Table and Compute Statistics” 语句可以提高对存储库查询请求的回 应效率。这些命令搜集表格和索引中有关数据分布的信息,然后使用这些信息更新数据字 典。这样,基于成本的查询优化器可以做出更明智的决定,选择更高效地处理 SQL 语句, 访问表格或索引。 • Oracle 日志:执行 Check In 操作可能需要对点进行检查,这会影响其他存储库动作,延长 响应时间。为了最大限度降低检查点的影响力,您需要增加日志数量,将 init.ora 中的 log_checkpoint_interva 参数设为零,并降低日志缓冲量。 《管理员参考手册》 > 管理储存库文件 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 398 应急预案 为了确保存储库保持最佳性能和可用性,您需要经常备份存储库 schema,并将另一台服务器 作为备份服务器在硬件出现故障时使用。然后,如果需要,您可以在备份服务器上安装一套新的存 储库服务,并将存储库与新恢复的备份相关连。 在存储库中运行报告 “Repository”目录中的 “Utilities”文件夹中包含很多 SQL脚本。SQL Agent用来运行这些脚本。 备份并恢复存储库 您应该对您的 Repository Database 执行备份并恢复操作。存储库的 Repository Server Data 文件夹中存储着许多关键数据。 当您将本地创建和管理的 *.DM1 文件添加到 Repository 服务器之后,您可以在 Repositoty Database(目前位于 Oracle、Sybase、SQL Server 或 DB2 表中) 管理该文件。您可以在 ER/Studio Repository 安装路径中找到这些文件。如果您接受默认安装路径,那么,这些文件的存储目录为: • ...\Embarcadero\ERStudioX.X\Repository\Data 注: ER/Studio DA 不再使用溢出文件( oveflow file)。现在,长文件被添加到 Repository Database 中。 Repository Server 是连接 Repository 数据库的唯一接口。该接口可用于管理 Repository 数据 的状态。本质上来讲, Repository Server 是支持数据库的交易服务器。此外, Repository 数据库中 还存储交易历史以及安全规则和数据。由于 Repository 服务器负责管理数据库中的数据交易,所 以,每个 Repository 数据库只对应一台服务器。 查询存储库 当您想要运行一些简单的 SELECT 报告时,您可以查询您的储存库。以下是一份简单跨图表报 告范例,其中包含图表、图表中的子模型以及每个子模型中的实体。 注: Repository 不能用于编辑、删除或更新数据。 ER/Studio DA 是您可以用来执行这些操作 的唯一应用程序。 《管理员参考手册》 > 确保存储库的安全性 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 399 示例 我们使用 ER/Studio DA 的 Repository 元模型创建了这份报告。该数据模型位于应用程序安装 目录中: ...\Program Files\Embarcadero\ERStudio Data Architect X.X\SystemModels\Repository450MetaModel.dm1 SELECT dbo.DiagramVer.Name as "Diagram Name", dbo.SubModelVer.Name as "Submodel Name", dbo.EntityVer.Name as "Entity Name", dbo.EntityVer.Name as "Entity Name", FROM dbo.Diagram, dbo.DiagramVer, dbo.Entity, dbo.EntityVer, dbo.Model, dbo.SubModelVer, dbo.SubModel WHERE (dbo.Entity.LatestVersionID = dbo.EntityVer.EntityVerID AND dbo.Model.ModelID = dbo.Entity.ModelID AND dbo.SubModel.LatestVersionID = dbo.SubModelVer.SubModelVerID AND dbo.Model.ModelID = dbo.Entity.ModelID AND dbo.DiagramVer.DiagramID = dbo.Model.DiagramID AND dbo.Diagram.LatestVersionID = dbo.DiagramVer.DiagramVerID) 确保存储库的安全性 存储库的安全性由 Security Center通过为用户创建并分配特殊角色 (Role)和优先权 (Privelege) 进行管理。 注: 为了防止意外封锁数据,您可以将 Admin 用户删除。 例如,我们新建一个用户 JimB,为他分配一个角色并将其命名为 DBA。DBA 的角色拥有多项 优先权,但是 DBA 无权修改逻辑模型。存储库管理员可以将 JimB 与存储库中的任意模型相组合, 他无权修改图表的逻辑模型,但他可以查看模型。 管理员可以限制用户访问存储库中项目、图表、模型、子模型和数据字典中的项目。如要限制 用户访问存储库,管理员需要创建用户,然后为这些用户分配默认的角色,并明确其权限,或者新 建角色并将其分配给用户。然后,管理员可以批准用户访问部分存储库中的所有项目,同时限制或 拒绝他们访问其他存储库中的项目。 在创建用户和角色之前,管理员应该首选理解以下有关储存库的概念: • 分级安全性 :当储存库中包含大量图表时,如果用户必须拥有访问多个图表的同等权限时,为了 便于管理员为用户统一分配角色,管理员可以将一个用户和角色分配给 ER/Studio Repository 的 不同 “ 级别 ”。 例如,您可以在包含大量图表的 ER/Studio Repository 中创建一个 Project。如果您将一 个用户及其角色分配到 Project 中,则该 Project 中包含的任何图表都被赋予同等的权限。存 储库本身可以作为最高级别,向下逐级分配权限。 如果管理员再次为同一用户分配更低级别的角色,那么,该用户的更高级别将被更低级别 取代,例如, UserA 可以以 Viewer 的身份访问存储库,但是 Modeler 的身份则可以访问具体 的图表或子模型。 《管理员参考手册》 > 确保存储库的安全性 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 400 • 客户端安全缓存 :为了支持分离建模协作(如退出 ER/Studio Repository 同时退出网络) ,当 用户登录 ER/Studio Repository 时,与该用户相关的所有安全信息都要缓存。 注: 如果安全信息有任何变动,用户必须重新登录,更新自己的权限。 • Super User:超级用户是安装 ER/Studio Repository 时创建的默认角色。默认的 “Admin” 用 户获得 Super User 的角色。由于该用户拥有所有权限,所以他可以对 ER/Studio Repository 管理的所有图表、用户和角色进行任何操作。您无法删除或编辑该用户,并且只能在 Security Center 的 Repository Security 中的 “Respository” 级别发现它。 • 无权访问 (No Access):“No Access” 角色只能在 Repository 的项目和图表级别使用。该设置 可用于快速、全面防止任何访问具体项目中图表或单个图表的行为。 注: • 当用户从存储库中获取文件时, ER/Studio DA 会跟踪该用户和机器信息。此外,为了便于用 户在离线或无法连接 Repository 服务器时建模, ER/Studio DA 存储了有关用户安全权限以及 文件中图表的信息,这些信息用于: • 当用户登录储存库,并且以另一个用户 / 机器组合信息尝试打开从存储库中获取的 DM1 文 件时, ER/Studio DA 会提示用户由于两个信息发生冲突,该文件无法打开。这样可以确保 某个用户不会尝试对之前其他用户已经获取的图表进行任何变更。由于存储库始终根据用 户和机器组合信息跟踪对象签出状态,所以,只有之前使用同一台及其签出对象的同一个用 户才能签入信息。 • 即使用户无法登录储存库, Repository DM1 文件仍可以在 ER/Studio DA 中打开并使用。 ER/Studio DA 会将之前从储存库中获取文件的用户的安全权限数据保存下来,并用其管理 剩余工作对话,知道该用户登录存储库或者关闭文件。如果多个文件同时打开,但该用户并 未登录储存库,那么,所有文件必须由同一用户取回。当然,这同样适用于用户 IS 登录的 情况。 • 无论任何时候,只要用户登录储存库并保存一个打开的 Repository 文件,基于每个图表缓 存的安全数据都需要及时更新;但是,如果用户在关闭文件之前未执行保存操作,那么,和 该用户和图表有关的任何安全权限变更都无法缓存到文件中。所以,如果您打算离线工作, 并且自上次保存文件之后安全设置有所变化,那么,您应该登录存储库,打开每个文件,并 且在开始离线工作之前将其完整保存。 • 权限设置可应用于项目或储存库级别,当同时有两份文件打开但用户处于离线状态时,此时会 出现冲突。如果同时有两份文件打开并且和存储库级别或同一项目有关的安全信息已经缓存 完毕,但是缓存数据有所不同,那么,此次只能使用并保存最近保存的数据 -- 如果保存过。 • 如果管理员修改了安全 UI,如修改了批准或取消访问文件夹的权限,或者使用不同权限在项 目间移动图表,此时,用户必须重新登录,更新自己的权限。 本节主要内容如下: • 创建和管理角色 • 创建和管理用户 • 批准和禁止用户访问储存库项目 其他参考资料: 使用储存库中的对象 《管理员参考手册》 > 确保存储库的安全性 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 401 创建和管理角色 ER/Studio DA 可用于创建用于不同权限的定制角色。存储库对象类别权限( Repository Object Type Permissions)是预先定义的优先权,用于对存储库项目进行操作。您可以将这些权限 分配给一个角色,那么,承担该角色的用户将有权对存储库进行一些操作。您可以使用多项优先权 创建符合您自己的特殊角色。 例如,您可以创建并分配如下一些角色: • Repo Level Basic:有用存储库级别的所有权限,分配给储存库级别的目标用户。 • Logical Only Modeling:拥有有关图表、模型和子模型级别的所有优先权,该权限不适用于 物理模型,可分配给储存库每个图表中图表层级的目标用户,或者至少分配给可以使用这些对 象的目标用户。 有了上述角色和权限分配,当目标用户添加图表时,用户可以签出图表,但不能修改。为了便 于用户在添加逻辑模型之后及时修改,管理员需要将 “Logical Only Modeling” 角色分配给存储库 层级的目标用户。 注: 要想访问、创建、更新和删除用户信息,存储库管理员必须拥有 Repository Object Type Permission、 Access Security Info 和 Update Security Info 优先权。 创建、更新和删除角色 1 选择 Repository > Security > Security Center。 2 选择 “Manage Roles” 选项卡。 3 单击 “New”。 4 单击 “Repository Object Type” 列表中的一个项目,然后在 “Repository Object Type Permission” 域分配您希望分配给该角色的权限。 5 重复以上操作, 步骤 4 完成每个 “Repository Object Type” 设置。 6 单击 “Apply”,继续修改安全设置,修改完之后单击 OK,退出安全中心。 7 如要将新角色分配给现有用户,请参阅 “ 为用户分配角色 ”。 8 通知受影响的用户,说明他们应该退出存储库,然后再次登录,接收安全更新信息。 注: • 一旦创建成功,管理员可以随时选择该角色,对其执行更新、删除或重命名操作。将角色重命 名不会影响用户的优先权,但是,如果您删除一个角色,而使用该角色的用户曾经使用该角色 访问储存库项目,那么,该用户将无法再访问这些项目。 • 没有必需权限的用户无法修改对象,无论对象是否签出。 《管理员参考手册》 > 确保存储库的安全性 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 402 • 为了便于用户即时访问新添的图表(不是项目) ,管理员应该对权限进行设置,如:如果用户 获得了一个子模型并且希望新增一个实体,那么,该用户必须拥有对包含该子模型的模型执行 “Create Entity” 操作的权利,以及在该子模型中执行 “Add Member” 操作的权利。如果用户 删除一个实体,那么,该用户必须拥有在子模型中执行 “Remove Member” 的权利。此外,如 果用户想选择 “Delete From Model” 复选框,那么,该用户必须拥有在该模型中执行 “Delete Diagram Object” 的权利。 • 一旦您删除存储库中的某个角色,数据库中将不包含该角色。 • 如要访问 /创建/更新/删除用户信息,储存库管理员需要拥有和该角色有关的 Access Security Info 和 Update Security Info 权限。 • 在删除一个角色之前,您必须断开与任何相关图表的链接,并且删除使用该角色的所有用户。 • 如下表格列出了储存库对象类型( Repository Object Types)、您可以分配的权限以及使用这 些权限进行的一般操作: 存储库对象类型 储存库对象类型权限 许可的操作 储存库 Access Security Info Security Center:查看设置 Update Security Info Security Center:查看和修改设置 Create Diagram Add Diagram Update Diagram Check Out Diagram、 Check In Diagram Check Out Object、 Check In Object Undo Check Out Diagram、 Undo Check Out Object Redo Check Out Diagram、 Redo Check Out Object Delete Diagram 删除图表 如果您删除存储库中的一个图表,本地磁盘中仍存有该文件。 Create Enterprise Dictionary Create Enterprise Dictionary Update Dictionary Check Out Data Dictionary、Check Out Dictionary Object、Check In Data Dictionary、Undo Check Out Data Dictionary、Redo Check Out Data Dictionary Create Project Create Project Delete Project: Delete Project: 项目 Add Project Member Add Diagram to Project Remove Project Member Remove Diagram from Project 《管理员参考手册》 > 确保存储库的安全性 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 403 图表 Bind Enterprise Dictionary Create New Enterprise Data Dictionary、 Bind Existing Enterprise Data Dictionary UnBind Enterprise Dictionary Remove Enterprise Data Dictionary Compare Models Run Compare/Merge Wizard Create Physical Model Create Physical Model Delete Physical Model Delete Model Set Named Release Set Named Release Delete Named Release Delete Named Release Rollback Diagram To Named Release Rollback Diagram Update Diagram Properties Edit Title Block Data、 Edit Diagram Properties Create Data Flow “Data Lineage” 选项卡中的 “Create New Data Flow” Delete Data Flow “Data Lineage” 选项卡中的 “Delete Data Flow” 数据字典 Create Dictionary Object Create:Attachment Type、 Attachment、 Default、 Rule、 Data Movement Rules、 Reference Value、 User Datatype、 Domain Folder、Domain、Reusable Trigger、Reusable Procedure、Library Update Dictionary Object Edit:Attachment Type、 Attachment、 Default、 Rule、 Data Movement Rules、 Reference Value、 User Datatype、 Domain Folder、Domain、Reusable Trigger、Reusable Procedure、Library Delete Dictionary Object Delete:Attachment Type、 Attachment、 Default、 Rule、 Data Movement Rules、 Reference Value、 User Datatype、 Domain Folder、Domain、Reusable Trigger、Reusable Procedure、Library 逻辑主模型 Create Diagram Object Create:Entity、View、Relationship、View Relationship、Subtype Cluster、 Subtype、 Title Block Delete Diagram Object Delete:Entity from Model、View from Model、Relationship from Model、 View Relationship from Model、 Subtype Cluster from Model、 Subtype from Model、 Title Block from Model Update Diagram Object Entity Editor:Create/Modify/Delete:Attribute、 Key、 Key Attribute、 Check Constraint View Editor:Modify View、Create/Modify/Delete:View Table、 View Column Key Editor:Modify Key、 Create/Modify/Delete Key Attribute Relationship Editor:Modify Relationship Subtype Cluster Editor:Modify Subtype Cluster Edit Model:Options , Properties Create Submodel Create Submodel Delete Submodel Delete Submodel 存储库对象类型 储存库对象类型权限 许可的操作 《管理员参考手册》 > 确保存储库的安全性 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 404 逻辑子模型 Add Member Submodel Editor:Add to Submodel Remove Member Submodel Editor:Remove from Submodel、Delete Entity from Submodel Remove Database View Delete:Relationship from Submodel、 View Relationship from Submodel、 Subtype Cluster from Submodel、 Subtype from Submodel Update Display Properties Move/Resize:Entity/Table、 View、 Title Block、 Text Block、 Subtype Cluster Color/Font Changes:Entity/Table、 View、 Title Block、 Text Block、Relationship Line、View Relationship Line、Subtype Cluster Move:Relationship Line、 View Relationship Line Create/Modify/Delete:Text Block Change Model Notation、 Perform Layout、 Zoom、 Align Objects 物理模型 Create Diagram Object Create:Table、View、Relationship、View Relationship、Schema Object、 Title Block Delete Diagram Object Delete:Table、View、Relationship、View Relationship、Schema Object、 Title Block Update Diagram Object Create/Modify/Delete:Column、 Index、 Index Column、 Check Constraint、View Table、View Column、Key Attribute、Key、 Relationship、 Subtype Cluster Edit Model:Options, Properties 更改数据库平台 Create Submodel Create Submodel Delete Submodel Delete Submodel 物理子模型 Add Member Submodel Editor:Add to Submodel Remove Member Submodel Editor:Remove from Submodel Delete:Table from Submodel、 View from Submodel、 Relationship from Submodel、 View Relationship from Submodel、 Schema Object from Submodel Update Display Properties Move/Resize:Entity/Table、 View、 Title Block、 Text Block、 Physical Schema Object Color/Font Changes:Entity/Table、 View、 Title Block、 Text Block、 Relationship Line、 Physical Schema Object Move:Relationship Line、 View Relationship Line Create/Modify/Delete:Text Block Change Notation、 Perform Layout、 Zoom、 Align Objects 存储库对象类型 储存库对象类型权限 许可的操作 《管理员参考手册》 > 确保存储库的安全性 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 405 为用户分配角色 为用户分配角色之后,该用户将拥有针对该角色选择的所有权利。 1 选择 Repository > Security > Security Center。 2 如果目前用户没有角色 ,在 “Repository Security” 选项卡的 “Available Users” 列中单击用 户名,然后将该用户名拖至 “Available Roles” 列中的一个角色名称。 如果目前用户已经有了一个角色 ,在 “Repository Security” 选项卡的 “Available Roles” 列 中单击用户名,并将其拖至 “Available Roles” 列中的另一个角色名称。 3 单击 “Apply”,然后单击 OK,退出 Security Center。 4 通知用户必须退出储存库然后再次登录,接受安全更新。 Data Flow Model Create Data Flow Object Create:Data Flow、 Data Lineage Component、 Data Stream、 Source Update Data Flow Object Edit: Data Flow、Object、Transformation、Data Stream、Source Check In:Data Flow, Object、 Transformation、 Data Stream、 Source Check Out:Data Flow, Object、 Transformation、 Data Stream、 Source Undo Check Out:Data Flow, Object、 Transformation、 Data Stream、 Source Redo Check Out:Data Flow, Object、 Transformation、 Data Stream、 Source Note:用户必须有权更新图表才能更新图表中的数据流对象。 Delete Data Flow Object Delete:Data Flow、Data Lineage Component、Transformation、 Data Stream Note:删除 “Data Lineage” 窗口中的表格 / 实体组件并不等于模型 中表格 / 实体被删除。 Note:用户必须有权删除图表才能更新图表中的数据流对象。 Data Flow Display Update Display Properties Move/Resize:Transformation、 Component、 Data Flow Color/Font Changes:Data Lineage Background、 Component、 Transformation、 Data Stream Diagram And Object Display Options:更改该对话框中的 任何选项,控制数据血统图表显示方式。 Perform Layout、 Zoom、 Align Objects、 Layout Data Stream、 Straighten Data Stream、 Remove All Bends 存储库对象类型 储存库对象类型权限 许可的操作 《管理员参考手册》 > 确保存储库的安全性 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 406 创建和管理用户 管理用户包括创建、修改和删除用户账户权限和登录信息,签入用户在异常情况下签出的文 件。您可以通过关联用户和角色,控制该用户对具体图表、模型、子模型或 Enterprise Data Dictionary 的操作权限。通过使用 Roles 设置,您可以选择分配给用户操作储存库项目的权限。 注: 要想访问、创建、更新和删除用户信息,存储库管理员必须拥有 Repository Object Type Permission、 Access Security Info 和 Update Security Info 优先权。 创建、编辑、删除、撤销、恢复、退出和签入用户 1 选择 Repository > Security > Security Center。 2 单击 “Manage Users” 选项卡。 3 在 “Manage Users” 选项卡中,您可以单击列表中的用户名,然后单击管理选项和以下要求 的提示,对用户进行管理。 4 继续修改安全信息,然后单击 OK,退出安全中心。 5 如要为用户分配权限,参阅 “ 为用户分配角色 ” 部分内容。 6 通知用户必须退出储存库然后再次登录,接受安全更新。 以下是需要额外说明的选项: “User Management” 域 • New:单击 “New” 打开 “Create Repository User” 对话框。 • Directory Service User:如果您想要新用户使用他们的 Windows 证书登录储存库,那么, 您可以选择该选项。此时, ER/Studio DA 会打开联网的 LDAP 服务器,确认用户证书。目 录服务用户在查看储存库登录对话框中勾选 “Log in using current Windows account”选项, 使用自己的 Windows 用户名和密码登录存储库。 • Force Check In Repository User:当您使用 “Check In User” 选项时,您可以选择如何处理 已经签出的对象。 • Convert to non-exclusive:支持用户继续修改已经签出的项目。其他用户可以签出相同的 项目。当签入非排他性签出项目时,如果自上次签出之后其他用户对该项目进行了修改,那 么,用户可以解决差异问题,选择覆盖其他用户的修改,或者使用储存库中的修改信息更新 自己的本地资料。 • Undo Check Out:当用户连接储存库时,各项目的状态将即时更新,显示尚未签出。 注: • 您无法删除或撤销 Admin 用户,但您应该修改默认的 Admin 密码 (默认密码为 Admin)。 • 新用户显示在用户列表中,星号表示用户没有任何角色。 《管理员参考手册》 > 确保存储库的安全性 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 407 • 用户必须退出储存库并再次登录,接受任何安全更新。 • 管理员不需要知道用户密码便可为用户创建一个新密码。 • 管理员可以通过 “Manage Users”选项卡找出登录储存库的用户以及他们目前是否已经签出项 目。掌握用户是否已经签出项目非常重要,尤其当升级储存库时,因为升级存储库前后用户应 该检查并了解所有项目,当升级完毕之后签出项目。掌握哪些用户登录储存库也非常重要,尤 其当安全中心设置发生变化时,因为如果设置发生变化,管理员应该请求在线用户退出储存库 并再次登录,接受安全中心更新。 • 管理员可能需要用户退出储存库,接受安全中心的更新。例如,项目中新增了一个图表,并且 并非可以访问该项目的所有用户都有权访问该图表。管理员可以对项目进行必要修改,然后要 求用户退出储存库并再次登录,接受安全中心的更新。此外,其他异常情况可能需要管理员要 求用户退出储存库。 批准和禁止用户访问储存库项目 在 Security Center 的 “Repository Security” 选项卡中,拥有适当权限的用户可以将访问不同 对象的权限分配给其他用户,批准他们对存储库项目执行一些操作,通知禁止他们对同一对象执行 其他操作。 针对访问储存库项目分配用户角色 1 登录储存库。 2 选择 Repository > Security > Security Center。 3 单击 “Manage Roles” 选项卡,展开可用角色,确定现有角色是否允许您批准用户权限。必 要时新建一个拥有适当权限的角色。 4 单击 “Repository Security” 选项卡。 5 在 “Repository Object” 域选择一个您需要批准或禁止访问的储存库项目(图表、对象、子 模型或数据字典)。 6 在 “Available Users” 下方选择一个您希望承担该角色的用户, 并将其拖至 “Available Roles” 域中合适的位置。 提示 : 如要撤销用户访问储存库项目的角色分配,单击该储存库项目,并将该角色下方的用户 名拖至 “Avilable Roles” 域的另一个角色。 注: • 每个用户针对每个对象只能拥有一个角色。但是,针对不同的对象,一个用户可以拥有多个不 同角色。 • 如果用户包括在 “Available Users” 域中但是无法选择,说明该用户已经被取消,您在修改用 户之前必须首先恢复该用户。 《管理员参考手册》 > 确保存储库的安全性 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 408 防止用户访问具体储存库项目 系统定义的 “No Access” 角色可用来防止用户访问选定的项目或图表。 1 登录储存库。 2 选择 Repository > Security > Security Center。 3 在 “Repository Object” 域,单击选择一个您希望个别用户无法访问的项目或图表。 4 在 “Available Users” 域的用户列表中,单击一个用户名或 CTRL- 单击多个名称,然后将其拖 至 “No Access” 域的 “Available Roles” 角色。 5 重复步骤 3 和步骤 4 避免用户访问其他图表和项目。 6 单击 “Apply”,继续修改安全设置,修改完之后单击 OK,退出安全中心。 更改用户访问储存库项目的权限 如要更改用户访问储存库项目的权限,您需要更改该用户针对储存库项目向右的权限,或者针对 个别储存库项目为该用户分配其他角色。必要时您可以强制用户退出,然后修改用户访问权限。 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 409 教程 本教程主要用于帮助您学会使用英巴卡迪诺数据建模和数据库设计解决方案、 ER/Studio Data Architect (ER/Studio DA) 及其 Enterprise Edition 的协作储存库。 结束本教程之后,您将学到使用 ER/Studio DA 特性和优势所必需的基础知识。您还会学会如 何完成以下任务: • 新建数据模型。 • 使用逻辑和物理图表。 • 充分利用以生产率为中心的特性,如强大的报告引擎。 • 使用 Enterprise Edition 进行协作,指定版本并管理模型的安全性。 • 使用一般任务和命令可以让您事半功倍。 本教程分为九个课程。您可以一次完成所有课程,或者在时间允许的情况下分别完成每节课。 • 开始使用 ER/Studio DA • 逻辑和物理建模 • 现有数据库的文档化 • 数据沿袭文档化 • 图表导航和美化 • 导入和导出元数据 • 维度建模 • 自动化任务 • 协作建模 您可以使用基础教程了解该产品的主要特点,同时深入了解 ER/Studio DA。 教程 > 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 410 开始本教程之后,您可以在 Main 菜单中单击 Help,查找更多通过大量实施和构建活动总结的 额外资源。 教程 > 开始使用 ER/STUDIO DA 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 411 开始使用 ER/STUDIO DA 以下图示列出并描述了 ER/Studio DA 用户界面中一些主要元素的功能。 工具栏可以放置在 Data Model Explorer 显示有关 逻辑和物理模型、 子模型和嵌套子模型的信息。 储存库对象状态 图标显示实时 用户访问信息。 复杂模式对象(如 函数)可以显示在界面上, 用于说明相互间的依赖关系。 ER/Studio DA 复杂图表 自动布局工具支持 单击清除 图表对象。 应用程序窗口的任意位置。 教程 > 开始使用 ER/STUDIO DA 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 412 使用 ER/STUDIO DA 开始数据建模 1 在窗口中的 Start > Programs 菜单中选择 Embarcadero > ERStudio Data Architect。 2 选择 File > New > Draw a new data model。 您可以看到, Create a New Model 对话框中列出了几种使用 ER/Studio DA 开始建模的 方法: • 通过绘制新的数据模型从零开始构建新的设计。 • 通过现场逆向工程在现有数据库基础上构建数据模型。 • 导入其他建模成果的设计,如 Computer Associate's ERwin 或 SQL 文件。 提示 : 在开始导入 SQL 之前,您可以为您的模型选择初始布局风格。 3 确保为新的模型类型选择 Relational,然后单击 OK。 教程 > 逻辑和物理建模 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 413 选择 Draw a new data model 之后单击 OK, ER/Studio DA 将显示以下图示: 逻辑和物理建模 ER/Studio DA 既支持逻辑建模(无 DBMS 或特别技术),也支持物理建模( DBMS)。 ER/Studio DA 的设计旨在帮助组织机构灵活分析业务问题,按照逻辑设计应用程序,并根据需要 对逻辑模型进行多种不同的物理解释。基于同一 DBMS(例如 Oracle)或其他 DBMS(如 Oracle、 SQL Server 和 DB2)的的逻辑模型可以生成多个物理模型。后续课程中我们将详细介绍逻辑模型 和物理模型的生成过程。 • 使用数据字典域设置新实体 • 确定实体间的关系 • 创建和使用 ER/Studio DA 中的子模型 • 通过逻辑模型生成物理模型 • 物理模型的反向规格化 • 了解实体映射到物理模型的方式 教程 > 逻辑和物理建模 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 414 使用数据字典域设置新实体 正如开始使用 ER/Studio DA 所讲的,您已经选择绘制一个新的数据模型,从零开始构建一个逻 辑模型。在开始添加实体之前,我们需要使用一些实例域(可重复使用的属性)设置 ER/Studio DA。 1 选择 File > Import Data Dictionary。 2 单击 File Location 方框右侧的 省略号 ,打开 Sample Models 文件夹,文件目录为: • Windows XP: C:\Documents and Settings\All Users\Application Data\Embarcadero\ERStudioDA_X.X\Sample Models • Windows Vista: C:\ProgramData\Embarcadero\ERStudioDA_X.X\Sample Models 3 双击 Orders.dm1 示例模型然后单击 OK。 该模型中包含预先输入的示例数据字典。 注: 在 Under Resolve Imported Objects with Duplicate Names 下方,您可以选择其中一个 选项,确定字典对象的导入方式。这对于向包含字典对象的图表中导入对象至关重要。 教程 > 逻辑和物理建模 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 415 打开之后,您会发现 ER/Studio DA Model Explorer 自动切换到 Data Dictionary 选项卡, 以便于您立即拖放域。 4 现在开始向 Data Model Window 中添加实体,单击 Modeling Toolbar 中的 Entity 工具,然 后单击 Data Model Window,放入实体。 提示 : 单击 Entity 工具后,光标立即变成实体符号,此时,您可以单击任意数量的实体并将其 放入 Data Model Window 中。 5 单击右键,鼠标恢复为选择光标。 教程 > 逻辑和物理建模 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 416 6 在实体名称域中键入 Customer,用来取代系统默认的实体名称 Entity1。 7 在Data Dictionary选项卡的Domains文件夹中,将 ID域定位在Numeric Domains文件夹中。 8 单击 ID 域 (不要释放鼠标),将该域拖至 Customer 实体,然后释放鼠标,将该域放在实体 名称正下方,即实体主键域。 提示 : 您可以编辑或重命名一个实体,插入、编辑或重命名属性,只需按下 Shift 键然后单击名 称或属性即可。按下 Tab 键可以在实体名称、主键和非主键域主键切换。命名域之后, 按下 Return,插入新域。 提示 : 如果您需要放大实体,读取实体名称和属性,按下 F8键打开 Zoom窗口,然后使用 Zoom 窗口的滚动条将实体放在 Data Model 窗口中央。按下 Shift 同时正向滚动鼠标,增加视 图比例。您可以使用 Pan 工具重新定位视图,以便于更好地查看实体。 9 在实体中单击 ID(我们刚刚在 ID域中新建的属性名称) 并将其改为 CustomerID(如上所示)。 10 重复步骤 7 和步骤 8,在以下域中完成 Customer 实体设置: • Property Domains 文件夹中的姓名和电话号码 • Address Domains 文件夹中的地址、城市、县、区号。 11 将另一个实体放在 Data Model 窗口中,我们称它为 Order。 12 将 ID 域拖至 Order 实体的主键域,并将 ID 域名改为 OrderID。 13 右键单击 Order 实体,然后选择 Comments。 14 在 Comments 编辑器中输入文本,单击 Add 后单击 Save。您可以使用同样的方式为任意数 据库对象添加评论。当您想要让其他用户知道自己对模型的反馈时,这种方法非常实用。 15 保存您的数据模型。我们将在本教程的下节课程中用到该模型。 教程 > 逻辑和物理建模 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 417 确定实体间的关系 1 在 Modeling 工具栏中单击 Non-Identifying, Mandatory Relationship 工具。 注: 本教程的屏幕截图通过采用 IE(Crows Feet) 标记的模型完成。根据您的模型当前使用的 标记,每种关系的图标都有所不同。 提示 : 您可以选择 Model > Model Options,然后选择 Notation 域中另一个标记选项修改模型 标记。 2 如要确定 Customer 和 Order 之间的关系,单击父实体 Customer,然后单击子实体 Order。 注: ER/Studio DA 可以自动将主键从父实体扩展到子实体,进而支持最佳设计实践。如果有 候选键不能扩展到子实体,您可以在 Relationship Editor 中 Parent Key 列表中选择所有 显示的父实体键。如果删除一种关系,非原生扩展的属性也将被删除。但是,如果您想 要保留关系中的子列或外键约束,当您删除关系时,您可以勾选 “Make Foreign Keys Native” 选项。在这种情况下,如果 Customer 和 Order 之间的关系被删除, CustomerID 将被保留在 Order 实体中。 域是什么? 域是用来确定标准的、可重用属性 / 列的重要工具。它们允许数据建模人员一次创建一 个数据元素(如, ID 域,您需要您的所有实体用其作为主键) ,并且这些元素有相同的数据类型、 定义、规则和约束,无论数据元素分布在哪里,无论与谁绑定。阅读 ER/Studio DA 的 Help 文件 了解更多有关域的信息。 教程 > 逻辑和物理建模 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 418 创建和使用 ER/STUDIO DA 中的子模型 既然您已经大致了解了如何在 ER/Studio DA 中从零开始构建逻辑模型,接下来就需要重点理 解如何使用 ER/Studio DA 的重要导航特性,我们称之为子模型。子模型和嵌套子模型专门用于分 解大而复杂的数据模型视图,以便于用户能够集中了解某个具体部分。要想理解子模型,重点是理 解子模型的任何变更, other than layout, color, display settings, notation, etc. which can be unique to the submodel 将自动显示在 Main Model 视图中。也就是说,修改子模型对象的属性或 者添加新属性之后,所有变更都会自动扩展到该模型对象的 Main Model。 关闭当前的示例模型,打开更成熟的模型。通过本次练习,了解有关子模型建模的更多信息。 1 选择 File > Open。 2 选择 Orders.dm1 然后单击 Open。 3 如果想保留该示例模型以便于以后使用,选择 File > Save As,然后使用新名称保存 Orders.dm1 文件。 在本次练习中,我们将对该模型加以修改。 4 折叠单击 Data Model Explorer 中的 Data Model 选项卡之后显示的文件夹,如下所示: 教程 > 逻辑和物理建模 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 419 Orders.DM1 示例模型中没有物理模型。该模型中包括多个子模型文件夹,这些文件夹可 以帮助您描述逻辑模型: • 主模型 Orders.DM1 文件中所有逻辑对象的集合。请注意,文件夹图标上没有放大镜,说明 该模型为主模型。 • Bill of Materials 到 Shopping Cart 子模型,属于从主模型衍生的实体集合,可用于描述主模 型的某个具体部分。 • Alternate Key 到 Primary Key 嵌套子模型,是子模型的子模型。 您可以随意打开任意项目查看更多信息。单击加号 (+) 可以展开这些文件夹。 现在,我们创建一个子模型,模型中的所有对象都与 Orders.DM1 地址组件相关。 5 开始创建一个新子模型之前,首先要导航至逻辑主模型,然后按下 CTRL 键并单击 Data Model 教程 > 逻辑和物理建模 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 420 Explorer 中的对象 (如下所示)。 注: 在 Data Model 窗口中选择所有在 Data Model Explorer 中选择的对象(如下所示) 。您还 可以通过在 Data Model 窗口中捕捉这些对象选中实体。选择实体之后,选择 Model > Create Submodel。 教程 > 逻辑和物理建模 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 421 6 在 Create Submodel 下方输入 Address Components 作为子模型的名称。 7 单击 OK。 ER/Studio DA 创建 Address Components 子模型。 结果如何?如何导航至子模型? 子模型创建完毕之后,您会发现新的子模型已经显示在 Data Model Explorer 中,文件夹上方有放大镜符号,表示该模型为子模型(和 Bill of Materials 以及其 他子模型一样) 。基于逻辑模型生成物理模型。 ER/Studio DA 可以基于单个逻辑模型生成许多物理模型。 ER/Studio DA 中,您可以通过多种 方式充分利用多个物理模型完成设计。关于如何使用多个物理模型的示例如下: • 管理现有应用程序中的变更:保持独立开发、测试并制作代表具体数据库的物理模型图表。 • 迁移数据库应用程序:使用 ER/Studio DA 作为分析和设计中枢,迁移数据库应用程序。除了 新的目标物理模型之外,您还可以管理传统源数据库应用程序的物理模型。目标物理模型可以 代表之前在传统数据库中维护的整个新的 DBMS。 通过逻辑模型生成物理模型 ER/Studio DA 可以基于单个逻辑模型生成许多物理模型。 ER/Studio DA 中,您可以通过多种 方式充分利用多个物理模型完成设计。关于如何使用多个物理模型的示例如下: • 管理现有应用程序中的变更:保持独立开发、测试并制作代表具体数据库的物理模型图表。 • 迁移数据库应用程序:使用 ER/Studio DA 作为分析和设计中枢,迁移数据库应用程序。除了 新的目标物理模型,您还可以管理传统源数据库应用的物理模型,该模型可以代表之前在传统 数据库中维护的全新 DBMS。 教程 > 逻辑和物理建模 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 422 现在,我们在逻辑模型基础上生成一个新的物理模型,然后再构建一个数据库。在这里,我们 使用 Orders.DM1 示例模型。 1 打开您的 Orders.DM1 示例模型。 提示 : 使用最后一课中介绍的步骤完成操作。 2 选择 Main Model 然后单击 Model > Generate Physical Model。 ER/Studio DA 显示一个分步向导,引导您完成 DBMS 物理模型的生成过程。 3 将新的物理模型取名为 DB2 Physical Model,然后选择 DB2 UDB for OS/390 8.x 作为目 标 DBMS 用于生成。 4 继续运行《 Generate Physical Model Wizard》,该向导将针对即将生成的物理模型提出非常 清晰、具体的问题。 注: 向导将提示您定制各个项目,如单个对象选择、索引分配、默认存储参数、可能出现在 逻辑模型中的多对多关系解决方案以及命名规则。该向导还包括 DBMS 验证检查步骤。 教程 > 逻辑和物理建模 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 423 提示 : 快速启动选项可以存储一般设置,以便于用户在该模型或其他任何模型中重用操作。您 可以重用其他模型的设置,只需在向导最后一页保存快速启动信息时选择 Use File-Based Quick Launch Setting 选项即可。 5 如要生成新的物理模型,在向导的最后一页单击 Finish。 我们已经在逻辑模型基础上生成了一个物理模型,现在,您可以通过 Data Model Explorer 轻松导致至具体的对象, 如这里选择的 CUSTMR 表格。双击查看该对象的物理细节, 如 DDL、索引( Indexes)、分区( Partitions)和存储( Storage)。 新物理 模型,位于 Data Model Explorer 中 双击 CUSTMR” 打开 Table Editor, 查看设计 细节,如 DDL 脚本。 教程 > 逻辑和物理建模 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 424 物理模型的反向规格化 ER/Studio DA 提供了反向规格化向导,用来帮助您在物理模型生成之后进一步优化物理设 计。该向导可以帮助您自动完成该过程,同时保持物理表格和逻辑实体之间的关联性。 反向规格化向导的使用取决于您在选择 Denormalization Mapping时,在物理模型中选择了哪 些表格。例如,如果您选择了两个相互关联的表格,那么有效操作为 Rollups 或 Rolldowns。 如果只选择了一个表格,那么您可以选择分割表格。如果选择了两个不相关的表格,您可以使 用 Table Merge 选项。 我们使用上节课生成的物理模型来举例说明反向规格化的操作。我们可能想要缩减 Custmr 表 格,那我们将表格分成两个物理表格,分别取名为 Custmr_East 和 Custmr_West。分割表格可以 缩短查询时间,而且便于您将表格保存在多个不同的位置,这样会再次节省查找时间。 教程 > 逻辑和物理建模 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 425 在开始操作 之前, Custmr 表格的外观如下所示: 1 打开您在上节课中修改并保存的 Orders1.dm1 模型。 2 在 Data Model Explorer 中右键单击 Custmr 表格。 3 选择 Denormalization Mapping > Horizontal Splits。 请注意,由于我们只选择了 Custmr,唯一可能的映射便是横向和纵向。 打开 Horizontal Table Split Wizard。 4 在第 1 页中键入 2 作为分割的次数。 5 在第 2 页中,将 splits1 和 splits2 分别改名为 Custmr_East 和 Custmr_West。 6 在第 3 页单击 Next。 教程 > 逻辑和物理建模 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 426 我们保留所有关系。 7 在第 4 页键入反向规格化操作的名称和定义,选择 Reflect changes to original tables,然后 单击 Finish。 完成!在分割操作结束 之后, Custmr 表格分为两个物理表格,如下所示: 除了名称不同,两个表格的所有元素都完全相同。 您可以使用纵向分割选择成果表格中包含的属性。 反向规格化映射结果保存在子模型下方的数据模型树形图中。您可以使用它取消操作或者查 看历史记录。 ER/Studio DA 跟踪了这些操作前后的所有状态信息。在下节课中,我们将介绍有关 使用位置( Where Used)分析的内容,这种分析将在逻辑和物理模型之间展开。 教程 > 逻辑和物理建模 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 427 了解实体映射到物理模型的方式 我们已经完成了反向规格化操作, 逻辑实体Customer已经变成了两个物理表格, Custmr_East 和 Custmr_West。但是,逻辑模型和物理模型之间的关系并没有消失。 ER/Studio DA 可以让您了 解逻辑模型中的 Customer 映射到 DB2 物理模型的过程。 我们以逻辑模型中的 Customer 实体为例。 1 在 Data Model Explorer 中导航至逻辑模型中的 Customer。 2 双击 Customer 实体启动 Entity Editor。 3 单击 Where Used 选项卡。 教程 > 现有数据库的文档化 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 428 树形图展开之后,您会看到该对象的整个血统。需要注意的是, Custmr_East 和 Custmr_West 均被列为 Customer 实体的物理实现。您可以查看数据模型树形图中的反向规 格化映射对象,进而了解最终结果的来源。 此外, Where Used 选项卡还显示逻辑和物理模型中个别实体的子模型使用信息。您可以 通过该信息了解该实体属于哪些业务范围。 注: Where Used 信息也包括在属性和列中。 总结 在本节课中,您已经体会到了快速且轻松完成以下操作的过程: • 从零开始构建逻辑数据模型。 • 创建新的子模型视图并了解如何在一个更大主模型的某个部分上建模。 • 准备构建新数据库时基于逻辑数据库生成物理模型。 • 反向规格化物理模型中的对象。 • 使用 Where Used 选项卡查看逻辑模型和物理模型之间的映射。 更多信息请参考 ER/Studio DA 帮助文件以及制作 “ 逻辑模型 ”、“ 制作物理模型 ”、“ 同步物 理模型和逻辑模型 ” 和 “ 生成脚本文件或数据库 ” 等主题。 现有数据库的文档化 ER/Studio DA 最强大的一项应用时文档生成器,该应用可用于向企业传输复杂的数据库和相 关元数据。 ER/Studio DA 具有广泛的报告生成能力: • HTML Report Generation:即时生成 HTML 网站,使用标准浏览器,如 Microsofts Internet Explorer 或 Netscape Navigator,通过数据模型和模型元数据实现轻松导航。 • RTF Report Generation:即时生成兼容 Microsoft Word 等应用的文档。 在随后练习中,我们将逆向工程现有数据库,并生成 HTML 报告,分发给依赖数据模型信息 的用户用于导航,但出于安全或组织原因,这些用户不能连接数据库。 教程 > 现有数据库的文档化 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 429 生成 HTML 格式的内联网字典报告 PRE-REQUISITE:假设您能够连接现有数据库。请参考 ER/Studio DA 帮助文件中的 “ 逆向工程 现有数据库 ”,了解详细的设置步骤。如果无法连接现有数据库,您也可以基于已经安装的示例模 型生成文档。跳读以下与逆向工程相关的步骤,从 步骤 1 到步骤 7,当您打开 ER/Studio DA 中的 示例模型后,开始执行 步骤 8。 1 选择 File > New。 2 选择 Reverse-engineer an existing database。 3 单击 Login。 您可以逆向过程数据库,或者通过 ODBC 数据源,或者通过 RDBMS 原生客户端连接。 这里,我们使用原生连接连接 Microsoft SQL Server。 4 键入相关连接信息,如数据源名称,以及用户名和密码,然后单击 Next。 教程 > 现有数据库的文档化 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 430 . 5 阅读《逆向过程向导》 ,为模型选择对象、选择和布局偏好。 教程 > 现有数据库的文档化 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 431 . 教程 > 现有数据库的文档化 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 432 教程 > 现有数据库的文档化 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 433 6 继续阅读向导,选择布局方式和其他偏好。 教程 > 现有数据库的文档化 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 434 7 单击 Finish, ER/Studio DA 开始逆向工程您的数据库! 当逆向工程数据库操作结束后,我们将生成一个完整的 HTML 格式数据库报告,以便于 您所在单位的其他同事查看。 8 在 Data Model Explorer 中选择 Physical Main Model。 教程 > 现有数据库的文档化 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 435 9 选择 Tools > General Reports。 10 在向导的第一页,选择 HTML 作为报告格式。 教程 > 现有数据库的文档化 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 436 11 在第 2 页,分别单击两个 Diagram 选项卡中的 Select All。 12 在 Data Dictionary 选项卡和 Procedures 选项卡中单击 Select All,然后单击 Next。 注:第 2 页中可用的选项卡取决于选定模型的数据库平台支持哪些对象。有些数据库支持的数 据库对象多于 Microsoft SQL Server 2005 支持的对象,如 Oracle11g 和 IBM DB2 LUW 9.x, 本页中还包含与之相关的程序、功能、触发器、数据包和表空间等选项卡。如果模型经过反向 规格化, Denormalization Mappings 选项卡仍会显示。 13 在第 3 页中的 Submodel Image Options 域 单击 Select All。 提示 : 在 Logo and Link Options 下方,您还可以选择将 ER/Studio DA 默认的英巴卡迪诺标识 教程 > 现有数据库的文档化 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 437 替换成您自己公司的标识(超级链接)。 由于 HTML 格式可以包括在对象定义中,所以,您还可以选择保留在多个对象编辑器 Definition 选项卡中设定的格式。 14 单击 Next,继续打开第 4 页,然后单击 Finish。 ER/Studio DA 开始报告发布过程,并打开默认浏览器,以便于您查看报告。 教程 > 现有数据库的文档化 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 438 15 完成! 通过您的浏览器开始导航报告。导航的准确性堪比您使用 ER/Studio DA 的效果!展开树 形图,查找并单击 Model Image (如下所示) 。您会发现一个只读版本的数据模型(如下所 示)。使用 Explorer 导航至任何您需要的元数据,或者在模型图像中选择实体和关系并查看相 关信息。 总结 在本节课中,您学会了如何: • 使用 ER/Studio DA 连接并逆向工程现有数据库。 • 使用 ER/Studio DA 自动化 HTML 文档发布功能在数秒内完成数据库的文档化。 有关报告的更多信息请参考 创建 RTF 和 HTML 模型报告 章节。 教程 > 数据沿袭文档化 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 439 数据沿袭文档化 ER/Studio DA 的数据沿袭功能可用于记录数据从 A 点到 B 点的移动过程(以及任何中间步 骤)。有时我们把这种移动过程称为抽取、转换和加载 (ETL)。 A 点和 B 点可以是平面文件、高端 数据库(如 Oracle 和 DB2)、 XML、Access 数据库和 Excel 工作表中的任何项目。有时这称为起 源和目标之间的映射。在 ERStudio 中生成的模型可以代表两者之间的任何一个点。数据架构师需 要能够在列中指定数据的 来源或目标。用来定义数据源和目标映射的元数据用来确定数据管理方 式的规则。 本节课将帮助您完成系统中数据沿袭的文档化。一般 ETL 工作流中包含以下几项任务: • 创建数据流 • 创建数据移动规则 • 定义外部数据源和目标系统 • 创建数据沿袭和转换可视化 教程 > 数据沿袭文档化 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 440 创建数据流 数据流是整理并压缩一次数据转换以及转换过程中使用的源表格和列,并用其生成目标数据的 过程。您可以选择多层映射和多次转换,前提是两个表格之间需要包含不同的列(如下所示) 。 教程 > 数据沿袭文档化 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 441 创建数据沿袭数据流 1 选择 File > Open,然后在 Sample Models 目录中选择 GIMB.DM1 图表。 2 单击应用程序窗口底部的 Data Lineage 选项卡。 根据提示创建 Data Lineage Data Flow。 3 单击 Yes。 如果这次不是您第一次在打开图表后单击 Data Lineage 选项卡,在 Data Lineage Explorer 中右键单击 Data Flows 节点然后单击 Create Data Flow。 4 输入数据沿袭数据流名称然后单击 OK。 注: 显示在应用程序窗口顶部图表标题栏中的名称后面被加上:数据流名称 -- 当您在 Data Lineage 窗口中单击一个任务时 -- 如 Data Flow Model View:Broker*。 数据流创建完毕。 教程 > 数据沿袭文档化 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 442 创建数据移动规则 数据移动规则描述了源和目标表格与实体之间的关联方式。您可以将源数据与同一模型中的 一个或多个表格和实体、当前使用的图表或者从外部系统导入的表格相关联。这里定义的规则用在 了实体和表格编辑器 Data Lineage 选项卡的表格层级中。 创建数据移动规则 1 在 Data Lineage 选项卡中单击 Data Movement Rules 并选择 New Data Movement Rule。 2 按照要求填写 Data Movement Rule 编辑器,然后单击 OK 退出编辑器。 提示 : 创建成功之后,您可以双击规则,打开 Movement Rule 编辑器,对数据移动规则进行编 辑。 以下是需要额外说明的选项: Rule Information 选项卡 • Rule Name:根据绑定定义的细节输入代表被执行操作和对象的名称。 • Rule Type:选择最能表现数据移动的一般移动规则。 • Rule Text:在这里记录您的数据移动计划,可以是添加说明或应急源。 Binding Information 选项卡 选择对象类别和 / 或您想要与附件绑定的具体对象。您可以使用实体或表格编辑器中的 Data Lineage 选项卡禁用该设置。 教程 > 数据沿袭文档化 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 443 定义外部数据源和目标系统 数据源可以是当前活动图表中的模型(本地模型) ,也可以是导入活动图表或者在 Data Lineage 选项卡中创建的外部数据源。数据源可以从 *.dm1 文件、 *.dt1 文件、数据库或 SQL 文 件、平面文件以及其他普通应用程序文件导入。以下描述了从外部数据源导入元数据的过程。 注: 通过 Data Lineage 选项卡导入的源数据只包含表格和列名称、数据类型、 nillability、主 键和列定义等信息。如要了解更多细节,逆向工程数据库或者使用元数据向导将其导入 ER/Studio DA 。 教程 > 数据沿袭文档化 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 444 导入外部源或目标数据 1 在 Data Lineage 选项卡中展开 Data Sources 节点。 2 右键单击 Other Sources 并选择 Import New Source。 3 按照要求完成 Import Source 向导,然后单击 Finish,开始导入源。 新数据源将显示在 Other Sources 节点下方。 以下是需要额外说明的选项: 教程 > 数据沿袭文档化 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 445 第 1 页 -- 请选择您希望导入源数据的起始位置( Please select where you would like to import the source metadata from) • From a Repository based DM1 file:从ER/Studio Repository中的数据模型和命名版本获得 数据源。如果选择该选项, ER/Studio DA 将打开 Repository Operation Status 对话框和 Get From Repository 对话框。此时用户将连接储存库设置中指定的当前储存库服务器。 Import Source向导将自动获取图表。 • From an SQL file: ER/Studio DA 导入 SQL 文件。 • From a live database:如果选择该选项,页面将显示您可以选择数据库和连接方式的位置。 连接方式可以选择 ODBC 或原生 / 直接连接。如需了解更多有关连接数据库(包括故障排除) 的信息,请参阅 连接数据源和目标 。 • Comparison Quick Launch:Compare Quick Launch 数据保存在 *.rvo 文件中。更多有关使 用 Quick Launch 选项的信息,请参阅 保存、使用快速启动设置 。 第 5 页 -- 结果 • Current and Target Model Display Grid:在源模型和目标模型之间是 Resolution 列。默 认的合并决定是 Merge the data into the new source file (将数据合并到新源文件中) 。您 可以单击 Resolution 列中任何一个项目,使用决策列表。如果您想要改变决定,单击列表, 然后单击新方案。当您更改对象的缺省方案时,相关属性和对象的决定也自动更新。您还可 以单击类别文件夹,如 Tables Resolution 列,更改和对象类别中所有对象相关的所有决定。 此外,您可以使用 CTRL 键选择多个项目,然后单击右键,启用角色列表。 • SQL DIfference:如要启用 SQL Difference 应用程序,选择文本域较长的差别,如定义、 节点或 DDL,然后单击 SQL Difference 查看该模型 SQL 之间的差别。该应用程序只能用于 查看差别,差异解决方案需要在对比和合并应用程序的 Results 页面中执行。 • Filter Report on Results:创建源内容报告和选定解决方案报告。您可以选择创建 HTML或 RTF格式的报告。 提示 : 您可以使用页面底部的选项修改默认显示。 教程 > 数据沿袭文档化 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 446 创建数据沿袭和转换可视化 1 如要创建数据源或转换输入表格,展开 Data Sources > Local Models > Logical > Entities,然后将 Broker 和 Investment 表格拖放到 Data Lineage 窗口中。 2 如要创建数据目标或转换输出表格,导航至 Data Sources > Local Models > GIM_DW ,然 后将 Broker 表格拖放到 Data Lineage 窗口中。 3 如要获得装换插入工具,右键单击 Data Lineage 窗口中的空白处,然后单击 Insert Transformation。 4 如要插入信息,单击 Data Lineage 窗口中源数据和目标数据之间的位置,然后单击右键,放 下转换插入工具。 5 根据您的需要重新定位和调整转换对象大小。 6 右键单击 Data Lineage 窗口的空白处,然后单击 Insert Data Stream。 提示 : 转换和数据流工具也显示在工具栏中。将鼠标悬置在工具上,查找您需要的工具。 7 单击一个工具,然后单击转换对象。根据需要重复以上操作,将所有输入与转换对象相关联。 教程 > 数据沿袭文档化 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 447 8 单击转换对象,然后单击输出。 提示 : 如果图表中未显示 Inputs and Outputs(如上所示),选择 View > Diagram and Object Display Options > Transformation,然后单击 Input and Output Columns。 9 如要指定用于转换的列和任何转换规则,双击 New Transformation,打开 Transformation Editor。 教程 > 数据沿袭文档化 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 448 10 按照要求填写 Transformation Editor,然后单击 OK, 退出编辑器。 完成!现在,您可以更自如地与同事分享您的想法! 提示 : 创建数据流之后,您可以双击修改数据库名称,或者双击转换或组件,更改其属性。 以下对 Transformation Editor 中需要额外说明的选项进行了详细说明: Columns 选项卡 • Inputs:单击省略号 (...) 按钮,选择要转换的输入信息。 • Outputs:单击省略号 (...) 按钮,选择转换的结果。 Definition 选项卡 • Business:为您的受众描述转换。 • Code:输入代码开始转换,如 SELECT 语句,或 VBBasic 或 Java Script 函数或程序。 教程 > 图表导航和美化 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 449 Data Movement Rules 选项卡 包含 Data Lineage Explorer 中 Data Movement Rules 节点中的规则。 注: 您可以删除或编辑输入或输出列,只需双击 Data Lineage 窗口中的转换,然后单击 Transformation Editor 中的省略号并取消选择您想要移除的列即可。 Attachments 选项卡 将外部信息片段或附件与转换绑定。您还可以移除对象中的附件,禁用附件的缺省值,或 者改变绑定附件的位置。如要禁用您已经移到 Selected Attachments 网格中的附件的数值, 双击目标附件的 Value 域。 ER/Studio DA 打开 Value Override Editor 或列表,具体取决于附 件的数据类型。附件创建在数据字典的 Attachments 文件夹中,在显示在选项卡之前必须应 用默认值。 图表导航和美化 为了帮助创建易于导航并且美观的演示质量图表, ER/Studio DA 提供了渐进式的图表自动布 局和导航功能,同时,该程序还可以帮助您清理复杂图表。建模人员可以花费一定的时间解决复杂 的数据库和业务数据模型问题,而不必在管理方框和线之间浪费时间。 教程 > 图表导航和美化 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 450 图表导航 为了演示 ER/Studio DA 的布局和导航功能, 我们导入一个由 ER/Studio® DA自带的范例 SQL 脚本。 1 关闭打开的所有文件。 2 选择 File > New。 3 选择 Import Model From:,然后在导入列表中单击 SQL File。 注: ERX File 选项可用于导入 Computer Associates ERwin 3.5.2 ERX 文件。 From External Metadata 启动 MetaWizard 向导,导入两者之一。 教程 > 图表导航和美化 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 451 Import Database SQL File 对话框打开: 4 单击 Select a Database SQL File 右侧的文件夹图标,单击 IBM DB2 OS390.SQL 后单击 Open。 该文件的完整路径如下: Windows XP: C:\Documents and Settings\\Application Data\Embarcadero\ERStudio\SQLCode Windows Vista: C:\Users\\AppData\Roaming\Embarcadero\ERStudio\SQLCodeSample 5 在 Select the target database platform 列表中单击 IBM DB2 UDB for OS /390 9.x。 6 单击 OK。 教程 > 图表导航和美化 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 452 完成! SQL 脚本停止导入后(如下所示) ,如下项目将帮您调整各种自动布局和导航特性。 • 布局和对齐工具栏 :点击按钮,使用 4 种自动布局风格调整图表布局。自动布局风格都是基完 全可定制的。您还可以在 Layout Properties 页面单击 Layout > Layout Properties,调整图表 布局风格。 • Data Model Explorer:单击 Data Model Explorer 中的任意对象,图表自动选择该对象,并 显示在缩放和预览窗口中。 • 预览窗口 :使用这个模型缩略图可以展现实体模型或放大缩小。也可展现或缩放图表。如果预 览窗口无法显示,按下 F9 键激活。 • 缩放窗口 :使用放大镜放大鼠标光标下的任何图表对象。您还可以使用 SHIFT+F8 键冻结缩放 窗口,同时继续在图表中滚动浏览,但缩放窗口显示内容不变。如果缩放窗口无法显示,按下 F8 键激活。 布局和对齐工具栏 Data Model Explorer 缩放窗口 预览窗口 教程 > 图表导航和美化 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 453 图表美化 创建数据模型最大的好处就是广大读者都能从其中收益。这要依赖于图表中展示了哪些信息。 根据读者群的不同,您可能需要限制或开放一些信息。例如,开发者受益于显示的数据类型、 Null 选项、唯一 / 非唯一索引信息等,而业务分析员则只需要实体名称和定义。 ER/Studio 提供了很多 显示属性,可以为特定目的灵活定制。 在前面章节,我们使用 DB2 模型展示了模型定制显示的方法。 现在,我们将使用 Diagram 工具栏中的 Diagram and Object Display Options 对话框定制逻 辑和物理模型。 注: 您可以使用 Colors & Fonts 工具进一步定制每个模型。 教程 > 图表导航和美化 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 454 设置逻辑模型显示 1 选择逻辑模型,然后单击 Diagram Toolbar 中的 Diagram and Objects Display Options 工具。 2 在 Diagram And Object Display Options 对话框中,单击 Entity 选项卡,然后在 Display Level 域选择 Entity。 3 单击 OK。 注: 每个实体只显示名称。实体大小改变后,您可能需要对图表进行重新布局。 教程 > 图表导航和美化 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 455 设置物理模型显示 1 选择物理模型,然后选择 View > Diagram and Objects Display Options。 2 在 Diagram And Object Display Options 对话框中单击 Table 选项卡。 3 在 Display Level 域选择 Physical Attribute Ordering。 4 在 Available Options 域选择您想要显示的属性。 5 单击 OK。 教程 > 图表导航和美化 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 456 此时,模型应该显示更多物理模型的详细信息(如下所示)。 注: 由于对象大小发生变化,您可能希望用 ER/Studio DA 高级布局引擎进行重新布局。您也 可以为新模型自定义默认显示属性,选择 Tools > Options,然后在 Display 选项卡中选 择需要的选项。 总结 在本课程中您学会了: • 如何将导入 SQL 文件并支持 ER/Studio DA 自动创建图表。 • 使用各种自动布局和导航工具增强图表的美感同时改善数据模型的整体导航体验。 • 如何定制逻辑和物理模型显示。 教程 > 导入和导出元数据 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 457 导入和导出元数据 MetaWizard 可以帮助您基于广泛的来源和目标完成元数据的导入和导出。多样化的元数据支 持便于您在各种环境下实现连接,如 XML Schemas 和 DTD、OMG CWM-XMI、业务逻辑库(如 Business Objects、 Cognos、 DB2 Cube Views)、各种 UML 和数据建模工具等。 注: MetaWizard 模型是分离授权模块。出于评估目的, Import Bridge 功能已经在安装过程 中启用,但是 Export Bridge 并未启用。联系 Sales@Embarcadero.com 启用 Export Bridge,以便于评估。 导入元数据 我们来简单地做一个基于元数据源创建模型的范例。这里,我们使用各种模型工具中非常流行 的格式: OMG CWM XMI 1.1。 1 关闭所有打开的文件。 2 如要启动 Import MetaWizard,选择 File > Import File > From External Metadata。 3 在 Type 列表中选择外部元数据,然后单击 OMG CWM 1.xXMI 1.x。 • 单击 From 一侧的文件夹图标,浏览 Sample Models 目录,选择 OrangeMart (XMI).xml 后单 击 Open。 示例模型保存目录如下: • Windows XP: C:\Documents and Settings\All Users\Application Data\Embarcadero\ERStudioDA_X.X\Sample Models 教程 > 导入和导出元数据 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 458 • Windows Vista: C:\ProgramData\Embarcadero\ERStudioDA_X.X\Sample Models 每种环境采用不同版本确定元数据的转换方式。如果从您拥有的其他源中导入元数据或 模型,请确保选择适当的平台和版本。 教程 > 导入和导出元数据 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 459 4 单击 Next,直到第 2 页,在第 3 页单击 Finish。 默认情况下, MetaWizard 对导入的文件进行基本的一致性检查,并在第 2 页中报告任何 不一致问题。 MetaWizard 根据源数据创建逻辑和物理模型。 5 选择 File > Save,然后指定文件名。 请保留该模型,以便随后用于本教程的 维度建模 部分。 注: 有时布局信息无法从元数据中导入。这时,您可以使用前面章节介绍的 ER/Studio DA 高 级布局引擎。 教程 > 导入和导出元数据 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 460 导出元数据 注: Developer Edition ER/Studio DA 不支持此功能。 ER/Studio DA 可以导出相同格式的元数据。选择 File > Export,或右键单击任何子模型或者 主模型并选择 Export Model Metadata,从整个图表中导出元数据。 我们来举个导出元数据的例子。这里,我们使用 XML 文件中的模型。本例中个,我们需要将 图表元数据导出到 Business Objects 中,以便于您可以使用元数据生成报告。 注: 您需要对 Export Bridge 单独授权,以便于完成本次练习。 1 选择 File > Export File > Export Diagram Metadata。 教程 > 维度建模 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 461 启动 Export Bridge。 2 选择输出形式。 • 在 Type 列表中单击 Business Objects Data Integrator。 • 单击 Save To 一侧的文件夹图标,浏览保存 XML 文件的位置,输入文件名,然后单击 OK。 3 单击 Next。 导出元数据开始。 4 单击 Finish。 文件被保存到指定位置。我们会在下个教程中使用这个文件。 总结 在本课程中,我们研究了 ER/Studio DA 的元数据管理能力,特别是: • 如何从广泛数据源中导入元数据并生成逻辑和物理模型。 • 如何导出同样广泛的元数据格式以便于与组织机构中的其他群组共享元数据。 维度建模 ER/Studio DA 可以让您构建模型的维度结构, 如可以用于构建数据仓库、 Date Marts 和 OLAP 的 Star 和 Snowflake 模式。 ER/Studio DA 的维度建模功能可以帮您轻松使用各种表类型以及维度 建模标准要求的规则构建这些复杂模型并将其可视化。本课程将帮您创建一个维度模型,并让您对 维度建模有个基本的了解。 维度建模概述 首先,我们创建一个维度模型。有很多方式可以将一个模型标记为维度模型。 将一个模型指定为维度模型 如果您正在创建一个新模型,您可以使用如下其中一个对话框将该模型指定为维度模型: • 在逆向工程向导第 5 页。 选择 File > New, select Reverse-engineer en existing database。登录数据库,单击 Next 打开第 5 页,然后针对问题 What type of Physical Model is this? 选择 Dimensional。 教程 > 维度建模 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 462 • 在 SQL Import 对话框中。 选择 File > Import file from SQL file,然后针对问题 What type of Physical Model is this? 选择 Dimensional。 • 在生成物理模型向导第 1 页。 右键单击逻辑模型,选择 Generate Physical Model,然后针对问题 What type of Physical Model is this 选择 Dimensional。 如果已经有一个物理模型,您可以使用 Model > Model Options 更改模型的类型。基于本课 程的目的,我们使用在 “ 导入元数据 ” 课程中创建的 XML 文件模型。如果您略过了该课程,请返 回导入和导出元数据 ,回顾 “ 导入元数据 ” 章节。 教程 > 维度建模 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 463 我们已经有了一个模型,所以,我们只需更改标记即可。 1 选择 File > Open,导航至您在 导入元数据 中保存的物理模型,然后单击 Open。 2 右键单击物理模型,然后单击 Model Options。 3 在 Model Notation 域中选择 Dimensional。 4 单击 OK。 我们已经更改了模型标记,现在,我们可以使用自动布局工具重新排列表格。 5 在 Layout and Alignment Toolbar 中单击 Hierarchical Layout 工具。 请注意,表的外观已经发生了变化,每个表都有一个特定的图标,具体取决于 ER/Studio DA 指定的类型。 ER/Studio DA 分析模型的外键链,并使用维度建模规则辨认维度模型的事实 表、 snowflake 表和 / 或其他维度表。 教程 > 维度建模 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 464 下图给出了维度标记预览结果。 使用维度模型 请注意,上图中 ER/Studio DA 确定 Product_Patent 是事实表, Approved_Product 是维度表, 而父表 Approved_Product 是 snowflakes。这时因为, Product_Patent 没有子表, Approved_Product 是 Product_Patent 的父表,父表 Approved_Product 有两个关系都依赖于事实表。我们再作进一步分 析,表面上看来, Approved_Product 的确像事实表, Product_Patent 可与其他事实表建立联系, Approved_Product 的父表实际上等同于 Approved_Product 或维度表。 ER/Studio DA 原来标记的表 的类型可以进行修改。 Snowflake 表 维度表 维度类型 显示信息 图标位于 Data Model Explorer, 对应 表类型 模型中的 相同的图表 显示在 左上 角,每个 表格。 教程 > 维度建模 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 465 我们简单地做一遍这个范例。假如上例中选择了物理模型,现在,我们来编辑 Approved_Product 表。 1 打开表格编辑器,双击 Approved_Product 表。 2 单击 Dimensional 选项卡。 3 在 Dimensional Model Table Type 列表中单击 Fact。 提示 : 显示其他多种维度模型类型表,如 Bridge and Hierarchy Navigation。单击立标,查看 其他表格类型。 4 确保选择 Override Automatic Designation 选项。 5 选择 Run Automatic Table Type Identification 选项。 6 单击 OK。 提示 : 如果您要修改表的指定但不想影响相关的表,您可以取消选择 Run Automatic Table Type Identification 选项。 教程 > 维度建模 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 466 最后, Approved_Product 成为事实表。 Approved_Product 的父表将变成维度表,而 Product_Patent 将被标记为未定义。作为另一项练习,您可以选择其他维度表并更根据要求的 数据刷新频率更改维度类型(如下图所示) 。 Data Model Explorer 中的图标已经 更改,反应了维度 模型的指定。 维度表 现在被标记为 事实表 维度类型设为 Type 1”。 系统默认类型为 Fixed”。 手动设置 Bridge 表 教程 > 自动化任务 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 467 自动化任务 ER/Studio DA 提供了完成文档化的自动接口 . 这些自动化接口由 Sax Basic 语言 ( 衍生自 VB 语言 ) 驱动,可用于很多目的,最基本的目的是使用通过应用程序界面定制 ER/Studio DA。 使用自动化接口主要有两个原因: • 自动化例行任务:自动执行您所在组织机构中重复的常规任务或定制 ER/Studio DA 强制执行 建模活动。例如,您可以写一个宏自动修改含有寄生外键的子表的颜色。或者,您可以写一个 宏在实体创建的时候自动插入指定名称和主键。 • 与其他应用程序协作: ER/Studio DA 模型中包含非常重要的元数据,您可以通过 Microsoft Excel、Access、Outlook 应用程序进行访问。使用 ER/Studio DA 的自动化接口,您可以通过 发布 API 接口或其自动化接口与其他外部程序协作。 在本例中,我们来举例说明 ER/Studio DA 如何使用自动化接口提高建模者的效率。本例中您 不需要写 Sax Basic (VBA) 代码。只是简单地运行一下包含在产品中的一个宏。您可以使用整合在 ER/Studio DA 中的 Sax Basic 整合开发环境写自己的宏。 教程 > 自动化任务 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 468 创建宏 通过使用 Sax Basic 整合开发环境,您可以充分使用实例宏的功能,或者创建可以自动制作并 维护模型的宏。 如要进入 Sax Basic 开发环境,选择 Tools > Basic Macro Editor。 提示 : 在自动化列表中选择并插入 ER/Studio DA 自动化对象。插入对象后,您可以选择该对象 并单击应用程序工具栏中的 Browse Object 工具,获得该对象的相关信息。 使用宏自动化建模过程 您可以使用 VB 宏加速开发过程,并强制重用元数据。 教程 > 自动化任务 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 469 在本例中,我们将使用产品自带的宏来说明强大的自动化模型可以让用户受益匪浅。 1 关闭所有打开的图表。 2 选择 File > New,然后选择 Draw a New Data Model。 3 在 Data Model Explorer 中单击 Macros 选项卡。 4 在 Modeling Productivity Macros 中查找 Auto-Create Data Dictionary 宏。 5 右键单击 Auto Create Data Dictionary 宏然后单击 Run Macro。 运行这个宏将在数字字典中创建一系列域,为下一个宏的运行做准备。 (有关域的更多信 息请参阅 逻辑和物理建模 )。 6 域已经准备就绪,然后在 Data Model Window 中创建一个实体。 提示 : 如果您是第一次创建实体,请参阅 使用数据字典域设置新实体 。 教程 > 自动化任务 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 470 7 把该实体取名为 Person。 此时您不需要为 Person 实体设置任何属性。 8 在 Modeling Productivity Macros 文件夹中选择 Person 实体,右键单击 Add Base Attributes To Person Entity,然后单击 Run Macro。 注: 宏为您自动创建 Person 实体的所有属性! 这时,您已经: • 节省了为选择的实体手动键入标准属性的时间。 • 所有新属性都与域绑定,以便于强制执行标准。 您可以通过很多方式定制这些宏来解脱自己!本例只强调了如何通过自动执行重复工作,如 确保实体一系列标准属性,来提高建模人员的工作工作效率。您可以研究该产品自带的其他宏,了 解如何使用这些宏提高您的工作效率。 总结 在本课程中您学会了: • 打开 Basic Macro Editor,从零开始创建您自己的宏。 • 在 Explorer Browser 中选择 Macro 选项卡,然后启动 ER/Studio DA 自带的示例宏,用来帮助 提高建模人员的工作效率。 如果在自动化接口方面需要更多帮助,您可以参考 “ER/Studio DA 帮助文件中的自动化接口 ” 小节。 教程 > 协作建模 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 471 协作建模 ER/Studio 企业版包括服务端组件,用于 ER/Studio DA 管理任务分布工作,使建模小组成员 可以通过安全可控的方式进行工作交互,进而提供一个实时协作建模环境,帮助提高整个团队的工 作效率。解决方案提供的工具和特性可支持并行建模,对模型和模型对象的版本进行控制,建立可 以连续重用的数据元素等等。安全、可扩展的环境完全整合了 ER/Studio DA 现有的自然工作流。 Enterprise Portal 可以支持您轻松浏览储存库,报告储存库状态,评论模型报告,与其他用户分享 自己的反馈。 ER/Studio Portal 还集成了 ER/Studio Enterprise,您可以通过 Repository 选项卡进 行访问。 本向导特别给出了一个简短的综述,帮助您大致了解 ER/studio 企业版。在这里,我们从配置 储存库和 Portal 开始,然后向储存库中插入图表,在储存库中使用图表,对图表进行版本控制,跨 图表共享和重用对象并对您的图表应用安全设置,最后通过 Portal 对图表进行报告。这里针对储 存库进行了介绍。更多信息请查阅 ER/Studio DA 联机帮助文件中的 Repository 小节,或者联系技 术支持部 Support@Embarcadero.com,或者拨打 (415) 834 3131 x2。 本节主要内容如下: • 下载和安装 ER/Studio Repository • 下载和安装 ER/Studio Portal • 配置储存库与 Protal 的连接 • 研究和报告储存库 • 向储存库中添加图表 • 储存库状态图标 • 通过储存库项目中心组织图表 • 签出图表和签出对象 • 在对象层级签出 • 在图表层级签出 • 创建不同版本图表 • 通过安全中心使用图表安全设置 教程 > 协作建模 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 472 下载和安装 ER/STUDIO REPOSITORY 要想评估 ER/Studio 企业版协作建模的优势,您需要先下载安装单独的安装包。可从英巴卡迪 诺公司站点下载存储库安装文件: www.embarcadero.com/downloads 您需要下载 ER/Studio 企业版压缩文件或者可升级为企业版的 ER/Studio Data Architect 标准 升级包。 ER/Studio 企业版需要安装在关系型数据库管理系统上: DB2 LUW、Oracle、Sybase ASE 或 Microsoft SQL Server。两个组件必须安装:服务器和数据库。安装服务器之前需要先安装数据库 客户端工具,以便于进行服务器初始化配置,并与数据库进行连接交互。 • 更多安装说明(包括储存库服务器要求和数据库大小)请参考《安装指南》。 • 更多关于 ER/Studio 企业版架构的信息请查阅 理解和维护储存库 。 您可以访问英巴卡迪诺网站 Embarcadero.com 了解安装指南: docs.embarcadero.com 下载和安装 ER/STUDIO PORTAL 要想评估 ER/Studio Portal 的优势,您需要先下载安装单独的安装包。您可从英巴卡迪诺公司 站点下载 Portal 安装文件: www.embarcadero.com/downloads/download.html ER/Studio Portal 需要安装关系型数据库管理系统: Oracle、IBM DB2 LUW 和 Microsoft SQL Server。三个组件需要安装:服务器、报告和解决方案数据库。 有关完整的安装说明,请参阅《 ER/Studio Portal 安装指南 》。 教程 > 协作建模 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 473 配置储存库与 PROTAL 的连接 1 安装 ER/Studio 储存库。 2 安装 ER/Studio Portal。 3 如果 ER/Studio® DA 主菜单中没有储存库菜单, 您可以进入 Tools > Options > Repository Options。 否则,选择 Repository > Options。 4 在 Repository Option 域单击 Refresh, ER/Studio DA 将自动删除已经安装在网络中的储存 库。您还可以在指定域中手动输入储存库服务器名称。 注: 如果 ER/Studio DA 主菜单中没有储存库列表,确认您是否有有效的授权文件。单击 Help > About ER/Studio Data Architect 可进行查看。这里显示您已经安装的模块名称。 如果您没有发现 RepoClient 字样或其变灰,您需要请求将软件评估期延长 14 天。但 是, 14 天之后,您必须获取一个永久授权文件。 5 在 Active File Directory 中输入本地 ER/Studio DA DM1 图表文件的保存目录。 ER/Studio DA 管理这些本地数据模型,并向储存库提交您对这些文件所做的修改,或反 向将其他用户对储存库中文件所作的修改更新到您的本地文件中。所有这些都是通过强大的 变 “ 更查看 ” 用户界面来完成。 注: 建议将活动文件目录设置为本机目录而不是网络目录。您需要对这个目录拥有读写权限。 教程 > 协作建模 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 474 6 在 Repository Options 对话框中单击 Enterprise Portal 选项卡。 7 输入您想连接的企业版 Portal 的细节。 连接储存库 如要连接储存库,选择 Repository > Log In。 登录对话框弹出,提示您输入用户名和密码。安装后默认的登录名为 Admin,密码为 Admin。两者都分大小写。 连接储存库之后,您可以开始添加图表。 连接 Portal 如要连接 Portal,选择 Repository > Enterprise Portal Log In。 登录对话框弹出,提示您输入用户名和密码。安装后默认的登录名为 Admin,密码为 Admin。两者都分大小写。 连接 Portal 之后,您可以开始研究储存库并查看模型报告。 教程 > 协作建模 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 475 研究和报告储存库 登录 Portal 之后,您可以通过 Repository Explorer 查看储存库的内容。 1 单击 Repository 选项卡,然后展开 Projects 和 Samples 文件夹。 2 单击显示在 Diagram Window 中的图表名称和图表报告。 教程 > 协作建模 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 476 3 在 Repository 窗口中,滚动查看显示的图表报告,然后单击模型名称。 教程 > 协作建模 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 477 您可以继续查看报告细节,直到实体层报告展开,只需单击报告链接即可。 请注意,您可以返回图表结构的更高层级,只需单击模型名称或图表文件名即可。 4 单击 View as report。 5 在 Related Reports 域中单击相关报告的名称,如 Attribute Definitions。 6 单击 View as pdf,报告显示在 Acrobat 程序中。通过 Acrobat 阅读器,您可以保存或打印报 告,或者添加附件,或者评论报告。 单击 View as .xls,报告保存为兼容于 Microsoft Excel 的文件。 教程 > 协作建模 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 478 向储存库中添加图表 1 选择 File > Open。 2 打开 Sample Models 文件夹,选择 Orders.dm1 并单击 OK。 Sample Models 文件夹目录为: • Windows XP: C:\Documents and Settings\All Users\Application Data\Embarcadero\ERStudioDA_X.X\Sample Models • Windows Vista: C:\ProgramData\Embarcadero\ERStudioDA_X.X\Sample Models 3 打开图表后,选择 Repository > Diagrams > Add Diagram。 教程 > 协作建模 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 479 4 在 Add Diagram to ER/Studio Repository 对话框中填写相关信息。 5 可选。如要将图表分配给一个项目,在 Add to Repository Project 下方列表中选择一个项目。 6 可选。如要绑定企业数据字典和图表,在 Bind Existing Enterprise Data Dictionaries 域选 择一个数据字典。 7 单击 OK。 此时,图表开始添加。 添加图表操作结束之后,您会发现模型对象中显示了储存库状态图标( “ 储存库状态图标 ” 部分有详细说明) 。添加完毕之后,连接您的储存库并且拥有指定权限的任何用户都可以查看该 图表。 教程 > 协作建模 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 480 储存库状态图标 Order 图表添加到储存库中之后,对象名称一侧的 Data Model Explorer 中将出现储存库状态 图标。您可以看到锁定和监控图表。 • 锁定图标:显示对象元数据在存储库中的实时状态(如属性、定义、存储属性等) 。 • 监控图标:显示元数据的实时状态(如对象颜色、字体等)。 这些图标显示模型中图表和对象的签出状态。基于签出的类型(如独占和非独占)以及签出 对象的用户身份(本地用户或远程用户) ,状态图标将正确、实时地显示谁在对图表对象做什么, 何时做的。图标的意义请见帮助文件。 教程 > 协作建模 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 481 通过储存库项目中心组织图表 项目提供了一种在工作组之间组织图表的方法。如果您或其他任何人在访问图表时选择 Get Diagram 查看存储库的内容,组织都会了如指掌。项目以自定义的方式整理存储库中的 ER/Studio 图表和企业数据字典。并在项目级别对储存库中的所有图表牵制执行安全机制。例如,您可以针对 项目中的所有图表为某个用户或角色设置 No Access 权限。您可以根据主题组织这些项目,例如 Sales Diagrams、 HR Diagrams,或者按照使用项目中图表的用户所属的组织,如 DBA Diagrams 和 DA Diagrams 等。单击 Repository > Project Center 可对项目执行添加、编辑、删除等操作。 接下来,我们为新添加的 Order 数据模型创建一个项目。 1 选择 Repository > Project Center,然后单击 New。 2 在 Name 域输入 Sales Order Diagrams。 3 在 Description 域键入项目描述内容,然后单击 OK。 4 在 Repository Project Center 对话框中单击 Orders.dm1,然后单击向右箭头,将 Orders.dm1 移到 Selected Diagrams 中。 5 单击 OK。 提示 : 储存库支持嵌套项目。您可以选中 Sales Order Diagrams 并单击 New 新建嵌套项目。新 项目将创建在 Sales Order Diagrams 文件夹中。 教程 > 协作建模 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 482 签出图表和签出对象 ER/Studio Repositorys 管理图表的方式非常简单,就像源码控制系统管理我们的文档和源代 码一样。两者的区别就在于 ER/Studio DA 对象签出和组协作程度所有不同。 ER/Studio DA 图表中 的每个对象都可以单独签出,包括从实体图表本身到用户需要在图表中管理的每个元素 (如实 体)。依据您使用图表、模型、模型对象的原因,签出类型分为两种。 • 排他签出 -- 非常具有约束力和安全性的签出模式,用户在存储库中锁定被签出的对象,确保 其他远程用户无法同时签出或使用同一个对象。 • 非排他签出 -- 正常的签出对象,允许组成员可以同时协调使用同一个元素。对象可以同时被 两个或多个用户同时签出。高级 “ 变更查看 ” 对话框将解决冲突问题。 本课程余下部分不再讨论排他锁定( Exclusive Lock Out )。接下来,我们来讨论一下检出的 情形: 在对象层级签出 您可以在导航栏树形图中右键单击单个对象,或在图表中双击对象,将其签出。 1 打开 Orders 模型,在 Data Model Explorer 中导航至 Customer 实体。 2 在 Data Model Window 中双击 Customer 表。 根据提示签出表格。 教程 > 协作建模 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 483 3 单击 Check Out。 打开编辑器后,注意观察 Data Model Explorer 中的对象状态图标,显示出您已经将对象 本地签出并可以使用。 4 在 Entity Editor 中将 Last Name 属性重命名为 Last Name_Change,然后单击 OK。 5 在 Data Model Explorer 中右键单击 Customer,然后在快捷菜单中选择 Check in Object(s)。 教程 > 协作建模 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 484 系统将提示您签入评论和注视,并查看更改内容。 6 选择 Review changes before check in 然后单击 OK。 您将可以看到本地所作修改的状态,以便于在签入前报告、查看和取消修改。 7 完成变更查看之后,保留选择的变更,然后单击 OK。 变更信息将保存到储存库。 教程 > 协作建模 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 485 在图表层级签出 有时您需要对整个 ER/Studio DA 图表进行操作。例如,您可能需要从逻辑模型中获取新的物 理模型。此时,您需要签出整个图表。 1 这里,我们使用了上节课中使用的 Orders.dm1 图表,选择 Repository > Diagrams > Check Out Diagram。 现在,我们来生成一个物理模型。 2 选择 Model > Generate Physical Model。 3 输入物理模型名称,选择验证模型选项,然后单击 Generate Physical Model Wizard,选择 您需要的其他选项。 提示 : 要想使用默认选项,您可以在向导的任何时间点击 Finish 按钮。 4 单击 Finish。 Model Validation Wizard 显示。 5 在 Model Validation Wizard 中选择您需要的选择,然后单击 Run Validation。 现在您可以在 Data Model Explorer 中看到新建的物理模型。 教程 > 协作建模 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 486 6 选择 Repository > Diagrams > Check In Diagram。 系统将提示您对签入做注释并查看变更。 7 单击 OK。 新的物理模型已经保存到存储库中。 创建不同版本图表 上面我们已经向存储库中插入了一个新图表并做了一些修改。存储库会自动跟踪您和您的小 组成员对图表所作的变更,并对每次签入行为做版本关联。这些版本保存在每个对象的版本历史 中,您可以右键单击对象进行访问。假设您想要设置整个图表的冻结基线,作为跟踪图表变化的机 制。您可以设置命名版本( Named Release)。这个版本可以回滚到图表的先前发布状态,丢弃所 作的修改。 设定命名版本 1 打开上节课使用的模型,选择 Repository > Releases > Set Named Release。 系统将提示您签入图表。 签入图表后 Set Named Release 对话框显示。 2 在 Release Name 中输入 Orders Version 1。 3 在 Description 方框中输入版本描述: 教程 > 协作建模 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 487 4 单击 OK。 版本保存在储存库中。 提示 : 您可以随时访问命名版本,只需选择 Repository > Diagrams > Get from Repository 或 Repository > Releases > Get Named Release 即可。 您可以看到有些命名版本采用了相机图标: 教程 > 协作建模 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 488 当您获取命名版本后,图表将在 Data Model Explorer 对象中以相机图标显示,而不是传 统的锁图标。命名版本图表可用于和回滚和替换已经存在的图表,或与当前图表进行比较,回 滚某些特定对象的更改。 更多信息请参阅《 用户指南 》中的 “ 回滚图表到之前版本 ” 小节。 通过安全中心使用图表安全设置 因为有些图表,如 Orders.dm1,以及您最后添加到储存库中的图表可以在整个小组内部共 享,所以,控制用户的访问权限至关重要。 ER/Studio Repository 针对这一需求提供了简单的安全 中心工具。安全中心可以支持您创建用户、角色并将储存库中的项目、图表、图表中的具体模型以 及数据字典赋予这些角色或用户。接下来,我们分别讲解每个部分。 教程 > 协作建模 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 489 创建储存库用户 在他人可以登录和使用 ER/Studio Repository 之前,您需要创建用户示例。按如下步骤设置每 个用户: 1 选择 Repository > Security > Security Center,启动安全中心。 2 单击 Manage Users 选项卡,然后单击 New。 3 输入 user1 作为示例用户的名称,然后键入密码以及对新用户的描述。 4 在 Create Repository User 对话框中单击 OK。 现在您回到了安全中心,需要注意的是, user1 已经在本地创建成功,但是还没有提交到 储存库。您可以看到用户上显示了一个星号。 教程 > 协作建模 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 490 5 单击 Apply 将变更提交到储存库中。 提示 : 按下 Apply 按钮后,所有新增变更新都将被发送到存储库,同时,您可以继续使用安全 中心。 6 始终打开安全中心,以便于执行下一程序。 创建 user1 并将其提交到储存库之后,我们接着创建角色。 创建角色 创建用户之后,我们需要通过 Repositorys Roles 选项卡为该用户创建一个权限包,用来限制 该用户对储存库中所包含的对象执行的操作。我们可以通过安全中心的 Manage Roles 选项卡创建 角色,然后完成权限设置。 教程 > 协作建模 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 491 在这个示例中,假设我们要为组织中的所有数据建筑师创建一个角色。假设这些数据建筑师有 权创建、管理和修改逻辑模型,但没有权利修改物理( DBMS-specific)模型。 1 选择 Repository > Security > Security Center,启动安全中心。 2 单击 Manage Roles 选项卡。 3 单击 New。 教程 > 协作建模 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 492 4 输入名称,如 DA,然后输入关于角色的描述: 5 单击 OK 返回 Repository Security Center。 DA 角色创建之后,我们需要为它设置权限。 6 为每一个存储库对象类型设置权限,首先是存储库本身。 这可以在 “ 角色权限细节 ” 中完成。 举个例子,您可能不希望数据库管理员访问或修改安全中心的任何内容,这种情况下,您 可以不选以下选项: 7 继续针对其余对象类型设置权限,如 项目、图表、数据字典 、逻辑主模型 以及逻辑主模型的 子 模型。 如上所述, DA 没有权利或特权来修改物理模型,因此物理主模型和子模型的选项一概不选。 8 单击 Apply 将变更保存到储存库中。 9 始终打开 安全中心,以便于执行下一程序。 DA 角色创建并提交到存储库之后,我们继续把用户和角色应用到存储库里的具体图表。 教程 > 协作建模 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 493 将权限应用到模型、图表和字典 我们已经新建一个用户 user1 和一个角色 DA,现在必须确定用户可以访问哪些图表或图表的 哪些部分。在安全中心的 Repository Security 选项卡下进行操作。 1 单击 Repository Security 选项卡。 您会看到,之前创建的 Sales Order Diagrams 项目中包含 Orders 图表。展开该节点,选 中 Logical Model 节点,如图所示: 2 在 Available Users 中选中 user1 并将其拖放在您创建的 DA 角色上面。 此时, user1 您在 Orders 逻辑模型及其所有子模型中创建角色时设定的权限将被分配给 DA 角色。 3 如果您想把和 Orders.dm1 资料有关的数据字典权限分配给该用户,在 Repository Object 中 选择 Orders_DD 数据字典,选中 Available Users 中的 user1,然后将其拖放在 DA 上方。 4 单击 Apply。 完成!当 user1 用户登录 ER/Studio Repository 时,她 / 他只能使用在 DA 角色中创建的 权限和特权。重复这些操作,针对您添加到储存库中的其他图表分配权限。 教程 > 协作建模 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 494 总结 此时,我们已经完成了本教程中的 “ 储存库 ” 部分。这应该会给您一个好的开始,让您继续在 良好的协作环境中高效使用您的图表。现在您应该掌握了如何针对您的图表、图表版本、图表的签 入和签出以及共同数据元的重用应用安全机制。 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 495 术语表 B 边缘 : 图表自动布局术语。两个实体间的关系。 辨别值 : 用于区分相关亚型之间区别的父型属性。 标识符 : 一个属性或列,可用于识别一个实体或表格示例,属于实体或表格主键的全部或部分。 标题块 : 有关文本域中图表的一般信息。 表格 : 数据库中数据存储的基本单元。表格与逻辑模型中的实体相对应。 表空间 : 用于保存一个或多个表格的专用存储结构。 C 参照完整性 : 自动确保每个外键值对应一个与之匹配的主键值的数据库特征。 层叠 : 确保一个实体实例的删除或更新扩展到其他实体中相关实例的过程。 程序 : 可重复使用的 PL/SQL 块,存储在数据库中,应用程序可以调用。程序通过重复再利用特征 简化了代码的开发、调试和维护。同时,程序可用于编写程序,批准用户对表格执行权限当禁止他 们直接访问表格,进而增强数据的安全性。 储存库 : 存储数据模型元素和结构信息的中央数据库。 触发器 : 一种特殊的存储程序,当用户执行数据修改操作时自动运行,如 INSERT、 UPDATE 和 DELETE。 簇 : 图表自动布局术语。相关实体群组。 存在 : 在创建子实体时确定是否从父实体继承外键值。关系存在可以备选,也可以强制使用。 代理键 : 用作实体主键而生成的属性或属性集。除了识别每个实体实例之外,代理键中的数据本 身没有任何含义或用处。 术语表 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 496 D 倒装动词短语 : 一种关系描述语句,表达了关系使用的业务规则。动词短语从子实体 - 父实体读 取,就像读取一个句子。 递归关系 : 一种特殊的非决定关系,父实体和子实体相同。 定义依赖关系 : 属性的定义依赖于其他属性的数值。这一条件违背了规格化的规则,建议不要使 用。 动词短语 : 一种关系描述语句,表达了关系使用的业务规则。动词短语在句子中阅读为动词,父 实体和子实体分别作为对象和子对象。 独立实体键 : 一种主键中不包含任何外键的实体。 对象类型 : 一种抽象数据类型或包含相似数据集的对象。 F 反向规格化 : 故意将数据模型改为更低的正规形式。反向规格化通常用于提高物理设计的性能。 反向输入 : 单个属性或数据集,并非用来识别每个实体实例的唯一标识,但频繁用于访问数据 库。数据库使用的反向输入属于一般索引。 非决定关系 : 子实体继承父实体主键作为其非主列属 性的关系。 非特定关系 : 代表两个实体键多 - 多关系的关系类型。由于多 - 多关系无法通过逻辑方式解决,非 特定关系可用来表意,并且不会导致外键迁移。 非主列属性 : 实体主键中不包含的属性。 辅助表 : 存储 LOB 列数据的表格。 父实体 : 向其他实体传递外键的实体。 父型 : 亚型簇中代表亚型父集的父实体。 复合键 : 包括多个属性的主键,有些主键可以作为外键继承其他实体。 术语表 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 497 G 概念模式 : 数据模型的逻辑设计,模型的表现方式与任何物理数据库的设计或外部表现形式无 关。 工具栏 : ER/Studio DA 工具栏与上下文环境有关,并随着所用程序元素的变化而变化。工具栏按 钮可用于快速使用 ER/Studio DA 的一般特性。您还可以通过和使用菜单和快捷菜单实现工具栏按 钮中的所有功能。工具栏的变化取决月您是否使用逻辑或物理模型。您可以将工具栏移到 ER/Studio DA 工作区的任意位置。您可以将工具栏放在工作区周边,指定您想要在工作区显示的 工具栏。 公共祖先 : 使用主键构成其他实体及其多个不同关系路径的实体。 关联实体 : 继承多个实体主键的实体。 关系 : 两个实体间的关系,代表某种关联或业务规则。如果使用 IDEF1X 方法,关系分为三种:决 定关系、非决定关系和非特定关系。 关系模型 : 表列数据模型,模型中数据显示在表格中,相关记录保存在行中,数据元素表现为表 列的形式。 规格化 : 消除数据模型错误、不一致、冗余和 / 或过于复杂主张的过程。 规则 : 通过满足条件的数据实施业务规则的数据库对象。 H 函数 : SQL 代码,用于检查写入数据库的数据有效性。一个函数可以接受多个参数,并将单个数 值返回给调用程序。 宏 : 写入 Sax BASIC 语言的代码,可用于恢复或编写对象信息。 候选键 : 可以快速识别实体中每个实例的一个或多个属性。 缓冲池 : 用于保存存储器中缓冲数据的区域。 回滚段 : 记录和管理 Oracle 数据库中的变更,确保数据的一致性和交易的完整性。 I IRD 规则 : 约束插入、替换和删除实体实例的业务规则。 术语表 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 498 J 基数 : 在关系数据库中,相关父实体实例和子实体实例的比例。 基属性 : 定义角色名称的基本性质。 集合 : 将多个对象组成一个对象的过程。 继承 : 基于关系规则外键从父实体扩展到子实体的过程。 寄生实体 : 如果实体的主键包含外键,那么该实体属于寄生实体。 键 : 键是一个或多个列,可用于识别或访问特定行或多个行。键可以将表格、索引或参考约束中 创建。列可以作为多个键的一部分。详情请参阅 “Composite Key and Unique Key”。 键区 : 显示主键实体框的部分。位于实体框分隔线上方。 角色名称 : 外键属性的一个替代名称。角色名称用于声明目的,应该能够更好地描述特定实体环 境中属性的角色。 节点 : 图表自动布局术语。参考实体或视图模型中的方框。 节点组 : 一个或多个数据库分区的子集。 决定关系 : 在决定关系中,父实体将其主键用作子实体主键。 决定因素 : 决定其他属性函数的属性或属性组合。 K 空 : 不包含数值的状态。 库 : 可以在不同宏中重复使用的 BASIC 代码。 扩展 : 父实体将外键传送到子实体的过程。 术语表 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 499 L 列 : 列代表表格的相关属性或特征。列与逻辑模型中的属性相对应。 逻辑设计 : 满足实际系统要求的数据模型的维数,不受数据存储、性能或其他物理实施问题的影 响。 M 描述符 : 非主属性或列。 模式 : 数据或数据库对象的定义或结构。 模式定义 (XSD): XSD 指定了描述 XML 文档元素的方式。是一种对对象特征以及对象和其他对象 之间关联方式的抽象表达。 XSD 用于确认 XML 文档中的每个元素与 XSD 中描述的元素规则相符。 模型 : 数据库逻辑和物理设计的表现方式。 默认值 : 在建模人员没有为属性或表格列指定任何数值的情况下系统自动生成的数值。 N 逆向工程 : 抽取数据库对象定义的过程,通常从数据库系统目录中抽取。 P 派生实体 : 从其他实体中获取部分或所有主键作为外键的实体。 Q 迁移 : 父实体将外键传送到子实体的过程。 术语表 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 500 S Stogroup: 直接访问存储设备 (DASD) 的一组卷。卷中包含表格和索引中真正存储的数据集。 实例 : 一个实体的单个事件或部分。 实体 : 可以区分的人、地点、事物、事件或有关信息的概念。 实体实例 : 一个实体的单个事件或部分。 视图 : 在不考虑数据存储位置的情况下,用于构建虚拟数据视图的关系对象。 视图关系 : 用于扩展实体或视图属性以便于查看的特殊关系。 属性 : 实体的相关属性或特征。在物理设计中,属性表现为表格列。 数据包 : 包含处理单个源文件中 SQL 语句所必需的所有信息。 数据定义语言 (DDL): 用户创建、修改和删除数据库对象的特定 DBMS 语言和语法。 数据对象 : 一个实体或属性。 数据库 : 表格中存储的数据集合。 数据类型 : 数据库中数据的样式。 数据模型 : 支持数据结构以及用于管理业务的业务规则的逻辑规范。 数据源 : (1) 用作 ER/Studio DA 任务来源或目标的数据库表格、平面文件、 XML 文件、JMS 串或 SAP BAPI。 (2)ER/Studio DA 模型中代表数据源的对象。 (3)ER/Studio DA 任务中代表数据源的对 象。为了避免混淆,在本手册中,我们将 (3) 称为源 (如果任务读取数据源)或目标(如果任务写 入数据源)。 数据属性 : 不属于实体主键的属性。 数据字典 : 描述数据模型结构和属性的元数据集合。 数值范围 : 数字列或属性的范围取决于小数点右侧数字的最高数量。 双连通图 : 如果删除实体之后图表仍保持完全连通状态,此时图表内部属于双连通。可用于决定 如何完成目标图表的圆形布局。 索引 : 用于执行表格中特殊数值的数据库对象;索引还可用于更高效访问表格数据。 术语表 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 501 T 替代键 : 可以快速识别实体的一个或多个属性。是主键之外的候选键。 同义名 : 数据库对象的替代名称。 同义名 : 属性或列的别名。 统一 统一是将同名列组合为一个列的行为。当您将一个外键扩展到包含同名列的表格时,通常需 要这种行为。 图表 : 整个数据模型,包括逻辑和物理设计。 W 外键 : 主键或从其他实体继承的非主列键。 外键迁移 : 基于关系规则外键从父实体扩展到子实体的过程。 完整性 : 包含所有断言的数据模型属性。 完整性约束 : 执行外键关系的数据库特征。 唯一键 : 用于确保每两个键值不等而约束的键。唯一键所在列不包含空数值。约束由数据库管理 员在执行任何操作时使用,如 INSERT 或 UPDATE。用于执行约束的机制称为唯一索引。所以,每 个唯一键是唯一索引的关键。 唯一索引 : 确保表格中的每列都采用唯一标识符的数据库存取对象。 文本块 : 关于图表的有用信息。 文档类型定义 (DTD) : 文档类型定义 (DTD) 是另一种 XML 语言。 DTD 对特殊类型或类别文档 XML Declaration Syntax 的描述。它定义了特定元素类型使用的名称、发生的位置以及元素匹配的 方式,可以确保符合 DTD 的所有文档按照统一的方式构建和命名。 应用程序中验证器, 如编辑器、 搜索引擎、浏览器和数据库可以在读取 XML 文件之前先读取 DTD 用于显示或使用 XML 文档。 物理设计 : 转换数据模型将其用于数据库平台的过程。物理设计显示了数据在数据库中的存储方 式。 术语表 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 502 物化视图 : 物化视图用于在分布数据库之间动态拷贝数据。物化视图分为两种: 复杂视图 简易视图 复杂物化视图可以拷贝部分主表或多个主表的数据。简易物化视图直接复制单个图表。您无法直接 更新物化视图中包含的数据。 X 现用档案目录 : 现用档案目录是存储从储存库中签出档案的位置。 限制 : 一种过程,确保只要相关子实体实例存在,父实体实例不会被删除或更新。 序列 : 生成可定义数值序列的可编程数据库对象。数值序列确定之后,许多用户可以同时使用。 Y 亚型 : 实体实例的子集,子集之间共享不同于其他子集的属性或关系。 亚型簇 : 共享共同特征但根据不同实体实例分成独立实体的分级实体。也称为分类实体。 衍生属性 : 如果一个属性的数值通过其他属性的数值确定,那么该属性为衍生属性。 业务规则 : 在数据模型中强制执行的业务政策或规范。 以键为基础的模型 : 采用第三种标准形式或更高级别的数据模型。 用户定义的数据类型 : 基于基本数据类型专门定制的并且可以重用的数据类型。 域 : 属性可以使用的有效值。 元模型 : 模型的模型。元模型描述了模型的基本结构。 元数据 : 有关数据库的所有信息,但不包括存储的数据本身。元数据描述了数据的结构和关系。 约束 : 维护有效数据值的机制。 术语表 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 503 Z 正向工程 : 将逻辑模型转换为物理模型设计用于部署数据库平台的过程。 置空 : 确认父实体主键中外键数值存在的过程;如果未确认数值存在,触发器会将子实体的外键 值设为空,以便于用户机型修改数据。 状态栏 : ER/Studio DA 在应用下方的状态栏中显示和您的逻辑和物理模型有关的统计结果 . 以下 表格列出了状态栏中显示的统计信息: 主键 : 选择用来标识每个实体实例的单个属性或属性集。 主键属性 : 实体主键中包含的属性。 子模型 : 整个或部分逻辑或物理模型的独立视图。 子实体 : 继承其他实体外键的实体。 子图 : 模型中一组相互关联的实体和视图。 ER/Studio DA 决定着簇组件,并试图内部整理每个组 件以及单个簇之间的定位。 组合键 : 包括多个属性的主键,有些主键可以作为外键继承其他实体。 祖先 : 直接作为父实体或者通过一个或多个子实体使用一个或多个主键属性创建其他实体的实体。 数据模型模式 统计 定义 逻辑模型 视图 当前模型或子模型视图总数。 实体 当前模型或子模型中的实体总数。 属性 当前模型或子模型中的属性总数。 关系 当前模型或子模型中的关系总数。 物理模型 表格 当前模型或子模型中的表格总数。 视图 当前模型或子模型视图总数。 列 当前模型或子模型中的列总数。 外键 当前模型或子模型中外键的总数。 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 504 索引 符号 “Data Dictionary” 选项卡 18 “Data Model” 选项卡 17, 28 “Diagram” 窗口 22 “Overview” 窗口 22 “Zoom” 窗口 22 弹出窗口 22 “Edit RoleNames” 对话框 159 “Macro” 选项卡 21 “Overview” 窗口 26 打开 / 关闭 “Overview” 窗口 26 “Repository” 选项卡 21 “Zoom” 窗口 打开 / 关闭 “Zoom” 窗口 25 A 安全套接层 (SSL) 396 B 绑定过程中 @var 替换 267 报告 295–296 保存 359 部分 357 格式化 298 相关 357 编程指南 365 编辑 对象名称 91 编辑规则编辑器 267 编辑宏 383 表达式 列 94 表格 查找 88 触发器 221 表格编辑器 HiRDB 存储页签 176 IBM DB2 UDB 存储 177 Oracle 7 环境下的存储 179 Oracle 8 环境下的存储 179 Sybase SQL Anywhere 存储页签 176–178 Sybase System 10、 Sybase Adaptive Server 以及 Microsoft SQL Server 4.x 环境下的 “Storage” 选 项卡 183 数据表存储 176–178 表格细节 362 表空间 190 布局 层次 133 递增式 134 对称 134 请看关系图 全局 134 树形 134 圆形 133 正交 133 布局属性编辑器 133 不生成 关系编辑器 159 C 菜单 26 快捷菜单 26 应用菜单 26 参照完整性 推断 49, 53 操作数据字典 导入数据字典 261 复制、粘贴数据字典对象 261 层次布局 133 查看依赖项 逆向工程 49 超级用户 400 超类型 165 储存库 安全性 399 安全中心 405 创建用户 406 为用户分配角色 405 绑定 352 备份和恢复 398 查询 398 分支 / 合并图表 346 服务器 392 跟踪命名标准模板 274 回滚图表 347 获得命名的版本 334, 345 获取最新版本 336 角色 删除 401 配置 394 企业数据字典 (EDD) 348 签入冲突 339 取消操作 354 删除角色 354 删除命名版本 346 删除图表 347, 354 数据库 393 许可的操作 402 用户 创建 406 子项目 353 索引 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 505 储存库文件 *.pri、 *.pro 393 储存库文件的管理 393 储存库文件的维护 393 触发器 221 CASCADE 225 无 224 无动作 224 约束 225 置空 225 创建数据模型 逆向工程 47 窗口 17 “Diagram” 窗口 17 Diagram Explorer 17 从 ERX/SQL 中导入模型 导入 ERX 文件 52 D DDL Generation 处理 SQL 关键字 36 快速启动文件扩展 294 DDL 生成要求 12 Diagram Explorer 17 “Data Dictionary” 选项卡 17 “Data Model” 选项卡 17 “Macro” 选项卡 17, 21 “Reference Models” 选项卡 17 “Repository” 选项卡 17 “Schema Objects” 选项卡 17 打开 / 关闭 “Overview” 窗口 26 打开 / 关闭 “Zoom” 窗口 25 DOS 命令 375 弹出框 25 导出 屏幕截图 325 导入 ERX 文件 52 导入外部元数据选项 52 递归关系 164 递归关系对话框 164 添加 164 递增式布局 134 对比和合并 快速启动文件扩展 294 对称布局 134 对齐 请看关系图 对现有数据库进行逆向工程 47 多 - 对 - 多关系 161 E Enterprise Portal 配置连接细节 396 ER/Studio 报告向导 295–296 F 范例代码 外部 VB 363 外部 VB 应用 368 非规范化映射 249 非特定关系 161 非识别关系 161 附件 绑定 263 绑定具体对象 263 关联主键 263 复制、粘贴数据字典对象 261 G 更多资源 12 更改数据库平台 更改 78 工具栏 27, 497 键盘命令 27, 497 显示 27 移动 27 状态栏 27, 497 关系 编辑 159 编辑器 159 标识 160 多 - 对 - 多 161 非特定 161 非识别 161 描述 80 添加 159 关系编辑器 159 使用 159 关系模型 42 关系图 布局属性 88 对齐对象 88 分布对象 88 光标弹出帮助选项 41 规范化 137 规则 267 编辑 268 编辑器 267 添加 268 规则绑定 @var 267 H 宏 添加 383 宏编辑器 381 自动完成代码键入 381 宏示例 371 绘制形状 添加 130 索引 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 506 J 集合 369 迭代 370 循环 370 及时签出 395 计数 370 检查约束 135 键盘命令 27 检验 配置政策 395 角色 删除 401 角色名称 “Edit RoleNames” 对话框 159 编辑 163 解决冲突 339 接受安全更新 405 K 客户端库 12 可延迟约束 (Oracle) 160 库 例子 281 快捷菜单 26 快速启动 默认地址 48, 53 逆向工程 48, 53 快速启动设置 保存文件 294 重命名文件 294 快速启动文件扩展 294 L 类型先定义特征 381 理解关系基数 递归关系 164 列 表达式 95 论坛 12 逻辑和物理模型 物理和逻辑数据类型映射 171 逻辑模型 命名标准 271 数据类型映射 172 逻辑模型细节 360 逻辑设计概念 136 对象命名规则 137 规范化 137 文档注释 137 逻辑视图细节 362 逻辑子模型细节 361 M 命令行程序 375 命名标准 快速启动文件扩展 294 命名标准工具 创建模板 271 命名标准模板 导出 XML 271 导入 XML 格式模板 271 跟踪版本 274 内部对象 271 使用场景 271 外部 271 外部文件位置 271 文件名扩展名 271 命名标准模板编辑器 “ 附件绑定 ” 选项卡 271 大小写转换 272 Logical 页签 271 逻辑模型对象 271 物理页签 271 模型 添加 66 向导,新物理模型 66 模型验证 快速启动文件扩展 294 目录 3 N NST 编辑器 271 逆动词短语 80 逆向工程 47 保存设置 48, 53 查看依赖项 49 初始布局选项 49, 53 改进性能 49, 53 快速启动 48, 53 快速启动文件扩展 294 需要的角色 50 引用依赖项 49 语法解析器 49, 53 支持数据库 48 逆向工程向导 47 逆向工程要求 12 O ODBC 数据源 配置 386 Oracle 可延迟约束 160 P 匹配对象 75 屏幕编辑 91 屏幕截图 导出图像 325 Q 企业数据字典 348 强制匹配 72 取消匹配对象 76 取消与重做 28 全局布局 134 R RDBMS 连接 12 索引 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 507 S SQL 生成要求 12 SSL 396 删除宏 384 设计周期 逻辑设计概念 136 实体 查找 88 调整大小 30 实体编辑器 数据血统 284, 292 实体 - 关系模型 42 实体细节 361 视图 92 编辑 92 查找 88 视图编辑器 表格 92 列 92 Where 92 数据安全性 概述 264 生成默认值 264 数据安全属性 264 数据建模 41 关系模型 42 实体 - 关系模型 42 数据建模原理 数据建模 41 数据库 连接至 48 物理存储 175 支持 48 数据库的物理存储 175 数据库连接 12 数据库连接类型 本地 48 开放式数据库连接( ODBC) 48 数据库生成要求 12 数据类型映射 171 查看 172 逻辑到实体模型 171 使用 XML Schema Generation 309 物理模型 172 重命名 172 自定义 171 数据类型映射编辑器 自定义数据类型映射 172 数据模型对象 视图 92 数据强制编辑器 141 数据血统 19 模型数据移动属性 288–289 数据移动规则 289 源 / 目标 286 数据移动规则 289 禁用 289 数据源目标属性对话 286 数据字典 259, 348 新建数据字典 349 树形布局 134 搜索结果报告 92 T 讨论组 12 添加规则编辑器 267 添加新物理模型 66 向导 66 通过命令行访问 ER/Studio 375 通用 ISQL 364, 369–371, 378, 381–384 ER/Studio 的宏 371 宏编辑器 381 宏编辑器设计 ActiveX Automation Members Browser 382 编辑宏 383 删除宏 384 使用宏编辑器 383 添加宏 383 运行宏 384 重命名宏 384 使用自动化接口 更新事件的处理 378 自动化接口 对象和对象模型 364 方法 371 集合 369 属性 370 通用命名工具 生成搜索结果报告 92 通用命名工具对话框 92 对象范围选项卡 92 模型范围选项卡 92 图表 更改弹出文本 41 图表细节 360 图像 导出 325 推断 49, 53 W Visual BASIC 项目范例 363 外键 49, 53 区分重叠外键 163 维度表 逻辑到物理 174 为逻辑设计进行注释 137 文档资料 12 问与答 12 物理和逻辑数据类型映射 171 物理模型 命名标准 271 物理模型细节 360 物理设计概念 物理存储 175 转换 174 索引 英巴卡迪诺 > ER/STUDIO® DATA ARCHITECT 8.5.3 用户指南 508 物理设计字典 创建 RTF 格式报告 295–296 物理视图细节 362 物理子模型细节 361 X XSD Schema 的生成 301 形状 添加 130 悬停在文本上 41 选择 “Diagram to Delete” 对话框 347 Y 颜色和字体 改变颜色和字体 125 颜色和字体编辑器 125 引用依赖项 49 应用菜单 26 “Database” 菜单 26 “Edit” 菜单 26 “File” 菜单 26 “Format” 菜单 26 “Help” 菜单 26 “Insert” 菜单 26 “Layout” 菜单 26 “Model” 菜单 26 “Repository” 菜单 26 “Tools” 菜单 26 “View” 菜单 26 “Window” 菜单 26 用户 创建 406 用户和角色 启用 50 用户数据类型 添加 274 域 推断 49, 53 元数据 导入选项 52 元向导 51 导入外部元数据 51 导入外部元数据选项 52 圆形布局 133 约束 267 运行宏 384 Z 正交布局 133 识别性关系 160 知识库 12 重命名宏 384 主键 推断 49, 53 注释逻辑设计 137 转换类型 显示 32 状态栏 29, 503 自定义布局风格 133 自动布局 133 自动化对象 编程指南 ? 365 批处理文件 375 自动化接口 364 对象和对象模型 364 方法 371 集合 369 流程图 363 属性 370 子类型 165 子模型 358 子模型同步 快速启动文件扩展 294 子项目 353 组件模块图 15
还剩507页未读

继续阅读

下载pdf到电脑,查找使用更方便

pdf的实际排版效果,会与网站的显示效果略有不同!!

需要 8 金币 [ 分享pdf获得金币 ] 3 人已下载

下载pdf

pdf贡献者

fenkeng111

贡献于2015-05-07

下载需要 8 金币 [金币充值 ]
亲,您也可以通过 分享原创pdf 来获得金币奖励!
下载pdf