经济管理数据库建设和信息系统开发的总体构想

经济管理数据库建设和信息系统开发的总体构想,第1张

一、经济管理数据建设的总体目标

1数据库基本原理

(1)数据库概念。数据库是用来存储信息或数据的机制。在数据库中,用户可以按照特定的方式存储数据,一旦数据被存储在数据库中,用户可以方便查询这些信息,同时,用户也可以设定一定条件来查询所需要的信息。

在数据库中,表是数据物理存储的最主要、最基本的单位。用户访问数据库时,通常是从表中查询所需要的数据,数据库可以由多张表组成,但这些表之间存在着一定关系。

(2)数据库设计。在数据库设计工作全面开展之前,设计人员必须花一些时间来理解数据所涉及到的工作过程和工作内容,主要包括工作的实体、数据以及规则,并且把这些业务属性转换为业务模型,这些工作就是数据库设计过程,其包括3个基本阶段:第一,需求信息的惧阶段;第二,数据建模阶段;第三,数据库设计和规范化阶段。

2经济管理数据库建设的总体目标

中央公益性地质调查队伍经济管理数据库建设的总体目标是:建立中央公益性地质调查队伍预算(含绩效)管理数据库、财务信息数据库、综合统计数据库,并进行数据跟踪更新,见图11-1。以这3个数据为基础,根据工作需要建立综合分析数据库,为用户提供基础资料和数据。

图11-1 中央公益性地质调查队伍经济管理数据库建设的总体目标

二、经济管理信息系统开发的总体思路

1管理信息系统

(1)概念。经济管理信息系统是以数据为为中心,在实施方案阶段,完成经济管理数据处理、常规化的管理工作。它完成经济管理大多数数据的收集、加工和存储,是经济管理的信息源,是经济管理信息系统的基础。这与经济管理工作中紧密相关,因此该类系统的开发受实际工作的管理模式、运作模式、管理过程和职能的影响。

(2)特征。管理信息系统主要特征是人机系统特征,主要反映在系统的人机分工及系统如何构建、运行和评价等方面。人机系统主要是要求系统在人与计算机之间应该有个合理的分工,能让计算机完成的工作应尽量由计算机来完成,但某些不可预见因素的制约,可以让有些信息处理由人工来完成。

管理系统的人机特点,影响着系统开发者和系统用户的知识结构,“以计算中为基础”要求系统的开发者必须具备计算机及其在信息处理中应用的知识,要求开发者应了解人作为系统组成部分的能力以及人作为信息使用者的各种行为。

(3)经济管理信息系统开发的总体思路。中央公益性地质调查队伍经济管理信息系统是由若干个子系统组成,各子系统具有自己本身的经济管理功能,具体涉及经济管理某方面,但它们之间又相互联系,通过共同的数据结构模式,实现数据信息的共享。

经济管理信息系统开发的总体思路是确定中央公益性地质调查队伍经济管理的需求,把这些需求分解成若干个下一级需求,按照需求分别开发子系统,以预算管理信息系统、财务信息系统和综合统计管理信息系统为基础,逐渐开发各种综合分析系统群,见图11-2。

图11-2 中央公益性地质调查队伍经济管理信息系统

三、经济管理信息系统的功能

经济管理信息系统的功能是使用户通过可以完成各种工作,例如数据的处理、管理过程的实现等。

按经济管理的内容不同,可以分为多个管理子系统,且各种子系统所组成的要素不同,管理的重点也不同,因此系统的功能也不同。但每个子系统都专门为管理某方面而开发,其功能具有专属性。

1、建立公司表

id1 name

2、建立部门表

id2 name

3、建立岗位表

id3 name

4、建立公司 部门映射表

id4 companyId departmentId

表示每个companyId(id1)公司下都有哪些部门departmentId(od2)

4、建立公司 部门映射表

id4 jobid

表示每个部门映射表Id下都有哪些岗位

应尽量避免全表扫描,首先应考虑在 where 及 order by ,group by 涉及的列上建立索引

可以帮助选择更好的索引和优化查询语句, 写出更好的优化语句。 通常我们可以对比较复杂的尤其是涉及到多表的 SELECT 语句, 把关键字 EXPLAIN 加到前面, 查看执行计划。例如: explain select from news;

用具体的字段列表代替“” , 不要返回用不到的任何字段。

mysql innodb上的理解。

1,不需要的字段会增加数据传输的时间,即使mysql服务器和客户端是在同一台机器上,使用的协议还是tcp,通信也是需要额外的时间。

2,要取的字段、索引的类型,和这两个也是有关系的。举个例子,对于user表,有name和phone的联合索引,select name from user where phone= 12345678912 和 select from user where phone= 12345678912 ,前者要比后者的速度快,因为name可以在索引上直接拿到,不再需要读取这条记录了。

3,大字段,例如很长的varchar,blob,text。准确来说,长度超过728字节的时候,会把超出的数据放到另外一个地方,因此读取这条记录会增加一次io *** 作。

比如from_unixtime(create_time) = ’2014-05-29’就不能使用到索引,原因很简单,b+树中存的都是数据表中的字段值,但进行检索时,需要把所有元素都应用函数才能比较,显然成本太大。所以语句应该写成create_time = unix_timestamp(’2014-05-29’);

使用 procedure analyse()函数对表进行分析, 该函数可以对表中列的数据类型提出优化建议。 能小就用小。 表数据类型第一个原则是: 使用能正确的表示和存储数据的最短类型。 这样可以减少对磁盘空间、 内存、 cpu 缓存的使用。

使用方法: select from 表名 procedure analyse();

