Model工具
- ERWin - 一个高端数据建模工具。可下载试用版。
- Rational Rose Enterprise - 一个高端UML工具,恰如其分的数据库建模支持。可下载试用版。
- Visio Professional - 一个价格低廉的绘图工具,可用来生成数据模型、UML图等。企业版还支持针对各种数据库的双向工程能力。你可以订购60天试用版的CD。
- Dezign - 一个价格极其低廉的ERD建模工具。你可以下载一个有限制的试用版本。
- ERD Tool List - 一个关于各种数据库和UML建模工具的链接和资源的清单。
附:
PowerDesigner12.0下载地址:
http://download.sybase.com/eval/PowerDesigner/powerdesigner12_eval.exe
破解补丁http://www.cnblogs.com/Files/polugen/PD12.rar


一. RelationShip(联系) 先给出PD手册里对联系的定义:“A relationship is a link between entities. For example, in a CDM that manages human resources, the relationship Member links the entities Employee and Team, because employees can be members of teams. This relationship expresses that each employee works in a team and that each team has employees.” 可见,也许联系的概念真的太简单了吧,所以反而不那么好表述,所以PD的文档里也是用一个例子来说明出现了什么样的情况我们就认为两个实体间是有联系的。 当我们提起实体间联系的时候,最先想到的恐怕是one to one,one to many 和many to many这三种联系类型,这些联系类型也是大家最熟悉的。笔者对ER图原本的概念并不精通,但在CDM中,联系还有另外三个可以设置的属性:mandatory(强制性联系), dependent(依赖性联系/标定关联) 和dominant(统制联系)。这些属性对后面PDM的生成都有比较大的影响,需要我们一一有所了解。它们都是在联系的属性控制面板中设定的,见下图:

二.Association(关联) 先来看一下PD给association的定义:“An association is a connection between entities. In the Merise modeling methodology an association is used to connect several entities that each represents clearly defined objects, but are linked by an event, which may not be so clearly represented by another entity.”。 在上一小段提到的那些RelationShip,在很多情况下(特别是多对多关系中),我们会把联系专门提出来,作为一个实体型放在两个需要被关联的实体型中间(在PD中,选中任何一个联系,在右键的弹出菜单中选择“Change to Entity”命令即可完成联系转实体的操作)。但有的时候,把若干个实体型之间的联系抽象为一个实体型可能不太合适,这个时候你可以选择为这些实体型建立一个association,那么在生成PDM的时候,所有这些相关实体型的identifier都会被加入到association对应生成的表模型中。所以,说白了,其实association就是实体型的一种特例,用来在建模的时候更确切的表达实体间的关联信息。在PD的文档中举了一个录音带、顾客、商店三个实体型在租借录音带这个场景上发生关联,然后把租借定义为上述三个实体型之间的association的例子,非常确切。在我们的学校模型里,我定义了家访做为老师和学生实体型中间的一个association,在接下来产生的PDM中大家就可能看到这种定义所产生的效果。
三.Inheritance(继承) 这种关系在概念层面是最容易理解的了,本文就不赘述了。
前面已经介绍了CDM中关于实体间关系的主要内容,接下来我们就来看看根据这个CDM所生成的PDM是一个什么样子:


