Download presentation
Presentation is loading. Please wait.
1
面向对象建模技术 软件工程系 林 琳
2
第12章 UML与数据库设计 在过去的几十年中,关系数据库模型征服了数据库软件市场,尽管未来不再属于关系数据库模型,但是大型系统采用对象关系数据库技术或者对象数据库技术还需要若干年时间。 随着面向对象技术的发展,许多建模人员都意识到了实体-关系模型的局限性;UML不仅可以完成实体-关系图可以做的所有建模工作,而且可以描述其不能表示的关系。本章将介绍UML模型到关系数据库的映射问题。 2
3
本章学习要点: 理解 UML模型与数据库设计之间的关系 将UML模型中的类映射为数据库表 UML模型中关联关系的转换 进行关系约束的验证
了解如何用SQL语句实现数据库功能 将UML模型映射为关系数据库 3
4
12.1 数据库结构 从数据库技术诞生到现在,经历了多种结构。从早期的网状数据库、层次数据库,一直到现在比较流行的关系型数据和面向对象的数据库。 在理想情况下,组织对象数据库的最好方式是直接存储对象及其属性、行为和关联。这种数据库称为面向对象数据库。 面向对象型数据库管理系统(ODBMS)在理论是可用的,但还存在相对有限的有效性等问题。而且传统型的数据库其理论已经相当成熟,其性能非常可靠并且已经被广泛应用,这导致了人们不愿意用他们非常有价值的资源来冒险。 4
5
12.2 数据库接口 数据库接口实现从业务层对象中获取数据,保存到数据库。该接口必须调用DBMS所提供的功能来对对象及其关联进行操作,这些操作是独立于数据库结构的。 对于对象及其关联而言,一个对象需要有四种操作: Creat、Remove、Store、Load 关联需要两种操作, Creat、Remove 5
6
12.2 数据库接口 业务模型中的多数对象都是持久的,需要在数据库中可见,可以进行操作,因此可以定义数据访问类专门用于数据库的访问。
12.2 数据库接口 业务模型中的多数对象都是持久的,需要在数据库中可见,可以进行操作,因此可以定义数据访问类专门用于数据库的访问。 关系型数据库的特点要求一个类中的所有对象具有同样数量的属性,每个属性有单一的数据类型。 6
7
12.3 数据库结构转换 在设计关系型数据库时,人们通常使用实体-关系模型来描述数据库的概念模型。与实体-关系模型相比,UML的类图模型具有更强的表达能力。本节将介绍从UML类图模型到关系数据库的结构转换问题。 7
8
类到表的转换 在将UML模型中的类转换(也可称为映射)为关系数据库中的表时,类中的属性可以映射为数据库表中属性,但并非类中所有的属性都需要映射。如果类中的某个属性本身又是一个对象,则应将其映射为表中的若干列。 在将UML模型中的类映射为关系数据库中的表时,可使用如下所示的方法为表定义主键。 将对象标识符映射为表的主键 将类的一些属性映射为表的主键 8
9
12.3.1 类到表的转换 类之间继承关系的处理 将所有的类都映射成表 将有属性的类映射成表 子类映射的表中包含超类的属性
类到表的转换 类之间继承关系的处理 将所有的类都映射成表 将有属性的类映射成表 子类映射的表中包含超类的属性 超类映射的表中包含子类的属性 9
10
关联关系的转换 在将UML模型向关系数据库转换时,不仅需要转换模型中的类,还需要转换类与类之间的关系,例如,关联关系、泛化关系等。聚合关系和组合关系是特殊的关联。 关系数据库中的关系是通过表的外部键来维护的,通过外部键,一个表中的记录可以与另一个表中的记录关联起来。 10
11
关联关系的转换 多对多关联的映射——关联表 一对多关联的映射 关联表 与多边合并 一对一关联的映射 与任一边合并 11
12
12.6 铁路系统UML模型到数据库的转换 为了更好地理解前面介绍过的将UML模型转换为关系数据库的有关规则,下面将使用它们将铁路系统的UML模型转换为关系数据库。 铁路系统的UML类图模型,该模型由RailwayStation、Train、Employee、Locoman和TrainAttendant这5个类组成。 1 12
13
12.7 用SQL语句实现数据库功能 UML对象模型在开发关系数据库应用程序中的作用主要包括如下几个:
13
14
本章完
Similar presentations