数据库系统基础知识
关系数据库基础
- 数据库的结构与模式
- 数据模型的三要素:数据结构、数据操作、数据的约束条件
- 常见的数据模型:概念数据模型、基本数据模型、面向对象模型
- 关系数据模型三大组成要素:关系数据结构、关系操作集合、关系完整性约束
- 实体-联系(E-R)模型
- 实体、联系、属性之间的联系
- 数据的规范化
- 主要考虑:关系模式中各属性之间的依赖关系、对关系模式性能的影响
- 设计理念的核心:数据间的函数依赖
- 衡量的标准:关系规范化的程度、分解的无损的链接、保持函数依赖性
- 范式
- 范式是关系模型满足的确定约束条件。
- 范式有1NF(第一范式)、2NF(第二范式)、3NF (第三范式)、BCNF(巴克斯范式)、4NF(第四范式)和5NF,其中1NF级别最低。
- 这几种范式之间有5NF < 4NF < BCNF < 3NF < 2NF < INF成立。
- 事物管理
- 特性:事务的ACID性质:原子性、一致性、隔离线、持久性
- 并发控制
- 存在问题:导致数据的不一致,主要有丢失跟新、不可复读性和读脏数据
- 主要原因:破坏了事物的隔离线
- 主要技术:封锁
- 封锁的类型:排他锁、共享锁(简称S锁或读锁)
- 并发控制有关方:三级封锁协议、活锁与死锁、并发调度的可串行性、两段封锁协议、封锁的粒度、事物的嵌套等
- 数据库的备份和恢复
- 数据备份
- 目的:保护数据的关键技术在于建立冗余数据
- 方法:
- 进行数据转储:静态转储、动态转储、海量转储、增量转储
- 简历日志文件
- 数据恢复:
- 目的:如何在系统出现故障后,能够及时使恢复到故障前的正确状态
- 数据备份
- 数据库的4类故障
- 事物故障
- 恢复操作:撤销事务和重做事务
- 系统故障
- 介质故障
- 恢复操作:介质故障的恢复需要数据库管理员(DataBase Administrator, DBA)的参与,装入数据库的副本和日记文件副本,再由系统执行撤销和重做操作。
- 计算机病毒
- DBMS提供数据库镜像功能用于数据恢复:通过复制数据实现,但是频繁的复制会影响系统运行效率,实际中一般只保留关键的数据和日志文件镜像
- 事物故障
关系数据库设计
- 数据库的设计主要包括两个方面
- 结构特性的设计
- 行为特性的设计
- 数据库设计的特点
- 主要特点:从数据结构即数据模型开始,并以数据模型为核心展开
- 静态结构设计与动态行为设计分离
- 试探性
- 反复性和多步性
- 数据库设计的方法:
- 4类方法:直观设计法、规范设计法、计算机辅助设计法、自动化设计法
- 常用方法:基于3NF的设计方法、基于实体联系(E-R)模型的数据库设计方法、基于视图概念的数据库设计方法、面向对象的关系数据库设计
- 数据库设计的基本步骤
- 需求分析
- 任务:对现实世界要处理的对象(组织、部门、企业等)进行详细调查,在了解现行系统的概况、确定新系统功能的过程中,收集支持系统目标的基础数据及其处理方法。需求分析是在用户调查的基础上,通过分析逐步明确用户对系统的需求,包括数据需求和围绕这些数据的业务处理需求。
- 方法:在需求分析中,通过自顶向下、逐步分解的方法分析系统。分析的结果用数据流图(Data Flow Diagram, DFD)进行图形化的描述,并用-一些规范的表格对数据分析结果和描述做补充,最后形成需求说明书。
- 概念结构设计
- 前提:数据库概念结构设计是在需求分析的基础上
- 方式:【数据建模】依照需求分析中的信息需求,对用户信息加以分类、聚集和概括,建立信息模型,并依照选定的数据库管理系统软件,把它们转换为数据的逻辑结构,再依照软硬件环境,最终实现数据的合理存储
- 策略:通常有自顶向下、自底向上、逐步扩张、混合策略,最常用的是自底向上策略
- 方法:简称E-R方法。采用E-R方法的数据库概念结构设计可分为三步:设计局部E-R模型、设计全局E-R模型以及全局E-R模型的优化。
- 逻辑结构设计
- 前提:逻辑结构设计是在概念结构设计基础上进行的数据模型设计:可以是层次、网状模型和关系模型。
- 方式:确定数据模型、将E-R图转换为指定的数据模型、确定完整性约束、确定用户视图。
- 物理结构设计
- 物理结构:数据库在物理设备上的存储结构与存取方法。
- 方式:对已确定的数据库逻辑结构,利用DBMS所提供的方法、技术,以较优的存储结构和数据存取路径、合理的数据存放位置以及存储分配,设计出-一个高效的、可实现的数据库物理结构。
- 要做的工作:存储记录的格式设计、存储结构设计、存取方法设计和确定系统配置。
- 应用程序设计
- 方式:是DBMS的二次开发,一方面是对用户信息的存储,另一方面就是对用户处理要求的实现。
- 要做的工作:选择设计方法、制定开发计划、选择系统架构、设计安全性策略
- 设计方法:结构化设计方法和面向对象设计方法两种。
- 其他说明:
- 安全性策略主要是指硬件平台、操作系统、数据库系统、网络及应用系统的安全。
- 数据库应用系统的实现是根据设计、由开发人员编写代码程序来完成的,包括数据库的操作程序和应用程序。作为关系数据库标准语言,SQL已经被大量的DBMS系统所使用。
- 运行维护
- 说明:数据库的正常运行和优化也是数据库设计的内容之一
- 要做的工作:主要有数据库的转储和恢复,数据库的安全性和完整性控制,数据库性能的监督、分析和改造,数据库的重组和重构等。
- 需求分析
分布式数据库系统
- 介绍
- 说明:分布式数据库系统(Distributed Database System,DDBS)是针对地理上分散,而管理上又需要不同程度集中管理的需求而提出的一-种数据管理信息系统
- 概念:满足分布性、逻辑相关性、场地透明性和场地自治性的数据库系统被称为完全分布式数据库系统
- 特点:数据的集中控制性、数据独立性、数据冗余可控性、场地自治性和存取的有效性
- 体系结构
- 全局外层
- 全局概念层
- 局部概念层
- 局部内层
- 说明:这种四层模式适用于同构型分布式数据库系统,也适用于异构型分布式数据库系统
- 应用
- 分布式数据库的应用领域有分布式计算、Internet 应用、数据仓库、数据复制以及全球联网查询等,Sybase 公司的Replication Server即是-种典型的分布式数据库系统。
商业智能
-
基本信息
- 概念:商业智能( Business Intelligence, BI) 是企业对商业数据的搜集、管理和分析的系 统过程
- 目的:使企业的各级决策者获得知识或洞察力,帮助他们做出对企业更有利的决策。它是数据仓库、联机分析处理(Online Analytical Processing,OLAP)和数据挖掘等相关技术走向商业应用后形成的一种应用技术。
- 应用:主要实现将原始业务数据转换为企业决策信息的过程。它主要包括数据预处理、建立数据仓库、数据分析及数据展现4个主要阶段。
- 商业智能的三大组成部分:数据仓库、联机分析处理和数据挖掘技术
-
数据仓库
- 概念和特性
- 概念:著名的数据仓库专家W.H.Inmon在Building the Data Warehouse -书中将数据仓库定义为:数据仓库(DataWarehouse)是一一个面向主题的(SubjectOriented)、集成的(Integrate)、相对稳定的(Non-Volatile),且随时间变化的(Time Variant)数据集合,支持管理部门的决策过程。
- 关键特征:面向主题、集成的、非易失的、时变的。
- 结构
- 数据仓库采用三层结构:底层是数据仓库服务器、中间层是OLAP服务器、顶层是前端工具
- 实现方法
- 实现步骤:规划、需求研究、问题分析、数据的抽取清洗集成装载、数据仓库设计、数据仓库管理、分析报表查询、数据仓库性能优化及数据仓库的部署发布等几个步骤。
- 实现方法:自顶向下方法、自底向上方法及二者混合方法。
- 推荐的方法:以递增、进化的方式实现数据仓库
- 概念和特性
-
多维分析海量数据分析器--OLAP
- 对于TB级的海量数据,联机分析处理OLAP利用多维的概念,提供了切片、切块、下钻、上卷和旋转等多维度分析与跨维度分析功能。
- OLAP系统架构主要分为基于关系数据库的ROLAP (Relational OLAP)、基于多维 数据库的MOLAP (Multidimensional OLAP)和基于混合数据组织的HOLAP ( Hybrid OLAP)三种。
-
数据挖掘
- 说明
- 从技术上来看,数据挖掘(data mining) 是从大量的、不完全的、有噪声的、模糊的、随机的数据中,提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识的过程。
- 从商业的角度来看,数据挖掘是一-种新的商业信息处理技术,其主要特点是对大量业务数据进行抽取、转换、模型化处理,从中提取辅助商业决策的关键性数据。
- 我们采用数据挖掘的广义观点:数据挖掘是从存放在数据库、数据仓库或其他信息库中的大量数据中挖掘有趣知识的过程。
- 数据挖掘与传统的数据分析(如查询、报表、联机应用分析)的本质区别是:数据挖掘是在没有明确假设的前提下去挖掘信息、发现知识。
- 数据挖掘所得到的信息应具有先知、有效和实用三个特征。
- 功能
- 数据挖掘的目标是从数据库中发现隐含的、有意义的知识,主要功能有5类:自动预测趋势和行为、关联分析、聚类、概念描述和偏差检测。
- 常用技术
- 常用的数据挖掘技术包括关联分析、序列分析、分类分析、聚类分析、预测以及时间序列分析等。
- 流程
- 数据挖掘的流程为确定挖掘对象、准备数据、建立模型、数据挖掘、结果分析和知识应用。
- 应用
- 从目前情况来看,数据挖掘的热点包括空间数据库的挖掘、多媒体数据库的挖掘、时序数据和序列数据的挖掘、文本数据库的挖掘、Web挖掘。
- 数据挖掘的应用领域有生物医学和DNA的数据挖掘、金融业中的数据挖掘、零售业中的数据挖掘、电信业中的数据挖掘、视频和音频数据挖掘、科学和统计数据挖掘等。
- 商用数据挖掘的事例有Intelligent Miner、Enterprise Miner、MineSet、 Clementine、DBMiner等。
- 说明
常用的数据库管理系统
- Oracle
- 介绍:Oracle是一种适用于大型、中型和微型计算机的关系数据库管理系统。
- 结构:Oracle的结构包括数据库的内部结构、外存储结构、内存储结构和进程结构。
- 在Oracle中,数据库不仅指物理,上的数据,还包括处理这些数据的程序,即DBMS本身。
- Oracle使用PL/SQL(Procedural Language/SQL) 语言执行各种操作。Oracle 除了以关系格式存储数据外,Oracle8以上的版本还支持面向对象的结构(如抽象数据类型)。
- Oracle产品主要包括数据库服务器、开发工具和连接产品三类。Oracle还提供了一系列的工具产品,如逻辑备份工具Export、Import 等。
- IBM DB2
- DB2是IBM的一种分布式数据库解决方案。简单地说,DB2就是IBM开发的-一种大型关系型数据库平台,它支持多用户或应用程序在同一条SQL语句中查询不同Database甚至不同DBMS中的数据。
- DB2核心数据库的特色有支持面向对象的编程、支持多媒体应用程序、备份和恢复功能、支持存储过程和触发器、支持SQL查询、支持异构分布式数据库访问、支持数据复制。
- DB2采用多进程多线索体系结构,可运行于多种操作系统之.上。IBM还提供了Visualizer、Visualage、 Visualgen 等开发工具。
- Sybase
- 介绍:Sybase是美国SYBASE公司在20世纪80年代中推出的客户机/服务器(Client/Server, CLS) 结构的关系数据库系统,也是世界上第一一个真 正的基于客户机/服务器结构的RDBMS产品。
- 组成:Sybase数据库主要由三部分组成:进行数据库管理和维护的联机的关系数据库管理系统Sybase SQLServer,支持数据库应用系统建立与开发的一组前端工具SybaseSQLToolset,可把异构环境下其他厂商的应用软件和任何类型的数据连接在一起的接口Sybase OpenClient/OpenServer
- Sybase提供了Sybase Adaptive Server Enterprise高性能企业智能型关系数据库管理系统、EAServer电子商务解决方案应用服务器、系统分析设计工具PowerDesigner和应用开发工具PowerBuilder
- Microsoft SQL Server
- 介绍:Microsoft SQL Server是- -种典型的关系型数据库管理系统,可运行于多个操作系统上,它使用Transact-SQL语言完成数据操作。
- 组件:SQL Server的基本服务器组件包括Open Data Services. MS SQL Server、SQL Server Agent和MSDTC (Microsoft Distributed Transaction Coordinator)。
- 使用工具:SQL Server数据平台包括以下工具:关系型数据库、复制服务、通知服务、集成服务、分析服务、报表服务、管理工具和开发工具。