使用PowerDesigner导入表+PowerDesigner画ER图+PowerDesigner设置外键

ps:

①ER图:就是PD中的 Physical Diagram


一、导入表,并设置备注为PD中的显示名称

1、新建数据库模型

2、导入表——见参考

  • 最好每张表都把生成主键的名字修改了,不然会产生错误的字段
-- 建表语句1_未修改前的
CREATE TABLE "TABLE_1"
(
"COLUMN_11" CHAR(10),
"ID" CHAR(32) NOT NULL,
"AGE" NUMBER(22,6),
"C_2222" CHAR(10),
UNIQUE("AGE"),
NOT CLUSTER PRIMARY KEY("ID")
) STORAGE(ON "MAIN", CLUSTERBTR) ; COMMENT ON COLUMN "TABLE_1"."AGE" IS 'CS_AA';
COMMENT ON COLUMN "TABLE_1"."COLUMN_11" IS 'CS_11';
COMMENT ON COLUMN "TABLE_1"."C_2222" IS 'CS_';
COMMENT ON COLUMN "TABLE_1"."ID" IS 'CS_DD'; -- 建表语句2_修改之后的
-- 主键的名字规则:PK_表名
CREATE TABLE "TABLE_1"
(
"COLUMN_11" CHAR(10),
"ID" CHAR(32) NOT NULL,
"AGE" NUMBER(22,6),
"C_2222" CHAR(10),
UNIQUE("AGE"),
constraint PK_CS1 PRIMARY KEY("ID")
) STORAGE(ON "MAIN", CLUSTERBTR) ; COMMENT ON COLUMN "TABLE_1"."AGE" IS 'CS_AA';
COMMENT ON COLUMN "TABLE_1"."COLUMN_11" IS 'CS_11';
COMMENT ON COLUMN "TABLE_1"."C_2222" IS 'CS_';
COMMENT ON COLUMN "TABLE_1"."ID" IS 'CS_DD';

修改详情:

  • 脚本

    • 使用字段备注当做pd中的显示名的脚本
Option Explicit

ValidationMode = True

InteractiveMode = im_Batch

Dim mdl ' the current model

' get the current active model

Set mdl = ActiveModel

If (mdl Is Nothing) Then

MsgBox "There is no current Model "

ElseIf Not mdl.IsKindOf(PdPDM.cls_Model) Then

MsgBox "The current model is not an Physical Data model. "

Else

ProcessFolder mdl

End If

Private sub ProcessFolder(folder)

On Error Resume Next

Dim Tab 'running table

for each Tab in folder.tables

if not tab.isShortcut then

tab.name = tab.comment

Dim col ' running column

for each col in tab.columns

if col.comment="" then

else

col.name= col.comment

end if

next

end if

next

Dim view 'running view

for each view in folder.Views

if not view.isShortcut then

view.name = view.comment

end if

next

' go into the sub-packages

Dim f ' running folder

For Each f In folder.Packages

if not f.IsShortcut then

ProcessFolder f

end if

Next

end sub

二、画图

1、参考——规范:

设计规范——有需要的私我。或者评论

2、新建ER图

3、连接有外键关系的两张表(同一张表出现在不同的ER图中的情况)

①工具栏中的这个图标,可以把拖入ER图的有外键关联的表连接起来。

——这个功能适用于,同一张表出现在不同的ER图中。

呼出界面:

②其他工具栏:

4、绘制外键的线

参考:https://www.somode.com/jiaocheng/36995.html

4.1、打开面板

  • 找到 References

4.2、外键设置

①、如Table_2(从表) 中的 TABLE_ID 是 TABLE_1(主表) 的 ID 的外键。

②、双击连线,设置如下:

  • 设置外键名字

  • 设置是否在生成sql的时候生成外键。(不生成表示:只有ER图展示,sql中不会有)

  • 配置字段:选择子表、父表的字段

  • 验证

见①。子表的外键字段出现 <FK> 就是对的

4.3、显示外键线上的名字

①结果

②操作


5、格式设置

5.1、把table1的格式弄到table2上。

5.2、给外键的线赋予格式

5.3、获取格式、应用格式

①结果:

②操作步奏:

1)表:

2)线:

PowerDesigner反向导入表+PowerDesigner的ER图设计+PowerDesigner连接外键的线(版本16.5)的更多相关文章

  1. 利用powerdesigner反向数据库结构,生成ER图

    参考月下狼~图腾~:<利用powerdesigner反向数据库结构,生成ER图> https://www.zybuluo.com/Jpz/note/123582 首先新建一个"P ...

  2. powerdesigner反向MySQL5.1数据库 生成ER图

    我用的powerdesigner是15.1版本,数据库是MySQL5.1.57 (1)首先新建一个“PhysicalDataModel”类型的文件,然后点击“Database”->"C ...

  3. <正则吃饺子>:关于使用powerDesign连接oracle数据库,导出数据表结构(ER图吧)

    最近做的项目中,没有完整的数据库表结构图(ER图),自己就根据服务器上oracle数据库和powerdesign整理一份,但是存在两个问题:1.没有把数据库表的相关备注弄下来:2.数据库表中的主外键关 ...

  4. powerdesigner生成mysql带注释的ER图

    1.安装PowerDesigner的 参考 https://blog.csdn.net/sinat_34104446/article/details/79885141 2配置逆向工程 2.1新建模型p ...

  5. Django之ORM表高级操作、增删改查、外键字段连表查、单表查、跨表查、F/Q查询

    目录 一.如何开启自己的测试脚本? 二.对表数据的添加.更新.删除 1.create() 变态操作之批量插入数据 2.update() 3.delete() 4.如何查看QuerySet对象执行的sq ...

  6. ORM( ORM查询13种方法3. 单表的双下划线的使用 4. 外键的方法 5. 多对多的方法 ,聚合,分组,F查询,Q查询,事务 )

    必知必会13条 <1> all(): 查询所有结果 <2> get(**kwargs): 返回与所给筛选条件相匹配的对象,返回结果有且只有一个,如果符合筛选条件的对象超过一个或 ...

  7. hibernate 建表一对一 就是一对多,多的一方外键唯一unique

    Person.java package cn.itcast.hiberate.sh.domain.onetoone; import java.io.Serializable; import java. ...

  8. 备忘:MySQL中修改表中某列的数据类型、删除外键约束

    -- MySQL中修改表中某列的数据类型 ALTER TABLE [COLUMN] 表名 MODIFY 列名 列定义; -- 删除外键约束 SHOW CREATE TABLE 表名; -- 复制CON ...

  9. mysql表关联问题(第三卷:外键多对多)

    现在我们整理一下多对多的问题,举个例子现在一个男的可能和多个女的谈过恋爱,一个女的也可能和多个男的谈过恋爱,把他们恋爱的关系整理为数据关联表就成为了多对多的关系. 准备三张表,男人信息表,女人信息表, ...

  10. 一种简单的权限管理ER图设计

    权限管理支持动态地管理用户的角色和权限.权限代表用户可以在什么对象上进行什么操作:角色是一组权限的集合. PS:当增加或删除某个用户的角色时,系统自动将该角色对应的权限(角色 -权限关联表)增加或删除 ...

随机推荐

  1. 对抗 ChatGPT,免费体验 Claude

    对抗 ChatGPT,免费体验 Claude Claude 是 Anthropic 构建的大型语言模型(LLM),对标ChatGPT. Anthropic 创始团队多是前openai研究员和工程师,C ...

  2. R的基本用法2

    title: "Lectures" author: '01' date: "2022-09-23" output: pdf_document knitr::op ...

  3. Valgrind交叉编译

    Valgrind交叉编译 编译环境:ubuntu16.04 x64 开发平台:hisi3535 arm板 1.下载Valgrind 我下载的版本为 valgrind-3.12.0.tar.bz2 所有 ...

  4. 关于为element Tree组件实现仿文件夹效果及右键菜单

    <template> <div class="custom-tree-container" @contextmenu.native="handlePas ...

  5. IIS6网站批量迁移至IIS7经验分享

    迁移原因:公司服务器更换 迁移环境:源服务器 windows2003 X86   IIS6        目标服务器:windows2008 X64  IIS7 迁移过程: 第一次迁移失败,作为简要记 ...

  6. #Python pandas库,读取模块,代码笔记

    日常数据清洗中,利用python清洗的第一步就是读取对应文件,今天一起复盘一下数据读取环节的常规操作. csv和xlsx格式读取类似,所以用csv做案例 X-MIND图

  7. 2021-02-21:手写代码:高性能路由,也就是一个字符串和多个匹配串进行模糊匹配。一个数组arr里是["*a*","moonfdd"],字符串"moonfdd"能匹配到,理由是arr里有。字符串"xayy"也能匹配到,理由是arr里的"*a*",第1个星对应"x",第2个星对应"yy"。

    2021-02-21:手写代码:高性能路由,也就是一个字符串和多个匹配串进行模糊匹配.一个数组arr里是["a","moonfdd"],字符串"moo ...

  8. 2022-04-05:golang中go.mod文件,做框架开发需要解析,请问如何解析?

    2022-04-05:golang中go.mod文件,做框架开发需要解析,请问如何解析? 答案2022-04-05: go.mod解析可参考这个.做框架开发主要是用到require和replace.具 ...

  9. 2021-09-27:Pow(x, n)。实现 pow(x, n) ,即计算 x 的 n 次幂函数(即,x**n)。力扣50。

    2021-09-27:Pow(x, n).实现 pow(x, n) ,即计算 x 的 n 次幂函数(即,x**n).力扣50. 福大大 答案2021-09-27: 遍历n的二进制位. 时间复杂度:O( ...

  10. 【工作随手记】deaklock排查

    生产环境当中还没真正遇到过死锁的问题.有些疑似死锁的问题,后来经过排查也只是其它问题导致的.所以通过jstack到底怎样排查死锁问题有点疏忽了.这里作个记录. 模拟一个死锁 顺便复习一下. 死锁的产生 ...