使用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. [Linux]ln:软链接与硬链接

    1 硬链接与软链接的[语法] 软链接:ln -s 源文件 目标文件 硬链接:ln 源文件 目标文件 [-s : symbolic,符号/代号] 2 软链接/硬链接的[比喻] / (编辑)同步性 [ro ...

  2. mac上传文件到obs需要配置的环境

    本篇主要是使用mac对华为云 对象存储服务OBS 上传的一些说明. 配置环境 华为云obsutil下载地址 下载后得到.tar.gz格式的文件 解压 tar -xzvf xx.tar.gz 进入obs ...

  3. Semantic Kernel 入门系列:🥑突破提示词的限制

    无尽的上下文 LLM的语言理解和掌握能力在知识内容的解读和总结方面提供了强大的能力. 但是由于训练数据本身来自于公共领域,也就注定了无法在一些小众或者私有的领域能够足够的好的应答. 因此如何给LLM ...

  4. SkyWalking的学习之一

    SkyWalking的学习之一 前言 最近在学习应用调优诊断等内容. 现在实际工作中实质上的拆分和微服务在售前阶段 所以真正用到链路的地方比较少. 但是人生都是要向前看的. 想着一方面提高自己. 一方 ...

  5. Tars-Cpp 协程实现分析

    作者:vivo 互联网服务器团队- Ye Feng 本文介绍了协程的概念,并讨论了 Tars Cpp 协程的实现原理和源码分析. 一.前言 Tars 是 Linux 基金会的开源项目(https:// ...

  6. 一文搞懂 Promise 新 Api allSettled 的用法和 all 区别,以及如何在不支持新特性的环境下实现一个 Polyfill

    开始 一文搞懂 Promise 新 Api allSettled 的用法和 all 区别,以及如何在不支持新特性的环境下实现一个 Polyfill allSettled 的用法 const runAl ...

  7. 一文讲透 RocketMQ 消费者是如何负载均衡的

    RocketMQ 支持两种消息模式:集群消费( Clustering )和广播消费( Broadcasting ). 集群消费:同一 Topic 下的一条消息只会被同一消费组中的一个消费者消费.也就是 ...

  8. sqlilabs第一关

    首先打开网页,进行注入点的测试 输入?id=1 and 1=1发现1=2的时候没有进行报错,有两种可能,一种是不能注入,第二种是字符型可以通过对字符型里面的''进行闭合,输入'and 1=1--+发现 ...

  9. 一篇文章搞定什么是nodeJs它和NPM关系与应用

    现在前端的入门门槛越来越高了,不再是单纯 html+css+js,各种前端框架 层出不穷,各种ui组件库层出不穷. 模块化,打包化,各种工具库层出不穷,前端变成大前端 ,甚至前端可以搞定整个项目,通过 ...

  10. google + chatgpt

    google注册 网址:https://www.google.com/ 使用右上角登录按钮 点击创建账户然后根据步骤注册 chagpt注册 1.https://chat.openai.com/auth ...