首先是概念模型个物理模型的区别,概念模型,即ConceptualDataMode,是没和具体类型的数据库(如SQL Server、MySql)的对应,是一种抽象的,而物理模型是指定了某种具体类型的数据库。

然后是概念模型的设计:

首先是实体(Entity),在实体的属性中,如下图

M表示是否必备,即是否可以为NULL;

P表示主键;

而在关系(以部门与员工的关系为例)的设置中,如下图:

cardinalities页面的cardinality指的是基数,即每个部门拥有0到n个员工,也可以选1到n,即一个部门必须至少有一个员工(同Mandatory属性);

每个数据项(Data Item,即实体的一个属性)的code默认是不可以重复的,当他们同名是会被power designer认为是同一个数据项,要使他们可以重复,设置如下图(工具->Model Options):

如图的Model Setting里面的Data Item的Unique code选项去掉后就可以重复了;

概念模型写好后,建立物理模型(选项->generate Physical Data Model);

在物理模型中,可以建立索引,如下图

新建一个与员工姓名的索引,双击新建的条目,进入下面的界面

如果员工名字不能重复,可以选上Unique选项,使之为唯一性索引;

也可以选择Cluster来设定其是否为聚集索引(Mysql类型的物理模型可能没有该选项);

在Columns选项卡中,点击下面圈出的按钮,在弹出框中选择需要在那个字段上建立索引,只有指定了在哪个列上建立索引,前面建立的索引才有效,因为前面只是指定了索引名字

下面可以建立数据库了,数据库->generate Database;就能生成数据库的生成语句,如下图

上面生成的SQL语句不包括建立数据库的语句,只有建立表啊外键上面的语句, 要包含建立数据库的语句,则:模型->Model Properties;如下图,点击圈出的按钮

再重新生成数据库创建语句。

PowerDesigner学习笔记的更多相关文章

  1. powerdesigner学习笔记【转载】

    转自:http://blog.itpub.net/11968859/viewspace-620440/ 谢谢! 1.做CDM模型的时候,因为开始定义ITEM的时候,没有注意把NAME和CODE全定义成 ...

  2. PowerDesigner 学习笔记

    软件:PowerDesginer16.5 首先说一下对应的模型 New Model  --->  Model Type 作为一个英语渣,实在是压力颇大,然而汉化经常会导致无故的BUG,所以简单翻 ...

  3. PowerDesigner 15学习笔记:十大模型及五大分类

    个人认为PowerDesigner 最大的特点和优势就是1)提供了一整套的解决方案,面向了不同的人员提供不同的模型工具,比如有针对企业架构师的模型,有针对需求分析师的模型,有针对系统分析师和软件架构师 ...

  4. [Firefly引擎][学习笔记二][已完结]卡牌游戏开发模型的设计

    源地址:http://bbs.9miao.com/thread-44603-1-1.html 在此补充一下Socket的验证机制:socket登陆验证.会采用session会话超时的机制做心跳接口验证 ...

  5. PowerDesigner 学习:十大模型及五大分类

    个人认为PowerDesigner 最大的特点和优势就是1)提供了一整套的解决方案,面向了不同的人员提供不同的模型工具,比如有针对企业架构师的模型,有针对需求分析师的模型,有针对系统分析师和软件架构师 ...

  6. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  7. PHP-自定义模板-学习笔记

    1.  开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2.  整体架构图 ...

  8. PHP-会员登录与注册例子解析-学习笔记

    1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...

  9. 2014年暑假c#学习笔记目录

    2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...

随机推荐

  1. visual studio运行时库MT、MTd、MD、MDd 的区别

    msdn上面的解释: MT:mutithread,多线程库,编译器会从运行时库里面选择多线程静态连接库来解释程序中的代码,即连接LIBCMT.lib库 MTd:mutithread+debug,多线程 ...

  2. e559. 创建窗口

    A frame is a component container that displays its contents in a top-level window with a title bar a ...

  3. linux中CURL的安装(转)

    转自(http://blog.csdn.net/makenothing/article/details/39250491) curl是一款著名的字符界面下的下载工具,支持HTTP.HTTPS.FTP. ...

  4. 嵌入式开发之zynq---Zynq PS侧sd驱动

    http://blog.chinaunix.net/uid-29404121-id-4217026.html http://blog.chinaunix.net/uid-29709984-id-430 ...

  5. (转)MP4文件两种格式AVC1和H264的区别及利用FFMPEG demux为h264码流事项

    出自:http://www.mworkbox.com/wp/work/314.html 2013-05-04 MP4的视频H264封装有2种格式:h264和avc1,对于这个细节,很容易被忽略.笔者也 ...

  6. bioperl 格式化genebank的输出

    代码如下: use Bio::SeqIO; use Bio::DB::GenBank; use Bio::DB::Query::GenBank; my $db_obj = Bio::DB::GenBa ...

  7. T4使用经验

    .<#@ template debug="true" hostspecific="true" language="C#" #> ...

  8. C# 获取listview中选中一行的值

    首先必须要判断listView1.SelectedItems.Count>0或是listview1.SelectedIndices.Count>0,否则第一次点击会选不中.其次,好像ite ...

  9. jQuery:jQuery性能优化28条建议

    http://www.xue5.com/WebDev/jQuery/671700.html 直在寻找有关jQuery性能优化方面的小窍门,能让我那臃肿的动态网页应用变得轻便些.找了很多文章后,我决定将 ...

  10. EasyUI的功能树之扁平化

    上篇博客主要介绍了异步加载树的方法,通过前台传给后台一个节点的id值,然后当单击节点加号时,查询并显示其子节点的数据.其实如果不是很大的数据,我们本可以次把树中所有节点都加载上来的.也就是说,我的Ac ...