同时,数据表中每个字段都有各自的值域,其值域的数据类型也有所不同,分别是整型、浮点型、字符号等等。那么,在类与数据表映射时也要相应显示出来。
UML中类则映射为数据表,类的对象则映射为数据表中的各个记录(元组)。图3中将职工表(职工编号、姓名、性别和地址)映射为“职工类”。
4.2 类与数据表的关联映射
在现实生活中,事物与事物之间存在一定的关系(关联)。那么,在关系数据库中,实体与实体之间之间也必然是一样的。我们一般是通过关系数据库中的外键来实现实体与实体之间的联系。而UML类图中也存在有外键这个概念,其作用与关系数据库中的外键作用一致,所以,UML中类与数据表的关联映射则是由外键来完成。而关联视情况不同,其映射效果也不同。其关联分以下三种情况:
1)1:1关联。关联两端之间的一一对应的,即该关联表示两方是平等的,任何一方都可以存放外键。若将一方可选,则另一方则必然为强制,则外键放置到可选的一方,其外键不能为空值,如图4所示。
2)1:m关联。关联两端中,有一方中的一个对象,对于另一方中有一个或多个对象与之联系。即一方是单方,而另一方为多方,则外键放置在多方,如图5所示。
3)m:n关联。关联两端中,有一方中的一个对象,对于另一方中有一个或多个对象与之联系,反之,也是亦然。即,两方都是多方,则需要建立一个关联表,其关联开有的主键可以用两方的主键组合而成,也可是关联自身的主键,而两方的主键则作关联表的外键。所以说,m:n关联可以分解为两个1:m关联,如图6所示。
4.3 类与数据表中数据的操盘映射
类除了属性之外,还包含了操作。类中的操作,是一个服务的实现,该服务可以由类的任何对象请求以影响其行为。换而言之,操作是对一个对象所做的事情的抽象,并且它由这个类的所有对象共享。数据库中对数据的访问操作主要是通过SQL语句实现的,即SQL语句中的DDL语句和DML语句中Creat,Insert,Update,Delete,Select功能语句的实现数据访问,我们可以通过这些功能语句与UML类中的操作进行映射,从而实现UML类操作与数据表中数据操作访问功能的映射。产品表、职工表及数据操作的映射如图7所示。
5 结束语
UML是目前面向对象分析设计中的一种标准建模语言,它被用作为构建和设计一个系统的结构。该文采用基于UML的数据库建模,对UML的类的应用进行了扩充。通过UML建模,则更能够体现人们对客观世界的认识和分析,从而能更好的设计出符合人们思维方式,分析和设计的结果与客观世界的实际更接近,更容易被人们所接受的系统。
参考文献:
[1] Booch G,Rumbugh J,Jacobson.UML用户指南[M].邵维忠,麻志毅,张文娟,等,译.北京:机械工业出版社,2001.
[2] 牛丽平,郭新志.UML面向对象设计与分析[M].北京:清华大学出版社,2007.
[3] 高焕堂.UML嵌入式设计[M].北京:清华大学出版社,2008.