【PowerDesigner】创建和管理CDM之使用实体间关系

目录

🌊1. PowerDesigner简介

🌍1.1 常用模型文件

🌍1.2 PowerDesigner使用环境

🌊2. 创建和管理CDM

🌍​​​​​​2.1 新建CDM

🌍2.2 使用实体间关系

🌌a. 使用联系

🌌b. 使用继承


🌊1. PowerDesigner简介

🌍1.1 常用模型文件

主要使用PowerDesigner的以下两类模型文件:

  • 逻辑模型(CDM):描述了与任何软件和数据存储系统无关的数据库整体逻辑结构,通常包含了与物理数据库无关的数据对象,提供了一种描述企业运行或业务行为的形象化的表达方式。
  • 物理模型(PDM):叙述数据库的物理实现。主要目的是把CDM中建立的现实世界模型生成特定的DBMS脚本,产生数据库中保存信息的储存结构,保证数据在数据库中的完整性和一致性.

🌍1.2 PowerDesigner使用环境

  • 树形模型管理器:以树形方式展示模型所包含的内容以及内容之间的层次关系
  • 图表窗口:组织模型中的图表,以图形方式展示模型中各对象之间的关系
  • 输出窗口:显示操作结果
  • 常用工具面板:用于在图表窗口插入对象的常用工具,主要有以下一些:


🌊2. 创建和管理CDM

🌍​​​​​​2.1 新建CDM

选择菜单栏File->New,打开New窗口

在左边模型类型(Model type)列表中,选中Conceptual Data Model,单击“确认”按钮即新建了一个默认名为ConceptualDataModel_1的CDM工程

在树形模型管理器中,右键单击新建的CDM工程名,从出现的菜单中选中Rename,即可将新建CDM工程名修改为自己想要的,如:NG-CRM5.5逻辑模型

在树形模型管理器中,右键单击新建的CDM工程名,从出现的菜单中选择New->Package即可新建一个包(Package)。Package用于对一个CDM工程的图表按照业务等规则分类存放,如NG-CRM5.5数据模型分为客户域、用户域、帐户域等多个域

在树形模型管理器中,右键单击新建的Package名,从出现的菜单中选择New->Conceptual Diagram即可Package下新建一个Diagram


🌍2.2 使用实体间关系

完成实体定义后,应该在它们之间建立关系。实体之间的关系通常是根据业务规则确定的,如对于移动运营商来说,一个客户拥有多个用户,这就是客户和用户之间的关系。

实体之间的关系常用的主要有联系和继承两大类,在常用工具面板中分别用标注为黄色和红色的工具表示。


🌌a. 使用联系

在CDM中,联系是用实体间的一条线来表示的,联系的具体含义是通过线两端的符号

来表示的,在两个实体间创建联系的步骤如下:

  1. 在工具面板中左键单击联系(Relationship)工具
  2. 在实体A上单击鼠标左键,按住不放,拖拽鼠标到实体B上后才松开,这样就建立了实体A和实体B之间的Relationship
  3. 双击新建的关系,打开关系属性窗口
  4. 输入属性Name和Code(可以采用默认的),之后切换到Cardinalities标签页,进行详细的设置

联系是通过实体间的一条线来表示的,而联系的具体含义则是通过配置联系属性页面的内容以更改线两端的符号来表示的。联系可配置的属性主要包括上图中用红色椭圆标注的4部分:

  • one to one, one to many和 many to many是最常见的联系属性,用来配置一个实体中的实例数与另一个实体中的实例数的比值关系
  • Mandatory:强制表示实体间的联系是否是可选的。在CDM中用穿过联系线的一条短直线表示强制,用联系线上的一个小圆圈表示可选

    上图表达了两个含义:其一是一个用户必须归属于且只能归属于一个客户;其二是一个客户可以有多个用户,也可以一个用户都没有。
    两个实体间实例的比值关系以及联系是否强制,可用出现在联系线两端的下述符号表示:
  • Dependent:每个实体都有自己的标识符(Identifier,用于唯一标识实体中的一条记录,由实体的一个属性字段或多个属性字段组成),如果两个实体之间发生关联,其中一个实体的标识符所包含的属性字段是构成另外一个实体的标识符的一部分,则称后一个实体依赖于前一个实体,后一个实体部分的被前一个实体确定。在CDM中依赖联系用一个三角形表示,三角形的顶点指向被依赖的实体,下图表示了客户联系信息和客户信息之间的依赖关系
  • Dominant role:用于指明联系的主从表关系,仅作用于one to one的联系。在A,B两个实体型的联系中,如果AàB被指定为dominent,那么A为联系的主表,B为从表,在生成PDM的时候,A的Identifier字段会被引用到B实体(如果不指定,A的Identifier会被引用到B实体,B的Identifier也会被引用到A实体),下图表示了客户和合作伙伴商户之间的一对一联系

    这种联系的属性页面的设置如下图所示:
  • 如果觉得联系线的外观不太好看,比如下图这样的

    可在联系线上单击鼠标右键,选中Format,打开Symbol Format窗口,选中Line Style标签页,调整Corners下拉列表框的内容即可
  • 如果想调整联系线的显示内容,如下图联系线上展示了联系的名称

    若不想在线上显示联系的名称,选择菜单栏的Tools->Display Preferences,打开Display Preferences窗口,选中Object View下的Relationship进行设置,取消对Name复选框的选择即可

