PowerDesign的使用[通俗易懂]

PowerDesign的使用[通俗易懂]使用powerdesign

大家好,又见面了,我是你们的朋友全栈君。

WHY

  PowerDesigner是最具集成特性的设计工具集,用于创建高度优化和功能强大的数据库,数据仓库和数据敏感的组件。

  PowerDesigner灵活的分析和设计特性允许使用一种结构化的方法有效地创建数据库或数据仓库,而不要求严格遵循一个特定的方法学。PowerDesigner提供了直观的符号表示使数据库的创建更加容易,并使项目组内的交流和通讯标准化,同时能更加简单地向非技术人员展示数据库和应用的设计。

  PowerDesigner包含六个紧密集成的模块,允许个人和开发组的成员以合算的方式最好地满足他们的需要。这六个模块是:

    PowerDesigner ProcessAnalyst,用于数据发现。
    PowerDesigner DataArchitect,用于双层,交互式的数据库设计和构造。
    PowerDesigner AppModeler,用于物理建模和应用对象及数据敏感组件的生成。
    PowerDesigner MetaWorks,用于高级的团队开发,信息的共享和模型的管理。
    PowerDesigner WarehouseArchitect,用于数据仓库的设计和实现。
    PowerDesigner Viewer,用于以只读的、图形化方式访问整个企业的模型信息。
  以上内容来自百度百科。六大模块详细介绍请百科。
  目前用到的powerdesign的地方主要是拿来建数据库表,有多种生成方式,确实非常方便,且功能强大,支持表之间关系。    

HOW

1、下载

  https://www.baidu.com/link?url=pP4oWk8pJfmqNu9D1C8E1zgPz4ulI-RAWIV7Ov9IvH17yjTF5sSO4K4il2inbDrwr919xeLYFI29k27D58X370Df5UHc9PX8LnytLEkvePG&wd=&eqid=be00af4e0000cbb6000000065959c957

2、安装

  1、点击next

  2、选择语言版本,PRC位中文版。

  3、选择安装路径

  4、选择插件,这里因需要而挑选,不必要全选

  PowerDesign的使用[通俗易懂]

  5、添加属性文件

  PowerDesign的使用[通俗易懂]

  6、选择开始菜单的显示名称

  PowerDesign的使用[通俗易懂]

  7、next >> 安装 >> 等待数分钟 >> 安装成功

  8、激活成功教程

  下载pdflm16_cr.rar,解压 >> 在安装目录替换 pdflm16.dll 文件

3、菜单工具

4、测试

WHAT

1、建表

2、表关系连接

3、生成sql脚本

4、创建数据库表

  1、在数据库创建表

  2、使用eclipse的database Development管理工具创建

5、Eclipse从数据库逆向生成Hibernate带注解的实体类或者实体类和映射文件

  http://www.w2龓bc.com/article/216502

 

Question

PowerDesigner,什么数据库能用?

主流数据库oracle db2 ,sqlserver,mysql都可以。

 

PowerDesigner 中如何用 SQL 反向生成物理模型?

菜单里有个文件-逆向工程-数据库,好了,选你的sql文件吧。

 

在使用Powerdesigner生成sql数据库时,导出的表总是少两个?

你是用ODBC连接的数据库然后生成的吗?建议你还是生成SQL然后用语句去执行建表。看看有没有什么警告或者错误。估计是哪儿出错了,有2个表没建上。

 

用powerdesigner怎么画出数据字典?

建立概要模型——生成物理模型——物理模型最终可以生成特定数据库的sql语句,所谓的数据字典就是物理模型。

 

由pdm生成建表脚本时,字段超过15字符就发生错误(oracle)原因未知?

