什么是数据建模

什么是数据建模,第1张

数据建模是一个用于定义和分析在组织的信息系统范围内支持商业流程所需的数据要求的过程。简单来说,数据建模是基于对业务数据的理解和数据分析的需要,将各类数据进行整合和关联,使得数据可以最终以可视化的方式呈现,让使用者能够快速地、高效地获取到数据中有价值的信息,从而做出准确有效的决策。

之所以数据建模会变得复杂且难度大,是因为在建模过程中会引入数学公式或模型,用于确定数据实体之间的关联关系。不同的业务逻辑和商业需求需要选择不同的数学公式或模型,而且,一个好的数据模型需要通过多次的测试和优化迭代来完成,这就使得数据建模的难度变得很高。但是,数据分析中的建模并没有想象中的那么高深莫测,人人都可以做出适合自己的模型。

数据建模总归是为了分析数据从而解决商业问题。如下图数据建模的流程图,数据建模核心部分是变量处理和模型搭建。

变量处理

在建模之前,首先要决定选择哪些变量进行建模,主要从业务逻辑和数据逻辑两方面来考虑。业务逻辑需要了解数据来源的背景,通过了解业务知识来判断哪些变量在业务上很有价值的,哪些变量是可以选择的。数据逻辑则是从数据的完整性,集中度,是否与其他变量强相关等角度来考虑。

除了选择变量,对于一些变量的重构也是需要在建模前进行。例如客户的满意度有“满意”“不满意”,可以将其重构成数字“0”和“1”,便于后续建模使用。除此以外,还有将变量单独计算(取平均值)和组合计算(如AB)也是常用的重构方法,例如,缺失值以数据取平均值的方式替换。

模型搭建

在模型搭建时,会经历选择算法、设定参数、加载算法、测试结果四个过程。在这个过程中,测试结果会引导调整之前设定的参数,加载算法会对应调整之前选择的算法,而选择算法时会考虑到已定的变量,如果变量不满足算法要求,还需回到选择/重构变量,直至得到最合适的模型。

在优化模型的过程中,模型的解释能力和实用性会不断地提升。在结果输出之后,还需接收业务人员的反馈,看看模型是否解决了他们的问题,如果没有,还需进一步修改和调整。

MicroStrategy在数据领域深挖企业需求,经过多年的研究和沉淀,结合众多复杂的应用场景,不断更新体验,深入开发各种数据辅助功能,使客户可以一站式链接各类型数据资源,完成数据导入和数据建模。在MicroStrategy 平台中,既支持传统方式数据建模,即通过Project Schema 来进行建模,又支持自助式数据导入的建模方式。

erwin数据建模器,PowerDesigner。根据查询数据建模软件显示,民警动态数据建模软件有erwin数据建模器,PowerDesigner,erwin数据建模器是一种成本低廉但功能强大的企业解决方案,符合治理数据库规则。它是现有的顶级数据建模工具之一。erwin数据建模器的一些特性包括基于云计算的数据解决方案、自动模式生成和构建混合架构的能力。该软件有几个版本,其中包括一个标准版。企业需要的数据中心取决于其数据规模大小和需求。

大学计算机专业数据库方向:

1、数据库应用开发(applicationdevelopment)

除了基本的SQL方面的知识,还要对开发流程,软件工程,各种框架和开发工具等等

数据库应用开发这个方向上的机会最多,职位最多。

2、数据建模专家(datamodeler)

除了基本的SQL方面的知识,非常熟悉数据库原理,数据建模负责将用户对数据的需求转化为数据库物理设计和物理设计,这个方向上在大公司(金融,保险,研究,软件开发商等)有专门职位,在中小公司则可能由程序员承担。

3、商业智能专家(business-BI)

主要从商业应用,最终用户的角度去从数据中获得有用的信息,涉及OLAP(onlineanalyticalprocessing),需要使用SSRS,cognos,crystalreport等报表工具,或者其他一些数据挖掘,统计方面的软件工具。