🌌b. 使用继承

继承允许你定义一个实体为另一个更一般的特例,涉及到继承的实体间有着共同相似的

特征,但却是不同的。父类指那些包含共同特征的更一般的类,而特例则被称为子类型。在CDM中创建继承的操作如下:

  1. 在工具面板中左键单击继承(Inheritance)工具
  2. 在子类实体上单击鼠标左键,按住不放,拖拽鼠标到父类实体后才松开,这样就建立了父子实体之间的Inheritance关系,如下图所示,客户信息是父类,个人客户、家庭客户、集团客户是子类
  3. 子类可以只继承父类的主键,也可以继承所有的字段,可通过继承属性页面进程设置,双击新建的继承关系线,打开继承关系属性窗口,切换到Genaration标签页,调整红色椭圆标注区域的单选框的选择即可
  4. 继承关系线上的半球形图标里是否有叉叉图标,表示子类之间是否是互斥关系,也就是说父类实体的一个实例(通俗的讲,就是一条记录),是只能对应一个子类实体的实例,还是能对应多个子类实体的实例。如上述的客户信息是父类实体,它的一个实例,要么是个人客户,要么是集团客户,要么是家庭客户,不可能既是个人客户又是集团客户等。可通过继承关系的属性页面设置是否是互斥关系,具体操作为:双击新建的继承关系线,打开继承关系属性窗口,切换到Genaral标签页,调整复选框Mutually exclusive children是否被选中即可

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

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

相关文章

嵌入式仪器模块:DMM LCR SMU 及自动化测试软件

• 6 位数字表显示 • 24 位分辨率 • 250 KSPS 采样率 • 电源和数字 I/O 均采用隔离抗噪技术 应用场景 • 电压、电流、电阻、电感、电容的高精度测量 • 二极管/三极管测试 通道1222输入阻抗电压10 MΩHigh-Z, 10 MΩHigh-Z电流10 Ω50 mΩ / 2 Ω / 2 KΩ2 KΩ / 2 M…

如何理解external

external 函数应该只被外部函数调用但也可以被内部调用&#xff0c;但是这种内部调用也是有外部调用机制&#xff0c;即新产生message! 例子1 // SPDX-License-Identifier: GPL-3.0pragma solidity >0.8.2 <0.9.0;contract ExternalDemo{address public caller;functi…

【图解IO与Netty系列】Netty核心组件解析

Netty核心组件解析 Bootstrap & ServerBootstrapEventLoop & EventLoopGroupChannelChannelHandler & ChannelPipeline & ChannelHandlerContextChannelHandlerChannelPipelineChannelHandlerContext ChannelFuture Bootstrap & ServerBootstrap Bootstra…

A股所有公司ZL申请与创新绩效分析(2000-2022年)

数据简介&#xff1a;专利是创新成果的主要载体&#xff0c;专利所包含的技术、经济、法律等信息主要通过结构化专利专利文献著录项的形式加以呈现。专利申请与创新绩效已成为衡量上市公司竞争力的重要指标。目前&#xff0c;各国ZSCQ管理部门开发管理的开放式平台是获取ZL数据…

OBS 录屏软件:录制圆形头像画中画,设置卡通人像(保姆级教程,有步骤图,建议收藏)

Mac分享吧 文章目录 一、OBS录屏软件 圆形头像画中画效果注意&#xff1a;圆形画中画仅需要在软件中设置一次&#xff0c;每次录制&#xff0c;使用带有圆形头像画中画的场景 录制视频即可。该场景不可删除&#xff01;&#xff01;&#xff01;若删除&#xff0c;则需要重新设…

时序数据库是Niche Market吗?

引言 DB-Engines的流行程度排行从其评估标准[4]可以看出完全不能够做为市场规模的评估标准。甚至于在知道市场规模后可以用这个排行作为一个避雷手册。毕竟现存市场小&#xff0c;可预见增长规模小&#xff0c;竞争大&#xff0c;创新不足&#xff0c;那只能卷价格&#xff0c…

数据结构---查找

个人介绍 hello hello~ &#xff0c;这里是 code袁~&#x1f496;&#x1f496; &#xff0c;欢迎大家点赞&#x1f973;&#x1f973;关注&#x1f4a5;&#x1f4a5;收藏&#x1f339;&#x1f339;&#x1f339; &#x1f981;作者简介&#xff1a;一名喜欢分享和记录学习的…

运 算 符

算术运算符 算术运算符包括&#xff1a;&#xff0c;-&#xff0c;*&#xff0c;/&#xff0c;%&#xff0c;&#xff0c;-- 当左右两边都是数值型时&#xff0c;则做加法运算。 当左右两边有一方为字符串&#xff0c;则做拼接运算。任何一个 Java 对象都可以转换为字符串。 …

.Net实现SCrypt Hash加密

