侧边栏

软考自查:数据库系统

数据库系统

内容提要

  • 数据库模式
  • 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动态增量转储:转储期间允许对数据库进行存取或修改,每次只转储上-次转储后更新过的数据。

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

数据库故障与恢复

  • 数据库故障与恢复

数据仓库与数据挖掘

  • 面向主题
  • 集成的
  • 相对稳定的(非易失的)
  • 反映历史变化(随着时间的变化)

数据挖掘方法分类

方法

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

分类

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

反规范化

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

技术手段

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

 

大数据

对海量数据处理的技术

传统数据和大数据的比较

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

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

    • 高度可扩展性
    • 高性能
    • 高度容错
    • 支持异构环境
    • 较短的分析延迟
    • 易用且开放的接口
    • 较低成本
    • 向下兼容性
posted @ 2019-02-25 20:31  菜鸟-传奇  阅读(556)  评论(0编辑  收藏  举报