4、ETL开发(ETLDeveloper)

使用ETL工具或者自己编写程序在不同的数据源之间对数据进行导入,导出,转换,所接触的数据库一般数据量非常大,要求进行的数据转换也比较复杂和数据仓库和商业智能的关系比较密切。在一些数据库应用规模很大的公司里面有专门的职位,中小公司里面则可能由程序员或者DBA负责这方面的工作。

5、数据构架师(DataArchitect)

主要从全局上制定和控制关于数据库在逻辑这一层的大方向,也包括数据可用性,扩展性等长期性战略,协调数据库的应用开发,建模,DBA之间的工作。这个方向上在大公司(金融,保险,研究,软件开发商等)有专门职位,在中小公司或者没有这个职位,或者由开发人员,DBA负责。

6、数据库管理员(database-DBA)

数据库的安装,配置,调优,备份/恢复,监控,自动化等,协助应用开发(有些职位还要求优化SQL,写存储过程和函数等)。这个方向上的职位相对少一些,但一般有点规模的公司还是会有这样的职位

7、数据仓库专家(datawarehouse-DW)

应付超大规模的数据,历史数据的存储,管理和使用,和商业智能关系密切,很多时候BI和DW是放在一个大类里面的,但是我觉得DW更侧重于硬件和物理层上的管理和优化。

8、存储工程师(storageengineer)

专门负责提供数据存储方案,使用各种存储技术满足数据访问和存储需求,和DBA的工作关系比较密切。对高可用性有严格要求(比如通信,金融,数据中心等)的公司通常有这种职位,这种职位也非常少。

9、性能优化工程师(performanceengineer)

专长数据库的性能调试和优化,为用户提供解决性能瓶颈方面的问题。也有专门的性能优化工程师,负责为其数据库产品和关键应用提供这方面的技术支持。对数据库性能有严格要求的公司(比如金融行业)可能会有这种职位。因为针对性很强,甚至要求对多种数据库非常熟悉,所以职位极少。

10、高级数据库管理员(seniorDBA)

在DBA的基础上,还涉及上面3种职位的部分工作,具体包括下面这些:对应用系统的数据(布局,访问模式,增长模式,存储要求等)比较熟悉。对性能优化非常熟悉,可以发现并优化从SQL到硬件I/O,网络等各个层面上的瓶颈,对于存储技术相对熟悉,可能代替存储工程师的一些工作,对数据库的高可用性技术非常熟悉(比如MSSQL的集群,ORACLERAC/FailSafe,IBM的DPF,HADR等),对大规模数据库有效进行物理扩展(比如表分区)或者逻辑扩展(比如数据库分区,联合数据库等)。熟悉各种数据复制技术,比如单向,双向,点对点复制技术,以满足应用要求。灾难数据恢复过程的建立,测试和执行。这种职位一般只在对数据库要求非常高并且规模非常大(比如金融,电信,数据中心等)的公司需要,而且这种公司一般有一个专门独立负责数据库的部门或组。这种职位非常少。

从目前的数据库及数据仓库建模方法来说,主要分为四类。

第一类是大家最为熟悉的关系数据库的三范式建模,通常我们将三范式建模方法用于建立各种 *** 作型数据库系统。

第二类是Inmon提倡的三范式数据仓库建模,它和 *** 作型数据库系统的三范式建模在侧重点上有些不同。Inmon的数据仓库建模方法分为三层,第一层是实体关系层,也即企业的业务数据模型层,在这一层上和企业的 *** 作型数据库系统建模方法是相同的;第二层是数据项集层,在这一层的建模方法根据数据的产生频率及访问频率等因素与企业的 *** 作型数据库系统的建模方法产生了不同;第三层物理层是第二层的具体实现。

