DataUml Design 教程2-实体建模
1、新建数据模型
1)、选择“数据模型” 节点,点击鼠标右键,在菜单中点击“新建文件夹”,在“数据模型”节点下会增加个“文件夹”的子节点。如图2-1。

图 2-1
2)、选中新增加的“文件夹”节点,点击鼠标右键,在出现的菜单中点击“重命名”,可以给节点重新命名。如图2-2。这里我们给它命名为“XX项目模型”。

图2-2
3)、选择“XX项目模型”,在右键菜单中选择“新建数据模型”菜单,在节点下会新增DataModel1子节点。如图2-3

图2-3
4)、选择新添加的DataModel节点,点击鼠标右键,在出现的菜单中点击“重命名”,可以给节点重新命名。如图2-4。这里我们给它命名为“采购流程”。

图2-4
2、绑定数据库和开发语言
1)、选择新添加的数据模型节点,在右键菜单中选择“设置”菜单,出现如图2-5界面,在下拉列表中选择一种开发语言,这里我们选择C#。

图2-5
2)、选择“数据库”选项卡,单击右边“添加数据库”按钮,在出现在下拉菜单中选择一种数据库类型。如图2-6,这里我们选择
Oracle数据库为例。
图2-6
3)、选择Oracle数据库之后,弹出一个连接数据库的对话框如图2-7,用户名我们以netuml为例。

图2-7
4)、测试连接数据库成功之后,单击“确定”按钮,会在“选择绑定的数据库”节点下新增一个数据库实例节点,如图2-8.

图2-8
5)、单击对话框中右边“绑定”按钮,给模型绑定了一个Oracle数据库。最后单击“确定”按钮。这里我们成功地给模型绑定了数据库和开发语言。
3、设计类结构
1)、双击新建的数据模型节点,出现如图2-9界面

图2-9
2)、点击左侧工具箱中的“类”,然后在中间空白处点击鼠标左键,成功的添加了一个类到模型中。选中添加的类,鼠标点击右键,在出现的菜单中选择“属性”菜单。如图2-10

图2-10
3)、这里我们以“采购订单”类为例,在类属性对话框“属性”选项页中,我们输入以下数据。如图2-11

图2-11
类名对应于程序语言中的类的名字,中文名为模型显示的名字,表名对应数据库中表的名字。
4)、选择“成员属性”选项页,如下图2-12

图2-13
属性名称:对应程序语言中类的属性名;
属性中文名:模型中显示的名称;
字段名:对应数据库表中的字段名;
属性类型:对应程序语言中属性的类型,这里我们选择的开发语言为C#,它的属性类型应为: "bool", "byte", "char", "string", "int", "int16", "int32", "int64", "float", "decimal", "DateTime" ;
字段类型:对应数据表中字段的类型,这里我们选择的数据库为Oracle,它的类型为:"binary_double", "binary_float", "blob", "clob", "char", "date", "interval day to second", "interval year to month", "long", "long raw", "nclob", "number", "nvarchar2", "raw", "timestamp", "timestamp with local time zone", "timestamp with time zone", "varchar2";
长度:对应数据表中字段的长度;
是否空:对应数据表中字段是否为空值;
主键:对应数据表中主键字段;
外键:对应数据表的外键字段;
标识:对应数据表字段的标识,这里标识只能选择Guid和Sequences;
默认值:对应数据表字段的默认值;
备注:对应数据表字段的备注;
5)、选择“主外键”选项页,如下图2-14。

图2-14
主键:对应数据表中的主键信息,主键信息是由字段是否为主键自动生成的。
唯一键:对应数据表中的唯一键,这里只能添加和删除唯一键。
外键:对应数据表中的外键,外键是由类与类之前的关联信息自动生成的,此处不允许添加和删除外键信息,要删除外键信息只能删除类与类之间的关联关系。
6)、单击类属性的“确定”按钮,一个“采购订单”类就建立好了,如下图2-15

图2-15
4、设计类关联关系
1)、这里我们以同样的方式添加“采购明细”和“供应商信息”类,如下图2-16

图2-16
2)、一个采购订单必须要有0个或多个采购明细,一个采购明细只能属性一个采购订单,一个采购订单对应于一家供应商,所以这里我们把采购订单和采购明细建立组合关系,把采购订单和供应商建立单向关联关系,如下图2-17

图2-17
3)、双击采购订单和采购明细之间的连接,弹出如下界面,如图2-18

图2-18
采购订单的多重性我们选择1,名称输入“主订单”,采购明细的多重性我们选择0..1,名称输入明细。
4)、选择“关联字段”选项页,如图所示2-19

图2-19
关系名:自动生成,也可以手工修改。
关联字段:我们以采购订单号进行关联,所以都选择“采购订单号”,采购订单作为主表,采购明细作为子表。
5)、以同样的方式,我们设置“采购订单”和“供应商”类之间关联线的属性。最后如下图2-20

图2-20
6)、最后我们来查看一下“采购订单”表的键信息,选择“采购订单”类,右键选择“属性”,在出现的对话框中选择“主外键”选项卡,如下图2-21,外键信息是根据“采购订单”和“供应商”类之间的关联信息生成的。

图2-21
5、模型显示模式
以上模型的显示模式为“数据结构”,现在我们设置“面向对象”模式看看有何不同。
1)、选择数据模型节点,右键选择“属性”菜单,在出现的对话框中选择“其它”选项卡,出现如下界面,图2-22 ,这里“显式模式”我们选择“面向对象”。

