PowerDesigner常用设置

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

使用powerdesigner进行数据库设计确实方便,以下是一些常用的设置

附加:工具栏不见了

调色板(Palette)快捷工具栏不见了

PowerDesigner 快捷工具栏 palette 不见了,怎么重新打开,找回来呢

上网搜索了一下”powerdesigner 图形工具栏”,找到了找回PowerDesigner工具栏palette的方法
Tools(工具栏)
customsize toolbars(自定义工具栏)
palette(调色板)勾选 

 

修改外键命名规则

选择Database—>Edit Current DBMS
选择Scripts-》Objects-》Reference-》ConstName
可以发现右侧的Value为:

FK_%.U8:CHILD%_%.U9:REFR%_%.U8:PARENT%

可见,该命名方法是:'FK_'+8位子表名+9位Reference名+8位父表名,你可以根据这中模式自定义为:

FK_%.U7:CHILD%_RELATIONS_%.U7:PARENT%,

可以使FK名称变为FK_TABLE_2_RELATIONS_TABLE_1
掌握这种方法后就可以按照自己的想法修改了

生成建库脚本SQL文件中的表头注释很讨厌,可以在 Databse -> Generate Database (Ctrl+G)窗口中,选择Options卡片,去掉Usage的Title钩选项即可。

添加外键
Model -> References新建一条外键后,双击进入外键属性,在“Joins”卡片中可以选择子表的外键字段

 

如何实现Name和code不自动相等
如何实现在CDM中创建Entity时,Name和Code不自动对应

设置tools--Gerneral options--->dialog---->name to code mirroring

-------------------------------------

如何把NAME 列在 scrip里显示出来

修改字段生成规则。要给每个字段都添加一个注释的话,同一窗口中展开 Script -> Object -> Column -> Add 的 Value修改为:

%20:COLUMN% [%COMPUTE%?AS (%COMPUTE%):%20:DATATYPE% [%IDENTITY%?%IDENTITY%:[%NULL%][%NOTNULL%]][ default %DEFAULT%]
     [[constraint %CONSTNAME%] check (%CONSTRAINT%)]]

其中的%COLNNAME%就是列的Name值(可以是中文)

---------------------------------------------------------------------------------

POWERdESIGEN 自增长列的设置

PDM里查看表的属性,Columns选项卡,选中整列,查看列属性,点左上方的properties图标(有手形图案的那个),此时打开一个设置窗口,General选项卡里面进行设置.  
在列属性的General标签页里有个Identity复选框,勾上就行了

--------------------------------------
1 如何在PowerDesigner下建索引
2 如何在PowerDesigner 下建自增列
3 如何在PowerDesigner 下检查设计模型

1 如何在PowerDesigner下建索引
1 双击表设计图,出来Table Properties,在Tab 页中选择 Indexes

2 单击新建索引的属性,出现Indexex Properties

3 增加一个索引包含的字段

2 如何在PowerDesigner 下建自增列
2 使用SqlServer 数据库中的下列语句来完成
建表语句中,在要做为自增列的字段中,加上如下
IDENTITY(1,1)
还有可以使用下面语句,重置自增种子
dbcc checkident(ConfigSys,reseed,0);
3 如何在PowerDesigner 下检查设计模型
1 在菜单栏中选择 Tools -? Check Model, 如下图

2 选择要检查的每项设置

3 确定后,将出来检查结果汇总信息





这段时间,使用PD做数据库模型,感觉很不错,将自已的经验总给一下.还有许多功能我没时间总结,以后有时间,继续补吧
1 如何在PowerDesigner下建索引
2 如何在PowerDesigner 下建自增列
3 如何在PowerDesigner 下检查设计模型

1 如何在PowerDesigner下建索引
1 双击表设计图,出来Table Properties,在Tab 页中选择 Indexes

2 单击新建索引的属性,出现Indexex Properties

3 增加一个索引包含的字段

2 如何在PowerDesigner 下建自增列
2 使用SqlServer 数据库中的下列语句来完成
建表语句中,在要做为自增列的字段中,加上如下
IDENTITY(1,1)
还有可以使用下面语句,重置自增种子
dbcc checkident(ConfigSys,reseed,0);
3 如何在PowerDesigner 下检查设计模型
1 在菜单栏中选择 Tools -? Check Model, 如下图

2 选择要检查的每项设置

3 确定后,将出来检查结果汇总信息


在 powerdesigner 中设置 自增 得索引不用那么麻烦,其实只要在 概念模型 中在属性中把columns中要自增得字段得类型设置成为 serial 就可以了!

 