通过拆分表可以提高表的访问效率。 有 2 种拆分方法

1垂直拆分

把主键和一些列放在一个表中, 然后把主键和另外的列放在另一个表中。 如果一个表中某些列常用, 而另外一些不常用, 则可以采用垂直拆分。

2水平拆分

根据一列或者多列数据的值把数据行放到二个独立的表中。

创建中间表, 表结构和源表结构完全相同, 转移要统计的数据到中间表, 然后在中间表上进行统计, 得出想要的结果。

选择多核和主频高的 CPU。

使用更大的内存。 将尽量多的内存分配给 MYSQL 做缓存。

431 使用磁盘阵列

RAID 0 没有数据冗余, 没有数据校验的磁盘陈列。 实现 RAID 0至少需要两块以上的硬盘, 它将两块以上的硬盘合并成一块, 数据连续地分割在每块盘上。

RAID1 是将一个两块硬盘所构成 RAID 磁盘阵列, 其容量仅等于一块硬盘的容量, 因为另一块只是当作数据“镜像”。使用 RAID-0+1 磁盘阵列。 RAID 0+1 是 RAID 0 和 RAID 1 的组合形式。 它在提供与 RAID 1 一样的数据安全保障的同时, 也提供了与 RAID 0 近似的存储性能。

432 调整磁盘调度算法

选择合适的磁盘调度算法, 可以减少磁盘的寻道时间

对 MySQL 自身的优化主要是对其配置文件 mycnf 中的各项参数进行优化调整。 如指定 MySQL 查询缓冲区的大小, 指定 MySQL 允许的最大连接进程数等。

它的作用是存储 select 查询的文本及其相应结果。 如果随后收到一个相同的查询, 服务器会从查询缓存中直接得到查询结果。 查询缓存适用的对象是更新不频繁的表, 当表中数据更改后, 查询缓存中的相关条目就会被清空。

在大数据时代,“多种架构支持多类应用”成为数据库行业应对大数据的基本思路,数据库行业出现互为补充的三大阵营,适用于事务处理应用的OldSQL、适用于数据分析应用的NewSQL和适用于互联网应用的NoSQL。但在一些复杂的应用场景中,单一数据库架构都不能完全满足应用场景对海量结构化和非结构化数据的存储管理、复杂分析、关联查询、实时性处理和控制建设成本等多方面的需要,因此不同架构数据库混合部署应用成为满足复杂应用的必然选择。不同架构数据库混合使用的模式可以概括为:OldSQL+NewSQL、OldSQL+NoSQL、NewSQL+NoSQL三种主要模式。下面通过三个案例对不同架构数据库的混合应用部署进行介绍。

OldSQL+NewSQL 在数据中心类应用中混合部署

采用OldSQL+NewSQL模式构建数据中心,在充分发挥OldSQL数据库的事务处理能力的同时,借助NewSQL在实时性、复杂分析、即席查询等方面的独特优势,以及面对海量数据时较强的扩展能力,满足数据中心对当前“热”数据事务型处理和海量历史“冷”数据分析两方面的需求。OldSQL+NewSQL模式在数据中心类应用中的互补作用体现在,OldSQL弥补了NewSQL不适合事务处理的不足,NewSQL弥补了OldSQL在海量数据存储能力和处理性能方面的缺陷。

商业银行数据中心采用OldSQL+NewSQL混合部署方式搭建,OldSQL数据库满足各业务系统数据的归档备份和事务型应用,NewSQL MPP数据库集群对即席查询、多维分析等应用提供高性能支持,并且通过MPP集群架构实现应对海量数据存储的扩展能力。

数据库设计的基本步骤如下:

1、安装并打开MySQL WorkBench软件以后,在软件的左侧边栏有三个选项,分别是对应“连接数据库”、“设计数据库”、“迁移数据库”的功能。这类选择第二项,设计数据库,点击右边的“+”号,创建models。

2、进入MySQL Model界面后,点击“Add Diagram"。

3、然后就进入了EER Diagram的设计页面。可以从左侧的图标中选择要创建的资源。鼠标停留在图标上3秒后,会提示资源的类型。选择资源后,可以在设计页面上方选择属性。

4、这里添加了一张数据库表,添加后,双击,在页面的底部会出现数据库表的编辑框。

5、这里创建一张user表,设置了id、name、age三列。

6、还可以创建外键,左侧提供了四种外键类型。点击后,只需要用鼠标分别选中要关联的两个表即可。Workbench会自动生成对应的外键。

7、在文件、导出中,可以选择导出为sql脚本。

8、下图是导出过程sql脚本的过程。

我建议你不如专门做一个加分记录表,就是把加分的部分独立出来,连1-12月的固定加分也做的这个表去,可以用一个字段说明。不过这样做的话,当你存数据的时候,就要用到存储过程来写了。

我的具体实施是:

人员表:ID编号,姓名,总得分,(后面还可以加些是否启用等标识)

分数记录表:ID编号,分数编号,得分,得分时间,固定加分标识,是否启用

如果这样写的话,就算满一年也可以继续用下去,你上面的设计基本上1年以后一考虑过么?

但这样设计的话,需要你写2个存储过程,一个是每次增加分数记录表的时候需要在人员表那进行更新总得分;另一个是当分数记录表那的更新为停用时,也需要在人员表那进行删减。

以上就是关于经济管理数据库建设和信息系统开发的总体构想全部的内容,包括:经济管理数据库建设和信息系统开发的总体构想、关于数据库建表的思路问题、浅谈数据库查询优化的几种思路等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/sjk/9526014.html

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

发表评论

登录后才能评论

评论列表(0条)

保存