您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
   
 
     
   
 订阅
  捐助
基于EA的数据库建模
 
作者:俎涛,谢素燕(火龙果软件工程)
  3442  次浏览      50 次
2021-1-22
 

1.EA对数据建模支持什么

数据库建模(Database Modeling), 是指就是设计数据库的过程,根据一个应用的描述,去构建出最优的数据库模式。

EA提供了较为全面的数据建模平台,并且提供了广泛的支持,在数据建模的各个阶段都可以使用EA。

EA对数据库建模提供如下支持:

  • 概念数据建模
  • 逻辑数据建模
  • 物理数据建模
  • 面向具体数据管理系统的正向工程支持的数据库有: Oracle、PostgreSQL、MySQL、DB2、Infomix、Access、 SQL Server、Sybase.
  • 可以从已有的数据库逆向数据模型。
  • 可以基于模型进行数据库管理。
  • 2.数据建模的三个视图

    数据库设计建立的模型一般有三个视图:

  • 概念数据模型:
  • 概念数据模型也称为领域模型,典型的概念模型只对领域的实体和实体之间的关系建模,与实现细节无关,主要用于项目的分析阶段,在EA中一般使用实体关系图或UML类图来建模。

  • 逻辑数据模型:
  • 逻辑数据模型,描述了数据对象以及这些数据对象的属性和关系。不过它仍然与实现细节无关。可以使用实体关系或UML类图来定义它们。它一个好处是,为物理模型和后续的数据库实现提供了基础。

  • 物理数据模型:
  • 用来表现数据的存储实现,它建模了数据表、表中的数据列以及数据表的关系。可以使用EA的UML的数据建模扩展进行数据建模,EA中的物理数据模型可帮助我们可视化数据库结构并自动派生相应的数据库模式。

    下面对数据模型的三个层次的视图简要介绍:

    2.1 概念数据模型

    概念数据模型是数据建模最抽象的形式,使用简单有利于概念模型省略了特定的平台信息,例如:数据类型、索引和键,除此之外还省略了其他实现细节,比如过程和接口定义。在EA中概念模型支持两种表示方式, 如下是概念模型的两种表示方式:

    概念数据模型

  • 实体关系建模法:将数据概念“客户”和“商品表示为实体,它们之间具有实体关系“订购”。
  • UML类图建模方法:用类代表实体,用关联关系代表类之间的关系。
  • 2.2 逻辑数据模型

    逻辑数据模型有助于定义系统中数据元素的详细结构以及数据元素之间的关系。他们完善了概念数据模型引入的数据元素,并构成了物理数据模型的基础。在EA中,逻辑数据模型通常使用UML类图建模。

    如下的图例中数据对象“储户信息”,“交易信息”“银行卡信息”内包含了属性。

    逻辑数据模型

    2.3 物理数据模型

    物理数据模型直观地表示由关系数据库模式实现的数据结构。它可以利用的元数据非常丰富,并且与数据库模式的各个方面(如数据库表、列、主键和外键)的紧密映射:

    如下图是物理数据模型示例:

    物理数据模型

    上图显示了可用于自动生成数据库模式的物理数据模型。每个表由一个UML类表示; 列由类的属性表示,主键和外键是使用UML的类的方法建模的,其中:
  • 外键约束《FK》 :保持数据一致性,完整性,主要目的是控制存储在外键表中的数据。使两张表形成关联,外键只能引用外表中列的值。
  • 主键约束《PK》 :表通常具有包含唯一标识表中每一行的值的一列或一组列。 这样的一列或多列称为表的主键 (PK),用于强制表的实体完整性。 由于主键约束可保证数据的唯一性,因此经常对标识列定义这种约束。
  • 3.如何EA中进行数据建模

    如何在EA中创建数据模型呢?如下是创建数据模型的具体操作过程。

    1.在模型向导中选择Database Engineering 图建模类型->点击Database Engineering->选择创建的模式或者模型->点击创建模式按钮, 如图所示:

    数据模型创建示例


    2.创建完成后打开对应的工具箱,里面列有数据流图的元素和关系,具体元素如下表所示:

    元素列表  说明
    Table:表
    view:视图
    Procedures:程序
    Sequence:序列
    Function: 功能
    Association:关联
    Database Connected:数据库连接
    SQL Query:SQL查询

    在EA中提供方便易用的数据建模界面,如下是EA中数据建模工作界面:


    4.数据建模应用方法与示例

    在实际工作中,在项目各个阶段的数据建模工作如下:

  • 业务分析阶段,业务分析师和客户交流、理解需求、使用概念建模建模实体。
  • 逻辑设计阶段,数据架构师,对实体进行细化,设计数据对象、属性和关系。
  • 物理设计阶段,开发工程师针对业务需求和系统的性能需求,把逻辑数据模型转化为物理数据模型,设计物理表的结构和约束和关系。
  • 下面我们采用一个商品购物的项目案例,介绍如何在项目中建立数据模型的三个视图。


    一、概念数据模型


    如下是对上图的介绍:

    顾客订购商品,
    商家提供商品。

    二、逻辑数据模型


    如下是对上图的说明:

    需要管理的数据有:顾客,订单,订购的商品,商家 和商品信息。
    这些数据对象都有各自的属性。
    这些数据要在信息系统中管理起来。

    三、物理逻辑模型


    如下是数据模型的说明:

    需要存储的数据表:顾客,订单,订购的商品,商家 和商品信息。
    这些数据表都有各自的列,存储相关的属性信息。
    这些数据表通过主外键进行关联,维护完整性和一致性。
    这些表可以存在数据库里。

    以上就是实现一个数据库应用的三个模型,是一个由抽象到具体的不断细化,不断完善分析、设计的过程,好了以上就是数据建模完整的过程。

    希望文章的数据建模方法,对大家有帮助。

    如果您希望了解更多信息:

    • 欢迎访问建模者频道 http://modeler.org.cn/
    • 也欢迎直接联系我们 zhgx@uml.net.cn ,010-62670969

    下载 pdf版: 基于EA的数据库建模

    本文使用的建模工具为EA,可以下载试用版http://tool.uml.com.cn/ToolsEA/download.asp

     

    后记

    希望您读了此文后有所受益。

    如果您有经验乐于分享,欢迎投稿给我们。

    如果您对我们的培训、咨询和工具感兴趣:

    课程:
  • 基于UML和EA进行分析设计
  • MBSE(基于模型的系统工程)  
  • 基于模型的需求管理)方法与实践
  • 基于SysML和EA进行系统设计与建模  
  • 企业架构建模
  • 系统架构建模方法与案例
  • 领域驱动的建模与设计
  • 基于模型的设计
  • 业务建模与业务分析
  • 基于模型的设计

  • MBSE工具链 :
  • 建模工具:EA
  • MBSE平台:iSpace
  • 模型共享:WebEA
  • 文档生成:DocGenerator
  • 模型仿真:Simulator
  • 质量管理:inspector

  • 咨询方案:
  • MBSE(基于模型的系统工程)
  • 基于UML的模型驱动的开发
  • 基于模型的工程管理
  • 基于Sys ML进行系统分析设计
  • 基于模型进行系统分析设计
  • 欢迎联系我们: 俎涛 Zutao@uml.net.cn

       
    3442 次浏览       50
     
    相关文章

    UML概览
    UML图解:用例图(Use case diagram )
    UML图解:活动图(activity diagram )
    UML图解:类图(class diagram )
     
    相关文档

    UML统一建模语言参考手册
    网上商城UML图
    UML建模示例:JPetStor
    UML序列图编写规范
     
    相关课程

    UML与面向对象分析设计
    UML + 嵌入式系统分析设计
    业务建模与业务分析
    基于UML和EA进行系统分析设计

    最新活动计划
    C#高级开发技术 11-8[北京]
    企业数字化转型(数据治理) 11-15[上海]
    嵌入式linux内核、开发、性能优化 11-16[北京]
    大数据平台搭建与高性能计算 11-18[北京]
    代码整洁之道 11-24[北京]
    持续集成测试最佳实践 12-9[北京]
     
    最新文章
    iPerson的过程观:要 过程 or 结果
    “以人为本”的工程哲学
    企业架构、TOGAF与ArchiMate概览
    UML 图解:顺序图( sequence diagram )
    UML 图解:对象图( class diagram )
    最新课程
    基于UML和EA进行系统分析设计
    UML+EA+面向对象分析设计
    基于SysML和EA进行系统设计与建模
    UML + 嵌入式系统分析设计
    领域驱动的建模与设计
    更多...   
    成功案例
    某电信运营供应商 应用UML进行面向对象分析
    烽火通信 UML进行面向对象的分析设计
    西门子 UML与嵌入式软件分析设计
    航天科工某子公司 从系统到软件的分析、设计
    深圳某汽车企业 模型驱动的分析设计
    更多...