数据模型描述系统持久性数据库层的逻辑内容与结构,数据模型用UML的类图
描述。首先简要介绍数据模型的设计方法及关系数据库的几个术语,然后依次介
绍如何将类映射到表、将关联映射到关系数据库及将泛化映射到数据库。
数据库模型从层次上可以分为3类:概念数据模型、逻辑数据模型和物理数据
模型。
概念数据模型是面向用户、面向现实世界的数据模型,与数据库管理系统无关
,逻辑数据模型反映了DBMS的存储结构,是用户从数据库看到的数据模型,物理
数据模型是特定的DBMS,定义实际中的数据如何存储在持久存储设备上。本章要
设计的数据模型是逻辑数据模型,用面向对象方法设计数据模型于用传统方法设
计数据模型差别不大。
设计步骤为:
1、设计UML中的实体与ER图中的实体
2、设计UML实体类图与E-R图
3、建模依据
4、选择数据库系统
持久性数据库层可以是关系型的数据库,也可以是对象关系型的数据库或者对
象数据库。从关系型数据库技术到对象数据库技术是一个演化过程,对象数据库
技术是这个演化过程的中间阶段,尽管未来将属于对象数据库,但关系型数据库
在目前的数据库软件市场中仍占主流,本章为系统实例选择关系型数据库作为持
久性数据库层的数据库管理系统。对于关系数据库来说,可以用类图描述数据库
模式,用类描述数据表,用类的操作描述触发器和存储过程。
1、将类映射到表
将实体类映射为关系数据表,必须遵循表的第一范式,列必须是不可再分的数
据项,从类到表的映射可以是一对一,即一个类映射为一个表,但是,一对一映
射可能会导致一些问题,如表太多,表丢失,以及对泛化关系处理不合理等,在
设计中要灵活调整。
2、将关系映射到关系数据库
类之间的多重性可以分为一对一,一对多和多对多3种情况,对3种多重性的处
理已经有一些一般的转换规则,数据模型的设计用UML符号构造型和其他扩展机制
类模拟,关系表的UML符号用构造型为《relational table》的类符号表示,关系
表的列用类中的属性表示,带有构造型《pk》的属性代表主键,带有构造型《fk
》的属性代表外键,不能接受空值的列用约束“{not null}”类表
示。
3、将泛化映射到数据库
将泛化映射到数据库有3种方法:1.将每个类映射到一个表,为每个父类/子类
对创建一个SQL视图;2.将整个类层次映射到一个父类表,表包括所有类的属性集
;3.将每个子类映射到一个表,父类的所有属性包含在每个表的列集中。
注:面向对象设计模型中的依赖关系和实现关系都是非结构化的关系,因而不
会映射到关系数据库中。
查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/Programming/project/