使用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. Ficow 的 AI 平台快速上手指南(ChatGPT, NewBing, ChatGLM-6B, cursor.so)

    本文首发于 Ficow Shen's Blog,原文地址: Ficow 的 AI 平台快速上手指南(ChatGPT, NewBing, ChatGLM-6B, cursor.so). 内容概览 前言 ...

  2. 开源项目audioFlux: 针对音频领域的深度学习工具库

    目录 时频变换 频谱重排 倒谱系数 解卷积 谱特征 音乐信息检索 audioFlux是一个Python和C实现的库,提供音频领域系统.全面.多维度的特征提取与组合,结合各种深度学习网络模型,进行音频领 ...

  3. 网络框架重构之路plain2.0(c++23 without module) 环境

    接下来本来就直接打算分享框架重构的具体环节,但重构的代码其实并没有完成太多,许多的实现细节在我心中还没有形成一个定型.由于最近回归岗位后,新的开发环境需要自己搭建,搭建的时间来说花了我整整一天的时间才 ...

  4. VScode连接GPU服务器进行深度学习

    VScode连接GPU服务器进行深度学习 ​ 最近用台式机跑一些小的深度学习项目,发现越来越慢了,由于一些原因,有时候需要我进行现场作业但是我的笔记本是轻薄本(Thinkpad YYDS)不带显卡,百 ...

  5. ts、typescript、enum、枚举、ts 获取枚举对应的类型、获取 enum 的 key 和 value

    ts.typescript.enum.枚举.ts 获取枚举对应的类型 // 假设我一个枚举 enum ENUM_TYPE { ALL = 'all', SOME = 'some', LITTLE = ...

  6. springCloud项目搭建版本选择

    1.查看spring cloud的版本 https://spring.io/projects/spring-cloud#learn 选择spring boot版本 https://mvnreposit ...

  7. java指定时间失效Calendar

    获取第二天的1:30的毫秒数 public static Long getEveryDayTime() { Calendar calendar = Calendar.getInstance(); ca ...

  8. [C++核心编程] 4.6、继承

    文章目录 4.6 继承 4.6.1 继承的基本语法 4.6.2 继承方式 4.6.3 继承中的对象模型 4.6.4 继承中构造和析构顺序 4.6.5 继承同名成员处理方式 4.6.6 继承同名静态成员 ...

  9. Centos7.x jmeter + ant + jenkins接口自动化框架部署

    一.基础环境准备 1.jmeter安装(之前文章有介绍过) 2.ant安装 · 官网下载:https://ant.apache.org/bindownload.cgi · 上传服务器,执行 tar - ...

  10. JS中内存泄漏的几种情况

    JavaScript 中的内存泄漏是指程序中使用的内存不再被需要却没有被释放,最终导致浏览器或者 Node.js 进程使用的内存越来越大,直到程序崩溃或者系统运行缓慢. 在 JavaScript 中, ...