1。使用PowerDesigner检查数据库设计错误~

PowerDesigner 还可用于快速检测新模型中的数据库设计错误。

检查新的模式:

从 [Tools] 菜单中选择 [Check Model]。

此时,就会出现 [Check Model Parameters] 对话框。可以使用缺省参数。

另外也可以直接在空白处单击右键,选择Check Model...即可,我一般喜欢这样用。

单击 [确定]。

此时,在 [Result List] 中就会显示 [Check Model] 的结果。

2。如何将Conceptual Data Model (CDM)转换成Physical Data Model(PDM)?

 

即将概念数据模型转换成物理数据模型。

二者的区别是,CDM是纯粹概念上的模型,PDM是和具体的数据库类型相关的,比如SQL Server 2000或者Oracle。生成SQL语句当然也就需要从PDM生成。

 

在菜单上选择Tools -> Generate Phisical Data Model

 

最后选择你的数据库类型,即可。

 

3。使用PowerDesigner生成SQL语句~

 

可以使用 PowerDesigner 生成一个 SQL 脚本,该脚本用于实施模型的所有组件。然后,使用 SQL 脚本生成一个数据库。

这时候要确保你用的是PDM。

生成 SQL 脚本以新建数据库:

从 [Database] 菜单中选择 [Generate Database]。

此时,就会出现 [Database Generation] 对话框

在 [Directory] 字段中键入 c:Temp,并在 [File Name] 字段中键入 NewDemo.sql。

确保选中了 [ Generation]。

单击 [Database] 选项卡,并确保选中了 [Create Database]。

浏览其它选项卡,以查看控制所生成脚本的许多其它属性的选项。

单击 [确定]。

创建脚本后,就会出现 [Result] 对话框。

4。为什么出现Warning : table Existence of index 表名 ?

 

说明该表没有建立索引。不过这是一个警告,不是错误,可以不用理会它。

 

5。如何建立联合主键?

 

联合主键就是一个表里面有多个主键,比如一份学生选课的表里面,学生ID和课程ID就同时是主键。

 

在设置Attributes,把2个字段的P那项都勾上,P表示Primary Key主键。

 

6。如何建立外键Foreign Key?

 

在PowerDesigner中,通过建立关系Relationship就可以自动建立外键,不需要手动添加。

 

而建立Relationship有2种办法:可以通过菜单选择Model -> Relationships...,也可以通过在右边的工具栏中拖拽Relationship控件。

 

7。如何生成数据字典?

 

通过菜单Report -> Report Wizard...可以生成

注意可以选择Template.因为我是通过PDM生成,所以选择了Standard Physical Template~

1、安装PD v11.0版

2、由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”把把这个资源文件拷贝到模型中。

3、生成的建表脚本中如何把对象的双引号去掉?
打开cdm的情况下,进入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就可以!

4、建立一个表后,为何检测出现Existence of index的警告
A table should contain at least one column, one index, one key, and one reference.
可以不检查 Existence of index 这项,也就没有这个警告错误了!
意思是说没有给表建立索引,而一个表一般至少要有一个索引,这是一个警告,不用管也没有关系!

5、创建一个表在修改字段的时候,一修改name的内容,code也跟着变化,如何让code不随着name变化
Name和Code 的右侧都有一个按钮“=”,如果需要不同步的话,把这个按钮弹起来就可以了。
Tools->General Options->Dialog->Name to Code Mirroring (去掉)

6、由CDM生成PDM时,自动生成的外键的重命名
PDM Generation Options->Detail->FK index names默认是%REFR%_FK,改为FK_%REFRCODE%,其中%REFRCODE%指的就是CDM中Relationship的code!另外自动生成的父字段的规则是PDM Generation Options->Detail->FK column name template中设置的,默认是%.3:PARENT%_%COLUMN%,可以改为Par%COLUMN%表示是父字段!

7、如何防止一对一的关系生成两个引用(外键)
要定义关系的支配方向,占支配地位的实体(有D标志)变为父表。
在cdm中双击一对一关系->Detail->Dominant role选择支配关系

8、修改报表模板中一些术语的定义
即文件:C:\Program Files\Sybase\PowerDesigner Trial 11\Resource Files\Report Languages\Chinese.xrl
Tools-Resources-Report Languages-选择Chinese-单击Properties或双击目标
修改某些对象的名称:Object Attributes\Physical Data Model\Column\
        ForeignKey:外键
        Mandatory:为空
        Primary:主键
        Table:表