图2-22
2)、选择“面向对象”模型之后单击“确定”按钮,重新打开数据模型,看看有何变化,如下图2-23
图2-23
3)、选择“采购明细”类,右键菜单选择“类成员属性” 如下图2-24.
图2-24

图2-25
图2-26

DataUml Design 教程2-实体建模的更多相关文章
- DataUml Design 教程1-初识
DataUml Design 是面向开发人员使用的一个永久免费的软件,提高软件的开发效率和代码的规范度.它主要包括三大功能,数据模型.代码生成和UML建模,数据模型功能类似于PowerDesi ...
- DataUml Design 教程6-DataUML Design 1.1版本号正式公布(支持PD数据模型)
从DataUML Design正式公布到如今有两个月了.因为近期比較忙,到如今才公布1.1版本号. 以后本人会一直坚持不断完好DataUML Design软件,希望广大程序员们多多支持. 一.1.1版 ...
- DataUml Design 教程6-DataUML Design 1.1版本正式发布(支持PD数据模型)
从DataUML Design正式发布到现在有两个月了,由于最近比较忙,到现在才发布1.1版本.以后本人会一直坚持不断完善DataUML Design软件,希望广大程序猿们多多支持. 一.1.1版本新 ...
- DataUml Design 教程5-代码模板介绍(甚于T4模板技术)
DataUml Design 代码模板全然基于C#语言来编写的. 不懂写模板的能够请教作者,随时欢迎. 以下是一段模板代码,这段代码能够获取一个类结构的全部信息. <#@ ...
- DataUml Design 教程7 - 数据库生成模型
DataUml Design支持数据库生成模型,并支持外键关系,能够根据外键自动生成类与类之间的关系. 目前DataUML Design支持MS Server.MY SQL.Oracle和Access ...
- DataUml Design 教程4-代码生成
DataUml Design 生成代码非常灵活,它是基于模板形式生成代码,如果不懂类结构的话写模型就比较困难了.这里我只讲解下如何生成代码,代码模板规则下一节将介绍. 1 ...
- DataUml Design 教程3-模型与数据库同步
上一节我们已经建立好了数据模型,那么怎么让数据模型和数据库进行同步呢?模型同步到数据库非常简单,只需要模型绑定到数据库即可.DataUml Design目前支持和Oracle与MS Server数据库 ...
- DataUml Design 课程6-DataUML Design 1.1版本号正式宣布(支持PD数据模型)
从DataUML Design正式宣布到现在两个月,因为最近忙,出版到现在为止1.1版本号.稍后我们将始终坚持以良好DataUML Design软件,我希望程序员有很多支持. 一.1.1新的和改进的版 ...
- DataUml Design 介绍10 - DataUML 1.4版本功能(增加UML活动图和用例图)
DataUml Design 1.4版本正式发布 1.解决软件自动关闭的问题 2.增加UML活动图和用例图功能 详细介绍稍后继续...........................
随机推荐
- 1.2(学习笔记)Servlet基础(doGet、doPost、生命周期、页面跳转)
一.doGet()与doPost() 我们在TestServlet类中重写doGet().doPost().service(). import javax.servlet.ServletExcepti ...
- Python 升级3.6
首先:更新gcc,因为gcc版本太老会导致新版本python包编译不成功代码如下:#yum -y install gcc 然后下载python源tar包 可利用linux自带下载工具wget下载,如下 ...
- Scala实战高手****第10课:Scala继承彻底实战和Spark源码鉴赏
isInstanceOf 和 asInstanceOf is用于判断 as用于转换,把父类类型转换成子类类型 getClass 具体找出类型
- RxJava 1.x 理解-2
给RxJava 加入线程控制 -- Scheduler 在 RxJava 1.x 理解-1 中,我们说到了RxJava的简单用法,但是这还远远不够,因为这简单用法是在同一个线程中使用的.比如我们需要在 ...
- easyui中一键清空搜索栏搜索条件的思路
$.fn.clearAllSearchPanel = function () { var $id = $(this); $id.find(".form-control").each ...
- 分布式架构高可用架构篇_activemq高可用集群(zookeeper+leveldb)安装、配置、高可用测试
原文:http://www.iteye.com/topic/1145651 从 ActiveMQ 5.9 开始,ActiveMQ 的集群实现方式取消了传统的Master-Slave 方式,增加了基于Z ...
- 一良心操盘手:我们是这样玩死散户的! z
做庄必须考虑很多问题: 第一是证监会的监控.操控股票不能让他们抓住把柄,这时候就要考虑多户头,或者拉几个私募大户集体作战. 第二要考虑产业资本的问题.如果我们拉的时候,他们看到利润可观,结果大量抛出筹 ...
- AtomicInteger类的简单应用
AtomicInteger,一个提供原子操作的Integer的类.在Java语言中,++i和i++操作并不是线程安全的,在使用的时候,不可避免的会用到synchronized关键字.而AtomicIn ...
- Golang优秀开源项目汇总, 10大流行Go语言开源项目, golang 开源项目全集(golang/go/wiki/Projects), GitHub上优秀的Go开源项目
Golang优秀开源项目汇总(持续更新...)我把这个汇总放在github上了, 后面更新也会在github上更新. https://github.com/hackstoic/golang-open- ...
- SQL Server在存储过程中编写事务处理代码的三种方法
SQL Server中数据库事务处理是相当有用的,鉴于很多SQL初学者编写的事务处理代码存往往存在漏洞,本文我们介绍了三种不同的方法,举例说明了如何在存储过程事务处理中编写正确的代码.希望能够对您有所 ...