好了,说到这里,本文就暂时告一段落了。文中提到的,都是经常使用PD的同志和笔者一样每天都会碰到的一些概念。只有我们把这些概念弄得很清楚,对PD的使用才能事半功倍。笔者也在网上找过关于PD的资料,发现有价值的资源很少。如果哪位老兄有比较好的资源或者书,还请推荐一二。 应一位朋友的要求,将本文中用到的CDM文件放在这里:school.rar
Model工具的更多相关文章
- 地理信息系统 - ArcGIS - 高/低聚类分析工具(High/Low Clustering ---Getis-Ord General G)
前段时间在学习空间统计相关的知识,于是把ArcGIS里Spatial Statistics工具箱里的工具好好研究了一遍,同时也整理了一些笔记上传分享.这一篇先聊一些基础概念,工具介绍篇随后上传. 空间 ...
- 项目组J2ee程序员的标志,你中招没 转载+评论
原文在此 校园级别的程序员的标志: 代码中最多的是嵌套if(null == xxx),还要告诉你,null必须写在前面,我靠. 防止把==写成=,c语言时代常犯的错误.由于null不能做左值,在写=的 ...
- [心得] 如何利用liquibase進行資料庫版本控制 - 實際練習
透過上一篇的基本觀念介紹,希望大家應該有一點點感覺了! 這篇我們就來做個簡單的版本演練,加深印象吧! 我使用的環境如下 System : Windows 7 Database : SQL Server ...
- Spring Boot笔记一
Spring Boot 入门 Spring Boot 简介 > 简化Spring应用开发的一个框架:> 整个Spring技术栈的一个大整合:> J2EE开发的一站式解决方案: 微服务 ...
- 第三篇:Entity Framework CodeFirst & Model 映射 续篇 EntityFramework Power Tools 工具使用
上一篇 第二篇:Entity Framework CodeFirst & Model 映射 主要介绍以Fluent API来实作EntityFramework CodeFirst,得到了大家一 ...
- 提高生产性工具 - Model代码生成器(二)
首先,我想阐述一下我开发这个工具的一个观点. 如果大家做过对日软件的话,很多时候,日方是进行设计的,数据模型是什么样子的,各个字段的类型,需要做什么验证,验证规则,错误信息,都是日方制定的. 外包就是 ...
- 提高生产性工具 - Model代码生成器(NET / JAVA) (一)
原来在上一家公司,整整一年都在做工具,提高生产性,那个项目特别巨大,所以总共为老东家节约了500K左右的美金. (除了表扬之外,我个人什么好处都没有,领导们都升官发财了,郁闷) 到了新公司,也准备开发 ...
- 基于OCILIB的oracle数据库操作总结及自动生成Model和Dao的工具
基于OCILIB的oracle数据库操作总结 1. 类图 2. 基类BaseOCIDao的设计与实现 BaseOCIDao.h头文件 #pragma once /* ----- ...
- 懒人小工具:自动生成Model,Insert,Select,Delete以及导出Excel的方法
在开发的过程中,我们为了节约时间,往往会将大量重复机械的代码封装,考虑代码的复用性,这样我们可以节约很多时间来做别的事情.最近跳槽到一节webform开发的公司,主要是开发自己公司用的ERP.开始因为 ...
随机推荐
- Pylint在项目中的使用
需求背景: Pylint 是一个 Python 代码分析工具,它分析 Python 代码中的错误,查找不符合代码风格标准和有潜在问题的代码. Pylint 是一个 Python 工具,除了平常代码分析 ...
- 深度学习方法(十三):卷积神经网络结构变化——可变形卷积网络deformable convolutional networks
上一篇我们介绍了:深度学习方法(十二):卷积神经网络结构变化--Spatial Transformer Networks,STN创造性地在CNN结构中装入了一个可学习的仿射变换,目的是增加CNN的旋转 ...
- Python 一些 实用的包(持续更新)
line_profiler:(代码性能分析) 使用方法:链接 codecs:(Python内置的编码库) 数据分析与挖掘领域: 引自博客:这里 因为他有很多这个领域相关的库可以用,而且很好用, ...
- Jmeter-----保存到响应文件
在jmeter中使用保存响应到文件 ------适用于非GUI模式执行脚本时,无法查看报错的信息. 1.添加组件: 2.各个配置项说明: 1.名称:即组件在整个测试计划中的名称显示,建议设置为用意义的 ...
- SQL Server中Rowcount与@@Rowcount
rowcount的用法 rowcount的作用就是用来限定后面的sql在返回指定的行数之后便停止处理,比如下面的示例, set rowcount 10 select * from 表A 这样的查询只会 ...
- Vsftpd支持SSL加密传输
ftp传输数据是明文,弄个抓包软件就可以通过数据包来分析到账号和密码,为了搭建一个安全性比较高ftp,可以结合SSL来解决问题 SSL(Secure Socket Layer)工作于传输层和应用程 ...
- 关于Hibernate中的临时态, 持久态, 游离态
三态的基本概念: 1, 临时状态(Transient):也叫自由态,只存在于内存中,而在数据库中没有相应数据.用new创建的对象,它没有持久化,没有处于Session中,处于此状态的对象叫临时对象: ...
- IIS服务器部署
1.开始菜单----搜索框---输入IIS,在结果中,找到IIS快捷方式. 2.进入IIS主界面,右键网站,选择“添加网站”. 3.在“添加网站”对话框中,添加网站名称. 4.点击应用程序池选择,设置 ...
- android 启动流程
韩梦飞沙 韩亚飞 313134555@qq.com yue31313 han_meng_fei_sha adb shell 后 用 ps 命令 回车 可以看到 运行的进程. 如下结果: ct ...
- Codeforces Beta Round #9 (Div. 2 Only) C. Hexadecimal's Numbers dfs
C. Hexadecimal's Numbers 题目连接: http://www.codeforces.com/contest/9/problem/C Description One beautif ...