软考自查:数据库系统

数据库系统

内容提要

  • 数据库模式
  • ER模型
  • 关系代数与元组演算
  • 规范化理论
  • 并发控制
  • 数据库完整性约束
  • 分布式数据库
  • 数据仓库与数据挖掘

 


 

三级模式-两级映射

 

 


 

数据库设计过程

 
 

 

E-R模型

 

 

 

集成的方法:

  • 多个局部E-R图次集成。
  • 逐步集成,用累加的方式-次集成两个局部E-R。

集成产生的冲突及解决办法: 

  • 属性冲突:包括属性域冲突和属性取值冲突。
  • 命名冲突:包括同名异义和异名同义。
  • 结构冲突:包括同一对象在不同应用中具有不同的抽象,以及同一实体在不同局部E-R图中所包含的属性个数和属性排列次序不完全相同。

E-R模型

一个实体型转换为一个关系模式

1:1联系 1: n联系 m:n联系

三个以上实体间的一个多元联系

 

在数据库逻辑结构的设计中,将E-R模型转换为关系模型应遵循相关原则。对于三个不同实体集和它们之间的多对多联系m:n: p, 最少可转换为__C__个 关系模式。A.2 B.3 C.4 D.5
 

 


 

关系代数

  1. 笛卡儿积
  2. 投影
  3. 选择
  4. 联接
 
 
 
 

 

 
 

 

 
 

 

 
 

 

 

 

规范化理论-函数依赖

设R(U)是属性U上的一个关系模式,X和Y是U的子集,r为R的任一关系,如果对于r中的任意两个元组u,v,只要有u[X]=v[X],就有u[Y]=v[Y],则称X函数决定Y,或称Y函数依赖于X,记为X->Y。
 
 

 

 
 

 

规范化理论-价值与用途

非规范化的关系模式,可能存在的问题包括:数据冗余、更新异常、插入异常、删除异常

 
 

 

规范化理论-键

 

 

规范化理论-求候选键

将关系模式的函数依赖关系用“有向图”的方式表示找入度为0的属性,并以该属性集合为起点,尝试遍历有向图,若能正常遍历图中所有结点,则该属性集即为关系模式的候选键若入度为0的属性集不能遍历图中所有结点,则需要尝试性的将一些中间结点(既有入度,也有出度的结点)并入入度为0的属性集中,直至该集合能遍历所有结点,集合为候选键

例题

 
 

 

答案:A

 
 

规范化理论-范式

 
 

 

规范化理论-第一范式

第一范式(1NF):在关系模式R中,当且仅当所有域只包含原子值,即每个分量都是不可再分的数据项,则称R是第一范式。

规范化理论-第二范式

第二范式(2NF):当且仅当R是1NF,且每一个非主属性完全依赖主键(不存在部分依赖)时,则称R是第二范式。

规范化理论-第三范式

第三范式(3NF):当且仅当R是1NF,且E中没有非主属性传递依赖于码时,则称R是第三范式。

规范化理论-BC范式

BC范式(BCNF):设R是一个关系模式,F是它的依赖集,R属于BCNF当且仅当其中F中每个依赖的决定因素必定包含R的莫个候选码。

规范化理论-模式分解

保持函数依赖分解

设数据库模式p={R1, R2, . Rk}是关系模式R的一个分解,F是R 上的函数依赖集,p 中每个模式Ri上的FD集是Fi。如果{F1, F2, - Fk} 与F是等价的(即相互逻辑蕴涵),那么称分解p保持FD

无损分解

什么是有损,什么又是无损? 有损:不能还原。 无损:可以还原。

 

无损联接分解:指将一个关系模式分解成若干个关系模式后,通过自然联接和投影等运算仍能还原到原来的关系模式

规范化理论-模式分解-例题讲解

思考题:

有关系模式:成绩(学号,姓名,课程号,课程名,分数)函数依赖:学号一>姓名,课程号->课程名,(学号,课程号)->分数 若将其分解为:   成绩(学号,课程号,分数)   学生(学号,姓名)   课程(课程号,课程名)
请思考该分解是否为无损分解?
由于有:学号->姓名,所以:成绩(学号,课程号,分数,姓名)由于有:课程号一>课程名,所以:成绩(学号,课程号,分数,姓名,课程名)