用查找替换,把“表格”替换成“表”
修改显示的内容为别的:Values Mapping\Lists\Standard,添加TRUE的转化列为是,FALSE的转化列为空
另外Report-Title Page里可以设置标题信息

 

1。pd中复制一列是,实际上是一个链接。源列的变动同时体现在复制列上

2。数据库设计通常步骤:CDM缺定主要结构--》生成PDM--》在PDM上修改,必要时生成CDM

3。若由pdm生成cdm再生成pdm,在pdm中修改过的外键名将被改回到默认值

4。必要时可以通过修改模板(Database-Edit Current DataBase)改变脚本的格式。例如:
Script-Objects-Column-Add的Value中开头增加一行“--%COLNNAME%”以便在脚本中显示列的中英文对照

5。去掉讨厌的name、code映射:Tools-General Options-clear the Name to Code mirroring check box

6。对于大小写不敏感的数据库(如Oracle),PowerDesign在创建脚本时自动给表名和字段名加上双引号,以“强字符串”形式来获取区分大小写,这样给sql语句的编写制造很多麻烦。去掉这个添足的功能:
Database -〉Edit Current DBMS -〉Script. -〉Sql -〉Format -〉CaseSensitivityUsingQuote
右边面板参数值 Value 选择No

7。由cdm生成pdm,可以控制是否将关系生成引用;由pdm生成脚本,可以控制是否将引用生成外键

8。对于oracle而言,为表设置选项(如tablespace GPSSYSTEM)可使其创建到正确的表空间;为主键设置选项(using index tablespace GPSINDEX)使索引创建到正确的表空间中

转载于:https://my.oschina.net/huhaicool/blog/1832739

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/390232.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

bzoj5090[lydsy11月赛]组题

裸的01分数规划,二分答案,没了. #include<cstdio> #include<algorithm> using namespace std; const int maxn100005; int a[maxn]; double b[maxn]; double c[maxn]; typedef long long ll; ll gcd(ll a,ll b){return (b0)?a:gcd(b,a%b); } int main(){int n,k;s…

797. 所有可能的路径

797. 所有可能的路径 给你一个有 n 个节点的 有向无环图&#xff08;DAG&#xff09;&#xff0c;请你找出所有从节点 0 到节点 n-1 的路径并输出&#xff08;不要求按特定顺序&#xff09; 二维数组的第 i 个数组中的单元都表示有向图中 i 号节点所能到达的下一些节点&#…

深入框架本源系列 —— Virtual Dom

该系列会逐步更新&#xff0c;完整的讲解目前主流框架中底层相通的技术&#xff0c;接下来的代码内容都会更新在 这里 为什么需要 Virtual Dom 众所周知&#xff0c;操作 DOM 是很耗费性能的一件事情&#xff0c;既然如此&#xff0c;我们可以考虑通过 JS 对象来模拟 DOM 对象&…

网络工程师常备工具_网络安全工程师应该知道的10种工具

网络工程师常备工具If youre a penetration tester, there are numerous tools you can use to help you accomplish your goals. 如果您是渗透测试人员&#xff0c;则可以使用许多工具来帮助您实现目标。 From scanning to post-exploitation, here are ten tools you must k…

configure: error: You need a C++ compiler for C++ support.

安装pcre包的时候提示缺少c编译器 报错信息如下&#xff1a; configure: error: You need a C compiler for C support. 解决办法&#xff0c;使用yum安装&#xff1a;yum -y install gcc-c 转载于:https://www.cnblogs.com/mkl34367803/p/8428264.html

程序编写经验教训_编写您永远都不会忘记的有效绩效评估的经验教训。

程序编写经验教训This article is intended for two audiences: people who need to write self-evaluations, and people who need to provide feedback to their colleagues. 本文面向两个受众&#xff1a;需要编写自我评估的人员和需要向同事提供反馈的人员。 For the purp…

删除文件及文件夹命令

方法一&#xff1a; echo off ::演示&#xff1a;删除指定路径下指定天数之前&#xff08;以文件的最后修改日期为准&#xff09;的文件。 ::如果演示结果无误&#xff0c;把del前面的echo去掉&#xff0c;即可实现真正删除。 ::本例需要Win2003/Vista/Win7系统自带的forfiles命…

BZOJ 3527: [ZJOI2014]力(FFT)

