一、三级模式—两级映射
内模式:如何存储数据
二、数据库设计过程
三、E-R模型
E-R模型示例:
集成的方法:
多个局部E-R图一次集成。
逐步集成,用累加的方式一次集成两个局部E-R。
集成产生的冲突及解决办法:
属性冲突:包括属性域冲突和属性取值冲突
命名冲突:包括同名异义和异名同义。
结构冲突:包括同一对象在不同应用中具有不同的抽象,以及同一实体在不同局部E-R图中所包含的属性个数和属性排列次序不完全相同。
E-R模型转关系模式时:
一个实体型转换为一个关系模式
1:1联系:两个实体各自转换为关系模式,中间的联系则可以单独为一个关系模式或是和任意实体结合成为一个关系模式
1:n联系:同样最少转换为两个关系模式
m:n联系时联系必须单独为一个实体
由上知识点易得答案为C
四、关系代数
并、交、叉、笛卡尔积、投影、选择、联接
联接:
五、规范化理论
1.函数依赖
设R(U)是属性U上的一个关系模式,和Y是u的子集,r为R的任一关系,如果对于r中的任意两个元组u,v,只要有u[X]=v[X],就有u[Y]=v[Y],则称X函数决定Y,或称Y函数依赖于X,记为X→Y。
2.价值与用途
非规范化的关系模式,可能存在的问题包括:数据冗余、更新异常、插入异常、删除异常
例如:
3.键
4.求候选键
方法:
将关系模式的函数依赖关系用“有向图”的方式表示
找入度为0的属性,并以该属性集合为起点,尝试遍历有向图,若能正常遍历图中所有结点,则该属性集即为关系模式的候选键
若入度为0的属性集不能遍历图中所有结点,则需要尝试性的将一些中间结点(既有入度,也有出度的结点)并入入度为0的属性集中,直至该集合能遍历所有结点,集合为候选键
答案:例1:A 、例2:ABCD 、例3:B
5.范式
主属性:属于候选键的一部分
①第一范式
第一范式(1NF):在关系模式R中,当且仅当所有域只包含原子值,即每个分量都是不可再分的数据项,则称R是第一范式。
例:下表所示的关系R是否满足1NF,如果不满足,应如何调整?
因高级职称人数还可细分则不满足
②第二范式
第二范式(2NF):当且仅当R是1NF,且每一个非主属性完全依赖主键(不存在部分依赖)时,则称R是第二范式。
思考题:请思考该关系模式会存在哪些问题(从数据冗余、更新异常、插入异常、删除异常这几个方面来考虑),解决方案是什么?
问题:数据冗余、更新异常、插入异常、删除异常
解决办法:将CNO、CREDIT提取出来做一个新的关系
③第三范式
第三范式(3NF):当且仅当R是1NF,且E中没有非主属性传递依赖于码时,则称R是第三范式。
思考题:请思考该关系模式会存在哪些问题(从数据余、更新常、插入异常、删除异常这几个方面来考虑),解决方案是什么?
问题:数据冗余、更新异常、插入异常、删除异常
解决办法:将DNO、DNAME、LOCATION提取出来做一个新的关系
④BC范式
BC范式(BCNF):设R是一个关系模式,F是它的依赖集,R属于BCNF当且仅当其F中每个依赖的决定因素必定包含R的某个候选码。
例题:
答案:C、D、A
6.模式分解
保持函数依赖分解
设数据库模式p={R1,R2,…,Rk}是关系模式R的一个分解,F是R上的函数依赖集,p中每个模式Ri上的FD集是Fi。如果(F1,F2,…,Fk}与F是等价的(即相互逻辑蕴涵),那么称分解p保持FD
无损分解
什么是有损,什么又是无损?
有损:不能还原。
无损:可以还原。
无损联接分解:指将一个关系模式分解成若干个关系模式后,通过自然联接和投影等运算仍能还原到原来的关系模式
例题:
无损,因为可以通过联接操作恢复
表格法:
公式法(局限性较强只适用于一分为二):
前者无损、后者有损
六、并发控制
1.基本概念
2.存在的问题示例
ROLLBACK:回滚,即将所有操作复原
3.封锁协议
一级封锁协议。事务T在修改数据R之前必须先对其加X锁,直到事务结束才释放。可防止丢失修改
二级封锁协议。一级封锁协议加上事务T在读取数据R之前先对其加S锁,读完后即可释放S锁。可防止丢失修改,还可防止读“脏”数据
三级封锁协议。一级封锁协议加上事务T在读取数据R之前先对其加S锁,直到事务结束才释放。可防止丢失修改、防止读“脏”数据与防止数据重复读两段锁协议。可串行化的。可能发生死锁
七、数据库完整性约束
1.实体完整性约束
2.参照完整性约束
3.用户自定义完整性约束
4.触发器
八、数据库安全
措施 | 说明 |
用户标识和鉴定 | 最外层的安全保护措施,可以使用用户帐户、口令及随机数检验等方式 |
存取控制 | 对用户进行授权,包括操作类型(如查找、插入、删除、修改等动作)和数据对象(主要是数据范围)的权限。 |
密码存储和传输 | 对远程终端信息用密码传输 |
视图的保护 | 对视图进行授权 |
审计 | 使用一个专用文件或数据库,自动将用户对数据库的所有操作记录下来 |
九、数据备份
冷备份也称为静态备份,是将数据库正常关闭,在停止状态下,将数据库的文件全部备份(复制)下来。
热备份也称为动态备份,是利用备份软件,在数据库正常运行的状态下,将数据库中的数据文件备份出来。
优点 | 缺点 | |
冷备份 | 非常快速的备份方法(只需复制文件);容易归档(简单复制即可);容易恢复到某个时间点上(只需将文件再复制回去):能与归档方法相结合,做数据库“最佳状态“的恢复;低度维护,高度安全 | 单独使用时,只能提供到某一时间点上的恢复;在实施备份的全过程中,数据库必须要作备份而不能做其他工作;若磁盘空间有限只能复制到磁带等其他外部存储设备上,速度会很慢;不能按表或按用户恢复 |
热备份 | 可在表空间或数据库文件级备份,备份的时间短;备份时数据库仍可使用;可达到秒级恢复(恢复到某一时间点上):可对几乎所有数据库实体做恢复;恢复是快速的 | 不能出错,否则后果严重;若热备份不成功所得结果不可用于时间点的恢复;因难于维护,所以要特别小心,不允许“以失败告终” |
完全备份:备份所有数据
差量备份:仅备份上一次完全备份之后变化的数据
增量备份:备份上一次备份之后变化的数据
(1)静态海量转储:在系统中无运行事务时进行,每次转储全部数据库。(2)静态增量转储:在系统中无运行事务时进行,每次只转储上一次转储后更新过的数据。(3)动态海量转储:转储期间允许对数据库进行存取或修改,每次转储全部数据库。
(4)动态增量转储:转储期间允许对数据库进行存取或修改,每次只转储上-次转储后更新过的数据。
日志文件:事务日志是针对数据库改变所做的记录,它可以记录针对数据库的任何操作,并将记录结果保存在独立的文件中
故障关系 | 故障原因 | 解决方法 |
事务本身的可预期故障 | 本身逻辑 | 在程序中预先设置Ro11back语句 |
事务本身的不可预期故障 | 算术溢出、违反存储保护 | 由DBMS的恢复子系统通过日志,撤消事务对数据库的修改,回退到事务初始状态 |
系统故障 | 系统停止运转 | 通常使用检查点法 |
介质故障 | 外存被破坏 | 一般使用日志重做业务 |
十、数据仓库与数据挖掘
1.数据仓库
数据仓库的数据挖掘方法分类特点:面向主题、集成的、相对稳定的(非易失的)、反映历史变化(随着时间变化)
2.数据挖掘方法及分类
方法:决策树、神经网络、遗传算法、关联规则挖掘算法
分类:
关联分析:挖掘出隐藏在数据间的相互关系。
序列模式分析:侧重点是分析数据间的前后关系(因果关系)。
分类分析:为每一个记录赋予一个标记再按标记分类。
聚类分析:分类分析法的逆过程。
十一、反规范化技术
由于规范化会使表不断的拆分,从而导致数据表过多。这样虽然减少了数据冗余,提高了增、删、改的速度,但会增加查询的工作量。系统需要进行多次连接,才能进行查询操作,使得系统效率大大下降
技术手段:增加派生性冗余列、增加冗余列、重新组表、分割表
十二、大数据基本概念
数据量(Volume)、速度(Velocity)、多样性(Variety)、值(Value)
比较维度 | 传统数据 | 大数据 |
数据量 | GB或TB级 | PB级或以上 |
数据分析需求 | 现有数据的分析与检测 | 深度分析(关联分析、回归分析) |
硬件平台 | 高端服务器 | 集群平台 |
大数据处理系统应该具有的重要特征:
1.高度可扩展性
2.高性能
3.高度容错支持异构环境
4.较短的分析延迟
5.易用且开放的接口6.较低成本
7.向下兼容性