好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

使用UML的数据库分析与设计说明.ppt

46页
  • 卖家[上传人]:l****
  • 文档编号:164268575
  • 上传时间:2021-01-27
  • 文档格式:PPT
  • 文档大小:1.65MB
  • / 46 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 第八章 使用UML的数据库分析与设计,本章的教学目的 长期以来按照传统的系统设计方法,应用程序设计与数据库设计是分别进行的,设计完成后还需要对这两项设计进行协调,因此比较麻烦如果采用UML进行系统分析和设计,则可以把系统的应用程序设计和数据库设计统一起来,有效地提高数据库设计的效率和质量,降低开发风险,提高软件部件的可重用性,降低开发成本所以,希望同学们通过本章的学习能掌握使用 UML进行数据库分析与设计的方法 本章的教学内容 UML关系数据库设计的概念、术语和规范 使用UML进行数据库分析与设计的方法与过程,8.1 数据库设计的一般方法与过程 1.传统的关系数据库设计方法与过程 传统的关系数据库设计的过程分为4个阶段: 需求分析; 概念结构设计; 逻辑结构设计; 物理结构设计 (1)需求分析阶段的主要任务是通过对现有的系统进行调查分析,以确定要建立的新数据库应用系统的信息需求和处理要求,并编制出数据库需求分析说明书,对数据的存储要求和处理要求进行描述,作为后续各设计阶段的依据2)概念结构设计需要借助某种工具或方法,如当前应用最广泛的有实体联系方法(Entity-Relationship,ER方法),它使用ER图定义系统的信息组织模式,即概念结构。

      教师-学生-课程E-R 图,(3)逻辑结构设计的任务是按照一定的规则,将概念结构转换为某种数据库管理系统所能接受的数据模型图2 一个实体类型转换为一个关系模型,(4)物理结构设计 将前一阶段设计的关系模式转化为具体数据库环境下的数据表结构,以实现对数据库的有效管理这需要依赖于给定的计算机系统来确定对于关系数据库系统来说,数据库的物理结构主要由DBMS确定 2.基于UML的数据库设计 使用UML做数据库设计,可以把数据库设计与系统的应用程序设计结合在一起进行,而且UML具有更强的建模表现能力基于UML的关系数据库设计与传统的关系数据库设计的过程类似,一般分为4个阶段: 业务Use Case模型设计:就是进行数据库的需求分析,使用用例图等建立业务模型 逻辑数据模型设计:主要是确定应用系统所需要的持久数据使用类图等建立数据库逻辑模型如果是关系数据库设计,则需要设计出表达持久数据的实体类及其联系,并把它们映射成为关系数据库表(Table)、视图(View)等 物理数据模型设计:使用组件图、配置图等,设计数据库的物理模型 物理实现设计:根据物理数据模型建立具体数据库环境下的数据库,定义构成数据库的基本表、视图等。

      8.2 UML用于数据库设计的规范 8.2.1 表是关系数据库的基本建模结构表又称为二维表或关系,它是具有相同结构的行(Row)的集合,行又称为元组表中的每一列又称为关系的属性在UML中表用类的图标来表示,带有构造型图标“ ”或,类名即表名,类的属性描述表的列特性,包括列名、数据类型,以及有关的约束在类的行为部分,根据需要可以给出对表的一些操作的描述,也可以缺省8.2.2 关键字与索引 (1)候选关键字(candidate key):是一个或多个属性的组合,它唯一地确定某个表里的记录一个候选关键字里的属性集必须是最小化的;除非破坏唯一性,否则属性不能从候选关键字删除候选关键字里的属性不能为空 (2)主关键字(primary key):是一个特别选定的候选关键字,用来唯一地确定表里的记录 (3)外来关键字(foreign key):是一个属性或属性组,它在本表中不是关键字,不能唯一地标识表中的行,但它在另一个表中是主关键字,能够唯一地标识那个表中的行外来关键字体现了两个表的联系,实现表之间的参照完整性 例如: 学生S (学号, 姓名, 性别, 年龄, 身份证号), 课程C (课号, 课名), 选课SC (学号, 课号, 成绩),索引表结构图,(4)索引:索引是由数据库表中一列或多列值的集合形成的数据结构,使用这种结构可快速访问数据库表中的特定信息。

      在UML图标中,索引用构造型表示8.2.3 约束 约束是一种施加于数据库结构的规则,用于保证数据库的正确性或完整性 (1)主关键字约束加在表的图标中的一个属性名前面,表示该属性为主关键字,也可以加在一个操作名前表示该操作的类型主关键字约束使用构造型表示,也可用一个小图标“PK”代替2)外来关键字约束加在表中的一个属性名前面,表示该属性为外来关键字,也可以加在一个操作名前表示该操作的类型外来关键字约束使用构造型表示,也可用一个小图标“FK”代替3)值检验约束可以检验表中列值是否符合某个规则,比如把列值与一个固定的值范围进行比较或与数据库中的其他列的数据进行比较值检验约束使用构造型表示,它可以加在一个操作名前面,以表示该操作是一个值检验约束4)值唯一性约束保证所定义列的所有值是互不相同的值唯一性约束使用构造型表示,它可以加在一个操作名前面,以表示该操作是一个值检验约束5)触发器约束当一般的约束难以满足应用程序的功能需求时,可用触发器约束来满足所以它也是为保证表的数据完整性而定义的某种特殊约束操作当对表中数据进行了增、删、改等操作时,触发器可能被自动激发执行触发器约束使用构造型表示,它可以加在一个操作名前面,以表示该操作是一个触发器。

      8.2.4 联系 存在于两个表之间的任何关系称为联系表之间的联系有两种:非确定性联系和确定性联系 非确定性联系(Non-Identify Relationship)是存在于两个独立表之间的联系,此时在子表中的外来关键字为非主关键字列 确定性联系(Identify Relationship)是存在于两个有依赖关系的表之间的联系,若父表不存在,则子表也不存在,子表的存在依赖于父表的存在父表中的每一个主关键字列都可成为子表中的主关键字列的一部分和外来关键字列8.5 视图 一个视图是一个基本表的投影,包含基本表的部分数据 视图可以看成数据库的窗口,可以简化数据库查询的复杂性,有利于保持数据库数据的一致性和安全性 在UML中,视图用带有构造性图标“ ”或的类表示,类名即为视图名但是,视图的属性必须与其来源表中相应的属性一致8.6 数据库与数据库模式 (1) 数据库 在UML中,数据库用带有构造型的组件表示,也可用柱型图标表示2) 数据库模式 数据库模式是表的组织结构的描述关系数据库模式是关系模式的集合,包括对表的静态结构和完整性约束的定义 在UML中,数据库模式用带有构造型的包表示,通常用在类图中。

      8.7 表空间与节点 (1)表空间 表空间是指数据的存储区域一个数据库可以分布在一个或多个表空间,这取决于数据库的数据量、数据访问要求和安全性的要求 表空间用带有构造型的组件表示,表空间与数据库的联系用依赖表示2)节点 节点(Node)是处于运行期的分布式系统的物理元素,代表计算机资源,如处理器或其他硬件设备经过开发得到的软件组件和重用模块就必须配置在相应的节点上才能被执行 节点在配置图中使用,通过节点和节点之间的联系,表达计算机系统的物理配置结构8.3 关系数据库逻辑模型设计 8.3.1 逻辑模型设计 在逻辑数据模型设计阶段,主要任务是确定应用系统所需长期保存的实体数据,用类图等建立数据库的逻辑模型对于关系数据库,则需要根据系统中的实体类,创建关系数据库模式,包括表、视图、索引等数据结构元素的设计,以及相应的触发器、存储器的设计 8.3.2 从类创建表 将类转换为表的最简单做法是一对一映射,即为每一个实体类创建一个表类中的属性就是表中的列,类中的关键字就是表的关键字类向表映射示例,类向表映射时应注意的事项: (1)注意数据类型的转换:要把对象类的属性数据类型 转换为数据库模型中列的数据类型; (2)可导出的属性数据,不必作为持久性数据映射成表中的列。

      (3)从类创建表的过程中,要指定主关键字和外来关键字,增加必要的约束条件,如合法输入值校验等,做成操作函数列入相应的表模型中8.3.3 联系的映射 1. 关联的映射 (1)类之间的关联是“一对一”的情形 在向关系数据模型的映射中,可以为每一个类创建一个表,其中主表的主关键字也是它所关联的表的外来关键字2)类之间的关联是“一对多”的情形 在向关系数据模型的映射中,可以为每一个类创建一个表,其中“一”方表的主关键字也是它所关联的“多”方表的外来关键字3)类之间的关联是“多对多”的情形 在向关系数据模型的映射中,除了为每一个类创建一个表以外,必须创建一个关联表(Associate Table),实现多对多的关联关联表的作用是把一个“多对多” 的联系转换为两个 “一对多”的联系,该关联表的主关键字由它所关联的每个表的主关键字组成2.泛化/特化联系的映射 对于泛化/特化联系的映射,可以有如下三种做法: (1)为超类和每个子类创建一个表,同时视需要可为每一个超类/子类对创建一个视图; (2)为超类创建一个表,将子类的所有列信息存入到超类表中,即将表示泛化/特化联系的层次结构(继承)简单地转换为一个表。

      (3)为每一个子类创建一个表,将超类的所有列信息存入到每个子类表中当采用第二种方法把泛化/特化关系映射为关系数据模型时,将子类表的所有列信息存入到超类表中如图8.15所示当采用第三种方法把泛化/特化关系映射为关系数据模型时, 为每一个子类创建一个表,将超类的所有列信息存入到每个子类表中如图8.16所示3. 聚合/组合联系的映射 聚合/组合联系的映射类似于关联的映射,可以有如下三种做法: (1)如果构成聚合/组合联系的超类和子类之间的多重性是“一对一”的,则可以把超类和子类合并转换为一个表,其中包含超类和子类的全部属性数据2)如果构成聚合/组合联系的超类和子类之间的多重性是“一对多”的,则可以把超类和子类分别转换为一个表对于聚合,超类相应的表和子类相应的表之间存在非确定性联系;对于组合,两个表之间存在确定性联系8.3.4 触发器与存储过程,触发器(Trigger)为保证表的数据正确性和完整性而定义的约束操作当对表中数据进行增、删、改等操作时,触发器可能被自动激发执行触发器约束使用构造型表示,它可以加在一个操作名前面,以表示该操作是一个触发器存储过程 (Stored Procedure) 是一种对数据库进行数据操作和运算的程序过程,是经过事先编译的存储在数据库内部的过程。

      一个存储过程可以是依附于某个表的,也可以是独立的 在数据库建模中,一个或多个存储过程可以组织成存储过程集,用带有构造型的类图标表示,在其中的操作框中列出每个存储过程的名称、参数和类型,并在前面标记8.4 关系数据库物理设计 主要任务是创建必需的表空间和数据库,并把它们配置到适当的物理节点上 (1)首先创建表空间,然后根据表所存储的数据的特点、数据量的大小,以及对数据存取特性的要求,把全部的表划分成几个组,将每组存入一个或几个表空间一个表空间可以存储多个表,一个表的数据也可分散于多个表空间,视具体情况而定在表空间的基础上,进一步创建数据库,并且按照实际需要和实现环境,考虑将数据库配置在一个独立的物理节点上,还是与应用系统配置在同一个节点上8.5 网上书店的关系数据库设计,基于UML的关系数据库设计一般分为4个阶段: 业务Use Case模型设计:就是进行数据库的需求分析,使用用例图等建立业务模型 逻辑数据模型设计:主要是确定应用系统所需要的持久数据使用类图等建立数据库逻辑模型如果是关系数据库设计,则需要设计出表达持久数据的实体类及其联系,并把它们映射成为关系数据库表(Table)、视图(View)等。

      物理数据模型设计:主要任务是创建必须的表空间和数据库,并把它们配置到适当的物理节点上故使用组件图来描述表空间的组织结构,用配置图来描述数据库系统的运行环境,包括数据库的物理配置 物理实现设计:把物理数据模型转换成实。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.