数据建模的过程是比较简单的一个过程,主要难点在于把握上下文图和分析数据模型阶段的规范化,后期开发和运维的难点在于数据-权限的控制,包括数据锁的控制设置。这是一个一眼望到尽头的过程。

  1. 数据建模简介
  2. 数据建模的系统概念
  3. 逻辑数据建模过程
  4. 如何构造数据模型
  5. 分析数据模型
  6. 将数据需求映射到地点

1.数据建模简介

数据建模是一种数据库定义业务需求的技术,因最终成果将于数据库中体现,有时也称其为数据库建模。数据建模的数据模型在软件工程领域称为实体关系图(E-R图)。

2.数据建模的系统概念

数据建模符号记法有多种,实际的模型常称为实体关系图。

实体是指某些事物,我们需要存储有关这些事物的数据,而数据就是描述事物的。实体实例是指实体的具体值。记录到这个地方,我们要明确一点,大数据有没有效果取决于实体定义数据含义是否丰富到足以支撑分析,假如不能支撑,那么大数据就是一个笑话。例如:我们以前的实体数据规则中没有相关属性的描述,那么大数据也无法归纳出实体相关属性的信息。同时也从另一个侧面反映出我们记录的实体信息只是实体在哲学意义上区别于其他实体个性的一部分,这种相对性的把握才是关键。

属性是实体定义中每个小的方面的数据规则,例如实体的名称、物理大小等等。这些属性也可以进行组合,组合到一定程度会形成区别于其他实体实例的特征,那么这种属性组合称为组合属性。

域是实体属性的合法取值范围,数据类型是实体属性取值的数据类型,默认值是实体属性初始化默认值。域的范围定义需要从业务层面入手。每个实体必须有一个标识符或键,以区别于其他的实体实例,继续扩展下去还有主键、复合键、外键、候选键。

关系是存在于一个或多个实体之间的自然业务联系。基数定义了一个实体相对于另一个关联实体的某个具体值的最小和最大值数量。因为关系是双向的,所以基数也是一个双向的值,在描述基数的时候,必须严格说明两个实体的主次位置。数据关系复杂性的另外一个度量是它的度数。关系的度数是参与那个关系的实体数量。如果关系存在于同一实体不同实例之间,那么这种关系可以称为递归关系。关系存在于两个以上不同实体之间,这种关系称为N维关系。关联实体是一个从多个其他实体继承其主键的实体,其复合键的每个部分指向每个连接实体的一个而且仅一个实例。非确定性关系是每个参与关系的实体都有各自的独立主键关系,不共享主键关系。确定性关系是父实体贡献其主键成为子实体主键一部分的关系 。非特定关系是一个实体的多个实例和另外一个实体的多个实例之间相关联的关系。这种非特定关系仅存在于初始数据模型中,应该尽快的分解掉。非特定关系也很有可能是分析员因理解业务不透彻引入的,通常非特定关系都需要仔细确认。在E-R图中也存在着抽离公共部分的操作,这跟面向对象的抽离公共操作的思想是一致的。

3.逻辑数据建模过程

数据模型是不断累进的,不存在终极数据模型这一说法和操作。企业数据模型只是标识出最基本的实体,这些实体被一般性地定义并且不会以键或属性的形式描述。当企业战略规划的项目启动时,应用都会以企业数据模型作为数据建模的起始版本。单个信息系统的数据模型通常称为应用数据模型。应用数据模型通常绘制时间很短,并且与上一个版本的差异不大,所以很少与系统分析问题分析阶段结合在一起。需求分析得到一个逻辑数据模型可以按照以下过程操作:1.从构造上下文数据模型开始确立项目范围;2.绘制一个基于键的数据模型;3.构造一个具有完整属性的数据模型;4.通过一个称为规范化的过程分析数据模型的适应性和灵活性,最终经分析后的模型称为规范化的数据模型。在系统设计阶段将逻辑设计转换为对应数据库管理系统的物理数据模型,同时要对转化后的结果进行性能优化。当然进行数据建模的工具有很多,基本所有支持E-R图的画图工具都是可以的。

4.如何构造数据模型

第一步:获取实体。可以通过以下方法获取:1.在与系统所有者和用户的面谈或JRP会议期间,注意讨论中的关键词;2.在面谈和JRP会议期间,专门要求系统所有者和用户确定要收集、存储和生成信息的事物;3.研究现有表格、文件、报告;4.在需求分析阶段记录下来的用例描述;5.E-R图建模工具。

第二步:上下文数据模型,该模型主要包含基本实体和它们之间的自然关系。它也是导致E-R图变得流行起来的重要原因。上下文图是描述用户与信息系统之间的数据交互,是业务数据模型的关键之处。

第三步:基于键的数据模型。对于键,一般要遵循:1.在每个实体实例的生命周期中,一个键的键值不应改变;2.键值非空;3.确保键值有效;4.使用代理建来代替独立实体中的大型复合键。键值编码的类型推荐,当然可以组合使用:序列码、块状编码、字母编码、显著位置编码、层次编码。

第四步:泛化层次体系。抽出公共部分,用公共部分键代替其余实体中其存在。

第五步:具有完整属性的数据模型。使用自上到下和自下到上的方法,参考指南:1.组织命名方式和规定的简写方式;2.仔细选择属性的名称;3.现有表格和文件的物理属性名简写来节省空间;4.只有yes和no取值的属性名要以问题形式命名;5.外键是对非冗余规则的一个例外;6.一个属性域不应该是逻辑的。

5.分析数据模型

