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

news2024/12/23 18:39:51

一、讲解

从数据流图(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)应该为 项目信息、指标参数、事故及影响因素。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1697345.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【操作系统】基本概念 解析+思维导图(特征、概念、功能)并发 共享 虚拟 异步

1.操作系统基本概念 思维导图 1.1 概念和功能 概念 操作系统(Operating System,OS) 1.操作系统是系统资源的管理者: ​ 操作系统是指控制和管理整个计算机系统的硬件和软件资源,并合理组织调度计算机的工作和资源分…

跟TED演讲学英文:How to escape education‘s death valley by Sir Ken Robinson

How to escape education’s death valley Link: https://www.ted.com/talks/sir_ken_robinson_how_to_escape_education_s_death_valley Speaker: Sir Ken Robinson Date: April 2013 文章目录 How to escape educations death valleyIntroductionVocabularySummaryTranscri…

redis6.2.7安装

1、下载上传到服务器 从官下载redis,地址 https://redis.io/download/#redis-downloads 然后上传到服务器目录 app/apps目录下 2、安装gcc编译器 使用gcc --version命令测试是否已经安装了gcc编译环境,如果没有安装执行以下命令安装 yum install -y …

2024系统架构师软考考题考点回忆版

2024系统架构师软考试题/考点梳理 选择题 (75道单选题) 软件测试(P205) 静态测试:是被测程序不运行,只依靠分析和检查源程序的语句、结构、过程来检查程序是否有错误。动态测试:运行被测试程序,对得到的结果与预期的结果进行比较分析,同时分析运行效率和健壮性能等。…

人力资源新趋势:RPO项目为何成为企业招聘首选?

随着市场竞争的加剧和人才需求的日益复杂化,企业对于高效、精准的招聘需求越来越迫切。在这样的背景下,人力RPO(招聘流程外包)项目应运而生,其独特的优势为企业带来了全新的招聘体验和效果。 首先,人力RPO项目能够显著降低企业的招…

python-情报加密副本

【问题描述】某情报机构采用公用电话传递数据,数据是5位的整数,在传递过程中是加密的。加密规则如下:每位数字都加上8,然后用和除以7的余数代替该数字,再将第1位和第5位交换,第2位和第4位交换。请编写程序,…

MySQL数据处理增删改

数据处理增删改DML 由于约束,以下操作都有可能执行失败(后面讲约束) 插入数据 INSERT 基础添加:VALUES 值的顺序必须和表中字段顺序相同 INSERT INTO class VALUES(1,王小,10); 向指定字段添加: 值的顺序和指定…

【QGIS入门实战精品教程】10.7: 基于DEM的地形因子分析(坡度、坡向、粗糙度、山体阴影、耐用指数)

文章目录 一、加载dem二、山体阴影三、坡度四、坡向五、地形耐用指数六、地形位置指数七、地表粗糙度一、加载dem 二、山体阴影 方法一:符号系统 利用符号系统中的山体阴影,渲染出阴影效果。 方法二:山体阴影工具 该算法计算输入中的数字化地形模型的山体阴影。根据太阳的位…

C++第十九弹---string模拟实现(下)

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】【C详解】 目录 1、修改操作 2、迭代器操作 3、字符串操作 4、非成员函数重载操作 总结 1、修改操作 1、string& operator (const char* s); //尾部插入…

科林Linux6_网络

#include<sys/socket.h> #include<arpa/inet.h> //大小端转换 #include<netdb.h> //DNS一、Socket套接字 为了开发网络应用&#xff0c;系统提供一套API函数接口&#xff0c;用于网络应用开发&#xff0c;这些接口称为套接字函数 struct sockaddr_in…

【STM32】计算定时器的溢出

