powerdesigner相关概念理解

1、标定联系与非标定联系

每一个Entity型都有自己的Identifier,如果两个Entity型之间发生关联时,其中一个Entity型的Identifier进入另一个Entity型并与该 Entity型中的Identifier共同组成其Identifier时,这种关联称为标定关联,也叫依赖性关联(dependent relationship)。一个Entity型的Identifier进入另一个Entity型后充当其非Identifier时,这种关联称为非标定关联,也叫非依赖关联。
概念的定义说起来还是有些拗口,说白了其实就是主-从表关系,从表要依赖于主表。比如在我们系统里要记录教师休假的情况,有一个实体型Holiday,其属性包括休假的开始时间和天数,每次有教师休假的时候,都要在这个表留下记录。从我们的场景描述中可以看到,实体型假期必须依附于实体型教师,即对于每一个假期实例,必须指向某一个教师实例。
对于依赖型联系,必须注意它不可能是一个多对多联系,在这个联系中,必须有一个作为主体的实体型。一个dependent联系的从实体可以没有自己的identifier.

这里意思就是说比如教师与假期,假期只有依赖于教师才有意义,才知道谁的假期。这样子假期依赖于教师形成标定关系。

2、association关联实体

在很多情况下(特别是多对多关系中),我们会把联系专门提出来,作为一个实体型放在两个需要被关联的实体型中间(在PD中,选中任何一个联系,在右键的弹出菜单中选择“Change to Entity”命令即可完成联系转实体的操作)。但有的时候,把若干个实体型之间的联系抽象为一个实体型可能不太合适,这个时候你可以选择为这些实体型建立一个association,那么在生成PDM的时候,所有这些相关实体型的identifier都会被加入到association对应生成的表模型中。所以,说白了,其实association就是实体型的一种特例,用来在建模的时候更确切的表达实体间的关联信息。在PD的文档中举了一个录音带、顾客、商店三个实体型在租借录音带这个场景上发生关联,然后把租借定义为上述三个实体型之间的association的例子,非常确切。在我们的学校模型里,我定义了家访做为老师和学生实体型中间的一个association,在接下来产生的PDM中大家就可能看到这种定义所产生的效果。

意思就是说,就是一种实体的简化表示, 不用关联的话我觉得应该更好理解一点,把联系抽象为一个实体。

http://www.cnblogs.com/bobbychencj/archive/2011/07/04/2097755.html

时间: 2024-10-10 04:26:19

powerdesigner相关概念理解的相关文章

(转) REST和RESTFUL的相关概念理解

1.REST和RESTFUL是什么    REST ( REpresentational State Transfer ),State Transfer 为 "状态传输" 或 "状态转移 ",Representational 中文有人翻译为"表征"."具象",合起来就是 "表征状态传输" 或 "具象状态传输" 或 "表述性状态转移"    REST是一种架构风格,RE

javascript系列学习----对象相关概念理解

1.构造函数(相对于面向对象编程语言里面的类) 2.对象实例(它是由构造函数构造出来的对象,使用到关键字 new) 3.this关键字(往往是指我们的对象本身) 下面我们来看一个实例: var Person = function Person(living, age, gender) {     // "this" below is the new object that is being created (i.e. this = new Object();) this.living

Java并发深入分析volatile的实现原理

通过前面一章我们了解了synchronized是一个重量级的锁,虽然JVM对它做了很多优化,而下面介绍的volatile则是轻量级的synchronized.如果一个变量使用volatile,则它比使用synchronized的成本更加低,因为它不会引起线程上下文的切换和调度.Java语言规范对volatile的定义如下: Java编程语言允许线程访问共享变量,为了确保共享变量能被准确和一致地更新,线程应该确保通过排他锁单独获得这个变量. 上面比较绕口,通俗点讲就是说一个变量如果用volatil

【死磕Java并发】-----深入分析volatile的实现原理

通过前面一章我们了解了synchronized是一个重量级的锁,虽然JVM对它做了很多优化,而下面介绍的volatile则是轻量级的synchronized.如果一个变量使用volatile,则它比使用synchronized的成本更加低,因为它不会引起线程上下文的切换和调度.Java语言规范对volatile的定义如下: Java编程语言允许线程访问共享变量,为了确保共享变量能被准确和一致地更新,线程应该确保通过排他锁单独获得这个变量. 上面比较绕口,通俗点讲就是说一个变量如果用volatil

oracle中的视图、序列、索引

相关概念理解: 表:基本的数据存储集合,由列和行组成 视图:从表中抽出逻辑上相关的数据集合 序列:提供有规律的数值 索引:建立索引查询效率更高 为什么使用视图:控制数据的访问,简化查询,数据的独立性,避免重复访问相同的数据 视图相关的语法:

Maven使用心得

1. Maven 是什么? Maven 是一个Java 项目构建工具,那么什么叫java 项目的构建工具呢, 简单的说就是通过调用JVM的封装好的命令(比如jar,javac..)命令来编译,打包成jar或者war包. 所以说如果不是用maven 去构建项目的话, 我们就只能使用jdk底层提供的命令去打包我们用eclipse 或则别的IDE开发的项目了,这样做的话会很繁琐. 2. Maven 相关概念理解和特点 特点: a. 约定优于配置 这个特性我觉得体现在以下方面,第一是maven 的项目目

Python入门5

装饰器 装饰器英文Decorator,自身是一个函数,用来包装其它的函数,实现在不改变原来代码的情况下,增加新的功能,返回一个修改后的函数对象, 装饰器功能: 1.装饰器也是函数 2.在不改变原有代码的情况下,增加新的功能 3.符合开放-封闭原则 在学习装饰器之前,我们复习一下函数的相关概念 理解函数也是变量 当我们执行函数不加括号的时候,输出函数的内存地址: def foo(): print('hello') print(foo) # 输出 <function foo at 0x0000000

由微分到泰勒公式

前段时间,看图像处理和机器学习的时候,遇到了高数中微分与积分的内容,就复习了一下相关内容,下面就是这几天学习的一个笔记,因为我不是学数学的,数学基础也不好,相关概念理解可能不够准确,甚至有错误,欢迎大家批评指正. 微分 起源 这里说一下,为什么要说到微分的起源.自己学计算机也有几年了,发现一个问题,就是很多东西,记住了,又忘了,然后再记,再忘,比如,算法之类的知识,后来,我慢慢发现,为什么这些东西容易遗忘,就是因为我们不知道这些知识的起源,不知道他们为什么会被发明出来,如果你知道他们是为了解决什

WCF分布式开发步步为赢(14):WCF安全编程--基本概念

WCF安全机制是个非常复杂的问题,因为涉及的知识点较多,所以今天这个文章,会分析进行WCF安全开发应该了解的哪些知识点.如何查看资料.为了更好地理解WCF安全相关知识,我把WCF安全机制主要知识点整理为图表.本章以介绍WCF安全机制的基础概念为主.  要学习WCF安全编程,你应该学习什么首先掌握什么基础知识?很多时候会因为缺乏系统的安全概念,在进行WCF安全编程开发的时候,遇到很多问题,比如所证书,这个概念相信很多初学者第一次接触的时候花费了很多时间.我当时在做WSE安全开发的时候就查阅了很多资