第三类是Kimball提倡的数据仓库的维度建模,我们一般也称之为星型结构建模,有时也加入一些雪花模型在里面。维度建模是一种面向用户需求的、容易理解的、访问效率高的建模方法,也是笔者比较喜欢的一种建模方式。

第四类是更为灵活的一种建模方式,通常用于后台的数据准备区,建模的方式不拘一格,以能满足需要为目的,建好的表不对用户提供接口,多为临时表。

下面简单谈谈第四类建模方法的一些的经验。

数据准备区有一个最大的特点,就是不会直接面对用户,所以对数据准备区中的表进行 *** 作的人只有ETL工程师。ETL工程师可以自己来决定表中数据的范围和数据的生命周期。下面举两个例子:

1)数据范围小的临时表

当需要整合或清洗的数据量过大时,我们可以建立同样结构的临时表,在临时表中只保留我们需要处理的部分数据。这样,不论是更新还是对表中某些项的计算都会效率提高很多。处理好的数据发送入准备加载到数据仓库中的表中,最后一次性加载入数据仓库。

2)带有冗余字段的临时表

由于数据准备区中的表只有自己使用,所以建立冗余字段可以起到很好的作用而不用承担风险。

举例来说,笔者在项目中曾遇到这样的需求,客户表{客户ID,客户净扣值},债项表{债项ID,客户ID,债项余额,债项净扣值},即客户和债项是一对多的关系。其中,客户净扣值和债项余额已知,需要计算债项净扣值。计算的规则是按债项余额的比例分配客户的净扣值。这时,我们可以给两个表增加几个冗余字段,如客户表{客户ID,客户净扣值,客户余额},债项表{债项ID,客户ID,债项余额,债项净扣值,客户余额,客户净扣值}。这样通过三条SQL就可以直接完成整个计算过程。将债项余额汇总到客户余额,将客户余额和客户净扣值冗余到债项表中,在债项表中通过(债项余额×客户净扣值/客户余额)公式即可直接计算处债项净扣值。

另外还有很多大家可以发挥的建表方式,如不需要主键的临时表等等。总结来说,正因为数据准备区是不对用户提供接口的,所以我们一定要利用好这一点,以给我们的数据处理工作带来最大的便利为目的来进行数据准备区的表设计。

楼上说的到真的是,可以引用虚拟数据库里的元素,这样做的一个优点之一是可以降低开发的难度,因为不用要求开发人员了解数据结构就能开发了,变相的也提高了 开发效率,其二是将业务层与物理层,即需求和存储切分开来,使系统的架构更易读、合理。

缺点嘛,因为多了一层,所以在系统运行时会多一层解析,理论上说会降低系统的速度,但实际上也影响不大,其 二是这种手段适用于大中型系统的开发,对数据结构简单,就用到几张数据库表的小系统而言,难免会有画蛇添足 之嫌。

贴一个我正在做的数据建模。

1、MySQLWorkbench

MySQLWorkbench是一款专为MySQL设计的ER/数据库建模工具。它是著名的数据库设计工具DBDesigner4的继任者。你可以用MySQLWorkbench设计和创建新的数据库图示,建立数据库文档,以及进行复杂的MySQL迁移

MySQLWorkbench是下一代的可视化数据库设计、管理的工具,它同时有开源和商业化的两个版本。该软件支持Windows和Linux系统,下面是一些该软件运行的界面截图:

2、数据库管理工具NavicatLite

NavicatTM是一套快速、可靠并价格相宜的资料库管理工具,大可使用来简化资料库的管理及降低系统管理成本。它的设计符合资料库管理员、开发人员及中小企业的需求。Navicat是以直觉化的使用者图形介面所而建的,让你可以以安全且简单的方式建立、组织、存取并共用资讯。

以上就是关于什么是数据建模全部的内容,包括:什么是数据建模、民警动态数据建模软件有哪些、大学计算机专业数据库方向(计算机大数据专业就业方向)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10158886.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存