TIM2、3、4、5、12、13、14在APB1上&#xff0c;最大计数频率84M。 TIM1、8、9、10、11在APB2上&#xff0c;最大计数频率168M。 time(arr1)/(prescale1)/Tclk 算出来的是秒 下图使用TIM14 84MHz 那么time33600*25000/8400000010S&#xff0c;10S进入一次中断 中断方式开…

【脚本篇】---spyglass lint脚本

目录结构 sg_lint.tcl &#xff08;顶层&#xff09; #1.source env #date set WORK_HOME . set REPORT_PATH ${WORK_HOME}/reports puts [clock format [clock second] -format "%Y-%m-%d %H:%M:%S"] #2.generate source filelist #3.set top module puts "##…

BFS 解决最短路问题

目录 一、前言 1.1 如何使用 BFS 找到最短路&#xff1a; 1.2 为什么不用 dfs &#xff1a; 二、模板套路 三、例题练习 3.1 例题1&#xff1a;迷宫中离入口最近的出口 3.2 例题2&#xff1a;最小基因变化 3.3 例题3&#xff1a;单词接龙 3.4 例题4&#xff1a;为高尔…

Springboot+Vue+ElementUI开发前后端分离的员工管理系统01--系统介绍

项目介绍 springboot_vue_emp是一个基于SpringbootVueElementUI实现的前后端分离的员工管理系统 功能涵盖&#xff1a; 系统管理&#xff1a;用户管理、角色管理、菜单管理、字典管理、部门管理出勤管理&#xff1a;请假管理、考勤统计、工资发放、工资统计、离职申请、个人资…

低频量化周报(指数分位值,指数风险溢价比,配债完整数据集,可转债策略)...

低频量化周报&#xff08;2024-05-25&#xff09; 指数分位值指数风险溢价比小规模配债<5亿配债完整数据 5 批文通过4 发哥通过3 交易所受理2 股东大会通过1 董事会预案可转债策略 双低策略四因子策略网格策略ETF抄底指标<3历史操作记录本周心得最后 指数分位值 指数名称…

秋招突击——算法打卡——5/25、5/26——寻找两个正序数组的中位数

题目描述 自我尝试 首先&#xff0c;就是两个有序的数组进行遍历&#xff0c;遍历到一半即可。然后求出均值&#xff0c;下述是我的代码。但这明显是有问题的&#xff0c;具体错误的代码如下。计算复杂度太高了&#xff0c;O&#xff08;n&#xff09;&#xff0c;所以会超时&…

2024年【高压电工】新版试题及高压电工找解析

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 高压电工新版试题是安全生产模拟考试一点通生成的&#xff0c;高压电工证模拟考试题库是根据高压电工最新版教材汇编出高压电工仿真模拟考试。2024年【高压电工】新版试题及高压电工找解析 1、【单选题】 110KV及以下…

C++课程设计:学校人员信息管理系统(可视化界面)

目录 学校人员信息管理系统 操作演示 MP4转GIF动图 设计功能要求 评分标准 QT Creator安装和新建项目 QT安装 QT新建项目 管理系统程序设计 mainwindow.h 文件 mainwindow.h 程序释义 mainwindow.cpp 文件 mainwindow.cpp 程序释义 main.h 文件 TXT文件生成 博主…

redis6.2.7 搭建一主多从

1、集群规划 节点端口角色192.168.137.1026379master192.168.137.1026380slave192.168.137.1036381slave 2、伪集群搭建 2.1 创建fake_cluster 目录存放 公共配置文件 # 进入redis目录 cd /app/apps/redis-6.2.7# 创建存放伪集群的目录 mkdir fake_cluster#复制redis.conf到…

东方通TongWeb结合Spring-Boot使用

一、概述 信创需要; 原状:原来的服务使用springboot框架,自带的web容器是tomcat,打成jar包启动; 需求:使用东方通tongweb来替换tomcat容器; 二、替换步骤 2.1 准备 获取到TongWeb7.0.E.6_P7嵌入版 这个文件,文件内容有相关对应的依赖包,可以根据需要来安装到本地…