UML与系统分析设计(第二版) 第13章 数据库分析与设计.ppt_第1页
UML与系统分析设计(第二版) 第13章 数据库分析与设计.ppt_第2页
UML与系统分析设计(第二版) 第13章 数据库分析与设计.ppt_第3页
UML与系统分析设计(第二版) 第13章 数据库分析与设计.ppt_第4页
UML与系统分析设计(第二版) 第13章 数据库分析与设计.ppt_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库的分析设计常是计算机系统分析设计中的一项十分重要的工作 在计算机系统中数据库一般是独立于应用系统的 同时数据库与应用系统又是密切相关的 一个大型数据库通常需要向多个应用系统提供数据服务 实现数据共享 长期以来按照传统的应用软件设计方法 数据库设计与应用系统设计是分别进行的 常常存在一个相互协调的问题 如果采用UML进行系统的分析与设计 则可以把系统的应用程序 行为 设计和数据库设计统一起来 有效地提高数据库设计的效率和质量 降低开发风险 提高软件成分的可用性 降低开发成本 本章简要介绍UML用于关系数据库设计的规范 方法与过程 UML同样适用于对象数据库和对象 关系数据库设计 第13章数据库分析与设计 Home 第13章数据库分析与设计 13 1数据库设计概述 13 2UML用于数据库设计的规范 13 3关系数据库逻辑设计 13 4关系数据库物理设计 Home 13 1数据库设计概述 Home 13 1 1数据库与数据库设计 13 1 2数据模型 13 1 3数据库设计方法与过程 数据库 Database DB 是某一组织中各种应用所需要保存和处理的数据的集合 数据结构化地存放在数据库中 完全地或部分地消除了数据的冗余 实现数据共享 在物理上 数据库是磁盘上的一个存储数据的区域 数据库设计指的是对于一个给定的应用环境 构造一个最优的数据库模式 并据此建立一个既能反映现实世界信息和信息联系 满足用户对数据要求和加工要求 又能被某个数据库管理系统 DBMS 所接受的数据库及其应用系统 使得数据库既能有效 安全 完整地存储大宗数据 又能满足多个用户的信息要求和处理要求 数据库设计是一个复杂的过程 在这个过程中需要将现实世界中的事物转化为由机器世界所存储和管理的数据 13 1 1数据库与数据库设计 Home 一个数据库应用系统的设计包含两方面的内容 1 结构特性的设计 即数据库模式或数据结构的设计 2 行为特性的设计 即应用程序 事务处理的设计 按照传统的应用软件设计方法 这两者的设计是分别进行的 常常存在一个相互协调的问题 如果采用UML进行系统的分析与设计 则可以把系统的应用程序 行为 设计和数据库设计统一起来 单就数据库设计而言 不但可以设计数据库的静态结构 数据库模式 而且可以设计对数据库中数据的各种操作 13 1 1数据库与数据库设计 Home 数据模型 DataModel 是对现实世界的抽象 是建立数据库的基础 通常 在一个数据模型中需要描述数据的组织结构 对数据的操作和数据的完整性约束 当前存在的数据模型大体上可以分为两大类 1 基于记录的逻辑模型 传统的三种数据模型 层次模型 网状模型和关系模型 都属于这一类 它们都是以数据记录和数据项作为基本的数据结构 2 基于对象的逻辑模型 常见的模型有 实体联系模型 ER模型 面向对象数据模型等 它们是更高抽象层次意义上的概念模型 13 1 2数据模型 Home 1 传统的关系数据库设计 传统的关系数据库设计的过程分为四个阶段 需求分析 概念结构设计 逻辑结构设计 物理结构设计 需求分析阶段的主要任务是通过对现行的手工系统或已有的计算机系统进行调查和分析 以确定对即将建立的数据库应用系统的信息要求和处理要求 并对数据的存储要求和处理要求进行描述 编制出数据库需求分析说明书 作为后续各设计阶段的依据 数据库的概念结构 或称为企业的组织模式 它是独立于任何一种数据模型和任何具体的数据库管理系统 DBMS 的信息结构模型 它是现实世界的 纯粹 表示 13 1 3数据库设计方法与过程 Home 概念结构设计需要借助于某种工具或方法 当前应用最广泛的是实体 联系方法 ER方法 它使用ER图定义企业的信息组织模式 即概念结构 逻辑结构设计的任务是按照一定的规则 将概念结构转换为某种数据库管理系统 DBMS 所能接受的数据模型 物理结构设计是指对一个给定的逻辑数据模型选取一个最合适应用环境的物理结构的过程 传统的关系数据库设计存在着不少的缺点 其主要问题是把数据库设计与系统的应用行为设计分离 13 1 3数据库设计方法与过程 Home 2 使用UML做数据库设计 使用UML设计数据库 可把数据库设计与系统的应用行为设计结合在一起进行 而且UML具有更强的建模表现能力 使用UML进行关系数据库设计的做法有两种 其一是以ER图为基础进行数据库设计 设计工作按照ER模型的概念和方法进行 只是用UML表达 其二是用UML直接进行数据库的分析设计和表达 第二种做法可以把数据库设计与应用系统软件的设计统一进行 13 1 3数据库设计方法与过程 Home UML的对象类图能够更好地用于对数据库建模 UML的对象类图不但对数据 而且能对行为建模 这些行为在物理数据库中被设计成触发器和存储过程 或者专用的例行程序 Utility 使用UML进行数据库分析设计的过程一般分为四个阶段 业务UseCase模型设计逻辑数据模型设计物理数据模型设计物理实现设计 在业务UseCase模型设计阶段 实际上是进行数据库的需求分析 使用UseCase图 类图 顺序图 活动图等建立业务UseCase模型 13 1 3数据库设计方法与过程 Home 在逻辑数据模型设计阶段 主要是确定应用系统所需要的持久数据 使用UseCase图 顺序图 活动图等建立系统UseCase模型 使用类图 顺序图 活动图 状态机图等建立数据库逻辑模型 对于关系数据库 须要设计出表达持久数据的实体类 EntityClass 及其联系 并把它们映射成为关系数据库表 视图等 在物理数据模型设计阶段 使用类图 组件图 配置图等 设计数据库的物理模型 在物理实现设计阶段 把物理数据模型转换到实际的数据库环境 13 1 3数据库设计方法与过程 Home UML用于数据库设计的规范 UMLprofileforDatabaseDesign 是UML语言中针对数据库建模和设计需要的专用部分 它遵循UML标准 而且容易使用和理解 本节介绍的内容主要基于关系数据库的概念 适用于关系数据库的建模和设计 13 2UML用于数据库设计的规范 Home 13 2UML用于数据库设计的规范 Home 13 2 1表 13 2 2关键字与索引 13 2 3约束 13 2 4联系 13 2 5视图 13 2 6数据库与数据库模式 13 2 7表空间与节点 表 Table 是关系数据库的基本建模结构 表又称为二维表 关系 它是具有相同结构的行的集合 行又称为元组 其中包含数据 表中的每一列又称为关系的属性 任一行与列交叉点的元素称作分量 每一个数据必须作为一个分量值存储 每个属性所对应的变化范围简称域 它是一个值的集合 关系中所有属性的实际值均来自于它所对应的域 每一个表有一个关系模式 RelationalScheme 它由一个表名以及它所有的列名构成 它是一个二维表的表头 规定该表的组成 列的特性 以及完整性约束等 表结构及有关的术语如图13 1所示 13 2 1表 Home 例 一个学生表 如图13 1所示 13 2 1表 Home 图13 1表结构与术语 在UML中表用类表示 带有构造型图标 或 类名即表名 类的属性描述表的列特性 包括列名 数据类型 以及有关的约束 在类的行为部分 根据需要可以给出对表的一些操作 也可以缺省 例 图13 1的学生表的UML类图标表示 如图13 2所示 13 2 1表 Home 图13 2学生表与课程表 1 关键字 关键字 Key 用于存取表中的数据 主关键字 PrimeryKey 是一个属性或属性组 它的值唯一地标识表中的行 外来关键字 ForeignKey 是一个属性或属性组 它在本表中不是关键字 不能唯一地标识表中的行 但它在另一个表中是主关键字 能够唯一地标识该表中的行 外来关键字体现了两个表的联系 实现表之间的参照完整性 设置在属性前面的图标 PK 表明该属性是主关键字 图标 FK 标志外来关键字 主关键字和外来关键字的表示也可以分别使用构造型 和 13 2 2关键字与索引 Home 2 索引 索引 Index 支持快速数据存取的物理结构 在表中可以指定某个属性作为索引项 或指定某几个属性组成多级索引项 在表的UML图标中 索引用加在一个操作前面的构造型 表示 如图13 3所示 13 2 2关键字与索引 Home 图13 3带有索引与约束的表 约束 Constraint 是一种施加于数据库结构的规则 用于保证数据库的完整性 约束描述数据库的动态行为 而表和列只表示数据库的静态结构方面 在UML数据库设计规范中定义了多种约束 包括主关键字约束 外来关键字约束 触发器约束 Trigger 值检验约束 ValueVerification 值唯一性约束 Uniqueness 等 它们都用带有相应构造型的一个操作实现 如图13 3所示 1 主关键字约束 主关键字约束定义一个表的主关键字 每一个表中只允许有一个主关键字 主关键字约束使用构造型 表示 构造型 也可以用一个小图标 PK 代替 构造型 可以加在一个属性名称的前面 以指定该属性为主关键字 也可以加在一个操作名称的前面 以标志该操作的类型 13 2 3约束 Home 2 外来关键字约束 外来关键字约束是实现表之间联系的约束 通常定义在子表中 外来关键字是这样的列 它在父表中是主关键字 而在子表中则不是关键字 外来关键字约束使用构造型 表示 构造型 也可以用一个小图标 FK 代替 构造型 可以加在一个属性名称的前面 以指定该属性为外来关键字 也可以加在一个操作名称的前面 以标志该操作的类型 3 触发器约束 触发器 Trigger 是一种特殊类型的存储过程 触发器的活动是由其它活动的结果自动触发执行的 这一般是对数据库中的数据进行更新操作 插入 删除 修改 的一种副作用 触发器用于保证数据库的完整性 触发器约束使用构造型 表示 它加在一个操作名称的前面 13 2 3约束 Home 4 值检验约束 表中的列值可以按照某个规则检验其值的正确性 不但可以把列值与一个固定的值范围作比较 而且可以把列值与数据库中的其它数据作比较 值检验约束使用构造型 表示 它可以加在一个操作名称的前面 以标志该操作是一个值检验约束操作 5 值唯一性约束 值唯一性约束保证所指定的列的所有值都是互不相同的 即该列的每一个值都是唯一的 值唯一性约束使用构造型 表示 它可以加在一个操作名称的前面 以标志该操作是一个值唯一性约束操作 13 2 3约束 Home 表之间的任何依赖关系称为联系 Relationship 一个联系是一个带有联系构造型的关联 Association 和一组主关键字 外来关键字的整合 Summary 每一个联系都存在于父表和子表之间 父表中必须定义有主关键字 而子表则有外来关键字列和外来关键字约束 用于访问父表 联系有两种 非确定联系和确定联系 非确定联系 Non IdentifyingRelationship 是存在于两个独立表之间的联系 在子表中的外来关键字为非主关键字 确定联系 IdentifyingRelationship 是存在于有依赖的两个表之间的联系 若父表不存在 则子表也不可能存在 子表的存在依赖于父表的存在 在父表中的全部的主关键字列成为子表中的主关键字列和外来关键字列 13 2 4联系 Home 联系的构造型和图形表示 如图13 4所示 13 2 4联系 Home 图13 4表之间的联系 视图 View 是一个虚表 它代表具有相同结构的一组数据记录 只不过它的物理上的数据来源是某一个或多个表 视图不是物理存在的 它不包含真正存储的数据 不占存储空间 但视图可以象一般的表那样操作 少有限制 真正物理存在的表称作实表或基本表 在同一个基本表上可以创建多个视图 一个视图也可以在几张表上创建 此外 一个视图也可以从另一个视图创建 在UML中 视图用带有构造型图标 或 的类表示 视图的属性必须与其来源表中相应的属性一致 在视图的行为部分 根据需要可以给出一些操作 也可以缺省 视图与其存储来源数据的父表或父视图之间的关系用带有构造型 的依赖表示 视图象数据库的一个窗口 它提高了数据库对于应用程序的独立性 有利于保持数据的一致性 简化了复杂查询 可以只在视图上查询 而不必在基本表上查询 提供了一种保持数据库安全性的手段 13 2 5视图 Home 例 从学生表建立的一个视图男学生 如图13 5所示 它只包含全部男生的数据 13 2 5视图 Home 图13 5视图男学生 1 数据库 数据库 Database DB 是一种对用户透明的物理结构 用于存储数据 并控制对所存储的数据的存取 数据库中的数据常是某一组织中各种应用所需要保存和处理的数据的集合 数据结构化地存放在数据库中 完全地或部分地消除了数据的冗余 数据库中的数据供用户共享 在数据库中定义了数据库的类型 Type 以及对数据的约束 如数据类型 存储过程 语法等 在UML中 数据库用带有构造型 的组件表示 也可用一个柱型图标表示 在数据建模的组件图中 数据库经常与其它的类型的组件一起定义应用和数据库之间的依赖关系 13 2 6数据库与数据库模式 Home 例 组件图中的数据库示例 如图13 6所示 其中有构造型为 的三个组件 Web服务器 应用服务器 数据库服务器 以及三个数据库 ERP ACCOUNTS ORDER 13 2 6数据库与数据库模式 Home 图13 6组件图中的数据库 2 数据库模式 数据库模式 Schema 是表的组织的基本单位 它存储了用于数据存储和检索的数据模型的完整的描述 一个数据库模式必须指派给一个数据库 而一个数据库可以有一个或多个数据库模式 对于关系数据库而言 一个具体的关系数据库 Relatioaldatabase 是一个关系 表 的集合 而关系数据库模式 RelatioaldatabaseSchema 是关系模式的集合 它存储了对关系数据的描述 包括对表的静态结构和完整性约束的定义 在UML中 数据库模式用带有构造型 的包表示 通常用在类图中 13 2 6数据库与数据库模式 Home 例 一个电子超市的数据库系统的数据库模式用包 E Business DB 表示 如图13 7所示 13 2 6数据库与数据库模式 Home 图13 7数据库与数据库模式 1 表空间 表空间 Tablespace 是指数据的存储区域 表空间代表数据库系统 它是数据库与节点之间的联系 一个数据库可以分布在一个或多个表空间 这取决于数据库的数据量 数据访问要求和安全性要求 表空间用带有构造型 的组件表示 表空间与数据库的联系用依赖表示 例 一个在两个表空间上实现的数据库TeachingDB 如图13 8所示 13 2 7表空间与节点 Home TeachingDB 图13 8在两个表空间实现数据库 2 节点 数据库驻留在节点 Node 上 节点在配置图中使用 通过节点和节点之间的联系 表达计算机系统的物理配置构造 例 一个数据库系统的服务器端配置图 如图13 9所示 13 2 7表空间与节点 Home 13 2 7表空间与节点 Home OraNet ODBC 应用服务器 OracleServerMyDBServer1 Web服务器 DB2ServerMyDBServer2 SQLServerMyDBServer3 XML JDBC 图13 9数据库系统 服务器端 配置图示例 13 3关系数据库逻辑模型设计 Home 13 3 1逻辑数据模型设计 13 3 2从类创建表 13 3 4触发器与存储过程 13 3 3联系的映射 在逻辑数据模型设计阶段 主要任务是确定应用系统所需要长期保存的持久性数据 建立数据库的逻辑模型 对于关系数据库 则需要根据系统中的实体类 创建关系数据库模式 包括表 视图 索引等数据结构元素的设计 以及相应的触发器 存储器的设计 数据库设计是在对数据库应用系统做常规的UML系统分析设计的基础上进行的 要从众多的对象类中分离并确定具有持久性数据的实体类 把它们转换成相应的关系数据库表 并且根据实体类的属性的特征 以及类之间的联系 进行适当的映射与处理 从而建立起一个完整的关系数据库逻辑模型 与数据的增 删 改等有关的约束控制 可以采用触发器实现 更一般的与数据存取有关的操作 可以采用存储过程实现 在设计中应强调注意以下二点 注意关系数据库的结构特点 注意数据库应用系统的性能 13 3 1逻辑数据模型设计 Home 将类转换为表的最简单做法是一对一映射 即为每一个实体类创建一个表 类中的属性就是表中的列 类中的关键字就是表的关键字 在进行属性的映射时 必须注意数据类型的转换 即要把对象类的属性在原来所采用的应用模型中的数据类型 转换为数据库模型中的列的数据类型 导出属性往往不必作为持久性数据存储在数据库中 当须要使用这些导出属性数据时 只要调用某个相关的程序进行计算推演即可 这可用存储过程或一个程序段实现 从类创建表的过程中 需要根据数据的完整性和安全性方面的要求 指定主关键字和外来关键字 增加必要的约束条件 如合法输入值校验等 做成操作函数列入相应的表模型中 从类创建表的过程中 必须考虑类之间的联系 注意关系数据模型的特点 必要时可以把系统的逻辑设计模型中的一个类映射为多个表 或把多个类映射为一个表 13 3 2从类创建表 Home 例 类向表映射示例 如图13 10所示 13 3 2从类创建表 Home 图13 10类向表映射示例 1 关联的映射 对于持久数据的类模型 类之间允许有各种关联 参与关联的类的角色 Role 也可以是多种多样的 关系数据模型只支持表之间的非确定联系和确定联系 以及多重性为 一对多 的情况 把类之间的关联映射为表之间的非确定联系或确定联系时 对于非 一对多 的情况需要做一些适当的处理 在关系数据库模型中 无法直接表现表之间的确定联系或不确定联系 它们只能通过外来关键字或约束条件来实现 13 3 3联系的映射 Home 1 类之间的关联的多重性是 一对一 在面向对象的设计中 一对一 的关联代表两个独立的对象类之间的联系 在向关系数据模型的映射中 可以为每一个类创建一个表 其中每个表的主关键字也是它所关联的表的外来关键字 多重性 一对一 通过强制的约束实现 例 在图13 11 a 中 类 ITEM 与类 ITEM PIC 存在 一对一 的关联 即一个物件 ITEM 必有一张物件图 ITEM PIC 而一张物件图必指定给一个确定的物件 这个 一对一 的关联转换为关系数据模型如图13 11 b 所示 其中 表 ITEM 与表 ITEM PIC 之间的联系为非确定联系 它由在表 ITEM PIC 中引入的外来关键字列 Item ID 建立 而 Item ID 是表 ITEM 中的关键字 同时在表 ITEM PIC 中生成外来关键字约束 FK ITEM Pic37 13 3 3联系的映射 Home 例 一对一 关联的映射示例 如图13 11所示 13 3 3联系的映射 Home 图13 11 一对一 关联的映射示例 a b 2 类之间的关联的多重性是 一对多 在向关系数据模型的映射中 可以为每一个类创建一个表 其中 一 方的表的主关键字也是它所关联的 多 方的表的外来关键字 例 在图13 12 a 中 类 ITEM 与类 OrderedItem 存在 一对多 的关联 即一个已订购的物件 OrderedItem 必与一个确定存在的物件 ITEM 相关联 而一个物件可以被多次订购 该 一对多 的关联转换为关系数据模型如图13 12 b 所示 其中 表 ITEM 与表 OrderedItem 之间的联系为非确定联系 它由在表 OrderedItem 中引入的外来关键字字段 Item ID 建立 同时在表 OrderedItem 中生成外来关键字约束 FK OrderItem200 13 3 3联系的映射 Home 例 一对多 关联的映射示例 如图13 12所示 13 3 3联系的映射 Home 1 图13 12 一对多 关联的映射示例 a b 0 3 类之间的关联的多重性是 多对多 在向关系数据模型的映射中 除了为每一个类创建一个表以外 必须创建一个关联表 AssociateTable 实现 多对多 的关联 关联表的作用是把一个 多对多 的联系转换为两个 一对多 的联系 该关联表的主关键字由它所关联的每个表的主关键字组成 例 在图13 12 a 中 类 CUSTOMER 与类 EMPLOYEE 存在 多对多 的关联 一个商场的工作人员 EMPLOYEE 可以为多名顾客 CUSTOMER 服务 而一名顾客可以得到多个商场的工作人员的服务 在图13 12 b 中 表 CUSTOMER 与表 EMPLOYEE 通过一个新增加的关联表 CUST EMP 实现 多对多 的关联 表 CUSTOMER 与表 CUST EMP 表 EMPLOYEE 与表 CUST EMP 之间都是 一对多 的确定联系 13 3 3联系的映射 Home 例 多对多 关联的映射示例 如图13 13所示 13 3 3联系的映射 Home 图13 13 多对多 关联的映射示例 a 对象类的 多对多 关联 例 多对多 关联的映射示例 如图13 13所示 13 3 3联系的映射 Home 图13 13 多对多 关联的映射示例 b 多对多 关联的映射表 1 2 泛化 特化联系的映射 对于泛化 特化联系的映射 按照具体情况可以有三种做法 1 为超类和每一个子类创建一个表 同时视需要可为每一个超类 子类对创建一个视图 2 为超类创建一个表 将子类的所有列信息存入到超类表中 即将表示泛化 特化联系的层次结构 继承 简单地转换为一个表 3 为每一个子类创建一个表 将超类的所有列信息存入到每个子类表中 例 图13 14 a 是一个具有泛化 特化联系的设计模型的示例 其中 实体类 CorporateCUST 协作客户 和 VIP CUST 贵宾客户 均是类 CUSTOMER 客户 的特定客户类 两者存在着泛化 特化联系 类 CorporateCUST 和类 VIP CUST 是 akindof 类 CUSTOMER 即 CUSTOMER 为超类 CorporateCUST 和 VIP CUST 是它的子类 13 3 3联系的映射 Home 例 具有泛化 特化联系的设计模型示例 如图13 14 a 所示 13 3 3联系的映射 Home 图13 14泛化 特化联系的映射示例之一 a 例 采用第一种方法映射为关系数据模型 如图13 14 b 所示 13 3 3联系的映射 Home b 图13 14泛化 特化联系的映射示例之一 在第一种方法映射中 将类分别转换为表 CorporateCUST 表 VIP CUST 和表 CUSTOMER 它们之间有着确定联系 对于图13 14 b 所示的关系数据模型 在数据查询操作中将常须要做表 CorporateCUST VIP CUST 和表 CUSTOMER 之间的连接运算 在删除客户时 将须要做级联删除操作 这些都会降低系统的性能效率 为了控制对数据的存取 增强数据库的安全性 这里按照需要为协作客户创建一个视图 CorpCUST VIEW 如图13 14 c 所示 该视图将限制用户不能随意查询 Trust Level 信用等级 等敏感信息 13 3 3联系的映射 Home c 图13 14泛化 特化联系的映射示例之一 例 采用第二种方法映射为关系数据模型 如图13 15所示 将超类 CUSTOMER 转换为表 CUSTOMER 并把子类 CorporateCUST 和 VIP CUST 中的数据全部加入到表 CUSTOMER 中 在表 CUSTOMER 新增加一个列 Cust Type 客户类别 用于判别客户的种类 13 3 3联系的映射 Home 图13 15泛化 特化联系的映射示例之二 例 采用第三种方法映射为关系数据模型 如图13 16所示 在映射中 将子类分别转换为表 CorporateCUST 和表 VIP CUST 并把类 CUSTOMER 中的属性数据Cust ID Cust Name和Desc全部加入到表 CorporateCUST 和表 VIP CUST 中 其中属性Cust ID为两表的主关键字 13 3 3联系的映射 Home 图13 16泛化 特化联系的映射示例之三 3 聚合 组合联系的映射 聚合是一种较弱形式的聚集 通常是通过参照聚合 组合是一种较强形式的聚集 通常是通过值组合 聚合 组合联系的映射类似于关联的映射 如果存在聚合 组合联系的超类和子类之间的多重性是 一对一 的 则可以把超类和子类 合并转换为一个表 其中包含超类和子类的全部属性数据 如果多重性是 一对多 的 则可以把超类和子类分别转换为一个表 对于聚合 超类相应的表和子类相应的表之间存在非确定性联系 对于组合 两表之间存在确定性联系 在实际的系统实现中还须考虑删除级联问题 如果多重性是 多对多 的 可以按照图13 13的方式进行 除了把超类和子类分别转换为一个表之外 增加一个关联表 该关联表的主关键字由它所关联的表的主关键字组成 13 3 3联系的映射 Home 例 实体类 订货 和 物件 之间存在着 一对多 的聚合联系 如图13 17 a 所示 映射为具有非确定性联系的两个表 订货 和 物件 如图13 17 b 所示 在表 订货 中加入了列 ItemID 物件号 作为外来关键字 13 3 3联系的映射 Home 图13 17聚合联系的映射示例 b 1 n 1 1 a 例 实体类 顾客 和 通信地址 之间存在着 一对多 的组合联系 如图13 18 a 所示 映射为具有非确定性联系的两个表 顾客 和 通信地址 如图13 18 b 所示 在表 通信地址 中加入了列 Cust ID 顾客编号 与其自身的列 Addr ID 地址编号 组成关键字 13 3 3联系的映射 Home 图13 18组合联系的映射示例 触发器 Trigger 是与表紧密联系在一起的 通常作为保证表数据完整性的约束操作在表中定义 当对表数据进行增 删 改等操作时 触发器被自动激发执行 触发器使用构造型 表示 它加在一个操作名称的前面 以标志该操作是一个触发器 存储过程 StoredProcedure 是一种对数据库进行数据操作和运算的程序过程 是经过事先编译的存储在数据库内部的过程 供应用程序调用 一个存储过程可以是依附于某个表的 也可以是独立的 在数据库建模中 一个或多个存储过程可以组织成存储过程集 用带有构造型 的类图标表示 在其中的操作框中列出每个存储过程的名称 类型 参数 并在前面标记 13 3 4触发器与存储过程 Home 例 一个存储过程集 ORDER DETAILS 如图13 19所示 它包含有三个存储过程 RetriveDetails Display 和OnOK 它们依附于表 顾客 和 订货 13 3 4触发器与存储过程 Home 图13 19存储过程示例 0 1 关系数据库模型的物理设计方面的主要任务是创建必须的表空间 数据库 并把它们配置到适当的物理节点上去 首

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论