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活动图和用例图功能 详细介绍稍后继续...........................
随机推荐
- Java高级架构师(一)第15节:带查询的分页、修改和删除页面
@RequestMapping(value="toList",method=RequestMethod.GET) public String toList(@ModelAttrib ...
- iOS 公司开发者账号申请清单
公司开发者账号申请清单: Apple ID账号申请: (有账号请提供账号密码) Apple ID: (最好是公司邮箱账号) Apple ID密码: (大于8位, 字母或数字组成, 包含 ...
- XCode为单独文件设置ARC
注:此文为摘抄性质 来源:http://blog.csdn.net/dehengxu/article/details/11537989 在xcode 4 中,选择 targets 中的一个target ...
- 常见的 HTTP 状态代码及原因
代码 说明 备注 200 确定 IIS 7.0.IIS 7.5 和 IIS 8.0 成功处理了请求. 304 未修改 客户端浏览器请求已处于缓存中的文档,并且自从该文档被缓存后,未修改此文档.客户端浏 ...
- Linux Hook 笔记
相信很多人对"Hook"都不会陌生,其中文翻译为"钩子".在编程中, 钩子表示一个可以允许编程者插入自定义程序的地方,通常是打包好的程序中提供的接口. 比如,我 ...
- 如何让vs2017 EF实体生成支持Mysql 和 Oracle?
1.Mysql 安装 MySql Connector/Net https://dev.mysql.com/downloads/connector/net/ 安装 mysql f ...
- iOS统计项目的代码总行数
如果要统计ios开发代码,包括头文件的,CD到项目目录下,命令如下 ① 列出每个文件的行数 find . -name "*.m" -or -name "*.h" ...
- convert image to base64
ylbtech-Unitity-cs:convert image to base64 convert image to base64 1.A,效果图返回顶部 1.B,源代码返回顶部 1.B.1,c ...
- represent states with objects
1. The behavior of objects in the real world is more complex than simply being in one state at a tim ...
- ssh中使用spring的集成quartz 编写定时任务
之前没有使用框架开发时对于开发定时任务都是 使用java的原声timer类,重写线程的run方法跑要执行的任务.刚刚换的新公司,项目使用ssh2,目前该项目中的定时任务的使用spirng集成的quar ...