首先是概念模型个物理模型的区别,概念模型,即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. JUnit4时间(超时)测试实例

    “时间测试”是指,一个单元测试运行时间是否超过指定的毫秒数,测试将终止并标记为失败. import org.junit.*; /** * JUnit TimeOut Test * @author yi ...

  2. Unity 基础-------------------------关于Anchor锚点的理解

    Unity进阶技巧 - RectTransform详解 Zui 关注 2016.02.17 01:27 字数 1704 阅读 22157评论 13喜欢 57赞赏 2 RectTransform属性一览 ...

  3. ubuntu安装phpVirtualBox web服务

    首先确保已经安装好了 virtualbox,打开了 vboxweb-service $ sudo ls /etc/init.d | grep vboxweb-service     然后, Insta ...

  4. T4生成实体,单张表和多张表

    # 使用说明 . 把T4目录放在项目的根目录 . 配置连接字符串,在tt文件的最底部 . generateAllEntity.tt生成全部的实体类 . generateSingleEntityByNa ...

  5. UITextView: 响应键盘的 return 事件

    UITextFieldDelegate代理里面响应return键的回调:textFieldShouldReturn:.但是 UITextView的代理UITextViewDelegate 里面并没有这 ...

  6. Linux学习笔记(一):文件操作命令

    命令 含义 cd / 切换到根目录 cd .. 上级目录 cd ./bin 到同级的bin目录中 cd bin 到同级的bin目录中 cd - usr文件夹 cd ~ 回到root用户的主文件夹 pw ...

  7. objelement = event.target || event.srcElement;

    objelement = event.target || event.srcElement; function updateProductVideo(e){ e = window.event || a ...

  8. c++ String去除头尾空格

    1.使用string的find_first_not_of,和find_last_not_of方法 #include <iostream> #include <string> s ...

  9. UNIX环境编程学习笔记(13)——文件I/O之标准I/O流

    lienhua342014-09-29 1 标准 I/O 流 之前学习的都是不带缓冲的 I/O 操作函数,直接针对文件描述符的,每调用一次函数可能都会触发一次系统调用,单次调用可能比较快捷.但是,对于 ...

  10. 到底什么时候才需要在ObjC的Block中使用weakSelf/strongSelf

    转载,原文: http://blog.lessfun.com/blog/2014/11/22/when-should-use-weakself-and-strongself-in-objc-block ...