数据库系统基础知识
目录
数据库系统基础知识
基本概念
DB:数据库.是指长期储存在计算机内的,有组织的,可共享的数据集合.
DBS:数据库系统.由数据库,硬件,软件和人员组成,管理的对象是数据.
DBMS:数据库管理系统.是一种操纵和管理数据库的大型软件,用于建立,使用和维护数据库.DBMS通常分三类:关系数据库系统RDBS,面向对象的数据库系统OODBS,对象关系数据库系统ORDBS.
DBA:数据库管理员.
数据库技术中采用分级的方法,将数据库的结构划分为多个层次,最著名的是三级划分法,将数据库系统分为外模式,概念模式和内模式三个层次.
数据库的结构
数据库结构的基础是数据模型,使用来描述数据的一组概念和定义.
数据模型的三要素:数据结构,数据操作,数据的约束条件.
常用的数据模型
概念数据模型
概念数据模型又称为实体联系模型,它按照用户的观点来对数据和信息建模,主要用于数据库设计.
概念模型主要用实体-联系方法表示,简称E-R方法.
E-R模型简称E-R图,E-R图的三个要素有:
- 实体(型):用矩形框表示,框内标注实体名称.
- 属性:用椭圆形表示,并用连线和实体连接起来.
- 实体之间的联系:用菱形框表示,框内标注联系名称,用连线将菱形框分别与有关实体相连,并在连线上注明联系类型.
基本数据模型
基本数据模型又称为结构数据模型,是按照计算机系统的观点来对数据和信息建模.主要用于DBMS的实现.
基本数据模型是数据库系统的核心和基础,通常由数据结构,数据操作和完整性约束三部分组成.
面向对象模型
用面向对象观点来描述现实世界实体的逻辑结构,对象间限制,联系等的模型.
数据的规范化
函数依赖
函数依赖:设R(U)是属性U上的一个关系模式,X和Y是U的子集,r是R的任一关系,如果对于r中的任意两个元祖u和v,只要有u[X]=v[X],则称X函数决定Y,或称Y函数依赖于X,记为X→Y.
关系数据库设计理论的核心就是数据间的函数依赖.
范式
- 第一范式1NF:如果关系模式R的么个关系r的属性值都是不可分的原子值,那么称R是第一范式的模式,r是规范化的关系.
- 第二范式2NF:如果关系模式R是1NF,且每个非主属性完全函数依赖于候选键(消除部分函数依赖),那么称R是2NF模式.
- 第三范式3NF:如果关系模式R是1NF,且每个非主属性都不传递依赖于R的候选键(消除传递函数依赖),那么称R是3NF.
- BC范式BCNF:如果关系模式R是1NF,且每个属性都不传递函数依赖于R的候选键,那么称R是BCNF模式.
BCNF⊂3NF⊂2NF⊂1NF.
事务管理
事务是用户定义的一个数据库操作序列,这些操作序列要么全做,要么全都不做,是一个不可分割的工作单位.
事务的四个特性(ACID):
- 原子性:事务的所有操作在数据库中要么全做,要么全都不做.
- 一致性:事务的执行使数据库从一个一致性状态变成另一个一致性状态.
- 隔离性:一个事务的执行不能被其他事务干扰.
- 持续性/永久性:指一个事务一旦提交,它对数据库的改动必须是永久的,即使系统出现故障时也是如此.
并发控制
并发控制可以保证数据库的完整性不收破坏,同时避免用户得到不正确的数据.
并发控制的主要技术是封锁,主要有两种类型的封锁:X封锁(排他)和S封锁(共享).
数据库的备份和恢复
备份(转储)与恢复
备份是指通过数据转储和监理日志文件的方法监理冗余数据,这些备用数据称为后备副本.
恢复是指把数据库从错误状态恢复到一个已知的正确状态的功能.
备份分类
- 静态备份:指备份期间不允许对数据库进行任何存取,修改活动.
- 动态备份:指备份期间允许动数据库进行存取或修改.
- 海量备份/完全备份/全量备份:指每次备份全部数据库.
- 差异备份/差量备份:备份上一次的全量备份后发生变化的所有数据.
- 增量备份:指每次只备份上次备份后更新过的数据.
星期日 | 星期一 | 星期二 | 星期三 | 星期四 | 星期五 | 星期六 |
---|---|---|---|---|---|---|
全量备份 | 增量备份 | 增量备份 | 增量备份 | 差异备份 | 增量备份 | 增量备份 |
数据库的四类故障
数据库的四类故障:事务故障,系统故障,介质故障,计算机病毒.
关系数据库设计
数据库设计:是指对一个给定的应用环境,构造最优的数据库,建立数据库及其应用系统,使之能有效地存储数据,满足各种用户的需求.
数据库设计的特点:从数据结构开始,并以之为核心展开;静态结构设计与动态结构设计分离;试探性;反复性;多步性.
数据库设计方法:直观设计法,规范设计法,计算机辅助设计法,自动化设计法.
数据库设计步骤:需求分析,概念结构设计,逻辑结构设计,物理结构设计,应用程序设计,运行维护.
分布式数据库系统
分布式数据库系统DDBS:针对地理上分散而管理上有需要不同程度集中管理的需求,而提出的一种数据管理信息系统.
分布式数据库系统的特点:数据的集中控制性,数据独立性,数据冗余可控性,场地自治性,存取有效性.
分布式数据库的体系结构:全局外层,全局概念层,局部概念层,局部分层.
商业智能BI
商业智能BI是企业对商业数据的搜集,管理和分析的系统过程,目的是使企业的各级决策者获得知识或洞察力,帮助他们做出对企业更有利的决策.一般认为数据仓库,联机分析处理OLAP和数据挖掘是商业智能的三大组成部分.
数据仓库是一个面向主题的,集成的,相对稳定且随时间变化的数据集合,用于支持管理决策.
数据仓库的关键特征是:面向主题,集成的,非易失的,时变的.
比较项目 | 传统数据库 | 数据仓库 |
---|---|---|
数据内容 | 当前值 | 历史的,归档的,归纳的,计算的数据(处理过的) |
数据目标 | 面向业务操作程序,重复操作 | 面向主体域,分析应用 |
数据特性 | 动态变化,更新 | 静态,不能直接更新,只能定时添加,更新 |
数据结构 | 高度结构化,复杂,适合操作计算 | 简单,适合分析 |
使用频率 | 高 | 低 |
数据访问量 | 每个事务一般只访问少量记录 | 每个事务一般访问大量记录 |
对响应时间的要求 | 计时单位小 | 计时单位相对较大 |
OLTP与OLAP的比较:OLTP即联机事务处理,OLAP即联机分析处理,是数据仓库的核心部分.区别如下:
项目 | OLTP | OLAP |
---|---|---|
用户 | 操作人员,低层管理人员 | 决策人员,高级管理人员 |
功能 | 日常操作处理 | 分析决策 |
DB设计 | 面向应用 | 面向主题 |
数据 | 当前的,最新的,细节的,二维的分立的 | 历史的,聚集的,多维的,集成的,统一的 |
存取 | 读/写数十条记录 | 读上百万条记录 |
工作单位 | 简单的事务 | 复杂的查询 |
用户数 | 上千个 | 上百个 |
DB大小 | 100MB至GB级 | 100GB至TB级 |
数据挖掘与传统数据分析的区别:数据挖掘是在没有明确假设的前提下去挖掘信息,发现知识.数据挖掘得到的信息应具有先知,有效和可实用三个特征.