将一个具有函数依赖:学号->姓名,课程号->课程名,(学号,课程号)->分数的关系模式:成绩(学号,姓名,课程号,课程名,分数),分解为:成绩(学号,课程号,分数);学生(学号,姓名);课程(课程号,课程名)。

初始表如下:

 
 

 

根据学号->姓名,对上表进行处理,将b12改成符号a2;然后考虑课程号->课程名,将b14改为a4,得下表:

 
 

 

从上图中可以看出,第一行已全部为a,因此本次R分解时无损联接分解。

规范化理论-模式分解

定理:如果R的分解为p={R1,R2},F为R所满足的函数依赖集合分解p具有无损联接性的充分必要条件是: R1∩R2->(R1-R2)或R1∩R2->(R2-R1) 其中,R1∩R2,表示模式的交,为R1与R2中公共属性组成,R1-R2,或R2 -R1表示模式的差集,R1一R2表示R1中去除R1和R2的公共属性所组成。当模式R分解成两个关系模式R1和R2时,如果R1与R2的公共属性能函数决定R1中或R2中的其它属性,这样的分解就具有无损联接性。

 


 

并发控制-基本概念

  • 基本概念
 
 

 

并发控制-存在的问题实例

 
 

 

并发控制-封锁协议

一级封锁协议。事务T在修改数据R之前必须先对其加x锁,直到事务结束才释放。可防止丢失修改

二级封锁协议。一级封锁协议加上事务T在读取数据R之前先对其加S锁,读完后即可释放S锁。可防止丢失修改,还可防止读“脏”数据

三级封锁协议。一级封锁协议加上事务T在读取数据R之前先对其加S锁,直到事务结束才释放。可防止丢失修改、防止读“脏”数据与防止数据重复读

两段锁协议。可串行化的。可能发生死锁

数据库完整性约束

  1. 实体完整性约束
  2. 参照完整性约束
  3. 用户自定义完整性约束
  • 触发器

数据库安全

  • 数据库安全
 
 

 

数据备份

冷备份也称为静态备份,是将数据库正常关闭,在停止状态下,将数据库的文件全部备份(复制)下来。

热备份也称为动态备份,是利用备份软件,在数据库正常运行的状态下,将数据库中的数据文件备份出来。

 
 

 

数据备份

  • 完全备份:备份所有数据
  • 差量备份:仅备份上一次完全备份之后变化的数据
  • 增量备份:备份上-次备份之后变化的数据

(1)静态海量转储:在系统中无运行事务时进行,每次转储全部数据库。

(2)静态增量转储:在系统中无运行事务时进行,每次只转储上一次转储后更新过的数据。

(3)动态海量转储:转储期间允许对数据库进行存取或修改,每次转储全部数据库。