解决办法一:打开PDM后,菜单栏会出现Database,进入Database - Edit Current DBMS -script-objects-column-maxlen,把value值调大(原为30),比如翻一倍改成60。出现表或者其它对象的长度也有这种错误的话都可以选择对应的objects照此种方法更改!
解决办法二: 生成建表脚本时会弹出Database generation提示框:把options - check model的小勾给去掉,就是不进行检查(不推荐)!或者可以修改C:\Program Files\Sybase\PowerDesigner Trial 11\Resource Files\DBMS\oracl9i2.xdb文件 修改好后,再cdm转为pdm时,选择“Copy the DBMS definition in model”把把这个资源文件拷贝到模型中。

 

生成的建表脚本中如何把对象的双引号去掉?

解决办法一:进入Tools-Model Options-Naming Convention,把Name和Code的标签的Charcter case选项设置成Uppercase或者Lowercase,只要不是Mixed Case就行!
解决办法二:选择Database->Edit current database->Script->Sql->Format,有一项CaseSensitivityUsingQuote,它的 comment为“Determines if the case sensitivity for identifiers is managed using double quotes”,表示是否适用双引号来规定标识符的大小写,可以看到右边的values默认值为“YES”,改为“No”即可!
解决办法三:在打开pdm的情况下,进入Tools-Model Options-Naming Convention,把Name和Code的标签的Charcter case选项设置成Uppercase就可以!

 

建立一个表后,检测出现Existence of index的警告 A table should contain at least one column, one index, one key, and one reference.

解决办法:事实上可以不检查 Existence of index ,也就没有这个警告错误了!它的意思是说没有给表建立索引,而一个表一般至少要有一个索引,这是一个警告,不用管也没有关系!

 

name与code同步问题

解决办法:Name和Code 的右侧都有一个按钮“=”,如果需要不同步的话,把这个按钮弹起来就可以了。  Tools->General Options->Dialog->Name to Code Mirroring (去掉)

 

对于大小写不敏感的数据库(如Oracle),PowerDesign在创建脚本时自动给表名和字段名加上双引号,以“强字符串”形式来获取区分大小写,这样给sql语句的编写制造很多麻烦。必须去掉这个多余的功能。

解决办法:Database -〉Edit Current DBMS -〉Script. -〉Sql -〉Format -〉CaseSensitivityUsingQuote 右边面板参数值 Value 选择No。

 

生成SQL时报错:Generation aborted due to errors detected during the verification of the model

解决办法:在Database—>Generate Database (或者用Ctrl+G快捷键)来生产sql语句时,把检查模型的选项(Check Model)前的那个勾去掉即可。

 

导出数据库时报错:Error The following objects do not have unique constraint

解决办法:对象不具备唯一性约束,说白了就是constraint name重命,检查一下就行。

 

物理模型导出数据库时保存name作为code的注释行

解决办法:Tools–>Execute Commands–>Edit/Run Script 在打开的窗口中 past 下面的代码: 

  
PowerDesign的使用[通俗易懂]
PowerDesign的使用[通俗易懂]

 1 Option Explicit
 2 ValidationMode = True
 3 InteractiveMode = im_Batch
 4 Dim mdl 'the current model
 5 'get the current active model
 6 Set mdl = ActiveModel
 7 If (mdl Is Nothing) Then
 8 MsgBox "There is no current Model"
 9 ElseIf Not mdl.IsKindOf(PdPDM.cls_Model) Then
10 MsgBox "The current model is not an Physical Data model."
11 Else
12 ProcessFolder mdl
13 End If
14 'This routine copy name into code for each table, each column and each view
15 'of the current folder
16 Private sub ProcessFolder(folder)
17 Dim Tab 'running table
18 for each Tab in folder.tables
19 if not tab.isShortcut then
20 tab.comment = tab.name + tab.comment '此处任意设置表的注释,此处为表名和注释一起
21 Dim col ' running column
22 for each col in tab.columns
23 col.comment= col.name + col.comment
24 next
25 end if
26 next
27 Dim view 'running view
28 for each view in folder.Views
29 if not view.isShortcut then
30 view.comment = view.name
31 end if
32 next
33 ' go into the sub-packages
34 Dim f 'running folder
35 For Each f In folder.Packages
36 if not f.IsShortcut then
37 ProcessFolder f
38 end if
39 Next
40 end sub

