映射模式

从《公共仓库元模型:开发指南》一书第8章CWM元仓库中摘录出来的内容,实现了公共仓库元模型(CWM)的UML图到MICROSOFT SQL
SERVER数据库的映射,是一种将对象层次结构映射成关系型结构的方法。个人认为可以作为将本体(ONTOLOGY)文件存储到关系型数据库中的一种可借鉴方法。

基本情况:公共仓库元模型(CWM)是对象管理组织(OMG)的一种和数据仓库相关的元模型标准,采用UML表示的对象层次结构,在保存到数据库中时由于面向对象的数据库技术的不完善(理论研究和商业应用都不是主流),所以该书的作者倾向于使用成熟的关系型数据库来保存-这也是存储本体时所遇到的问题。

采用方法:将UML模型中的各种元素通过转换,保存为数据库模式。由于CWM是一种元模型,因此模型的实例也是一种模型,将这种实例以数据库数据的形式保存。使用数据库中比较成熟的存储过程技术提高开发和执行效率。

1、数据类型映射模式

1.1简单数据类型模式:建立UML和关系型数据库中简单数据类型的映射表以指导映射。

1.2枚举数据类型模式:每种枚举类型对应一个表,只有一个列(_ENUMLITERAL)表示枚举值。

1.3基于类的数据类型模式:使用外键约束,将基础列与基于类的类型实例相关联。


2、类映射模型

每个类对应一个表。单值属性、多值属性、继承关系可以用下述方法映射,而引用属性将在关联映射模式中提到。

2.1单值属性模式:是CARDINALITY(基数性)的上界为1的属性,映射到类所对应的表的列上。若其下界也为1(必须有的属性),列属性为NOT
NULL(不为空)。

2.2多值属性模式:每个多值属性映射成一个独立的表,使用外键连接到类所对应的表上。

