`
scnujie
  • 浏览: 126341 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Powerdesigner 笔记一

阅读更多
1、设计数据库最好从概念模型开始,概念模型中以实体为单位,可以比较清晰的反映实体间关系。

    需要特别注意的一点,在创建好一个新的概念模型后,最好在model options中,将数据项的唯一代码和允许重用两个选项去掉。否则不同实体中的同名属性会被认为是同一个数据对象,改一个另外的也会跟着改。大多数情况下都不需要这种特性,相反它会带来麻烦。做好这个设置后,开始下面的步骤:
    1)创建实体,最初只需要命名中文名称。当然,之前需要进行系统的需求调研与分析。
    2)分析实体间关系,画上关系,准确的确实出是一对一还是一对多,对于多对多关系,最好创建关联实体。
    3)创建实体的属性,先不要管英文名称和数据类型,只命名中文名称。添加属性的过程中,尽量更细致的修改实体及其关系。并指定各实体的主键。 不要让实体没有主键,这不是个好习惯。
    4)对形成的模型进行讨论、修正。
    5)创建domain。 domain是什么东西呢,应该翻译成“域”吧, 但实际是一种自定义类型。把常用到的数据类型定义成domain,所有的属性指定其domain,而不直接指定数据类型,会给以后的工作带来很大的方便。
    6)为各属性命名英文名称。这基本就是将来生成的数据库里的字段名称了。
    7)为各属性指定domain
       至此,概念模型创建完成。 默认的图形中的字符很小,可以通过右键弹出菜单里的显示配置项,设计实体名称及属性的字体。 也可以设置不显示关系的名称,并修改关系连线的样式,以获得好的显示效果。
      也可以设置不同性质的实体为不同的底色,以获得更明确的效果。但是不建议将实体分在不同的包中,那样实体关系不太直观,也会有一些其它麻烦。如果是超大型的系统,实体特别多,合理的划分包是一个重要的工作。
       在对概念模型反复的修正后,便可以生成物理模型了。在工具菜单里便有这项功能。

2、生成物理模型时,是需要选择数据库系统的。就是说物理模型是数据库相关的。当然需要选择正确的数据库系统。
    1)注意检查生成的表间关系是否有问题。这时候概念模型里的实体就转化为物理模型里的表了。一些概念模型里的关系和约束,生成到物理模型里可能会出现问题,需要手动修正一下。虽然这种情况不多见。
    2)生成的很多外键会重名,可以用check model检查一下,把重名的外键名修改一下。
    3)将所有字段设置不允许null值。就是勾上表的属性窗口中,每个字段的M列的选择框,其实就是字段的Mandatory属性。也可以在概念模型中做这一工作。这样做的好处是,在代码中一般不会碰到从数据库中取到的值为null的情况,可以简化很多工作。这里多做的工作绝对是值得的。当然这种情况下,对于很多字段,我们最好提供默认值,以避免一些情况下对插入数据时有过高的要求。我们不必每个字段去指定默认值,因为我们应用了domain,前面提到过的一种自定义数据类型。下面我们继续说明如何给domain添加默认值。
    4)添加默认值对象。也许有些人不清楚,默认值是一些数据库里的一种对象,就象表、字段、触发器一样,默认值在Sql Server中就是一种对象。在物理模型里,可以创建它。一般我们可能只需要三个默认值对象:数字型的默认值、字符串型的默认值以及日期型的默认值。在物理模型中定义上这三个默认值对象。
    5)为每个domain指定默认值对象。这样,每个被指定为这个domain类型的不允许null的字段,就会继承domain的默认值。注意,这是数据库的特性,不是PD的特性。不管怎么说,我们很容易的做了指定默认值的工作。好的数据库设计可能会考虑的更细致,比如有些数字型的字段,应该默认为1,而不是0。 这时候你只需要重新指定一下字段的默认值,他就不会再从domain中继承默认值了。
    6)对物理模型检查修正后,便可以生成数据库了。 生成数据库时有很多选项,比如是否生成一些对象的drop脚本等,都可以控制的。
     注意,在修改好物理模型后,不要再重新生成物理模型,否则很多在物理模型中定义的东西会丢失。如果需要做改动,以物理模型为准,概念模型可以反向生成,或者手动保持同步。
    有些概念可能会乱,在这里把这些名词整理一下。

    概念模型  --- 物理模型  --- 数据库  ---- 解释
1)、  实体     ---  表(table)--  表      ---  实体和表对应,但并不完全是一回事了。
2)、  属性     ---  字段      --   字段    ---  不解释了
3)、  Domain   --- Domain    ------自字义类型 --- 其实就是自字义数据类型。
4)、  默认值对象 -- 默认值对象 ---默认值对象 ---含有默认值,但不是默认值。不太常见,但很有用。SQL Server文档里说未来的版本可能会取消默认值对象相关的一些东西,谁知道呢。

还有啊,概念模型、物理模型、数据库三者是可以相互转化的,相互的正向或逆向工程。
4
0
分享到:
评论

相关推荐

    PowerDesigner学习笔记

    是我自己学习PowerDesigner时总结的笔记,很有用的

    PowerDesigner使用笔记

    1.详细的介绍PowerDesigner各种操作数据库,包括创建、配置PowerDesigner连接数据库所使用的数据源。 2.深入的研讨使用PowerDesigner连接数据库以及连接数据库时遇到的问题及解决方案。 3.介绍使用PowerDesigner获取...

    PowerDesigner知识库使用笔记

    NULL 博文链接:https://fruitking.iteye.com/blog/1030273

    powerdesigner学习笔记

    pd的使用心得。包括概念模型、物理模型、反向编译的操作方法。

    PowerDesigner学习笔记(更新).docx

    由于最近做了个项目,重新学习了下pd,发现了很多更有用的东西。现在用这个的人不多了啊,不过推荐还是学习一下

    Oracle学习笔记(数据库设计范式 PowerDesigner工具)

    Oracle学习笔记(数据库设计范式 PowerDesigner工具),有具体的代码案例

    PowerDesigner 常用设置大全

    PowerDesigner 常用设置大全。自己在平时工作中用到的。总结了一下。文件为pdf文档。带书签的。设置方法图文并茂. 设置1:取消Name与Code的联动 设置2:生成SQL的时候,把NAME自动更新到Comment列 设置3:如何去除...

    博客系统笔记以及源码

    中科院java培训的案例—博客系统,主要用jsp和servlet实现,其中涉及DButils,mysql数据库连接池,FCKeditor,PowerDesigner,startUML等的使用。很值得学习。

    【推荐】数据仓库理论学习与实践资料合集(104份).zip

    SQL_SERVER构建数据仓库(1份) 了解数据仓库及其应用 数据仓库建模技术 数据仓库介绍课件 数据仓库设计 数据仓库与OLAP 数据集市建设、数据质量及数据管理方法 OLAP及数据仓库讲解 EDW_(DM数据仓库数据建模)模型...

    wordTemplate.rtp

    powerdesigner导出模板,自己调整得样式,导出样式简洁,基本上数据库设计文档内需要的东西都有,用于笔记中下载

    互联网创意产品众筹平台

    物理数据模型(PDM) -- 数据库设计 (PowerDesigner) │ 8.UML建模语言,-开发设计工具Rational_Rose │ 9.Maven项目模块划分-说明 │ 10.Maven项目模块划分-创建项目 │ 11.Maven项目模块划分-引用依赖包( f- {5 ...

    wordtemplate.rtp

    powerdesigner导出模板,自己调整得样式,导出样式简洁,基本上数据库设计文档内需要的东西都有,用于笔记中下载

    java培训上课资料pdf

    在13年培训java课程的全部笔记都在这了。JavaSE/JavaEE:熟悉Swing、JDBC编程,了解Socket、多线程以及反射机制,对面向对象编程有较为 深刻的理解,理解常用设计模式和设计原则,能够熟练运用Struts、Spring、...

    mysql5 培训 PPT beta1

    从数据库原理的讲解,到MySQL的安装、配置、标准SQL的DML、DDL、DCL、高级查询、数据库设计、表约束、PowerDesigner12.5的使用、三大范式、索引、视图、存储过程和函数、触发器,MySQL权限原理及管理、数据的备份与...

    思库教育PHP零基础培训+进阶课程+PHP项目开发实战 21G PHP零基础学习视频教程.txt

    │ │ │ ├[思库教育]JS 第二集 写一个程序输出1到100这些数字.avi │ │ │ ├[思库教育]JS 第六 集 数组初步 (1).avi │ │ │ ├[思库教育]JS 第七集 数组初步 (2).avi │ │ │ ├[思库教育]JS 第三集 经过多少...

Global site tag (gtag.js) - Google Analytics