数据库是管理数据的技术,发展了以数据建模和数据库管理系统核心技术为主,内容丰富、领域宽广的一门学科,带动了一类巨大的软件产业——数据库管理系统(DBMS)产品及其相关工具和解决方案。
数据模型是数据库系统的核心和基础。
数据库技术发展的一个显著特征是数据库技术与其他计算机技术相结合。
2.1 第一代数据库系统
2.1.1 分类
1)层次模型数据库管理系统: 层次模型数据库管理系统的数据模型为层次模型--网状模型的特例
2)网状模型数据库管理系统: 网状模型数据库管理系统的数据模型为网状模型。
它俩的共同特点:
1.支持三级模式(外模式、内模式、模式)的体系结构
2.用存取路径来表示数据之间的联系
3.独立的数据定义语言
4.导航的数据操纵语言
2.1.2 两类代表
1)1969年IBM公司研制的层次模型数据库管理系统IMS
2)DBTG所提议的方法是基于网状结构的,是网状模型数据库系统的典型代表
2.1.3 共同特点
1)支持三级模式(外模式、模式、内模式)的体系结构。
2)用存取路径来表示数据之间的联系。
3)独立的数据定义语言。
4)导航的数据操纵语言。
2.2 第二代数据库系统
2.2.1 概述
关系数据库系统,20世纪70年代称为数据库时代。
2.2.2 概念
关系数据库是以关系模型为基础。
关系模型是由数据结构、关系操作和数据完整性三部分组成。
关系代数作为语言基础,由关系数据理论作为理论基础。
2.2.3 发展史
20世纪70年代是关系数据库理论研究和原型开发的时代,其主要成果有:
1)E.F.Codd在其发表的论文中提出了数据库的关系模型,奠定了关系模型的理论基础,给出了人们一致接受的关系模型的规范说明。
2)研究了关系数据语言,有关系代数、关系演算、SQL语言及QBE等。
3)研制了大量的RDBMS的原型,攻克了系统实现中查询优化、并发控制、故障恢复等一系列关键技术。
2.2.4 特点
1)模型简单清晰
2)理论基础好
3)数据独立性强
4)数据库语言非过程化
5)标准化
2.3 第三代数据库系统
2.3.1 特点
1)应支持数据管理、对象管理和知识管理
2)必须保持或继承第二代数据库系统的技术
3)必须对其他系统开放
2.4 数据库技术与人工智能技术相结合出现的数据库系统是主动数据库系统。
1.1 计算机数据处理工作的类型:
1)操作型处理:也称为联机事务处理(OLTP),针对具体业务在数据库联机的日常操作
2)分析型处理:也称为联机分析处理(OLAP),通常是对海量的历史数据查询和分析
1.2 数据仓库的概念
数据仓库(Data Warehouse,DW)是面向主题的、集成的、稳定的、随时间变化的数据集合,用以支持管理决策的过程。数据仓库不是可以买到的产品,而是一种面向分析的数据存储方案。
特征:面向主题、集成性、数据的非易失性、数据的时变性
1.3 数据仓库的三个概念
1)粒度:粒度是指数据仓库的数据单位中保存数据的细化或综合程度的级别,细化程度越高,粒度级就越小,相反地,细化程度越低,粒度级就越大。
2)分割:分割是指把逻辑上是统一整体的数据分割成较小的、可以独立管理的物理单元进行存储,以便于重构、重组和恢复,以提高创建索引和顺序扫描的效率。
3)维
2.1 概念
数据挖掘是从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中发现并提取隐藏在其中的、人们事先不知道的、但又是潜在有用的信息和知识的一种技术。又被称为知识发现。
OLAP:数据汇总/聚集工具,可简化数据分析,简化和支持交互式数据分析
数据挖掘:自动地发现隐藏在大量数据中的隐含模式和有趣知识,尽可能自动处理
2.2 功能
1)概念描述:通过数据挖掘技术,可以归纳总结出数据的某些特征。
2)关联分析:其目的是找出数据库中隐藏的关联网。
3)分类与预测:分类找出一个类别的概念描述,它代表了这类数据的整体信息。
4)聚类:把数据按照相似性归纳成若干类别。
5)孤立点检测:指数据中与整体表现行为不一致的数据集合。
6)趋势和演变分析:通过数据挖掘技术,可以描述行为随着时间变化的对象所遵循的规律或趋势。
2.3 步骤
1)确定业务对象
2)数据的选择
3)数据的预处理
4)建模
5)模型评估
6)模型部署
大数据是指无法在可容忍的时间内用现有信息技术和软、硬件工具对其进行感知、获取、管理、处理的服务的数据集合。“大数据”一词,是从2008年开始被广泛传播的。
1)大量化
2)多样化
3)快速化
4)价值密度低
1)大数据存储(分布式文件系统)
2)NoSQL数据管理系统
3)MapReduce技术:以Key/Value的分布式存储系统为基础,通过元数据集中存储、数据以chunk为单位分布存储和数据chunk冗余复制来保证其高可用性。
1)键值存储:NOSQL数据库采用最多的数据存储方式,适合通过主键进行查询或遍历。有Tokyo Cabinet、Redis和Oracle BDB等
2)文档存储:适合存储系统日志等非结构化数据,可以通过复杂的查询条件来获取数据。有CouchDB、MongoDB等
3)列存储:比较适合对某一列进行随机查询处理,主要应用于需要处理大量数据的情况。Cassandra、HBase等
4)图存储:图存储数据库是基于图理论构建的,使用结点、属性和边的概念。