精华内容
下载资源
问答
  • uml之实体关系图

    万次阅读 2019-05-19 00:44:54
    什么是实体关系图(ERD)? 数据库是软件系统中不可或缺的一个组成部分,若能在数据库工程中好好利用 ER 图,便能让您生成高质量的数据库设计,用于数据库创建,管理和维护,也为人员间的交流提供了具意义的基础。 ...

    什么是实体关系图(ERD)?

    数据库是软件系统中不可或缺的一个组成部分,若能在数据库工程中好好利用 ER 图,便能让您生成高质量的数据库设计,用于数据库创建,管理和维护,也为人员间的交流提供了具意义的基础。

    实体关系图(ERD)

    今天,我们将为你深入介绍 ER 图表。通过阅读本ERD指南,您将获得有关 ER 图和数据库设计的基本知识和技能。你会学到什么是 ERD,为什么要绘制 ERD,ERD 符号,如何绘制 ERD 等,以及一堆 ERD 示例。

    什么是实体关系图(ERD)?

    首先,什么是实体关系图?

    实体关系图也被称为 ERD、ER 图、实体联系模型、实体联系模式图或 ER 模型,是一种用于数据库设计的结构图。一幅 ERD 包含不同的符号和连接符,用于显示两个重要的信息: 系统范围内的主要实体,以及这些实体之间的相互关系

    这也就是为什么它被称为“实体”“关系”图 (ERD)啊!

    当我们谈论 ERD 中的实体时,我们经常提到诸如人员/角色(例如学生),有形商业对象(例如产品),无形商业对象(例如日志)等业务对象。“关系”则是这些实体在系统内的相互关联。

    实体关系图表达了对象间的关系

    在典型的 ER 设计中,可以找到诸如圆角矩形和 (Rounded rectangle) 连接符(具有不同样式的末端)的符号来描述实体,它们的属性和相互关系。

    何时绘制ER图?

    那么,我们该在什么时候绘制ER图呢?虽然ER模型大多是为展示概念和设计物理数据库而绘制的,但也有别的用途的,以下是一些典型的用例。

    • 数据库设计 - 直接在数据库更改数据库结构会有风险, 为避免破坏数据库中的数据,我们得仔细规划一切变更。通过绘制 ER 图来展示数据库设计意念,您能轻松找出错误和识别设计缺陷,并在执行数据库更改之前作出修正。
    • 数据库调试 - 调试数据库问题往往具挑战性,特别是当数据库包含许多表时,你我编写复杂的SQL来获取所需的信息。通过 ERD 来展示数据库结构,您可以全面地了解整个数据库的结构。您可以轻松找到实体,查看其属性并确定与别的实体的关系,有助您更轻松地找出数据库的问题。
    • 数据库创建和修补 - 像 Visual Paradigm 这样的 ERD 软件支持数据库生成工具,可以通过ER图来自动生成和修补数据库。使用这个 ER 图工具,您的ER设计不再仅仅是一个静态图,而是一个真实反映物理数据库结构的镜像。
    • 帮助收集需求 - 您可以通过绘制 ERD 来表达系统中的高级业务对象以用于确定系统的需求。这种初始模型也可以演化为物理数据库模型,用于创建关系数据库,或为创建流程图和数据流模型提供有力的参考。

    ERD 符号指南

    ER 图包含实体,属性和关系。在本节中,我们将详细介绍各 ERD 符号。

    实体

    ERD 实体是一个系统内可定义的事物或概念,如人/角色(例如学生),对象(例如发票),概念(例如简介)或事件(例如交易)(注:在 ERD 中,术语“实体”通常用来代替“表”,但它们是一样的)。在考慮实体时,嘗試把它们想成名词。在 ER 模型中,实体显示为圆角矩形,其名称位于上方,其属性列在实体形状的主体中。下面的 ERD 示例显示了 ER 实体的一个用例。

    实体(实体关系图)

    实体属性

    也称为列 (Row),意思是持有它的实体的属性或特性

    一个属性有一个描述属性的名称和一个描述属性种类的类型,例如代表字符串的 varchar,整数的 int。当为物理数据库开发绘制 ERD 时,得使用目标 RDBMS 支持的类型,以确保设计和物理数据库的一致性。

    下面的 ER 图示例显示了一个包含属性的实体。

    实体属性(实体关系图)

    主键 (Primary Key)

    主键又称 PK,是一种特殊的实体属性,用于界定数据库表中的记录的独特性。一个表不能有两笔(或更多)拥有相同的主键属性值的记录,像是身份证明内的 ID 便是典型的例子,两个人即使性名相同,ID 是不会一样,若身份证明是个表,那ID 便是主键了。下面的 ERD 示例显示了拥有主键属性 “ID” 的实体 “Product”,以及数据库中表记录的预览。第三个记录是无效的,因为 ID 'PDT-0002' 的值已被另一个记录使用。

    主键(实体关系图)

    外键 (Foreign Key)

    外键又称外来键和外部键,是对主键的引用,用于识别实体之间的关系。请注意,有别于主键,外键不必是唯一的,多个记录可以共享相同的值。下面的 ER Diagram 示例显示了一个包含一些列的实体,其中一个外键用于引用另一个实体。

    外键(实体关系图)

    关系

    两个实体之间的关系表示这两个实体以某种方式相互关联。例如,学生可能参加课程。实体“学生”因此与“课程”相关,而这关系则在 ER 图中以连接线表达着。

    基数 (Cardinality)

    基数定义了一个实与另一个实体的关系里面,某方可能出现次数。例如,一个团队有许多球员,若把这关系呈现于 ERD 时,团队和球员之间是一对多的关系。

    在 ER 图中,基数表示为连接线端的乌鸦脚。三种常见的主要关系是一对一,一对多和多对多。

    一对一的基数的例子

    一对一关系主要用于将实体分成两部分,简洁地将资讯呈现,使读者更容易理解。下图显示了一对一关系的示例。

    一对一的基数的例子

    一对多的基数的例子

    一对多关系是指两个实体 X 和 Y 之间的关系,其中 X 的一个实例可以链接到Y的许多实例,而 Y 的一个实例仅链接到 X 的一个实例。下图显示了一对多关系的一个例子。

    一对多的基数的例子

    多对多的基数的例子

    多对多关系是指两个实体 X 和 Y 之间的关系,其中 X 可以被链接到 Y 的许多实例,反之亦然。下图显示了一个多对多关系的例子。请注意,多对多关系在物理 ERD 中被分成一对一对多的关系,你会在下一节中学到什么是物理 ERD。

    多对多的基数的例子

    概念,逻辑和物理数据模型

    ER 模型通常被绘制成最多三个抽象层次上:

    • 概念 ERD / 概念数据模型
    • 逻辑 ERD / 逻辑数据模型
    • 物理 ERD / 物理数据模型

    虽然 ER 模型的三个层次都包含有属性和关系的实体,但它们的创建目的和目标受众都不同。

    一般而言,业务分析人员使用概念和逻辑模型来展示系统中存在的业务对象 (Business Object),而数据库设计人员或数据库工程师会为概念和逻辑ER模型加入更详细的咨询,进而生成反映物理模型结构的物理数据模型,好为创建数据库作准备。下表列出了三种数据模型之间的差异。

    概念模型 vs 逻辑模型 vs 数据模型:

    ERD功能 概念 逻辑 物理
    实体(名称)
    关系
     
    列的类型   随意
    主键    
    外键    

    概念数据模型

    概念性 ERD 表达了系统中该存在的业务对象以及它们之间的关系。建立概念模型,是为了通过识别所涉及的业务对象来呈现系统的宏观图像。概念数据模型定义了哪些实体存在,而非哪些表。例如,逻辑或物理数据模型中可能存在“多对多”表,但在概念数据模型下,它们只会表示为无基数的关系。

    概念数据模型示例

    概念数据模型

    注意:概念性 ERD 支持使用泛化 (Generalization) 来表达两个实体之间的“一种”关系,例如三角形是一种形状,这个用法就像UML中的泛化一样。请注意只有概念 ERD 支持泛化。

    逻辑数据模型

    逻辑 ERD 是概念 ERD 的详细版本,通过明确定义每个实体中的列并引入操作和事务实体 (Transactional Entities)来让概念模型丰富起来。虽然逻辑数据模型仍流于高层次的设计(非为特定数据库系统而绘画),但如果会影响数据库的设计,在绘制逻辑数据模型时仍然可酌情调整。

    逻辑数据模型示例

    逻辑数据模型

    物理数据模型

    物理 ERD 是数据库的实际设计蓝图。物理数据模型通过为每列指定类型 (Type),长度 (Length),可为空 (Nullable) 等来详细阐述逻辑数据模型。由于物理 ERD 表達了如何在特定的 DBMS中构造和关联数据,因此在设计时要考虑到实际的数据库系统的需要和局限,倒如确保 DBMS 支持某列类型,并在命名实体和列中避用某些保留字 (Reserved Words)。

    物理数据模型示例

    物理数据模型

    如何绘制 ER 图?

    如果您发现绘制 ER 图很难,请不要担心,在本节中我们将给你一些 ERD 提示。尝试按照以下步骤以了解如何有效地绘制 ER 图吧。

    1. 确保你清楚知道绘制 ERD 的目的。您是否试图呈现涉及业务对象定义的整体系统架构?或者你正在开发一个准备用于数据库创建的 ER 模型?您必须明了开发 ER 图的目的,方可使用合适的模型层次(概念/逻辑和物理)来迎合您所需 (请阅读概念,逻辑和物理数据模型部分了解更详细信息)
    2. 确保你清楚模型的范围。了解建模范围可以防止在设计中包含冗余实体和关系。
    3. 画出范围内的主要实体。
    4. 通过添加列来定义实体的属性。
    5. 仔细检查 ERD 并检查实体和列是否足以存储系统的数据。如果不是,请考虑添加其他实体和列。通常,您可以在此步骤中确定一些事务 (Transactional),操作 (Operational) 和事件 (Event) 实体。
    6. 考虑所有实体之间的关系,将它们联系起来,並寫上正確的基数(例如客户和订单之间的一对多关系)。如果有任何实体沒有被連接上,请不要担心,虽然這不常见,但它是合法的。
    7. 使用数据库规范化技术 (Database Normalization)重构实体,以减少冗余数据和提高数据完整性。例如,“制造商”的資訊可能最初存储在“产品”实体下,透過规范化过程,您可能会发“制造商”的记录不断重复,您便可将其拆分为单独的“制造商”实体,并使用外键將“产品”和“制造商”連接起來。

    数据模型的例子

    ERD 示例 - 电影租赁系统

    ERD 示例 - 电影租赁系统

    ERD 示例 - 贷款系统

    ERD 示例 - 贷款系统

    ERD 示例 - 在线商店

    ERD 示例 - 在线商店

    使用ERD和数据流图(DFD)

    在系统分析和设计中,可以绘制数据流图(DFD) 来展现系统流程中的信息流。在数据流图中,有一个名为数据储存 (Data Store)的符号,它代表一个提供系统所需信息的数据库表。

    使用 ERD 和数据流图(DFD)

    由于物理 ER 图提供了实际数据库的蓝图,因此这种 ERD 中的实体与 DFD 中的数据存储一致。您可以 ERD 作为 DFD 的补充,以表达信息的结构;或以 DFD 补充 ERD,以显示系统在运行时如何运用数据。

    ER 图数据储存模型

    使用ERD和BPMN业务流程图(BPD)

    在业务流程映射中 (Business Process Mapping),可以绘制 BPMN 业务流程图 (BPD) 以展示业务工作流程。在业务流程图中,有一个称为数据对象(Data Object)的符号,表示在流程输入/输出的数据。

    使用 ERD 和 BPMN 业务流程图(BPD

    由于概念和逻辑数据模型提供了系统内业务对象的高级视图,因此此类 ERD 中的实体与 BPD 中的数据对象一致。您可绘制 ERD 作为 BPD 的补充,以表示业务工作流程所需的数据对象的结构;或以 BPD 補充 ERD,以显示在整个业务流程中如何运用数据。

    BPMN 数据对象(以 ER 图表达)

    选择一个ERD工具

    制作 ERD 数据模型需要时间和精力,而一个有用的数据库设计工具则能大大减省你花费的时间和精力。 Visual Paradigm 不仅为您提供 ERD 工具,还提供了一组可视化建模功能,助您更快、更轻松地绘制实体关系图。它支持当今市场上最流行的数据库管理系统,是数据库设计、数据库生成和实体关系图逆转的好帮手。

    支持广泛的 DBMS


    转载地址: https://www.visual-paradigm.com/cn/guide/data-modeling/what-is-entity-relationship-diagram/

    展开全文
  • 数据对象是对软件必须理解的复合信息的抽象,可以是外部实体、事务、行为等 3 属性 属性定义了对象的性质 4 联系 数据对象间连接的方式,联系可分三类: 一对一联系(1:1) 例如:如果一个部门只有一个部长,那部门...

    1 定义

    包含3种相互关联的信息:数据对象,数据对象的属性和数据对象间的联系

    2 数据对象

    数据对象是对软件必须理解的复合信息的抽象,可以是外部实体、事务、行为等

    3 属性

    属性定义了对象的性质

    4 联系

    数据对象间连接的方式,联系可分三类:
    一对一联系(1:1)
    例如:如果一个部门只有一个部长,那部门和部长就是一对一联系
    一对多联系(1:n)
    例如:一个部门有多个员工,那部门和员工就是一对多联系
    多对多联系(m : n)
    例如:一个学生可以学多门课程,一门课程可以有多个学生,那学生和课程就是多对多联系

    5 实例

    在这里插入图片描述
    教师、学生、课程是实体
    姓名、性别、学号等是学生的属性
    一个教师可以教多门课程所以是1:N 的联系

    展开全文
  • 实体关系图进行数据库建模

    千次阅读 2018-11-07 13:56:46
    实体关系图进行数据库建模

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

    也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

                   

    一、概述

      很可能你现在正在规划一个数据库驱动的网站;而且几乎可以肯定的是,你一定已经浏览过数据库驱动的网站。过去,一些网站依赖CGI脚本和文本文件存储实现数据持久化,但现在我们能够访问大量不同的关系型、对象-关系型、面向对象型数据库。

      对于Web应用来说,关系数据库是一种强大的支持工具,这得感谢它们的高可用性、性能,而且相对来说,关系数据库比较容易使用。要找出一个功能完善、源代码开放、能够在多种平台上运行的数据库系统并不困难。你可以用Perl、Java、PHP以及其他服务器端脚本语言把关系数据库和Web网站连结到一起。

      随着网站规模的发展,它对数据库——通常是关系数据库——的依赖程度也日益增加。大量页面和服务需要向数据库表写入信息,或者从数据库提取信息。对于大多数网站,数据库表很快成为网站体系结构中的关键部分,成为网站运作的生命中枢。为了方便和轻松地管理大容量数据,用户帐户、新闻动态、内容、统计数据都可以保存到关系数据库管理系统(Relational Database Management System,RDBMS)。

      用图(Diagram)管理数据模型具有高效、方便的优点。对于RDBMS,描述数据模型的图通常称为实体关系图(Entity Relationship Diagram,ERD)。用ERD描述数据模型能够帮助你预先精确定义数据需求,使你能够对以后的改动作出有效的规划,能够随着网站的发展方便地改进规划。

      本文将介绍ERD建模工具和概念。文章提供了一些图的实例,但它们的目的不是提供精确的或者是全面的数据设计范例。它们的目的是以两个建模工具为例,介绍数据建模符号。在不同的工具之间,图的符号有着重大的差别,但它们的基本概念一样。本文的图例从PowerDesigner和Visio 2000 Professional的试用版得到,你可以从本文末尾找到这些工具和其他类似产品的链接。

    二、是否使用建模工具?

      许多规模较小的网站用ASCII形式的SQL(Structured Query Language)脚本文件进行数据建模。当开发小组人员较少,或者最理想的情况下仅由一个人构成时,这种方法最有效。然而,数据模型将很快发展成为一个复杂的结构——在这种情况下,CASE(Computer Aided Software Engineering,计算机辅助软件设计)工具、有关所有数据信息的图、集中式知识库能够极大地帮助你管理Web网站的数据层。

    2.1 何时使用SQL?

      即使当你准备用SQL直接管理数据模式(物理数据库)时,图也能有效地帮助你理解和改进系统。然而,如果你的预算或者时间非常有限,采用复杂的新式建模工具可能得不偿失。相反,在这种情况下,你应该使用一个简单的图形工具把数据模式的基本情况记录下来,然后逐步转换到复杂的数据建模工具。

      如果你正在设计的数据库类型不常见(或者是非标准的),避免使用某些复杂CASE工具可能是明智的,因为这些工具的“反向工程”能力和某些自动功能可能无法在你的环境下发挥作用。这里所谓的自动功能,是指建模工具根据输入模型的图形和属性信息,自动为目标数据库生成合适SQL命令的能力。反向工程是这样一种能力,建模工具根据已经部署的物理数据模式,从现有的表提取出实体和关系信息。

    2.2 转入建模工具

      从简单绘图工具转换到数据建模工具并不是一个很复杂的过程。大多数数据建模工具的工作方式就象是一个标准的绘图工具,参见图1a和图1b,这是两个数据建模工具的界面实例。你可以在这里创建和排列表,定义关系,以及指定其它信息(列的类型、长度,键等)。

     

    ermodel_1a.gif

     

    图1a:PowerDesigner的界面

     

    ermodel_1b.gif

     

     

    图1b:Visio的界面

      转向数据建模工具的主要挑战在于:

    • 学习使用建模符号。
    • 在不丢失任何关键信息的前提下,用数据建模工具描述现有数据模型。
    • 寻找一个对你的数据库提供全面支持的工具,例如在生成SQL、从现有数据模式通过反向工程建立数据模型时。

      一些入门级数据建模工具(参见本文后面的参考资源)只有少量的高级特性。这有好处,但也有弊端——它们很容易学习使用,但当你积累了更多的经验时,它们可能不再满足你日益增长的需要。然而,升级工具或更换工具一般不存在大的问题,特别是当新的工具能够对现有数据模式进行精确、完整的反向工程时,升级或更换工具的过程尤其简单。

    三、ERD建模符号

      本文使用Martin的Information Engineering符号。PowerDesigner采用的就是这种符号,Oracle的Designer产品所使用的符号也和它很相似。你可以在AIS Modeling Summary查看各种ERD符号的说明。基本的ERD绘图规范很直观易懂。你可以定义实体(表),描述各个实体之间的关系。在填写表和关系的细节信息时,每一种工具的做法都有所不同;但就我所遇到的工具来看,基本概念在大多数软件包之间是相通的。接下来的内容将介绍你必须了解的主要图形元素和设置方法。

    3.1 表

      所有构造合理的数据建模工具都允许为表指定丰富的关联信息。这些信息包括(但不局限于):

    • 表的描述、注解,以及实体(表)的标题。
    • 列,列的类型、长度、默认值和强制条件。
    • 主键,索引,唯一性约束。

      要指定这些信息,一般你需要进入表的属性窗口,如图2a和图2b所示。

     

    ermodel_2a.gif

    2a:PowerDesigner中表的属性窗口

     

    ermodel_2b.gif

    图2b:Visio中表的属性窗口

     

      一旦输入了新表的属性信息,图将被更新,显示出你所提供的新的或更改后的表信息。下面的图形显示了一个表的实例,这个表的属性信息见图2a和图2b。在图2a和图2b中,许多列被定义成了(m)andatory(强制的)、(p)rimary(主键)和(d)isplayed(被显示的)列。下面的图显示了为该表输入的部分属性信息。

     

    ermodel_3a.gif

    图3a:PowerDesigner的表

     

    ermodel_3b.gif

    图3b:Visio的表

     

      在图3a中可以看到一些非标准的数据类型,如PHONENUMBER和PK。许多数据建模工具允许定义域或定制数据类型,它们可供一个以上的列使用。域不仅代表着数据类型——通常,它们还包含检查约束、默认值、值列表等信息。如果你想要更新一个域(例如定义一种新的电话号码格式),所有该模型中引用该域的列都将自动更新。

    3.2 关系

      如果我们只定义数据模式中的表,数据建模工具就不那么重要了。各个表之间的关系、依赖情况往往很复杂,有一个管理和显示这些关系的工具将带来很大的帮助。对于一个给定的关系,必须收集的重要信息包括:

    • 父表和子表。
    • 两个表之间的强制关系。例如,父表可能有一个子表,但子表必须有一个父表。
    • 关系基数(Cardinality)。即,一个父表可以有零个或者多个子表,但一个子表有且只能有一个父表。
    • 关于关系的注释、意见和角色说明。

      大多数建模工具通过在两个或者更多表之间画出连线的方式定义关系。默认情况下,关系往往被定义成为一对多关系,而且它对于关系中的任何一方都是可选的。要修改关系,你必须打开关系的属性窗口,更新实体关系的特征信息。图4a和图4b显示了两个不同的工具允许为关系定义的部分属性:

     

    ermodel_4a.gif

    图4a:PowerDesigner的关系属性设置界面

     

    ermodel_4b.gif

    图4b:Visio的关系属性设置界面

     

      该图显示了一个一对多关系——一个典型的父-子关联关系。部门(Branch)和雇员(Emplyee)的关系是强制的。它意味着一个部门必须至少有一个雇员(1-N强制关系);另一方面,它意味着一个雇员必须属于且只能属于一个部门(1-1强制关系)。图5a和图5b反映了修改后的关系。

     

    ermodel_5a.gif

    图5a:PowerDesigner中两个表之间的关系

    ermodel_5b.gif

    图5b:Visio中两个表之间的关系

     

      这个图显示了如何把信息转换成符号。强制的关系由一条实心垂直线(而不是椭圆)表示。某些工具用虚线表示可选的关系。关系中属于“多”的这一边用一个类似鸟爪的图形表示,关系的基数在靠近它所描述的那一端显示。

      你可能已经注意到,Employee表没有定义外键列。这个图仍旧处于“概念设计”阶段——此后,从概念图到物理数据模型之间的转换是必不可少的。大多数工具区分概念和物理数据模型——概念数据模型描述信息的需求,但不关注细节问题,例如索引和强制性的引用完整性。

      有些时候,你可能要定义自我引用的表。自我引用的表一般用来描述层次型关系。如下面的图形所示,大多数数据建模工具能够处理这类关系。注意在这个例子中,雇员可以有零个或者一个上级——它使你能够处理一些特殊的情况,比如总统没有直接的上级。

    ermodel_6a.gif

    图6a:PowerDesigner中自我引用的表

    ermodel_6b.gif

    图6b:Visio中自我引用的表

    四、图的规划

      定义表和关系只是挑战的一部分,图的清楚明白同样很重要。虽然一些工具提供自动布局能力,我还没有看到过一个完善的实现。相反,你的目标应该是遵从“孔雀东南飞”这一规则(这里的“孔雀”是关系中代表“多”这一方的符号,它是连接到表的三条分叉线,象个鸟爪)。换句话说,子表应该位于父表的右方和下方。这种安排使得从逻辑上组织和理解数据模型更加方便。最重要、最高级别的表应该出现在左上角,让级别较低的表出现在页面的右下角。为了清楚起见,减少图中交叉线的数量也是很重要的。正如Eberhardt Rechtin在The Art of Systems Architecting中强调的,“一个好的设计往往看起来很舒服”。如果无论怎样安排,你的数据模型看起来都很混乱,那么,它可能正在告诉你数据模型本身有一些值得注意的问题。

    ermodel_7a.gif

     

    图7a:完整的ER图(PowerDesigner)


     
    ermodel_7b.gif

    图7b:完整的ER图(Visio)
     

    五、从图到数据库

      依赖于你所选择的用来建立数据模型的软件包,建模工具可能会根据模型生成SQL命令或直接修改数据库模式。这种功能带来了极大的便利;和使用ASCII格式的SQL脚本相比,这种方式有着许多优点。一些建模工具的功能适合于大量的数据库类型,例如PostgreSQL、MySQL、Oracle、DB2,等等。对于简单的数据库修改,改动操作可以从建模工具通过ODBC直接完成。数据库改动还允许以增量方式进行(例如,ALTER命令或创建命令,以及对特定表的更新命令)。当你第一次使用建模工具时,你可以查看建模工具生成的SQL,看看自己是否可以信任和认可建模工具对数据模型的解释。一段时间之后,你就会熟悉建模工具对各种关系和表细节的解释。

      【结束语】数据建模是一种很好的软件工程实践。它能够帮助你在正式编写程序代码之前规划数据需求。在维护和改进系统的数据布局的过程中,数据建模同样很有用。一些工具能够让这个过程变得非常简单,能够在你管理和设计数据库系统的时候带来极大的帮助。然而,根据你所需功能的不同,建模工具的价格也有着极大的差异。在不出现预算赤字的情况下,轻松掌握和运用数据建模技术的最好方法是,从小型的工具开始,然后逐渐深入和提高。

     

    六、参考和资源

      ■ 工具

    • Sybase PowerDesigner - 一个高端数据建模工具。你可以下载一个45天试用版。
    • ERWin - 一个高端数据建模工具。可下载试用版。
    • Rational Rose Enterprise - 一个高端UML工具,恰如其分的数据库建模支持。可下载试用版。
    • Visio Professional - 一个价格低廉的绘图工具,可用来生成数据模型、UML图等。企业版还支持针对各种数据库的双向工程能力。你可以订购60天试用版的CD。
    • Dezign - 一个价格极其低廉的ERD建模工具。你可以下载一个有限制的试用版本。
    • ERD Tool List - 一个关于各种数据库和UML建模工具的链接和资源的清单。

      ■ 参考

               

    给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow

    这里写图片描述
    展开全文
  • 软件工程中应用的几种辨析:系统流程、数据流、数据字典、实体联系、状态转换、层次方框、Warnier、IPO、层次、HIPO、结构、程序流程、盒、PAD、判定表、判定树、Jackson、流、甘特...

    软件工程中应用的几种图辨析:系统流程图、数据流图、数据字典、实体联系图、状态转换图、层次方框图、Warnier图、IPO图、层次图、HIPO图、结构图、程序流程图、盒图、PAD图、判定表、判定树、Jackson图、流图、甘特图、工程网络图

    我们先将这几种图按照软件工程中的阶段分类~

    Snip20160703_17

    接下来看一下这些图都长什么样子~

    1.系统流程图
    Snip20160703_163
    2.数据流图
    Snip20160703_162

    Snip20160703_161
    3.数据字典
    Snip20160703_160
    4.E-R图
    Snip20160703_159
    5.状态转换图:
    Snip20160703_158Snip20160703_157
    6.层次方框图:
    Snip20160703_164
    7.Warnier图
    Snip20160703_165
    8.IPO图:
    Snip20160703_166
    9.层次图:
    Snip20160703_167
    10.HIPO图:层次图加输入/处理/输出图
    Snip20160703_168
    11.结构图:
    Snip20160703_169
    12.程序流程图:
    Snip20160703_175
    13.盒图:(又称为N-S图)
    Snip20160703_174
    14.PAD图(problem analysis diagram)问题分析图:Snip20160703_176
    15.判定表:
    Snip20160703_177
    16.判定树:
    Snip20160703_178
    17.面向数据结构的设计方法(jackson图):
    Snip20160703_179
    18.流图:详细设计阶段中程序复杂程度的定量度量:
    Snip20160703_180
    19.甘特图(Gantt图)
    Snip20160703_16
    20.工程网络图
    Snip20160703_15

     

    展开全文
  • 什么是实体关系图(ERD)?

    千次阅读 2020-07-13 14:53:19
    什么是实体关系图(ERD)? 转载自:https://www.visual-paradigm.com/cn/guide/data-modeling/what-is-entity-relationship-diagram/ 数据库是软件系统中不可或缺的一个组成部分,若能在数据库工程中好好利用 ER 图...
  • 一、数据流 ( DFD ) 简介 、 二、数据流 ( DFD ) 概念符号 、 1、数据流 、 ...4、外部实体 、 三、数据流 ( DFD ) 分层 、 1、分层说明 、 2、顶层数据流 、 3、中层数据流 、 4、底层数据流
  • 银行计算机储蓄系统的工作过程大致如下:储户填写的存款单或取款单由业务员输入系统,如果是存款则系统记录存款人姓名、住址(或电话...用数据流描绘本系统的功能,并用实体-联系描绘系统中的数据对象。 ...
  • 实体关系图(Entity Relation Diagram,ERD)。用于数据库设计的结构图,描述系统内的实体以及实体之间的关系。 何时绘制ERD? 数据库设计 - 直接在数据库更改数据库结构会有风险, 为避免破坏数据库中的数据,需要...
  • 数据库实体关系图(ERD)及其画法

    千次阅读 2020-10-10 16:00:39
    数据库绝对是软件系统不可分割的一部分。在数据库工程中充分利用ER关系图,可以保证在数据库创建、管理和维护中产生高质量的数据库设计。ER模型还提供了一种通信手段。
  • 软件工程中的一些

    千次阅读 热门讨论 2014-01-02 20:17:52
    在写文档的过程中遇到了很多,这些有的在自考的时候接触过:... 下面是软件工程中我整理的一些的,如有遗漏,欢迎补充。    一,需求分析中的 1,数据流(DFD)  它从数据传递和加工角度,以图形方式
  • 软件工程:数据流和结构怎么画?

    万次阅读 多人点赞 2020-09-01 18:43:03
    文章目录Step 1:根据软件的功能描述,绘制数据流:Step 2:根据数据流,分级绘制结构:•边界划分:•第一级分解:•第二级分解:•精化减少耦合: Step 1:根据软件的功能描述,绘制数据流: 问题表述: ...
  • 实体关系图进行数据库建模

    千次阅读 2007-03-01 10:05:00
    实体关系图进行数据库建模 (ccidnet 阿良@仙人掌工作室 2001年
  • ER分为实体、属性、关系三个核心部分。 实体是长方形,属性是椭圆形,关系为菱形。 实体(entity): 即数据模型中的数据对象(即数据表),用长方体来表示,每个实体都有自己的实体成员(entity member)或者...
  • 什么是实体关系图(ERD)? 转

    千次阅读 2019-07-09 20:52:00
    数据库是软件系统中不可或缺的一个组成部分,若能在数据库工程中好好利用 ER ,便能让您生成高质量的数据库设计,用于数据库创建,管理和维护,也...
  • 软件工程导论—软件与软件工程

    千次阅读 多人点赞 2020-05-02 12:47:35
    文章目录1. 软件与软件危机1.1.... 软件工程学2.1. 软件工程学的概念2.2. 软件工程项目的基本目标2.3. 软件工程的八项原则2.4. 软件工程的本质特征2.5. 软件工程的七条基本原理3. 软件工程方法学3.1. 软件工程方法...
  • 软件工程用的15种

    万次阅读 多人点赞 2019-09-03 10:45:20
    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。...软件工程使用软件和软件所能画的 迅捷:业务流程软件结构功能框图数据字典序列用例 Vision...
  • 软件工程】——软件工程

    千次阅读 热门讨论 2016-09-16 11:29:16
    软件工程总的来说就是两方面:一方面是开发,另一方面是管理,两者紧密结合,交织在一起,贯彻始末!开发中项目计划、需求分析、设计、实现、测试、维护,环环相扣(如下)。就像一个人的身体,任何一个部位设计...
  • 软件工程之数据流

    千次阅读 2015-05-27 16:28:43
    数据流   数据流( Data Flow Diagram , DFD )以图形的方式描绘数据在系统中流动和处理的过程,它只反映系统必须完成的逻辑功能,所以是一种功能模型。 数据流强调的是数据流和处理过程,...
  • 对于RDBMS,描述数据模型的图通常称为实体关系图(Entity Relationship Diagram,ERD)。用ERD描述数据模型能够帮助你预先精确定义数据需求,使你能够对以后的改动作出有效的规划,能够随着网站的发展方便地改进规划...
  • 软件工程——数据流

    千次阅读 2013-06-10 13:12:04
    数据流的画法 数据流也称为数据流程date flow diagram , DFD,是一种便于用户理解和分析系统数据流程的图形工具,他摆脱了系统和具体内容,精确的在逻辑上描述系统的功能、输入、输出和数据存储等,是系统...
  • 软件工程各种

    万次阅读 多人点赞 2016-11-03 19:44:00
    【前言】稀里糊涂的把文档都写完了,美滋滋的去验收了,结果原来文档里面的不是自己想画成什么样就画成什么样的,每一个都有自己的作用和放在适当位置的理由。每一个知识点都不能落下,所以应该好好总结一下这些...
  • 这里不会将UML的各种元素都提到,我只想讲讲类图中各个类之间的关系; 能看懂类图中各个类之间的线条、箭头代表什么意思后,也就足够应对 日常的工作和交流; 同时,我们应该能将类图所表达的含义和最终的代码对应...
  • 实体联系

    千次阅读 2019-09-04 19:42:42
    3.4 实体-联系 为了把用户的数据要求请楚、准确地描述出来,系统分析员通常建立一个概念性的数据模型(也称 为信息模型),概念性数据模型是一种面向问题的数据模型,是按照用户的观点对数据建立的模型,它描述了 从...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 49,601
精华内容 19,840
关键字:

软件工程实体关系图