精华内容
下载资源
问答
  • 摘要: 对于数据库的设计,我们一般从概念模型开始,概念模型设计阶段,我们着重分析数据的逻辑结构,避免陷入具体的存储细节,所有的设计都与将来所要采用的具体数据库产品无关。本文适合已经掌握数据库基本设计...

     

    摘要: 对于数据库的设计,我们一般从概念模型开始,在概念模型设计阶段,我们着重分析数据的逻辑结构,避免陷入具体的存储细节,所有的设计都与将来所要采用的具体数据库产品无关。本文适合已经掌握数据库基本设计理论或者已经具有实际经验,打算借助Power Designer进行辅助设计的读者。另外,如果能够额外的从您那里获得批评和指正,将不胜荣幸!

    版权声明: 本文可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息。
    原文出处: http://www.aiview.com/v_3/focus/pd_conceptual_model.htm
    作者: 张洋 Alex_doesAThotmail.com
    最后更新: 2004-11-19


     目录
    1. 谁适合阅读本文
    2. 建立一个概念模型
    3. 参考资源
    谁适合阅读本文

    本文适合已经掌握数据库基本设计理论或者已经具有实际经验,打算借助Power Designer进行辅助设计的读者。

    如果你已经是一个Power Designer的熟练使用者,或者你期望的是一些数据库的设计理论,请跳过本文。

    如果你还不清楚数据库的基本设计理论,比如关系模型,范式,又有志于数据库设计领域的话,最好能够先打好基础,先找些与上面有关的资料看看,即使优秀的辅助设计工具也并不能够替代我们设计出一个规范化的模型。

    建立一个概念模型

    对于数据库的设计,我们一般从概念模型开始,在概念模型设计阶段,我们着重分析数据的逻辑结构,避免陷入具体的存储细节,所有的设计都与将来所要采用的具体数据库产品无关。

    假设您已经安装好Power Designer 9.5 版本,如果您还没有获得软件,请到Sybase网站下载试用版本。运行程序,使用“Ctrl+N” 新建模型,在弹出的窗口中选择“Conceptual Data Model”,点击“OK”。

    在窗口左侧浏览器中的当前工作区节点下会新增一个概念模型,自动建立了一个默认的概念图Diagram_1,并且已经在当前工作窗口打开。一个概念模型可以拥有多个这样的概念图,可以在模型的属性中指定其中一个作为默认。

    工作区中有一个元件面板,包含了在概念模型中可以使用的各种符号。最常用的是:实体(Entity)和关系(Relationship),如下图:

    定义实体

    用鼠标双击实体的符号,可以进入实体的属性页。

    1. General 项目

      Name:是用来在模型中标识一个实体,一般用于模型在界面中的显示(这个可以通过更改选项设置进行改变)。在一个模型当中,实体的名字不能重复。

      Code:在模型转化时一般作为对象的物理名称,比如把实体属性的Code转化为数据库中的列名,当然我们现在不必为了这个实体将来叫什么而费神,一般采取与Name一致即可。

      Generate:默认是选择状态,如果取消,则在转化为其他模型时,会忽略这个实体。

    2. Attributes 项目

    窗口中下面表格里的各项很类似于一个表结构的定义,但数据类型是经过抽象化的,采用独立的表示方法,不与任何一个具体的数据库系统相关。

    在此项目中为当前实体添加属性。

    后面的三列CheckBox分别代表:

    • M:此属性不允许为空值
    • P:此属性为主键标识
    • D:为可显示属性

    按“Crtl+U”呼出“定制列过滤器”的窗口,可以根据自己的喜好和实际需要选择那些列出现在窗口中,那些隐藏。使用快捷键“Crtl+E”可以允许或者禁止当前过滤器。

    我们分别重新命名了以上两个实体为部门(Department)和雇员(Employee),并分别添加了属性,如下图:

    默认的,概念图只显示作为主键标识的属性,并且隐藏了数据类型。这样是为了使概念图更加简洁、易于理解,你完全可以通过选项更改这些显示配置。

    定义关系

    双击关系(Relationship)的符号,进入关系的属性页,在Detail项目中,我们可以对两个实体的关系进行详细的定义,如下图:

    1. General 项目

      一般最好为关系取一个贴切的名字,本例的业务关系描述如下:一个部门有多个员工,我们使用“Has”作为这个关系的名字。

      同样的我们也可以描述为:多个员工属于一个部门,可不可以使用“Belong to”作为关系名字呢?一般不推荐这样做,在概念图中有一个约定,关系的名字采用从“1,n”中“1”所在的方向向“n”所在一方进行读取的语义。本例即“1”在部门一方,从部门一方向雇员一方读取语义,即:部门有(Has)多个员工。

    2. Detail 项目

    假定对于实体部门(Department)和雇员(Employee),具有如下关系:

    • 一个部门可以有多个雇员,新成立的部门也可以暂时没有任何雇员;
    • 一个雇员必须属于一个部门,并且同时只能属于一个部门;

    根据以上关系,我们修改属性页,部门-雇员的方向采用默认的0,n,雇员-部门的方向修改为强制约束(Mandatory),或者从下拉框中选择“1,1”,如下图:

        

    最后定义完成的关系(Relationship)在概念图中表示如下:

    注:在Power Designer中,关系符号靠近实体端的一个“横线”代表强制性约束,“空心圆圈”代表无强制约束,即这一方可以无对象关联;“非分岔”线代表为“1”的关系,“分岔”线代表“多”的关系。以上四个符号共可以组合出16种关系(包含反向)。其中“多对多”的关系一般通过给出一个中间实体来进行分解,所以在许多概念图中,是看不到实际的“多对多”的关系存在的。

    另外在关系的属性中还有两项:Dominant role 和Dependent,可以表示更复杂的关系,会在后面讲到。

    (待续)

     

    展开全文
  • 摘要: 对于数据库的设计,我们一般从概念模型开始,概念模型设计阶段,我们着重分析数据的逻辑结构,避免陷入具体的存储细节,所有的设计都与将来所要采用的具体数据库产品无关。本文适合已经掌握数据库基本设计...

    摘要: 对于数据库的设计,我们一般从概念模型开始,在概念模型设计阶段,我们着重分析数据的逻辑结构,避免陷入具体的存储细节,所有的设计都与将来所要采用的具体数据库产品无关。本文适合已经掌握数据库基本设计理论或者已经具有实际经验,打算借助Power Designer进行辅助设计的读者。另外,如果能够额外的从您那里获得批评和指正,将不胜荣幸!本文是第二部分。

    版权声明: 本文可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息。
    原文出处: http://www.aiview.com/v_3/focus/pd_conceptual_model_2.htm
    作者: 张洋 Alex_doesAThotmail.com
    最后更新: 2004-11-21


     目录
    1. 谁适合阅读本文
    2. 定义更复杂的关系
    3. 参考资源

     

    谁适合阅读本文

    本文适合已经掌握数据库基本设计理论或者已经具有实际经验,打算借助Power Designer进行辅助设计的读者。

    如果你已经是一个Power Designer的熟练使用者,或者你期望的是一些数据库的设计理论,请跳过本文。

    如果你还不清楚数据库的基本设计理论,比如关系模型,范式,又有志于数据库设计领域的话,最好能够先打好基础,先找些与上面有关的资料看看,即使是优秀的辅助设计工具也并不能够替代我们设计出一个规范化的模型。

    本文是第二部分,接上篇:在Power Designer 中应用概念模型进行数据库第一阶段设计的示例(一)

    假设您已经安装好Power Designer 9.5 版本,如果您还没有获得软件,请到Sybase网站下载试用版本

    定义更复杂的关系
    使用依赖关系(Dependent)

    还是使用上面的例子,我们假定这样的业务描述:雇员享有假期,雇员每次休假,需要记录雇员休假的起始日与结束日,假期以天为单位,一个雇员和一个开始日唯一确定一个假期。根据这个业务描述,我们知道,对于假期而言,其必须依存于实体“Employee”而存在,即一个休假,必定有一个主体雇员。我们在上一个模型的基础之上,添加一个实体,名称是“Holiday”,定义假期的属性开始日与结束日,这里并不需要重复定义一个雇员编号,而是替代的,使用依赖关系,来表示实体“Holiday”依赖于实体“Employee”,关系定义如下图:

     

    在实体“Holiday”中,我们需要设置开始日为主键标识符,开始日与其依赖实体中的雇员编号一起作为实体“Holiday”的标识符,用来唯一确定一个假期。这种依赖关系在概念图中表现如下:

     

    从途中可以看出,在实体“Holiday”一端多了一个朝外的三角▲箭头,这个含义就是这个实体“的依赖于三角箭头所指的另外一个实体,在转化出来的物理模型当中,实体“Employee”的empNo,在Holiday实体中不仅会作为一个外键,还同时会作为主键出现(与startData一起作为复合主键)。

    使用Dominant role

    当两个实体之间的关系是1..1 时(尽管这种关系比较少见,常见于面向对象的设计方法当中,依赖实体中的主键通常与外健重合),你需要明确指定这两个实体,哪一个是父实体,哪一个是依赖实体,否则,系统在由概念模型转化为物理模型时,将不能确定需要在哪一端生成外键,这时就需要用到“Dominant role”选项,这个选项只有在1..1 的关系中才允许进行设置。我们假定这样的业务描述,企业中的部分雇员拥有一个系统帐号,并且是唯一的一个帐号,这些雇员需要保存一些额外的信息,比如帐号名称、密码等等。我们添加了一个新的实体“User”,其与雇员之间为1..1 的关系,由于一个用户帐号必定属于一个雇员,而一个雇员则可能没有用户帐号,所以我们定义实体“Employee”支配实体“User”。同时,由于“User”依赖于“Employee”而存在,所以再定义一个由前者到后者的依赖关系,如下图:

     

    Dominant role 选项中,箭头所指的实体为被支配的实体,即作为依赖实体。在模型图中,支配实体的一方会出现一个用圆括号括起来的大写字母“D”。

     

    转化出来的物理模型中,表User中,empNo作为单独的主键,同时也是引用Employee表的一个外键。

    处理多对多(n..n)的关系

    在概念模型中,一般很少看见两个实体之间是直接的n..n 的关系,一般这种情况下我们会增加一个中间实体,在Power Designer中,提供了一个专门的符号来对应,叫做“Association”。请考虑以下的情形:

    企业中拥有帐号的雇员在系统中具有不同的操作权限,这通过用户角色来进行管理,权限已经分配给了多个不同的角色,一个用户帐号至少属于一个角色,并且可能会同时属于多个角色,一个角色可以包含0个或多个用户帐号。根据以上描述,我们添加一个实体“Role”,它与实体“User”之间是n..n 的关系,为了表达这种关系,我们增加一个“Association”并分别使用“Association Link”与其他两个实体建立关系,表示如下:

    使用一个普通的实体,合理定义关系,并选择“Dependent”选项,是可以替代“Association”的,但使用“Association”更方便、直观,使模型更容易理解,并可以减少因不谨慎而可能导致的错误。

    (完)

    展开全文
  • 概念模型设计

    千次阅读 2010-05-04 10:36:00
    4.1.3 概念模型设计概念模型不依赖于具体的计算机系统,他是纯粹反映信息需求的概念结构。建模是需求分析结果的基础上展开,常常要对数据进行抽象处理。常用的数据抽象方法是‘聚集’和‘概括’。ER方法是设计...

    4.1.3      概念模型设计

    概念模型不依赖于具体的计算机系统,他是纯粹反映信息需求的概念结构。

    建模是 在需求分析结果的基础上展开,常常要对数据进行抽象处理。常用的数据抽象方法是‘聚集’和‘概括’。

    ER 方法是设计概念模型 时常用的方法。用设计好的 ER 图再附以相应的说明书可作为阶段成果

    概念模型设计可分三步完成。

    (1) 设计局部概念模型

    确定局部概念模 型的范围

    定义实体

    定义联系

    确定属性

    逐一画出所有的局 部 ER ,并 附以相应的说明文件

    (2) 设计全局概念模型

    建立全局 ER 图的步骤如下:

    确定公共实体类 型

    合并局部 ER

    消除不一致因素

    优化全局 ER

    画出全局 ER ,并 附以相应 的说明文件

    (3) 概念模型的评审

    概念模型的评审分两部分进行

    第一部分是用户评审。

    第二部分是开发人员评审。

    展开全文
  • 面对大规模代码就不能直接靠代码进行沟通了,希望通过一些专业图形,表格进行沟通 谚语:一张图胜过千言万语 目的:通过图形看到其中蕴含的代码的本质 UML的所有图的分类 一、从视图的角度 1、用例视图:用例图...

    UML模型系统体系结构

    UML的最新版本在www.omg.com

    在开发阶段中,最容易的阶段是实现阶段(编码,测试)

    在面对大规模代码时就不能直接靠代码进行沟通了,希望通过一些专业图形,表格进行沟通

    谚语:一张图胜过千言万语

    目的:通过图形看到其中蕴含的代码的本质

    UML的所有图的分类

    一、从视图的角度

    1、用例视图:用例图、活动图
    2、逻辑视图:类图、对象图、状态图、顺序图、合作图、活动图
    3、构件视图:构件图——反映文件的依赖关系的图形
    构件:文件(源文件、头文件、辅助文件等等)**
    4、进程视图:状态图、顺序图、合作图、活动图、构件图和配置图
    5、配置视图:配置图

    总共有10种图形,5种视图

    UML模型元素

    对象图下面有下划线,类图下面没有

    类图描述属性时给出的是成员 变量:类型

    对象图描述属性时给出的是成员变量:成员变量的值

    关联:连接(connect)模型元素及链接(link)实例。

    依赖:表示一个元素以某种方式依赖于另一种元素。

    泛化(继承):表示一般与特殊的关系,即“一般”元素是“特殊”关系的泛化。由子类指向父类

    聚合:表示整体与部分的关系。组成部分指向整体。

    配置:设备(硬件设备、计算机、服务器等等)

    二、从模型的角度

    1、用例模型图:用例图
    2、静态模型图:类图、对象图、包图、构件图、配置图
    3、动态模型图:活动图、顺序图、状态图、合作图

    三、用例图的图标

    1、小人:执行者——角色
    2、椭圆:用例——操作,用动词短语描述
    3、长方形:系统边界
    4、线段:执行者参与到某个操作的执行过程中。代表参与关系,线段上不需要写文字
    5、用例之间的关系:
    (1)includes包含(用虚线箭头,加上构造型):无条件
    (2)extends扩展(用虚线箭头,加上构造型):有条件
    (3)继承(用实线箭头,加上空心三角形)

    例子:
    java.lang.String
    java.lang包名 String类名

    import java.lang.String;
    import tom.jiafei.String;

    java.lang.String str;

    java.awt.Frame
    awt是abstract window tool抽象窗口工具类

    包:用于给 类 进行分类的
    同一个包里,类不能同名
    不同的包里,类可以同名

    子系统——包,子系统图标与包图标一样
    大的长方形,左上角有一个小的长方形
    (1)没有更多的标识:最底层的包,只含有类
    (2)右上角多了“分叉”的标识:
    子系统内部还有更深层的子系统
    包内部还有更深层的子包
    (3)右上角有“三角形”的标识:
    系统模型图标

    构造型:<<UML自带的单词、自定义的单词>>
    自带:<>、<>等等
    自定义:<>、<>等等

    多重性:
    0…1 0或1个
    1…* 1或多个

    • 0个、1个或多个
      2…4 从2个到4个
      软件开发过程的在时间轴上的四个阶段:
      1、开始阶段
      2、详细规划
      3、系统构建
      4、移交

    四、对象图的图标

    -号表示私有

    展开全文
  • 数据仓库-物理模型设计

    千次阅读 2019-07-07 13:13:01
    在进行物理模型设计实现,所考虑的因素有:I/O存取时间、空间利用率及维护的代价。 为确定数据仓库的物理模型设计人员必须做这样几方面工作:首先要全面了解所选用的数据库管理系统,特别是存储结构和存取方法...
  • 模型视图设计模式

    千次阅读 2017-08-25 00:00:48
    模型视图设计模式的核心思想:...Qt中,不管模型以什么结构组织数据,都必须为每一个数据提供独立无二的索引;视图通过索引访问模型中的具体数据 模型索引是数据与视图分离的重要机制 模型中的数据使用唯一的索引来访
  • DatabaseGeneral-DBMS:MySQL5.0(根据自己MySQL版本选择)附常用脚本脚本执行路径备注到名称和名称到备注脚本使用PowerDesigner对数据库进行概念模型和物理模型设计时,一般NAME或Comment中写中文,Code中写...
  • 数据库中的表、视图、存储过程等数据库对象都可以物理模型进行设计。由于物理模型和数据库的一致性,接下来以数据库对象和物理模型对象的对应来一一介绍:表新建物理模型时需要指定物理模型对应的DBMS,这里...
  • 数据库中的表、视图、存储过程等数据库对象都可以物理模型进行设计。由于物理模型和数据库的一致性,接下来以数据库对象和物理模型对象的对应来一一介绍: 表 新建物理模型时需要指定物理模型对应的...
  • Database General-DBMS:MySQL5.0(根据自己MySQL版本选择) 附常用脚本脚本执行路径 备注到名称和名称到备注脚本使用PowerDesigner对数据库进行概念模型和物理模型设计时,一般NAME或Comment中写中文,Code中写...
  • 嵌入式技术被广泛应用于信息家器、消费电子、交换机以及机器人等产品中,与通用计算机技术不同,嵌入式系统中计算机被置于应用环境内部特征不... 在设计实验系统模型(图1),充分考虑到软硬协同性,使其成为一个实
  • 设计目的:随着计算机技术要求的不断发展,为增强计算机系统的功能,简化编译器的工作量,更好的改善计算机的性能,减少系统的辅助开销,提高计算机的运行速度和效率,计算机结构设计者一直致力研究为系统结构提供...
  • 开始一个新的django项目,如果权限模块中的User模型不满足项目要求,我们需要扩展或者自定义User模型。 扩展User模型有两种方法: 直接继承User模型: 如果你不需要改变数据库存储内容,只是改变行为,那么可以...
  • 在设计逻辑型数据的模型的时候,就应考虑数据是按照星型模型还是雪花型模型进行组织。 当所有维表都直接连接到“ 事实表”上,整个图解就像星星一样,故将该模型称为星型模型, 如图 2 。 星型架构是一种非...
  • 以800 m深矿井为例,分析了矿井立式排水系统支撑结构载荷,并结合ANSYS Workbench有限元分析软件对支撑结构模型在工况载荷下进行可靠性仿真分析,给出了可靠性评价,证明了所设计支撑结构的可靠性,为同类支撑结构的设计...
  • 软件工程设计概念与体系结构设计

    千次阅读 2020-04-15 11:46:39
    软件工程第四次作业 11.1 当你编写程序时是否会设计软件?软件设计和编码有什么不同?...开始软件设计时,需求应该被分析和建模。这个模型能够保证质量和编码生成时能够进行改进。 一个软件工程的内...
  • 我们在进行系统架构设计时,往往将一个系统分解成若干个子系统,每个子系统又分解为若干个程序模块,分解后的子系统和程序模块都会执行一些相对独立的功能,在这里子系统也可以看作是较大的程序模块。分解后的这些子...
  • Paddle mobile 结构设计

    2021-01-12 19:26:36
    鉴于我们跑的模型为 ProgramDesc 结构, 所以paddle mobile 将保留paddle fluid 的一部分设计结构和概念, 并对各个模块进行重写, 使代码更轻量, 去掉一些移动端不需要的概念, 针对速度和体积进行优化. <pre><code> ...
  • 而软件体系结构模型对系统的用例,类,对象,接口以及相互之间的交互和协作进行描述;硬件系统体系结构模型对系统的组件、结点、的配置进行描述。用UML中的组件图和配置图(部署图)来建模。   组件图:    ...
  • 您可以利用IBIS模型提取出一些重要的变量,用于进行信号完整性计算和寻找PCB设计的解决方案。您从IBIS模型提取的各种值是信号完整性设计计算不可或缺的组成部分。  当您您的系统中处理传输线路匹配问题,您...
  • 由于光阱的尺寸、大小的不同,导致不同结构的仪器测量表面光泽度不同的样品会产生较大的器间差。从理论上分析了漫射照明、8°观察角、消除镜面反射光的几何条件下不同结构的测量仪器的器间差产生原因;设计了一...
  • 面向对象设计必须学习的三层应用程序模型 三层应用程序模型是指在进行系统设计时,整个系统分成三个层次:用户界面层(UI层)、业务对象层(逻辑层)、数据层。 用户对象层主要注重于软件界面的实现;业务对象层...
  • 实际的业务模型中,处理复杂的业务有时冗余某些信息是更好的。 一、业务需求 值班排班业务: 1、可以设置值班人员; 2、可以设置值班班次; 3、可以进行值班编排; 二、概念结构设计 1、需求分析; (略过) 2...
  • 内容包括对原结构进行检测、对原结构体系和构造进行鉴定、按改建结构进行结构抗震验算,综合评估改建后的结构抗震性能和改建方案可行性,必要,提出改建方案措施和原结构抗震加固措施建议。厂房改建抗震鉴定一般须...
  • cpu模型机课程设计.zip

    2010-12-07 13:59:04
    (2)根据设计图纸,MAX+PLUS 平台上进行仿真,并下载到EL教学实验箱上进行调试成功。 (3)调试成功的基础上,整理出设计图纸和其他文件。包括:①总框图(数据通路图);②微程序控制器逻辑图;②微程序流程图...
  • 晶体管寄生参数和封装参数未知的情况下,通过负载牵引技术初步确定满足性能要求的最佳基波和谐波阻抗值,并根据动态负载线大信号模型所观察到的漏极电流、电压波形对功放整体电路进行调谐和优化。测试结果表明,当...
  • 在设计逻辑型数据的模型的时候,就应考虑数据是按照星型模型还是雪花型模型进行组织。 当所有维表都直接连接到“ 事实表”上,整个图解就像星星一样,故将该模型称为星型模型,如图 1 。 星型架构是一种非正规化的...
  • 本文通过Map Reduce编程模型设计算法实现内连接操作,并通过TPC-H基准程序生成的数据集,进行算法的正确性检验和算法的性能测试。实验结果表明,本文所设计算法是正确可行的,并且Map Reduce编程模型下其处理大量...
  • 为此,精巧的网络结构设计(如MobileNet、ShuffleNet)、模型压缩策略(剪枝、二值化等)及其他优化方法应运而生。Hinton等人2015年提出的模型蒸馏算法,利用预训练好的大网络当作教师来向小网络传递知识,从而...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,953
精华内容 781
关键字:

在进行结构模型设计时