题意 给出\(n\)个数\(q_i\),给出\(Fj\)的定义如下&#xff1a; \[F_j\sum \limits _ {i < j} \frac{q_iq_j}{(i-j)^2}-\sum \limits _{i >j} \frac{q_iq_j}{(i-j)^2}.\] 令\(E_iF_i/q_i\)&#xff0c;求\(E_i\). 题解 一开始没发现求\(E_i\)... 其实题目还更容易想了... …

c# 实现刷卡_如何在RecyclerView中实现“刷卡选项”

c# 实现刷卡Lets say a user of your site wants to edit a list item without opening the item and looking for editing options. If you can enable this functionality, it gives that user a good User Experience. 假设您网站的用户想要在不打开列表项并寻找编辑选项的情…

批处理命令无法连续执行

如题&#xff0c;博主一开始的批处理命令是这样的&#xff1a; cd node_modules cd heapdump node-gyp rebuild cd .. cd v8-profiler-node8 node-pre-gyp rebuild cd .. cd utf-8-validate node-gyp rebuild cd .. cd bufferutil node-gyp rebuild pause执行结果&#xff1…

sql语句中的in用法示例_示例中JavaScript in操作符

sql语句中的in用法示例One of the first topics you’ll come across when learning JavaScript (or any other programming language) are operators. 学习JavaScript(或任何其他编程语言)时遇到的第一个主题之一是运算符。 The most common operators are the arithmetic, l…

vue项目实战总结

马上过年了&#xff0c;最近工作不太忙&#xff0c;再加上本人最近比较懒&#xff0c;毫无斗志&#xff0c;不愿学习新东西&#xff0c;或许是要过年的缘故(感觉像是在找接口)。 就把前一段时间做过的vue项目&#xff0c;进行一次完整的总结。 这次算是详细总结&#xff0c;会从…

Linux !的使用

转自&#xff1a;https://www.linuxidc.com/Linux/2015-05/117774.htm 一、history    78 cd /mnt/ 79 ls 80 cd / 81 history 82 ls 83 ls /mnt/ !78 相当于执行cd /mnt !-6 也相当于执行cd /mnt 二、!$ cd /mnt ls !$ 相当于执行 ls /mnt转载于:https://www.cnblogs.…

881. 救生艇

881. 救生艇 第 i 个人的体重为 people[i]&#xff0c;每艘船可以承载的最大重量为 limit。 每艘船最多可同时载两人&#xff0c;但条件是这些人的重量之和最多为 limit。 返回载到每一个人所需的最小船数。(保证每个人都能被船载)。 示例 1&#xff1a; 输入&#xff1a;…

使用python数据分析_如何使用Python提升您的数据分析技能

使用python数据分析If youre learning Python, youve likely heard about sci-kit-learn, NumPy and Pandas. And these are all important libraries to learn. But there is more to them than you might initially realize.如果您正在学习Python&#xff0c;则可能听说过sci…

openresty 日志输出的处理

最近出了个故障&#xff0c;有个接口的请求居然出现了长达几十秒的处理时间&#xff0c;由于日志缺乏&#xff0c;网络故障也解除了&#xff0c;就没法再重现这个故障了。为了可以在下次出现问题的时候能追查到问题&#xff0c;所以需要添加一些追踪日志。添加这些追踪日志&…

谁是赢家_赢家的真正作品是股东

谁是赢家As I wrote in the article “5 Skills to Look For When Hiring Remote Talent,” remote work is a fast emerging segment of the labor market. Today roughly eight million Americans work remotely full-time. And among the most commonly held jobs include m…

博客园代码黑色主题高亮设置

参考链接&#xff1a; https://segmentfault.com/a/1190000013001367 先发链接&#xff0c;有空实践后会整理。我的GitHub地址&#xff1a;https://github.com/heizemingjun我的博客园地址&#xff1a;http://www.cnblogs.com/chenmingjun我的蚂蚁笔记博客地址&#xff1a;http…

Matplotlib课程–学习Python数据可视化

Learn the basics of Matplotlib in this crash course tutorial. Matplotlib is an amazing data visualization library for Python. You will also learn how to apply Matplotlib to real-world problems.在此速成班教程中学习Matplotlib的基础知识。 Matplotlib是一个很棒…

Android 开发使用 Gradle 配置构建库模块的工作方式

Android 开发过程中&#xff0c;我们不可避免地需要引入其他人的工作成果。减少重复“造轮子”的时间&#xff0c;投入到更有意义的核心任务当中。Android 库模块在结构上与 Android 应用模块相同。提供构建应用所需的一切内容&#xff0c;包括源代码&#xff08;src&#xff0…