2.3继承模式:每加入一个类的实例时,根据其继承关系自顶向下生成每个类的对象,这些对象具有相同的ID(根对象对应记录的主键)。删除对象实例时,自底向上删除数据。遇到从中间删的情况怎么办?多重继承怎么处理?(金龙飞


3、关联映射模式

3.1一对一关联模式:在关联两端各加一列。

3.2一对多关联模式:和3.1一样。如果多这端是有序的,还需加入一列表示序号。

3.3多对多关联模式:将关联单独作一个表。

3.4组合关联模式:注意级联式删除。

3.5反演关联模式:关联两端指向相关的类型,和普通关联一样。

3.6成对关联模式:关联记录两个类间的关系,用交集类表示关联,表示成一个单独的表,每个关联对应一个表,用外键表示它们间的关系。

3.7关联上的OCL需要分析成对应的存储过程代码

3.8保证关联的CARDINALITY(基数性)也需要分析成对应的存储过程代码。


4、引用映射模式

在UML中不存在的MOF(Meta Object Facility,元对象机制)特征,指属性是声明为引用类型的实例。用存储过程实现。

OPERATIONAL RISK MANAGEMENT

时间: 2024-12-25 19:02:45

映射模式的相关文章

数据对象映射模式

定义:将对象和数据存储映射起来,对一个对象的操作会映射为数据存储的操作 综合应用实例:在代码中实现数据对象映射模式,我们将实现一个ORM类,将复杂的SQL语句映射成对象属性的操作,结合使用数据对象映射模式,工程模式,注册模式 $page = new Page();$page->index(); class Page{ function index() { $user = \IMooc\Factory::getUser(1); $user->name= 'fango0'; $this->t

PHP 设计模式 笔记与总结(10)数据对象映射模式 2

[例2]数据对象映射模式结合[工厂模式]和[注册模式]的使用. 入口文件 index.php: <?php define('BASEDIR',__DIR__); //定义根目录常量 include BASEDIR.'/Common/Loader.php'; spl_autoload_register('\\Common\\Loader::autoload'); echo '<meta http-equiv="content-type" content="text/

GDI映射模式

GDI 映射模式 MM_TEXT 1逻辑单位 = 1像素 MM_LOMETRIC 1逻辑单位 = 0.1mm MM_HIMETRIC 1逻辑单位 = 0.01mm MM_LOENGLISH 1逻辑单位 = 0.01 in = 0.254mm MM_HIENGLISH 1逻辑单位 = 0.001 in = 0.0254mm MM_TWIPS 1逻辑单位 = 1/1440 in = 0.0176mm 默认映射模式:MM_TEXT MM_LOMETRIC MM_HIMETRIC MM_LOENGLIS

MFC绘图控制-映射模式

一.映射模式基本概念 映射模式是设备描述表属性,用于确定从逻辑坐标值到设备坐标值的转换方式.传送给CDC输出函数的是逻辑坐标值.设备坐标值是指窗口中相应的像素点位置. MM_TEXT为默认映射模式,如果使用其他映射模式,可调用CDC::SetMapMode(). dc.SetMapMode(MM_LOMETRIC); //Do some drawing Windows支持8种不同的映射模式,属性分别如下: 说明:如果在MM_LOENGLISH映射模式下画一条100单位长的线,它可能不是正好1英寸

ZF框架数据对象映射模式的思考

最近学了ZF框架,对手册中DB这一节Zend_Db_Table_Row的介绍中说,使用了Zend_Db_Table::find()或::findRow()方法可以返回一个Zend_Db_Table_Row的对象,该对象自动映射到表中的这一行记录,字段和类属性完全关联在一起(字段名是下划线分隔的,属性名由首个单词小写的驼峰式命名,如自动“last_name”,则操作时属性名“lastName”),获取任何字段就直接像操作类属性一样,如: $row = $table->fetchRow('first

数据对象映射模式(转)

php中的设计模式中有很多的各种模式了,在这里我们来为各位介绍一个不常用的数据映射模式吧,希望文章能够帮助到各位. 数据映射模式使您能更好的组织你的应用程序与数据库进行交互. 数据映射模式将对象的属性与存储它们的表字段间的结合密度降低.数据映射模式的本质就是一个类,它映射或是翻译类的属性或是方法到数据库的相应字段,反之亦然. 数据映射的作用(工作)就在于能对双方所呈现出的信息的理解,并能对信息的存取进行控制,如根据存储在数据表中的信息 重建新的域对象,或是用域对象的信息来更新或删除数据表中的相关

PHP 设计模式 笔记与总结(9)数据对象映射模式

[数据对象映射模式] 是将对象和数据存储映射起来,对一个对象的操作会映射为对数据存储的操作.例如在代码中 new 一个对象,使用数据对象映射模式就可以将对象的一些操作比如设置一些属性,就会自动保存到数据库,跟数据库中表的一条记录对应起来. [代码实现] 在代码中实现数据对象映射模式,我们将实现一个 ORM(对象关系映射 Object Relational Mapping) 类,将复杂的 SQL 语句映射成对象属性的操作.同时结合[工厂模式]和[注册模式]使用. [例1] 数据库 test ,us

Windows绘图中的GDI映射模式

对Windows编程新手来说,GDI编程中最困难的部分就是映射模式(Mapping Mode). 什么是映射模式? 我们知道,GDI画图是在设备描述表这个逻辑意义上的显示平面上进行,其使用的是逻辑坐标,简单地说,映射模式就是设备描述表的属性,用于确定从逻辑坐标到设备坐标值的转换方式. Windows支持8中映射模式:MM_TEXT为默认. /* Mapping Modes #define MM_TEXT                 1 #define MM_LOMETRIC        

GDI绘图中的映射模式CDC::SetMapMode()

原文链接:http://blog.csdn.net/charlessimonyi/article/details/8264572 在GDI绘图前,一般要设置映射模式.映射模式是什么呢?它是逻辑长度单位与实际长度单位的一中转换关系,比如我要画一个长为800单位,宽为600单位的矩形,那么在不同的映射模式下,一个单位可能相当于一个像素,也可能相当于一毫米,也可能相当于一微米.也就是说在有的映射模式下,我们指定的800单位的长度相当于800像素,在有的映射模式下,我们指定的800单位的长度相当于800