软件设计师考试 | 第九章 数据库技术基础 | 基本概念
(一)数据库与数据库系统
数据库系统(DBS
)是一个采用了数据库技术,有组织、动态地存储大量相关数据,方便多用户访问的计算机系统。
组成:
- 数据库(
DB
)
数据库是统一管理的、长期存储在计算机内的、有组织的相关数据的集合。 - 硬件
硬件是构成计算机系统的各种物理设备,包括存储数据所需的外部设备。 - 软件
软件包括操作系统、数据库管理系统及应用程序。 - 人员
分为系统分析员和数据库设计人员、应用程序员、最终用户、数据库管理员。
(二)数据库管理系统的功能
数据库管理系统(DBMS
)主要实现对共享数据有效地组织、管理和存取。
具有的六项功能:
- 数据定义
数据定义语言(DDL
),用户可以对数据库的结构进行描述,包括外模式、模式和内模式的定义;数据库的完整性定义;安全保密定义,如口令、级别和存取权限等。 - 数据库操作
数据操作语言(DML
),实现对数据库中数据的基本操作,例如检索、插入、修改和删除。
DML
分为两类:- 宿主型
宿主型是指DML
语句嵌入某种主语言(C、COBOL等
)中使用。 - 自含型
自含型是指可以单独使用DML
语句,供用户交互使用。
- 宿主型
- 数据库运行管理
数据库在运行期间多用户环境下的并发控制、安全性检查和存取控制、完整性检查和执行、运行日志的组织管理、事务管理和自动恢复等是重要组成部分。 - 数据的组织、存储和管理
包括数据字典、用户数据和存取路径等。 - 数据库的建立和维护
包括数据库的初始建立、数据的转换、数据库的转储和恢复、数据库的重组和重构、性能监测和分析等。 - 其他功能
包括网络通信功能,一个DBMS
与另一个DBMAS
或文件系统的数据转换功能,异构数据库之间的互访和互操作能力等。
(三)数据管理系统的特征及分类
1. DBMS的特征
通过DBMS
来管理数据具有以下特点:
- 数据结构化且统一管理
数据库中的数据由DBMS
统一管理。数据库系统采用复杂的数据模型表示数据结构,数据模型不仅描述数据本身的特点,还描述数据之间的联系。 - 有较高的数据独立性
数据的独立性是指数据与程序独立,将数据的定义从程序中分离出去,由DBMS
负责数据的存储,应用程序关心的只是数据的逻辑结构,无须了解数据在磁盘上的数据库中的存储形式,从而简化应用程序,大大减少了应用程序编制的工作量。
数据的独立性包括数据的物理独立性和数据的逻辑独立性。 - 数据控制功能
- 数据库的安全性
是指保护数据库以防止不合法的使用所造成的数据泄漏、更改或破坏。 - 数据库的完整性
是指数据库的正确性和相容性,是防止合法用户使用数据库时向数据库加入不符合语义的数据,保证数据库中的数据是正确的,避免非法的更新。 - 并发控制
负责协调并发事务的执行,保证数据库的完整性不受破坏,避免用户得到不正确的数据。 - 故障恢复
数据库中的四类故障是事务内部故障、系统故障、介质故障及计算机病毒。
故障恢复主要是指恢复数据库本身,即在故障引起数据库当前状态不一致时将数据库恢复到某个正确状态或一致状态。
恢复的原理是建立冗余数据,冗余是物理级的,通常认为逻辑级是没有冗余的。
- 数据库的安全性
2. DBMS的分类
DBMS
通常分为三类:
- 关系数据库系统(
RDBS
)
关系数据库系统是建立在关系数据库模型基础上的数据库,借助于集合代数等概念和方法来处理数据库中的数据。
主流关系型数据库有:Orcale、Mysql、Sybase
等。
在关系模型中,实体以及实体间的联系都是用关系来表示的。所有实体及实体之间联系的关系的集合构成一个关系数据库。 - 面向对象的数据库系统(
OODBS
)
面向对象的数据库系统是支持以对象形式对数据建模的数据库管理系统,包括对对象的类、类属性的继承和子类的支持。
面向对象数据库系统的特点:- 面向对象数据模型能完整地描述现实世界的数据结构,能表达数据间的嵌套、递归联系;
- 具有面向对象技术的封装性和继承性提高了软件的可重用性。
- 对象关系数据库系统(
ORDBS
)
对象关系数据库系统是在传统的关系数据模型基础上提供元组、数据、集合等更为丰富的数据类型以及处理新的数据类型操作的能力。
(四)数据库系统的体系结构
数据库系统的体系结构受数据库运行所在的计算机系统的影响很大,尤其是受计算机体系结构中的连网、并行和分布的影响。
从最终用户的角度看,数据库系统体系结构分为集中式、分布式、C/S
(客户端/服务器)和并行结构。
从数据库管理系统的角度看,数据库系统体系结构一般采用三级模式结构。
1. 集中式数据库系统
数据是集中的,数据的管理也是集中的,数据库系统的所有功能都集中在DBMS
所在的计算机上。
目前这种系统还在使用。
2. 客户端/服务器结构
在这种结构中,一个处理机(客户端)的请求被送到另一个处理机(服务器)上执行。
客户端主要负责数据表示服务,服务器主要负责数据库服务。
客户端/服务器结构数据库服务器一般可分为:
- 事务服务器
也称为查询服务器,它提供一个接口,使得客户端可以发出执行一个动作的请求,服务器响应客户端请求,并将执行结果返回给客户端。 - 数据服务器
数据服务器系统使得客户端可以与服务器交互,以文件或页面为单位对数据进行读取或更新。
3. 并行数据库系统
并行数据库系统分为:
-
共享内存式多处理器
共享式多处理器体系结构
共享内存式多处理器是指一台计算机上同时有多个活动的CPU
,它们共享单个内存和一个公共磁盘接口。
-
无共享式并行体系结构
无共享式并行体系结构
无共享式并行体系结构是指一台计算机上同时有多个活动的C PU
,并且它们都有自己的内存和磁盘。
4. 分布式数据库系统
分布式数据库系统分为:
- 物理上分布、逻辑上集中的分布式数据库结构
把单位的数据模式按数据来源和用途合理地分布在系统的多个结点上,使大部分数据可以就地或就近存取。数据在物理上分布后,由系统统一管理,使用户不感到数据的分布。 - 物理上分布、逻辑上分布的分布式数据库结构
一般由两部分组成:一是本结点的数据模式,二是本结点共享的其他结点上有关的数据模式。结点间的数据共享由双方协商确定。这种数据库结构有利于数据库的集成、扩展和重新配置。
(五)数据库的三级模式结构
数据的存储结构各不相同,但体系结构基本上都具有相同的特征,采用“三级模式和两级映像”。如下图所示:
数据库系统体系结构
数据库系统采用三级模式结构,这是数据库管理系统内部的系统结构。
数据库有“型”和“值”的概念,“型”是指对某一数据的结构和属性的说明,“值”是型的一个具体赋值。
数据库系统设计人员可以在视图层、逻辑层和物理层对数据进行抽象,通过外模式、概念模式和内模式来描述不同层次上的数据特性。
1. 概念模式
概念模式也称为模式,它是数据库中全部数据的逻辑结构和特征的描述,由若干个概念记录类型组成,只涉及型的描述,不涉及具体的值。
概念模式的一个具体值称为模式的一个实例,同一个模式可以有很多实例。
概念模式反映的是数据库的结构及其联系,所以的相对稳定的;而实例反映的是数据库某一时刻的状态,所以是相对变动的。
描述概念模式的数据定义语言称为“模式DDL
”。
2. 外模式
外模式也称为用户模式或子模式,是用户与数据库系统的接口,是用户用到的那部分数据的描述。
它由若干个外部记录类型组成。用户使用数据操作语言对数据库进行操作,实际上是对外模式的外部记录进行操作。
描述外模式的数据定义语言称为“外模式DDL
”。
3. 内模式
内模式也称为存储模式,是数据物理机构和存储方式的描述,是数据在数据库内部的表示方式,定义所有的内部记录类型、索引和文件的组织方式,以及数据控制方面的细节。
描述内模式的数据定义语言称为“内模式DDL
”。
4. 两级映像
数据库系统在三级模式之间提供了两级映像:
- 模式/内模式映像
- 外模式/模式映像
正因为这两级映像保证了数据库中的数据具有较高的逻辑独立性和物理独立性。
数据的物理独立性是指当数据库的内模式发生改变时,数据的逻辑结构不变。
数据的逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的。
(六)大数据
1. 大数据产生的背景
大数据是指“无法用现有的软件工具提取、存储、搜索、共享、分析和处理的海量的、复杂的数据集合”。
产生的背景:
- 数据来源和承载方式的变革
- 全球数据量出现爆炸式增长
- 大数据已经成为一种自然资源
- 大数据日益重要,不被利用就是成本
2. 大数据的特征
业界通常用“4V
”来概况大数据的特征:
- 大量化指数据体量巨大
- 多样化指数据类型繁多
- 价值密度低指大量的不相关信息导致价值密度的高低与数据总量的大小成反比
- 快速化指处理速度快
3. 理解大数据
大数据不仅仅是指海量的信息,更强调人类对信息的筛选、处理,保留有价值的信息,即让大数据更有意义,挖掘其潜在的“大价值”这才是对大数据的正确理解。
需要解决的问题包括:
- 高并发数据存取的性能要求及数据存储的横向扩展问题
- 实现大数据资源化、知识化、普适化的问题,解决这些问题的关键是对非结构化数据的内容理解
- 非结构化海量信息的智能化处理问题,主要解决自然语言理解、多媒体内容理解、机器学习等问题
大数据时代面临的三大挑战:
- 软件和数据处理能力
- 资源和共享管理
- 数据处理的可信力
4. 大数据产生的安全风险
安全风险:
- 大数据成为网络攻击的显著目标
- 大数据加大了隐私泄露风险
- 大数据威胁现有的存储和安防措施
- 大数据技术成为黑客的攻击手段
- 大数据成为高级可持续攻击的载体
- 大数据技术为信息安全提供新支撑