数据模型的推荐标准:1.足够简单;2.基本上无冗余;3.灵活并对未来需求具有抗修改的适应性。数据分析是为实现简单的、无冗余的、灵活并可扩展的数据库而准备数据模型的过程。规范化的过程用到的是数据库范式。前三个范式的总结:如果每个非主键属性都依赖于主键(整个主键),而且除了主键以外不在依赖于任何属性,这个实体实体就被称为是第三范式的。一般来说,工具仅可以做到满足第一范式,第二范式和第三范式需要人工处理。

6.将数据需求映射到地点

确定数据的位置和访问权限,数据-物理位置-CURD矩阵。一般来说,权限都是基于表操作的权限。

系统分析和设计方法之数据建模和分析相关推荐

  1. 《系统分析与设计方法》 计算投资回收分析

    •一个系统投资¥300万,第一年的收益30万,维护费用100万:第二年的收益200万:维护费用100万:第三年的收益300万,维护费用100万:第四年的收益400万,维护费用100万:第五年的收益50 ...

  2. 【无标题】大数据建模、分析、挖掘技术应用

                              2022年数字信息化培训项目系列 各企事业单位: 随着2015年9月国务院发布了<关于印发促进大数据发展行动纲要的通知>,各类型数据呈现 ...

  3. 关于举办大数据建模、分析、挖掘技术应用直播课程研修班

    关于举办大数据建模.分析.挖掘技术应用直播课程研修班 各企事业单位: 随着2015年9月国务院发布了<关于印发促进大数据发展行动纲要的通知>,各类型数据呈现出了指数级增长,数据成了每个组织 ...

  4. 大数据建模、分析、挖掘技术应用研修班的通知

    --- 关于举办 2021年数字信息化培训项目系列 --- 大数据建模.分析.挖掘技术应用研修班的通知 各企事业单位: 随着2015年9月国务院发布了<关于印发促进大数据发展行动纲要的通知> ...

  5. 电力系统分析课程设计——基于MATLAB的三相短路分析

    电力系统分析课程设计--基于MATLAB的三相短路分析 案例:三机九节点系统 3.2.1 题目描述 三相短路发生时,电力系统的三相电路仍然对称,故称之为对称短路.此类 型短路在所有短路故障占比虽然不多 ...

  6. 机器学习定义、机器学习与数据建模、分析的区别

    一.什么是机器学习? 先来看一则开场白: 看完这段话,可以发现这里涉及了很多基于"经验"而做出的判断.换句话说就是:通过对经验的利用,就能对新的情况做出有效的决策. ** 机器学习 ...

  7. 大数据建模、分析、挖掘技术应用

    大数据建模.分析.挖掘技术: 具体安排 时间安排 课程大纲 详细内容 实践训练 第一天 9:00-12:00 14:00-17:00 一.大数据概述 1.大数据及特点分析 2.大数据关健技术 3.大数 ...

  8. 巨龙信息大数据建模与分析技术浅析

    巨龙大数据建模与分析系统是厦门市巨龙信息科技有限公司研发的一款跨数据平台的数据挖掘.分析.建模的工具.面向各行各业在大数据建设过程的应用诉求,致力于构建智能数据体系,打造更便捷.更易用的大数据生产力平 ...

  9. 基于R的Bilibili视频数据建模及分析——预处理篇

    基于R的Bilibili视频数据建模及分析--预处理篇 文章目录 基于R的Bilibili视频数据建模及分析--预处理篇 0.写在前面 1.项目介绍 1.1 项目背景 1.2 数据来源 1.3 数据集 ...

  10. 《系统分析与设计方法》 第8章 数据建模

    定义数据建模并解释其优点 数据建模:它是一种为数据库定义业务需求的技术. 优点: 1.数据模型有助于分析员快速地确定业务词汇(比过程模型确定的更全面) 2.数据模型几乎总是比过程模型构造得快 3.一个 ...

最新文章

  1. Linux中的文件描述符与打开文件之间的关系
  2. pdns 错误解决[备忘]
  3. 【Sqoop学习之一】Sqoop简介
  4. Ibatis 升级 Mybatis
  5. Oracle数据库的安装和配置
  6. ConnectivityManager ConnectivityService in Android
  7. Error starting static Resources caused by project facet
  8. 笔记:设计模式(3)-Abstract Factory抽象工厂模式
  9. linux日常笔记5
  10. java引用微信支付的p12证书文件
  11. 域 禁用计算机,域成员 在 Windows 10 (禁用计算机帐户) - Windows security | Microsoft Docs...
  12. Python 基础课程第四天
  13. 修改linux文件权限命令:chmod超级详细讲解
  14. 这么用 if-else,小鹿差点被辞退!
  15. 病毒防治:清除***从它的寄生地开始
  16. wpf matlab混编,WPF(C#)与MATLAB混合编程
  17. 图形界面介绍Create Pin Blockage
  18. c++ linux utf-8 编码 中文汉字分割(超简单代码)
  19. 学校计算机教室防火墙,学校网络及电脑教室建设方案
  20. 关于时钟周期、状态周期、机器周期、指令周期的解释_普中_89C52单片机

热门文章

  1. 报表如何集成 echarts 官网示例图
  2. linux下删除服务
  3. matlab差分法解拉普拉斯方程,拉普拉斯方程有限差分法的MATLAB实现
  4. 字节跳动 录屏功能_非常值得推荐,字节跳动出品的一款协同办公软件。
  5. DOS窗口执行Jmeter测试脚本生成html报告
  6. eclipse断点调试(方立勋老师)
  7. 用VBA制作Excel单选框和多选框
  8. 网络通信基础——网络协议
  9. elasticsearch所有版本的x-pack-sql-jdbc下载地址
  10. 分享一个鼠标宏软件(XMouseButtonControl)用于替换logitech option等软件