Code

 运行,然后Database –> Generate Database ,在formata选中Generate name in empty comment这时就可以生成带有comments为物理模型中Name属性的SQL语句了。

 

  导出SQL脚本运行注释出现乱码问题

  解决办法:乱码自然就是字符集的问题,先检查一下自己数据库的字符集,然后在Database –> Generate Database ,在formata页面中的Encoding中选中适合的字符集就可以解决问题了。

 

  导出SQL脚本运行建表时注释行出现重复现象(未解决)

  

 

  导出SQL脚本运行建表时缺少几个表

  这个问题的出现是因为有的表上的键的设定出现错误。解决办法就是找出缺少的表,检查表的键,改正之后再生成脚本。应该就没有问题了。

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/155798.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • MVC三层架构详细图

    MVC三层架构详细图Model业务处理:业务逻辑(Service) 数据持久层:CRUD(Dao)View展示数据 提供链接发起Servlet请求Controller接收用户的请求:(req:请求参数、Session信息) 交给业务层处理对应的代码 控制视图的跳转…

    2022年6月25日
    32
  • Lucene.Net 2.3.1开发介绍 —— 三、索引(六)

    Lucene.Net 2.3.1开发介绍 —— 三、索引(六)

    2021年9月7日
    65
  • 内核态和用户态区别的重要性_cpu用户态和内核态区别

    内核态和用户态区别的重要性_cpu用户态和内核态区别内核态和用户态区别内核态和用户态区别当一个任务(进程)执行系统调用而陷入内核代码中执行时,我们就称进程处于内核运行态(或简称为内核态)。此时处理器处于特权级最高的(0级)内核代码中执行。当进程处于内核态时,执行的内核代码会使用当前进程的内核栈。每个进程都有自己的内核栈。当进程在执行用户自己的代码时,则称其处于用户运行态(用户态)。即此时处理器在特权级最低的(3级)用户代码中运行。当正在

    2025年12月13日
    2
  • Python和Java到底有什么区别?这12点告诉你答案「建议收藏」

    Python和Java到底有什么区别?这12点告诉你答案「建议收藏」转载自品略图书馆http://www.pinlue.com/article/2020/03/1604/0310028186938.html初学编程的小伙伴在问:“Python和Java到底有什么区别?到底是学Python还是Java。“一副惆怅的样子,难以下手。今天,给大家总结了关于两者的十二点区别。一、实话实话,Python虚拟机没有java强,java虚拟机是java的核心…

    2022年7月8日
    27
  • 蜗牛星际NAS安装黑群晖V6.2.1+洗白+免U盘引导启动

    蜗牛星际NAS安装黑群晖V6.2.1+洗白+免U盘引导启动推上看到有dalao分享蜗牛星际的车,作为伪“资深垃圾佬”自然不能错过,于是去咸鱼上收了一台。基本配置如下(性价比相当高):4盘位机箱+J1900处理器+4GRAM+16GMSATASSD+150W电源其中,我购买的是A款(带防尘罩),机箱背部为两个USB3.0接口与一个RJ45接口,主板为绿色,网卡inteli211,也是目前翻车最少的版本(双网口翻车严重…

    2022年6月4日
    1.1K
  • TCP拥塞控制策略

    TCP拥塞控制策略一、Reno1、算法执行示意                                   图1 算法执行图2、算法原理Reno是一种基于丢包的拥塞控制算法,将丢包视为出现拥塞,采取缓慢探测的方式,逐渐增大拥塞窗口,当出现丢包时,将拥塞窗口减小。该算法拥塞控制的过程分为四个阶段:慢开始、拥塞避免、快重传和快恢复,分别对应四种算法。 (1)慢开始算法当主机总数…

    2022年6月24日
    28

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号