数据库应用设计

本文共--字 阅读约--分钟 | 浏览: -- Last Updated: 2021-04-18

一、需求描述与分析

以数据库的生命周期为演化主线,数据库应用软件的设计与开发过程可由需求分析、系统功能与数据库的设计、系统功能与数据库的实现、测试与维护等阶段构成。

二、系统设计

根据系统的功能模块设计结果,以及前期的需求分析,可首先明确本系统的数据库范围,然后可通过使用 E-R 图作为数据库概念设计的描述工具,建立本系统所涉及的局部信息结构,再将各个局部信息结构合并成为一个优化的全局信息结构,最后将全局信息结构的 E-R 图转换为关系模型并依据关系数据库规范化理论进行优化。

在构建出上述局部信息结构的基础上,通过采用逐步合并进行累加的方式,以及消除可能存在的属性冲突命名冲突结构冲突,最终形成一个本系统的全局信息结构。

三、系统实现

完成数据库及其基本数据表的创建之后,就可以根据系统业务功能分析的结果,开展系统功能实现的编码工作了,这其中包括实现必要的数据库行为应用软件的业务逻辑

实现数据库行为是实现 数据库行为设计 的结果主要是通过SQL语言完成与本应用功能相关的增、删、改、查等数据库操作,也包括为提高数据库操作效率保护数据库安全而创建的各种数据库对象,例如子查询、视图、触发器、存储过程或存储函数等。

在 MySQL 中,只有使用了 InnoDB 引擎 的数据库或表才支持事务。

在数据库应用系统中数据查询是最常用的功能,其应根据用户提出的查询条件实现相应的查询功能。其中,生成统计报表是很多数据库应用软件所提供的一个功能。

系统实现阶段的开发工作主要是根据系统功能设计的结果,分别逐个实现各个功能模块。其中,各模块与底层数据库的交互操作,是通过应用软件的编程语言 进行封装的。

四、系统测试与维护

完成系统的实现工作之后,在正式交付用户使用之前,需要对所开发的系统进行必要的测试 验证其是否满足用户的功能要求,并根据测试的结果,以及用户的反馈意见,对该系统进行进一步的修改、完善和维护工作。

五、数据技术发展概述

数据库技术是计算机科学技术中发展最快的领域之一,也是应用最广的技术之一,它已成为计算机信息系统与智能应用系统的核心技术和重要基础。

1.数据模型

数据模型 是数据库系统的核心和基础。以数据模型的发展为主线,数据库技术可以分为三个发展阶段:

1.1、第一代数据库系统:层次、网状模型

第一代数据库系统的特点:

  • 支持三级模式的体系结构;
  • 用存取路径来表示数据之间的联系;
  • 独立的数据定义语言;
  • 导航的数据操纵语言。

两类代表: IMS、DBTG。

1.2、第二代数据库系统:关系数据模型

关系数据库是以关系模型为基础,而关系模型是由数据结构关系操作数据完整性三部分组成。

特点:

  • 模型简单清晰;
  • 理论基础好;
  • 数据独立性强;
  • 数据库语言非过程化和标准化。

1.3、新一代数据库系统:面向对象模型

还未有完全满足的第三代数据系统面世,第三代数据库系统应具有三个基本特征:

  • 应支持数据管理、对象管理和知识管理;
  • 必须保持或继承第二代数据库系统的技术;
  • 必须对其他系统开放。

说明:

1.第三代数据库系统应该是以支持面向对象数据模型为主要特征的数据库系统。
2.第三代数据库系统必须保持第二代数据库系统的非过程化数据存取方式和数据独立性。
3.数据库系统的开放性表现在:支持数据库语言标准;在网络上支持标准网络协议;系统具有良好的可移植性、可连接性、可扩展性和互操作性等。

2.数据库系统

数据库技术与其他计算机技术相结合出现各种数据库系统:

数据库技术 + 分布式处理技术 => 分布式数据库系统;
数据库技术 + 并行处理技术 => 并行数据库系统;
数据库技术 + 人工智能技术 => 演绎数据库、知识库和主动数据库系统等;
数据库技术 + 多媒体技术 => 多媒体数据库系统;
数据库技术 + 模糊技术 => 模糊数据库系统;
数据库技术 + 移动通信技术 => 移动数据库系统;
数据库技术 + +Web 技术 => Web 数据库。

六、数据仓库与挖掘技术

随着数据库、计算机网络和人工智能等技术的广泛应用,诞生了一项新的数据管理技术————数据仓库、联机分析处理 和 数据发掘/知识发现技术。

计算机系统中存在着两类不同的数据处理工作:

  • 操作型处理,也称为联机事务处理(OLTP)。
  • 分析型处理,也称为联机分析处理(OLAP)。

传统的数据库技术为操作型处理服务,数据仓库为分析型处理服务。

数据仓库是面向主题的、集成的、稳定的、随时间变化的数据集合,用以支持管理决策的过程。

数据仓库主要有以下特征:

  • 面向主题:数据仓库中的数据是按照各种主题来组织的。主题在数据仓库中的物理实现是一系列的相关表。

  • 集成性:将来自不同数据源的数据集成起来,使之遵循统一的编码规则。

  • 数据的非易失性:数据经加工和集成进入数据仓库后是极少更新的,通常只需要定期加载和更新。

  • 数据的时变性:需要不断捕捉 OLTP 数据库中变化的数据,生成数据库的快照,经集成后增加到数据仓库中去;需删除过期、对分析没有帮助的数据;按规定的时间段增加综合数据。

1.数据仓库的重要概念

数据仓库常用的重要概念有三个:粒度、分割、维。

