PowerDesignerER建模-概念模型转化为逻辑模型的规律

二元联系

1对多

强-强实体:

联系无属性:一方的主关键字进入多方,作为其外部关键字

联系有属性:属性放入多方,其他同上

强-弱实体:

弱实体(依赖方)为多方,强实体不可为多方:

联系无属性:一方的主关键字进入多方,作为其主关键字和外部关键字

联系有属性:没有这种情况

1对1

强-强实体:

特殊情况:未设置支配方(父实体),两方互为对方的支配方,其主关键字分别做对方的外部关键字

(1)双方强制参与:将联系中的两个实体合并到一个关系里,并选择原实体的一个主关键字作为新关系的主关键字,其他的作为可替换关键字。如果联系有属性也应该包含在合并以后的关系里。

(2)一方强制参与:设显示约束为1,1方为支配方,支配方的主关键字作为被支配方的外部关键字。如果有属性的联系,那么联系的属性合并到被支配方

(3)双方可选参与:设受强制约束更多的一方作为支配方,支配方的主关键字作为被支配方的外部关键字。比如分公司和职员,分公司不能没有职员管理,职员可以不受公司管理,分公司更受约束,职员为支配方。

强-弱实体:

特殊情况:未设置支配方,强实体作为支配方,支配方的主关键字作为被支配方的外部关键字和主关键字

(1)双方可选参与:无此种情况

(2)双方强制参与:合并联系两边实体作为一个实体,属性都放入新实体中,强实体主关键字作为新关系主关键字,其他为候选关键字

(3)一方强制参与:强实体显示约束为1,1,弱实体0,1.

不合并强弱实体,强实体的主关键字做弱实体的外部关键字和主关键字

多对多:

多对多的联系,必须建立新的关系以描述这种联系。关系中包含了多对多二元联系中的所有属性以及参与这个联系的实体的主关键字属性的副本,主关键字属性的副本作为外部关键字,这些外部关键字可能直接构成新关系的主关键字,也可能与联系自身的某些属性作为新关系的主关键字。

强-强实体:

联系无属性:关联的双方的主键进入联系作为主关键字和外部关键字

联系有属性:关联的双方的主键进入联系作为主关键字和外部关键字

强-弱实体:只有强强实体才可以设置多对多关系

递归关系

所有的递归关系中,强弱都不行。

1对多:

只有强强:

联系无属性:还是一个实体,主关键字是原主关键字,新增重命名后的原实体主关键字副本

1对1:

双方强制参与:【不存在这种情况!】

一方强制参与:【不存在这种情况!】

双方可选参与:还是一个实体,主关键字是原主关键字,新增重命名后的原实体主关键字副本。

多对多:

强强:

建立一个新的关系,关联的双方的主键进入联系作为主关键字和外部关键字。

三元及多元联系

只能是强强

为每一个复杂联系都创建一个关系,该关系包含了属于这个联系的所有属性,并将参与该联系的实体的主关键字也复制到这个关系中,作为关系的外部关键字。新关系的外部关键字可能成为主关键字,也可能和其他属性一起后成主关键字。

超子类

强制:A=B+C,A只能分为A,B 只要是强制的,超类和子类合并

可选:A>=B+C 超类和子类不合并

相交:子类有重合部分 子类之间合并,不相交的不合并

属性继承:超类的属性进入子类;若子类无主关键字,超类的主关键字做子类的主关键字

超子类处理后再和别的实体转换,然后考虑支配方的主关键字进入多方,轮替考虑

强制相交

子实体的全部属性——>父实体,去除子实体,只要父实体,父实体:增加了两个属性,鉴别子实体是1还是2

强制不相交

父实体的主关键字进入子实体成为主关键字+外部关键字

父实体的其他属性——>子实体

去除父实体,只要子实体

可选不相交

父实体的主关键字——>子实体:主关键字+外部关键字,不合并

可选相交

子实体合并为一个,父实体保留,子实体的属性合并到新实体,父实体的主关键字——>新的子实体:主关键字+外部关键字

新的子实体:增加了两个属性,鉴别子实体1还是2

复杂属性

组合属性:再设置一个实体,如果是1:1就并入原实体,变成简单属性

多值属性:再设置一个实体,一般应该是1:*的情况,不能合并

