前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >软考高级架构师:数据库案例篇 - ER 图和数据流图

软考高级架构师:数据库案例篇 - ER 图和数据流图

作者头像
明明如月学长
发布2024-05-25 10:08:45
5770
发布2024-05-25 10:08:45
举报
文章被收录于专栏:明明如月的技术专栏

一、讲解

从数据流图(DFD)转换为实体关系图(ER图)是一个重要的步骤,可以帮助将系统的动态流程转换为静态的数据模型。以下是一些经验和步骤,帮助你完成这一过程:

1. 理解数据流图
  • 识别进程:进程表示系统中的功能或操作。
  • 识别数据存储:数据存储是数据被保存的地方。
  • 识别外部实体:外部实体是与系统交互的外部来源或接收者。
  • 识别数据流:数据流表示在外部实体、进程和数据存储之间移动的数据。
2. 定义实体
  • 从数据存储定义实体:每个数据存储通常对应一个实体。例如,如果数据流图中有“客户信息”数据存储,那么在ER图中可以有一个“客户”实体。
  • 考虑外部实体:有时,外部实体也可以转化为ER图中的实体。例如,外部实体“供应商”可以在ER图中表示为“供应商”实体。
3. 定义属性
  • 识别每个实体的属性:从数据流中找出每个实体的属性。例如,客户实体可能有名字、地址和电话号码等属性。
  • 考虑数据存储的内容:数据存储中的字段通常可以转化为实体的属性。
4. 识别关系
  • 确定实体之间的关系:看数据流图中的数据流,确定哪些实体之间存在关系。例如,如果订单数据流向客户和产品,那么可能存在“客户下订单”以及“订单包含产品”的关系。
  • 定义关系类型:确定关系是1对1、1对多还是多对多。例如,一个客户可以有多个订单(1对多),而一个订单可以包含多个产品(多对多)。
5. 标注键
  • 确定主键:为每个实体定义一个唯一标识符作为主键。例如,客户实体的主键可以是客户ID。
  • 确定外键:在关系中使用外键来连接不同的实体。例如,订单实体中可以包含客户ID作为外键,指向客户实体。
6. 反复验证和优化
  • 验证一致性:确保数据流图中的所有信息都在ER图中得到体现。
  • 优化模型:检查ER图,看看是否有冗余的实体或关系,或者是否可以进一步抽象化和简化模型。
示例

假设有一个简单的数据流图,其中包含以下元素:

  • 外部实体:客户
  • 进程:下订单
  • 数据存储:客户信息、订单信息、产品信息
  • 数据流:客户信息(客户->下订单),订单信息(下订单->订单信息),产品信息(订单信息->产品信息)

从这些元素可以构建以下ER图:

  • 实体:客户、订单、产品
  • 属性:客户(客户ID、姓名、地址),订单(订单ID、订单日期、客户ID),产品(产品ID、产品名称、价格)
  • 关系:客户下订单(1对多),订单包含产品(多对多)

通过以上步骤,可以有效地将数据流图转换为ER图,为后续的数据库设计和实现奠定基础。

二、题目

在这里插入图片描述
在这里插入图片描述

ER 图中长方形表示实体,已经出现安全员、安全副经理,还差项目经理和项目管理员。

由于,项目经理确认信息,因此 (2)填项目经理。 由于,项目管理员填写项目信息,因此(1)填项目管理员。

由于,安全员、安全副经理和项目经理操作后的数据是 “项目指标数据表”,因此 (3)应该是项目指标数据。

由于,(4)、(5)、(6)最终产出指标预警分析,因此(4)、(5)、(6)应该为 项目信息、指标参数、事故及影响因素。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-05-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、讲解
    • 1. 理解数据流图
      • 2. 定义实体
        • 3. 定义属性
          • 4. 识别关系
            • 5. 标注键
              • 6. 反复验证和优化
                • 示例
                • 二、题目
                相关产品与服务
                数据库
                云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档