1.1、粒度

  • 粒度问题是设计数据仓库的一个最重要的方面。
  • 粒度是指数据仓库的数据单位中保存数据的细化或综合程度的级别,细化程度越高,粒度级就越小。
  • 在数据仓库环境中,粒度之所以是主要的设计问题,是因为它深深地影响存储在数据仓库中的数据量的大小,同时影响数据仓库所能回答的查询类型

1.2、分割

  • 分割是将数据分散到各自的物理单元中,以便能分别处理,以提高数据处理的效率。
  • 数据分割后的单元称为切片。

1.3、维

  • 维是人们观察数据的特定角度,是考虑问题时的一类属性。此类属性的集合构成一个维度。
  • 维可以有细节程度的不同描述方面,这些不同描述方面称为维的层次,维层次中维的一个取值称为维的一个成员。

2.数据集市

数据集市的基本思想是自下而上的数据仓库的开发方法。

数据集市结构的数据仓库又称为主题结构数据仓库,是按照主题进行构思所形成的数据仓库。

数据集市一般分为:

  • 独立的数据集市;
  • 从属的数据集市;
  • 独立或从属的数据集市这两者的混合。

3.数据挖掘技术

数据挖掘 是从大量的不完全的有噪声的模糊的随机的实际应用数据中发现并提取隐藏在其中的、人们事先不知道的、但又是潜在有用的信息和知识的一种技术。

在数据库技术中,数据处理基于询,可以发现有用的信息。

在数据仓库技术中,OLTP是数据汇总/聚集工具,可帮助简化数据分析,而数据挖掘是自动地发现隐藏在大量数据中的隐含方式和有趣知识。

数据挖掘具备的功能有以下几点:

  1. 概念描述:通过数据挖掘技术,可以归纳总结出数据的某些特征。

  2. 关联分析:基于关联规则的挖掘是应用较广的一种方法。数据关联是数据库中存在的一类重要的可被发现的知识。若两个或多个变量的取值之间存在某种规律性,就称为关联。常见的关联分析算法有AprioriFP Growth 等。

  3. 分类与预测:分类就是找出一个类别的概念描述,它代表了这类数据的整体信息,即该类的内涵描述,并用这种描述来构造模型,一般用规则或决策树模式表示。常见的分类模型及算法有决策树模型、神经网络模型、线性回归模型等。

  4. 聚类:把数据按照相似性归纳成若干类别,同一类中的数据彼此相似,不同类中的数据相异。常用的聚类算法有K-MeansGMM等。

  5. 孤立点检测:孤立点是指数据中与整体表现行为不一致的数据集合。

  6. 趋势和演变分析:通过数据挖掘技术,可以描述行为随着时间变化的对象所遵循的规律或趋势。

数据挖掘的六个步骤:

  1. 确定业务对象:认清数据挖掘的目的是数据挖掘的重要一步;

  2. 数据的选择:数据有两种来源,从数据仓库中来,或是直接从数据库中来;

  3. 数据的预处理:实际应用数据往往是不完全的、有噪声的、模糊的、随机的,因此要根据不同的需求在挖掘之前进行预处理

  4. 建模;

  5. 模型评估;

  6. 模型部署;

七、大数据管理技术

大数据通常被认为是数据量很大、数据形式多样化的数据。例如 EMC 公司认为一般在 10TB 规模左右。IBM 则把大数据概括为4个V:大量化(Volume)、多样化(Variety)、快速化(Velocity)、真实性(Verity);

大数据是指无法在可容忍的时间内用现有信息技术和软、硬件工具对其进行感知、获取、管理、处理的服务的数据集合,具有如下特征:

  • 数据量巨大,即大量化(Volume)
  • 数据种类繁多,即多样化(Variety)
  • 处理速度快,即快速化(Velocity)
  • 价值(Value)密度低。

1.大数据管理技术典型代表

1.1、HDFS

HDFS(Hadoop Distributed FileSystem): Hadoop开源架构下的分布式文件系统,以大粒度数据块的方式存储文件,从而减少元数据的数量,这些数据块则通过随机方式选择不同的节点并存储在各个地方。

1.2、NoSQL

NoSQL 是以互联网大数据应用为背景发展起来的分布式数据管理系统。NoSQL 支持的数据存储模型有:

  • 键值(Key-Value)模型

Key-Value 存储是 NoSQL 数据库采用最多的数据存储方式,它的数据是以 Key-Value 的形式存储的。常见的键值存储数据库包括 Tokyo Cabinet/Tyrant、Redis 和 Oracle BDB 等。

  • 文档(Document)模型

文档存储的存储格式可以多样化,适合存储系统日志等非结构化数据。常见的文档型数据库有CouchDB、MongoDB等。与 Key-Value 存储不同的是,它可以通过复杂的查询条件来获取数据。

  • 列(Column)模型

列存储是以列为单位来存储数据的,擅长以列为单位读入数据,比较适合对某一列进行随机查询处理。常见的列存储数据库有Cassandra、Hbase 等。

  • 图(Graph)模型

图存储数据库是基于图理论构建的,使用结点、属性和边的概念结点代表实体,属性保存与结点相关的信息,而边用来连接结点,表示两者关系。

1.3、MapReduce

MapReduce 技术是 Google 公司于 2004 年提出的大规模并行计算解决方案。以 Key/Value 的分布式存储系统为基础,通过元数据集中存储、数据以 chunk 为单位分布存储和数据 chunk 冗余复制来保证其高可用性。

MapReduce是一种并行编程模型。它把计算过程分解为两个阶段:Map 阶段和 Reduce 阶段。