数据管理基础
数据管理技术的发展
- 数据管理即运用计算机对大量数据进行组织、管理及利用,是现代信息科学与技术的重要组成部分。
- 数据管理技术研究如何组织和存储数据,如何高效地获取和处理数据。
数据组织与管理的发展
手工数据处理阶段
- 程序员手工完成,程序完全依赖于数据,数据无共享、冗余度大、数据管理效率低
文件方式的数据处理阶段
- 数据独立于程序,文件式存储,数据可在一定程度上共享,数据的操作如增加、删除、修改等可通过文件操作,数据管理较为方便;但数据面向某个具体应用、需通过应用程序管理、数据的冗余度较大
数据库数据处理阶段
- 数据库管理采用数据模型表示数据结构,数据面向应用系统而不是具体应用,数据全面共享,数据冗余度明显降低,同类数据按照同一的结构存储、数据具有调度的独立性(指数据不依赖于应用程序,不同的应用程序均可进行数据操作);数据库管理系统对数据的完整性、唯一性、安全性提供统一的管理手段,以保障数据的充分共享(充分共享性),同时提供数据的基本操作命令,以便于用户操作(操作方便性)。
数据冗余: 数据冗余是指数据在存储器中的不必要的多次重复存储,一般对应数据库中的重复数据,如人员信息表中的“性别”字段,商品销售记录中的“商品名称”字段
数据库技术的发展
DBMS—Database Management System
- 第一代数据库系统。此阶段是20世纪70年代研制的层次和网状数据库系统。
- 第二代数据库系统。此阶段是关系数据库系统阶段。
- 第三代数据库系统。最主要的数据库类型是面向对象数据库系统(Object Oriented Database System,OODBS)。
数据模型
- 数据模型(data model)是对现实世界数据及其特征、关系的抽象。也就是说数据模型是用来描述数据、组织数据和对数据进行操作的。
- 数据库建模的步骤为:
- 现实世界(映射为)→概念模型(信息模型)→逻辑模型(数据模型-与DBMS有关-反映数据的逻辑结构)→物理模型(数据的计算机内部表示方法及存储结构-与DBMS无关)
数据模型的要素
要素 | 说明 |
---|
数据结构 | 数据结构用于描述系统的静态特征,包括数据的类型、内容、性质(数据及其属性)及数据之间的联系等。 |
数据操作 | 数据操作用于描述系统的动态特征,包括数据的插入、修改、删除和查询等。 |
数据的约束条件 | 数据的约束条件实际上是一组完整性规则的集合。 完整性规则是指面向数据及其关系的制约和存储规则,以保证数据的正确性、有效性、相容性, 如:数据关键字的唯一性、年龄不小于0、性别的互斥性等等 |
概念模型
- 概念模型:是从现实世界到信息世界的第一层抽象
- 概念模型的要素:实体,属性,联系
- 概念模型的表示:
- 概念模型的表示方法很多,其中最为常用的是实体-联系方法(Entity-Relationship Approach),简称E-R方法。
要素是 实体(矩形框),属性(椭圆框),联系(菱形框)
逻辑模型
层次模型(hierarchical model)
- 层次模型用树形结构来表示各类实体以及实体之间的联系(一对多)。
网状模型(network model)
对应数据结构:图
关系模型(relational model)
- 在实际的关系数据库中的关系也称表,一个关系数据库就是由若干个表组成。
学号 | 姓名 | 性别 | 专业 | 年级 |
---|
0611101 | 张明 | 男 | 软件工程 | 2011 |
0612212 | 王梦月 | 女 | 软件工程 | 2012 |
0512204 | 李丽 | 女 | 计算机科学与技术 | 2012 |
0713219 | 关憧 | 男 | 网络工程 | 2013 |
行:一条记录—对应一个实体;
列:对应所有实体的一种属性;
单元格:某个实体的某条属性;
关键字:实体的唯一标识;
单张表格:表示实体间的一种关系或联系
多张表格:关系的集合—即关系数据库
面向对象模型(Object-Oriented model)
- 在面向对象数据模型中,基本结构是对象而不是记录,一切事物、概念都可以看作对象。 一个对象不仅包括描述它的数据,而且还包括对其进行操作的方法的定义。
数据库系统
数据库系统基础
- 数据库系统(Data Base System,DBS)是一个采用了数据库技术,有组织地、动态地存储大量相关数据,方便用户访问的计算机系统。
数据库系统构成
成分 | 描述 |
---|
计算机系统 | 用于支持数据库管理的计算机硬件系统及软件系统,其中硬件系统侧重于支持数据库的存储;软件系统包含支持数据库的操作系统、数据库语言及编译系统、数据库应用开发工具。 |
数据库 | 长期存储于计算机内、有组织、可共享、可统一管理的数据集合。 |
数据库管理系统(DBMS) | 数据库系统的核心部分,包括数据管理软件、数据定义语言及编译程序、数据操纵语言及编译程序、数据管理例行程序。 |
数据库系统相关人员 | 是数据库系统的核心部分,包括数据管理软件、数据定义语言及编译程序、数据操纵语言及编译程序、数据管理例行程序 |
数据库系统的特点
特点 | 描述 |
---|
数据结构化 | 数据(定义+属性)+关系 |
数据共享性高、冗余度低、易扩充 | 数据不是面向某个具体的应用,而是面向整个系统;支持多用户、多程序共享; 数据共享可使得数据冗余度低,节约存储空间,避免数据的不相容及不一致性(指的是同一数据的类型、计量等方面的差别) |
数据独立性高 | 数据的存储结构与逻辑结构相互独立,互不干涉,单方面的改变不影响另一方及其关联部分的正常使用。 |
数据由数据库管理系统统一管理和控制 | 数据管理和控制包括:数据的安全性保护、完整性检查、并发控制、数据库恢复 |
安全性保护: 防止非法使用、窃取、篡改、泄露
完整性检查: 保证数据的正确性、有效性、相容性
并发控制: 多用户读取数据、单用户写入数据
数据库恢复: 数据库从错误状态恢复为初始正确状态
数据库系统的结构
数据库系统的体系结构
从最终用户角度看,数据库系统分为:
类型 | 说明 |
---|
集中式数据库系统 | 数据库集中在数据库管理系统所在的主机上 |
客户机/服务器(Client/Server,C/S)体系结构 | 客户机—前端:负责数据处理,如数据界面、表格生成与报表处理等微观个体业务 服务器—后端:负责数据管理,存储结构、查询计算和优化、并发控制、故障恢复等宏观公共事务 |
并行数据库系统 | 同一时段支持多用户、多程序的并行数据处理,提升数据处理速度、扩大数据应用范围 |
分布式数据库系统 | 将数据分散存储到网络中的多个数据存储节点上,获得更大的存储空间和更大的并发访问量 |
数据库系统的模式结构
从数据库管理系统的角度看,数据库系统体系结构一般采用 “三级模式和两层映像” 结构。
三级模式:
模式 | 说明 |
---|
模式-管理员视图(公共视图) | 数据的逻辑结构,反映数据的公共属性及用户共同需求,与硬件无关,与具体应用程序和程序设计语言无关。 (强调数据的抽象性和共性) |
外模式-用户视图 | 应用程序层面,用户视觉的数据结构及特征的描述(可以应用不同的语言工具),与具体应用程序及程序语言相关 (强调数据的具体性和个性) |
内模式-机器视图 | 物理结构及存储方式 |
内模式-模式-外模式 | 一对一对多的映射关系 |
两层映像
类型 | 说明 |
---|
外模式/模式 | 模式改变,调整映像,保持外模式不变,保证数据和程序的逻辑独立性 |
模式/内模式 | 内模式改变,调整映像,保持模式、外模式不变,保证数据和程序的物理独立性 |
网络数据库
工作原理
- 网络数据库由数据库服务器(database server)、中间件(middle ware)、Web服务器(web server)以及浏览器(browser)4部分组成。
- 其工作过程可简单地描述为:
- 用户通过浏览器端的操作界面以交互的方式经由Web服务器来访问数据库。
- 用户向数据库提交的信息以及数据库返回给用户的信息都是以网页的形式显示。
层次体系
结构 | 说明 |
---|
客户机/服务器结构 | 客户机/服务器结构是非常流行的数据库系统结构,主要有二层C/S结构和三层C/S结构。 |
浏览器/服务器结构 | 基于浏览器/服务器结构的典型应用通常采用三层结构,即“浏览器-Web服务器-数据库服务器”。 |
数据库管理系统
- 数据库管理系统(Database Management System,DBMS)是一种操纵和管理数据库的系统软件,它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过数据库管理系统访问数据库中的数据,数据库管理员也通过数据库管理系统进行数据库的维护工作。
数据库管理系统基础
数据库管理系统的功能
- 数据库管理系统接收应用程序的数据请求和处理请求,对数据库中的数据进行操作,将操作结果返回给应用程序
功能 | 说明 |
---|
数据库定义 | 定义数据库的结构、各模式之间的映像和完整性约束等。 |
数据库操纵 | 提供查询、插入、更新或删除数据等功能 。 |
数据库运行管理 | 数据的安全性、完整性和并发控制等,以确保数据正确有效。 |
数据组织、存储与管理 | 组织方式(文件结构),存储模式,管理方案 |
数据库保护 | 数据库的恢复、并发控制、完整性控制、安全性控制 |
数据库维护 | 初始数据的装入与存储,数据库的转储、恢复,系统性能监视、分析等功能。 |
通信 | 网络环境下,配置有关的软硬件实现数据库通信共享 |
数据库管理系统的组成
- 数据定义语言及其翻译处理程序
- 数据操纵语言及其编译(或解释)程序
- 数据库运行控制程序
- 实用程序
数据库管理系统的应用
数据库管理系统的选择
- 构造数据库的难易程度。
- 支持程序开发的难易程度。
- 数据库管理系统的性能分析。
- 扩展支持能力与安全性。
- 支持多种文字处理能力。
- 数据恢复能力。
数据库管理系统的安全策略
- 用户标识与鉴别。
- 授权机制。
- 视图机制。
- 安全审计。
- 数据加密。
几种常见的数据库管理系统
数据库管理系统产品众多,如Oracle、DB2、Sybase、SQL Server、MySQL、Access等,这些产品各以自己特有的功能,在数据库市场上占有一席之地。
补充题
- 目前用得最多的数据库模型是( 关系型 )
- 用二维表来表示实体及实体之间联系的数据模型是( 关系模型)
- 关系模式的任何属性( 不可再分 )
- 同一个关系模型的任两个元组值( 不能完全相同 )
- 在数据库中能够唯一标识一个元组的属性或属性组合称为( 关键字 )
- 数据库系统的核心是( 数据库管理系统 )
- DB、DBMS、DBS三者之间的关系是( DBS包括DB和DBMS )
- DBMS是( OS支持下的系统文件 )
- 在三级DBMS体系结构中,( 内模式 ) 定义了数据在物理存储设备上的实际存储
- 在数据库的三级模式结构中,描述数据库中全体逻辑结构和特性的是( 模式 )
- 一般情况下,一个数据库系统的外模式( 可以有多个 )
- 数据库系统的全局概念结构独立于具体的计算机和DBMS
- 概念模型确定后,数据模型还可以选择
- 在关系中,元组的顺序是无关紧要的
- 数据库管理系统不可以被简单地称之为数据库系统。
- 有了外模式/模式映射,可以保证数据和应用程序之间的逻辑独立性
- 在数据库系统中只有一个模式,这个模式只能有一个内模式,可以有任意多个外模式。
- 数据处理的核心问题是(数据管理)
- 数据库系统与文件系统的本质区别在于数据库系统实现了整体数据的(结构化)
- 关系模型是目前应用最广的数据模型。在关系模型中,同一个数据库中的数据表之间,主要存在三种关系: ( 一对一、一对多 ) 和(多对多)关系。
- 二维表的每一行相当于一个 (元组) ,每一列相当于一个 (属性) 。
- (数据库管理系统)是指位于用户与操作系统之间的数据管理软件。
- (数据库应用系统)是指系统开发人员利用数据库系统资源开发的面向某一类实际应用的软件系统。
- 数据库体系结构按照外模式、(模式) 和内模式3级结构进行组织
- 描述内部数据存储结构的是数据库的 (内) 模式,它有 (1)个;描述数据库整体逻辑结构的是数据库的(逻辑) 模式;应用程序或用户能够直接操作的是数据库的 (外) 模式。
- 数据独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,称为(物理独立性)
- 在数据库的三级模式体系结构中,外模式与模式之间的映像(外模式/模式),实现了数据库(逻辑)独立性
- 当数据库的存储结构改变时,可相应修改,从而保持 ( 模式/内模式映射)模式不变。
- 分布式数据库系统兼顾了数据的集中管理和分散处理两个方面,且数据库虽然分布在网络上的各个结点中,但是仍然是统一管理的。因此分布式数据库系统有良好的性能,既可以独立完成局部应用,也可协作完成 (全局)应用。
- 数据挖掘是指从数据库的大量数据中揭示出隐含的、先前未知的并有(潜在价值) 的信息的过程。
- 分布式数据库的定义有两方面的含义: (分布性)和 (逻辑协调性)。
- DBMS是(** 混合型**)
- 用来定义数据库的结构、各类模式之间的映象和完整性约束等的语言是(数据定义语言(DDL))
- 若关系中的某一属性组的值能唯一标识一个元组,则称该属性组为(候选键)
- 在数据库的3级模式中,内模式有(2)个。
- SQL是一种(** 结构化**)的语言
- 某超市研究销售纪录数据后发现,买啤酒的人很大概率也会购买尿布,这种属于数据挖掘的哪类问题(关联规则发现)