(4动态增量转储:转储期间允许对数据库进行存取或修改,每次只转储上-次转储后更新过的数据。

日志文件:事务日志是针对数据库改变所做的记录。它可以记录针对数据库的任何操作,并将记录结果保存在独立的文件中

数据库故障与恢复

  • 数据库故障与恢复
 
 

 

数据仓库与数据挖掘

面向主题

集成的

相对稳定的(非易失的)

反映历史变化(随着时间的变化)

 
 

 

数据挖掘方法分类

方法

  • 决策树
  • 神经网络
  • 遗传算法
  • 关联规则挖掘算法

分类

  • 关联分析:挖掘出隐藏在数据间的相互关系。
  • 序列模式分析:侧重点是分析数据间的前后关系(因果关系)。
  • 分类分析:为每一个记录赋予一个标记再按标记分类。
  • 聚类分析:分类分析法的逆过程。

反规范化

由于规范化会使表不断的拆分,从而导致数据表过多。这样虽然减少了数据冗余,提高了增、删、改的速度,但会增加查询的工作量。系统需要进行多次连接,才能进行查询操作,使得系统效率大大下降

技术手段

  • 增加派生性冗余列
  • 增加冗余列
  • 重新组表
  • 分割表

 


 

大数据

对海量数据处理的技术

 
 

 

传统数据和大数据的比较

  • 传统数据和大数据的比较
 
 

 

大数据处理系统应该具有的重要特征

    • 高度可扩展性
    • 高性能
    • 高度容错
    • 支持异构环境
    • 较短的分析延迟
    • 易用且开放的接口
    • 较低成本
    • 向下兼容性

数据库系统

内容提要

  • 数据库模式
  • ER模型
  • 关系代数与元组演算
  • 规范化理论
  • 并发控制
  • 数据库完整性约束
  • 分布式数据库
  • 数据仓库与数据挖掘

 


 

三级模式-两级映射

 

 


 

数据库设计过程

 

 


 

E-R模型

 

 

 

集成的方法:

  • 多个局部E-R图次集成。
  • 逐步集成,用累加的方式-次集成两个局部E-R。

集成产生的冲突及解决办法: 

  • 属性冲突:包括属性域冲突和属性取值冲突。
  • 命名冲突:包括同名异义和异名同义。
  • 结构冲突:包括同一对象在不同应用中具有不同的抽象,以及同一实体在不同局部E-R图中所包含的属性个数和属性排列次序不完全相同。

E-R模型

一个实体型转换为一个关系模式

1:1联系 1: n联系 m:n联系

三个以上实体间的一个多元联系

 

在数据库逻辑结构的设计中,将E-R模型转换为关系模型应遵循相关原则。对于三个不同实体集和它们之间的多对多联系m:n: p, 最少可转换为__C__个 关系模式。A.2 B.3 C.4 D.5
 

 


 

关系代数

  1. 笛卡儿积
  2. 投影
  3. 选择
  4. 联接
 

 

 

 

 

 

 

 

 

 

 

 

 

规范化理论-函数依赖

设R(U)是属性U上的一个关系模式,X和Y是U的子集,r为R的任一关系,如果对于r中的任意两个元组u,v,只要有u[X]=v[X],就有u[Y]=v[Y],则称X函数决定Y,或称Y函数依赖于X,记为X->Y。
 

 

 

 

规范化理论-价值与用途

非规范化的关系模式,可能存在的问题包括:数据冗余、更新异常、插入异常、删除异常

 

 

规范化理论-键

 

 

规范化理论-求候选键

将关系模式的函数依赖关系用“有向图”的方式表示找入度为0的属性,并以该属性集合为起点,尝试遍历有向图,若能正常遍历图中所有结点,则该属性集即为关系模式的候选键若入度为0的属性集不能遍历图中所有结点,则需要尝试性的将一些中间结点(既有入度,也有出度的结点)并入入度为0的属性集中,直至该集合能遍历所有结点,集合为候选键

例题

 

 

答案:A

 

 

规范化理论-范式

 

 

规范化理论-第一范式

第一范式(1NF):在关系模式R中,当且仅当所有域只包含原子值,即每个分量都是不可再分的数据项,则称R是第一范式。

规范化理论-第二范式

第二范式(2NF):当且仅当R是1NF,且每一个非主属性完全依赖主键(不存在部分依赖)时,则称R是第二范式。

规范化理论-第三范式

第三范式(3NF):当且仅当R是1NF,且E中没有非主属性传递依赖于码时,则称R是第三范式。

规范化理论-BC范式

BC范式(BCNF):设R是一个关系模式,F是它的依赖集,R属于BCNF当且仅当其中F中每个依赖的决定因素必定包含R的莫个候选码。

规范化理论-模式分解

保持函数依赖分解

设数据库模式p={R1, R2, . Rk}是关系模式R的一个分解,F是R 上的函数依赖集,p 中每个模式Ri上的FD集是Fi。如果{F1, F2, - Fk} 与F是等价的(即相互逻辑蕴涵),那么称分解p保持FD

无损分解

什么是有损,什么又是无损? 有损:不能还原。 无损:可以还原。

 

无损联接分解:指将一个关系模式分解成若干个关系模式后,通过自然联接和投影等运算仍能还原到原来的关系模式

规范化理论-模式分解-例题讲解

思考题:

有关系模式:成绩(学号,姓名,课程号,课程名,分数)函数依赖:学号一>姓名,课程号->课程名,(学号,课程号)->分数 若将其分解为:   成绩(学号,课程号,分数)   学生(学号,姓名)   课程(课程号,课程名)
请思考该分解是否为无损分解?
由于有:学号->姓名,所以:成绩(学号,课程号,分数,姓名)由于有:课程号一>课程名,所以:成绩(学号,课程号,分数,姓名,课程名)

将一个具有函数依赖:学号->姓名,课程号->课程名,(学号,课程号)->分数的关系模式:成绩(学号,姓名,课程号,课程名,分数),分解为:成绩(学号,课程号,分数);学生(学号,姓名);课程(课程号,课程名)。

初始表如下:

 

 

根据学号->姓名,对上表进行处理,将b12改成符号a2;然后考虑课程号->课程名,将b14改为a4,得下表:

 

 

从上图中可以看出,第一行已全部为a,因此本次R分解时无损联接分解。

规范化理论-模式分解

定理:如果R的分解为p={R1,R2},F为R所满足的函数依赖集合分解p具有无损联接性的充分必要条件是: R1∩R2->(R1-R2)R1∩R2->(R2-R1) 其中,R1∩R2,表示模式的交,为R1与R2中公共属性组成,R1-R2,或R2 -R1表示模式的差集,R1一R2表示R1中去除R1和R2的公共属性所组成。当模式R分解成两个关系模式R1和R2时,如果R1与R2的公共属性能函数决定R1中或R2中的其它属性,这样的分解就具有无损联接性。

 


 

并发控制-基本概念

  • 基本概念
 

 

并发控制-存在的问题实例

 

 

并发控制-封锁协议

一级封锁协议。事务T在修改数据R之前必须先对其加x锁,直到事务结束才释放。可防止丢失修改

二级封锁协议。一级封锁协议加上事务T在读取数据R之前先对其加S锁,读完后即可释放S锁。可防止丢失修改,还可防止读“脏”数据

三级封锁协议。一级封锁协议加上事务T在读取数据R之前先对其加S锁,直到事务结束才释放。可防止丢失修改、防止读“脏”数据与防止数据重复读

两段锁协议。可串行化的。可能发生死锁

数据库完整性约束

  1. 实体完整性约束
  2. 参照完整性约束
  3. 用户自定义完整性约束
  • 触发器

数据库安全

  • 数据库安全
 

 

数据备份

冷备份也称为静态备份,是将数据库正常关闭,在停止状态下,将数据库的文件全部备份(复制)下来。

热备份也称为动态备份,是利用备份软件,在数据库正常运行的状态下,将数据库中的数据文件备份出来。

 

 

数据备份

  • 完全备份:备份所有数据
  • 差量备份:仅备份上一次完全备份之后变化的数据
  • 增量备份:备份上-次备份之后变化的数据

(1)静态海量转储:在系统中无运行事务时进行,每次转储全部数据库。

(2)静态增量转储:在系统中无运行事务时进行,每次只转储上一次转储后更新过的数据。

(3)动态海量转储:转储期间允许对数据库进行存取或修改,每次转储全部数据库。

(4动态增量转储:转储期间允许对数据库进行存取或修改,每次只转储上-次转储后更新过的数据。

日志文件:事务日志是针对数据库改变所做的记录。它可以记录针对数据库的任何操作,并将记录结果保存在独立的文件中

数据库故障与恢复

  • 数据库故障与恢复
 

 

数据仓库与数据挖掘

面向主题

集成的

相对稳定的(非易失的)

反映历史变化(随着时间的变化)

 

 

数据挖掘方法分类

方法

  • 决策树
  • 神经网络
  • 遗传算法
  • 关联规则挖掘算法

分类

  • 关联分析:挖掘出隐藏在数据间的相互关系。
  • 序列模式分析:侧重点是分析数据间的前后关系(因果关系)。
  • 分类分析:为每一个记录赋予一个标记再按标记分类。
  • 聚类分析:分类分析法的逆过程。

反规范化

由于规范化会使表不断的拆分,从而导致数据表过多。这样虽然减少了数据冗余,提高了增、删、改的速度,但会增加查询的工作量。系统需要进行多次连接,才能进行查询操作,使得系统效率大大下降

技术手段

  • 增加派生性冗余列
  • 增加冗余列
  • 重新组表
  • 分割表

 


 

大数据

对海量数据处理的技术

 

 

传统数据和大数据的比较

  • 传统数据和大数据的比较
 

 

大数据处理系统应该具有的重要特征

  • 高度可扩展性
  • 高性能
  • 高度容错
  • 支持异构环境
  • 较短的分析延迟
  • 易用且开放的接口
  • 较低成本
  • 向下兼容性

转载于:https://www.cnblogs.com/cainiao-chuanqi/p/10433188.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值