概念模型转化为逻辑模型规律相关推荐

  1. 【计算机基础】数据库中的数据模型——概念模型、逻辑模型、物理模型

    数据模型应满足三方面的要求,一是比较真实的模拟现实世界,二是容易被人理解的方式,三是便于在计算机中实现.一种模型要很好地满足这三方面的要求目前尚很困难,因此数据库中针对不同的对象和使用目的,采用不同的 ...

  2. 数据库建模,概念模型、逻辑模型、物理模型的区别和转化

    关于数据库理论中概念模型.逻辑模型.物理模型之间的区别.随机复习上网并复习,并在此记录一下,数据库建模是对现实世界进行分析.抽象.并从中找出内在联系,进而确定数据库的结构. 1.概念模型:就是从现实世 ...

  3. 关于数据库建模,概念模型、逻辑模型、物理模型的区别和转化

    一.关于数据库理论中概念模型.逻辑模型.物理模型之间的区别. 二.数据库建模是对现实世界进行分析.抽象.并从中找出内在联系,进而确定数据库的结构. 1.概念模型:就是从现实世界到信息世界的第一层抽象, ...

  4. 概念模型、逻辑模型和物理模型的区别

        一直对于概念.逻辑.物理这三个词一知半解.在自考和软考中都遇到了,总是搞混.下面.我们就一起来区分一下吧! 概念模型.     先来看一下概念的解释:人类在认识过程中,从感性认识上升到理性认识 ...

  5. 数据库 概念模型CDM 逻辑模型LDM 物理模型PDM

    一.概念(Conceptual)模型CDM 数据库概念模型实际上是现实世界到机器世界的一个中间层次. 数据库概念模型用于信息世界的建模,是现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计 ...

  6. (理论)数据库建模三步骤:概念模型-逻辑模型-物理模型

    概念模型就是在了解了用户的需求,用户的业务领域工作情况以后,经过分析和总结,提炼出来的用以描述用户业务需求的一些概念的东西.如销售业务中的"客户"和"定单",还 ...

  7. e-r数据建模-概念模型 逻辑模型 物理模型-总结

    作为一名合格的Java程序员,公司要求要掌握的知识面越来越多.特别对于一些小型公司岗位并没有分的很细化,所以在平时开发中就要求各种技能同时兼顾.一般从产品对接业务确定以后,后面就要设计数据库建模了.但 ...

  8. 【软件工程】概念模型、逻辑模型、物理模型

    随着系统开发的推进与成熟,系统模式可能代表了不同的细节层次. 系统的模式包含概念模型.逻辑模型.物理模型. 这部分不难令我想到数据库系统的模式分层与数据独立性涉及到的子模式.逻辑模式.物理模式. 概念 ...

  9. 数据库理论——概念模型、逻辑模型、物理模型

    概念模型.逻辑模型.物理模型 1.概念模型 在了解了用户的需求,用户的业务领域工作情况以后,经过分析和总结,提炼出来的用以描述用户业务需求的一些概念的东西. 如销售业务中的"客户" ...

  10. 概念模型,逻辑模型,物理模型

    自从接触到数据库到如今这三个概念大家理解的还有些不清楚,今天来为大家解答疑惑,共同提高,结合生活理解 概念模型 概念模型就是在了解了用户的需求,用户的业务领域工作情况以后,经过分析和总结,提炼出来的用 ...

最新文章

  1. 哪些书你看之前以为很枯燥,结果一看却欲罢不能的?
  2. 贝叶斯数据分析_周末说说数据分析(2)
  3. Vue监控器watch的全面解析
  4. github注册之后更新教程
  5. 解决undefined reference to symbol ‘sem_close@@GLIBC_2.2.5‘问题
  6. 使用tableView崩溃
  7. (转)MyBatis框架的学习(六)——MyBatis整合Spring
  8. Visual studio 的教程
  9. Python爬虫项目---从wiley网站批量下载文章
  10. string获取 倒数 下标_NBA球星福克斯沉迷LOL,排名美服倒数98名!胜率太真实了...
  11. Linux Shell编程笔记6 sed流编辑器
  12. pythonjs设置_在节点js中设置env变量并在python脚本中使用
  13. python Selenium启动chromedriver
  14. BZOJ3038 上帝造题的七分钟2
  15. SAP中检查货币代码
  16. mysql多条件模糊查询语句_实现多条件模糊查询SQL语句
  17. java 输入人名输出_Java 输入汉字姓名 输出 姓名拼音 首字母缩写组合
  18. win10系统禁用音频服务器,Win10下怎样设置禁用扬声器、插入耳机有声音【图文教程】...
  19. JEECG架构讲解及使用
  20. JVM垃圾回收的二次标记

热门文章

  1. 解决无法删除文件夹的情况:文件夹正在使用,操作无法完成,因为其中的文件,或文件夹已在另一个程序中打开...
  2. 值得学习17个C/C++ 超经典开源项目,面试加分
  3. 百姓基因:关于历史和名人形象的亲子DNA测试
  4. 文献阅读: 基因组选择技术在农业动物育种中的应用
  5. c语言出现源文件未编译,dev运行C语言出问题
  6. 常见后端数据存储问题解决方案
  7. 网站如何被百度蜘蛛快速抓取?
  8. linux加密自己的smb目录,SmbFile连接加密共享文件夹
  9. 网站建设需要学什么?
  10. Torch not compiled with CUDA enabled 解决办法