方案1 &#xff08;加密后存储“算法设置”、“盐(随机值)”、“Hash值”&#xff0c;以“$”分隔&#xff09;&#xff1a; //Nuget引入SCrypt.NET库 using Org.BouncyCastle.Crypto.Generators; using Scrypt; using System; using System.Security.Cryptography; namespace …

8.让画面动起来

一、Unity Shader中的内置变量&#xff08;时间篇&#xff09; 动画效果往往都是把时间添加到一些变量的计算中&#xff0c;以便在时间变化的同时也可以随之变化。Unity shader提供了一系列关于时间的内置变量来允许我们方便地在Shader中访问运行时间&#xff0c;实现各种动画…

暴雨推出X705显示器:23.8英寸100Hz IPS屏

IT资讯 6月 7 日消息&#xff0c;日前&#xff0c;暴雨发布了一款 23.8 英寸 IPS 显示器&#xff0c;直屏、支持 100Hz 刷新率。 据官方介绍&#xff0c;X705 显示器分辨率为 19201080&#xff0c;亮度为 300 尼特&#xff08;典型值&#xff09;&#xff0c;对比度 1000:1&…

从Log4j和Fastjson RCE漏洞认识jndi注入

文章目录 前言JNDI注入基础介绍靶场搭建漏洞验证注入工具 log4j RCE漏洞分析漏洞靶场检测工具补丁绕过 Fastjson RCE漏洞分析漏洞靶场检测工具补丁绕过 总结 前言 接着前文的学习《Java反序列化漏洞与URLDNS利用链分析》&#xff0c;想了解为什么 Fastjson 反序列化漏洞的利用…

关于用宽带(拨号)连接VPN无法上网,但是wifi或者热点就可以的问题

参考链接&#xff1a;https://zhuanlan.zhihu.com/p/580929250https://zhuanlan.zhihu.com/p/580929250 https://blog.csdn.net/Yaoyao2024/article/details/132245249文章浏览阅读10w次&#xff0c;点赞161次&#xff0c;收藏515次。很多同学在学习访问学校提供的资源时或者一…

队列和栈的实现

文章目录 队列队列的定义队列常见的基本操作队列的顺序存储结构实现 栈栈的定义栈的常见基本操作栈的顺序存储实现 栈的链式存储实现 队列 队列的定义 队列&#xff08;queue&#xff09;是只允许在一端进行插入操作&#xff0c;而在另一端进行删除操作的线性表。队列是一种先…

Vitis HLS 学习笔记--聚合与解聚-AXI主接口

目录 1. 简介 2. 用法及语法 3. 详细解读 4. 总结 1. 简介 在使用 Vitis HLS 工具进行硬件设计时&#xff0c;如果你在接口上使用了结构体&#xff0c;工具会自动把结构体里的所有元素组合成一个整体。就像把一堆零件组装成一个玩具一样。这样做的好处是&#xff0c;数据可…

【西瓜书】大题

1.线性回归 思路&#xff1a;ywxb&#xff0c;w为一维数组&#xff0c;求均方误差MSE&#xff0c;对w和b分别求偏导为0得到关于w和b的闭式求解。预测第十年的代入ywxb求解即可。 2.查准率、查全率 思路&#xff1a;先计算每个算法测试结果的混淆矩阵&#xff0c;再根据混淆矩阵…

pyrouge(ROUGE-1.5.5)的安装步骤和使用说明(适用于Linux 系统)

摘要&#xff1a;本文讲解了如何配置和使用文本摘要的评价指标ROUGE(linux 系统)。 ✅ NLP 研 1 选手的学习笔记 简介&#xff1a;小王&#xff0c;NPU&#xff0c;2023级&#xff0c;计算机技术 研究方向&#xff1a;摘要生成、大语言模型生成 文章目录 一、为啥要写这篇博客&…

问题汇总:MPU6050(软件iic)

以下为个人问题汇总&#xff0c;排查点汇总可能大有缺陷&#xff0c;如有错误&#xff0c;欢迎指正。 排查点汇总 检查软件iic的时序操作用示波器或逻辑分析仪检查波形 无法使用逻辑分析仪进行I/O引脚波形分析 充当SDA、SCL的引脚要配置为推挽输出; 另外&#xff0c;逻辑分…

挑战绝对不可能:再证有长度不同的射线

黄小宁 一空间坐标系中有公共汽车A&#xff0c;A中各座位到司机处的距离h是随着座位的不同而不同的变数&#xff0c;例如5号座位到司机处的距离是h3&#xff0c;…h5&#xff0c;…。A移动了一段距离变为汽车B≌A&#xff0c;B中5号座位到司机处的距离h’h3&#xff0c;…h’h5…

LLVM Cpu0 新后端 系列课程总结

想好好熟悉一下llvm开发一个新后端都要干什么&#xff0c;于是参考了老师的系列文章&#xff1a; LLVM 后端实践笔记 代码在这里&#xff08;还没来得及准备&#xff0c;先用网盘暂存一下&#xff09;&#xff1a; 链接: https://pan.baidu.com/s/1yLAtXs9XwtyEzYSlDCSlqw?…