软考笔记第三天之数据库系统

摘要:
热备份,也称为动态备份,是在数据库正常工作时,使用备份软件备份数据库中的数据文件。虽然这减少了数据冗余,提高了添加、删除和修改的速度,但会增加查询的工作量。系统需要多个连接来执行查询操作,这大大降低了系统效率。

三级模式-两级映射

数据库模型(概念模式[用户视图]、外模式[DBA视图]、内模式[内部视图])

外模式-概念模式映射,概念模式-内模式映射

软考笔记第三天之数据库系统第1张

E-R模型,实体-联系图(Entity Relationship Diagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。

软考笔记第三天之数据库系统第2张

集成的方法:

多个局部E-R图一次集成。

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

软考笔记第三天之数据库系统第3张

软考笔记第三天之数据库系统第4张

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

属性冲突:包括属性域冲突和属性值冲突。

命名冲突:包括同名异义和异名同义。

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

关系代数:

并,交,差,笛卡尔积,投影(∏),选择(σ),联接

软考笔记第三天之数据库系统第5张

软考笔记第三天之数据库系统第6张

软考笔记第三天之数据库系统第7张

规范化理论(重)

函数依赖

设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

对于一张学生表,里面有学号,课程号,姓名几个字段,我们可以通过学号找到唯一的学生,我们就称学号,姓名为函数依赖。

价值与用途

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

软考笔记第三天之数据库系统第8张

求候选键

1.将关系模式的函数依赖关系用“有向图”的方式表示

2.找入度为0(只出不进)的属性,并以该属性集合为起点,尝试遍历有向图,若能正常遍历图中的所有结点,则该属性集即为关系模式的候选键

3.若入度为0的属性集不能遍历图中的所有结点,或者不存在入度为0的属性集,则需要尝试性的将一些中间结点(既有入度,也有出度的结点)并入入度为0的属性集,直至该集合能遍历所有结点,集合为候选键。

看例题:例1选A,例2:ABCD,例3:B

软考笔记第三天之数据库系统第9张

范式(必考)

◆ 第一范式(1NF):强调的是列的原子性,即列不能够再分成其他几列。 
考虑这样一个表:【联系人】(姓名,性别,电话) 
如果在实际场景中,一个联系人有家庭电话和公司电话,那么这种表结构设计就没有达到 1NF。要符合 1NF 我们只需把列(电话)拆分,即:【联系人】(姓名,性别,家庭电话,公司电话)。1NF 很好辨别,但是 2NF 和 3NF 就容易搞混淆。 

◆ 第二范式(2NF):首先是 1NF,另外包含两部分内容,一是表必须有一个主键;二是没有包含在主键中的列必须完全依赖于主键,而不能只依赖于主键的一部分。 

消除非主属性对码的部分函数依赖

◆ 第三范式(3NF):首先是 2NF,另外非主键列必须直接依赖于主键,不能存在传递依赖。即不能存在:非主键列 A 依赖于非主键列 B,非主键列 B 依赖于主键的情况。

消除传递函数依赖

软考笔记第三天之数据库系统第10张

软考笔记第三天之数据库系统第11张

软考笔记第三天之数据库系统第12张

软考笔记第三天之数据库系统第13张

软考笔记第三天之数据库系统第14张

软考笔记第三天之数据库系统第15张

模式分解

保持函数依赖分解

无损分解(有损:不能还原;无损:可以还原)

并发控制

事务:(原子性[整体,不可区分],一致性[相当于能量守恒],隔离性[独立执行,互不影响],持续性[结果,影响是持续的])

存在的问题:

软考笔记第三天之数据库系统第16张

解决办法:封锁协议

软考笔记第三天之数据库系统第17张

数据库完整性约束:提高数据可靠性

实体完整性约束(主键)

参照完整性约束(外键)

用户自定义完整性约束(x>=0 and x<=200)

应对复制情况:触发器(写脚本来约束)

数据库安全

措施说明
用户标识和鉴定最外层的安全保护措施,可以使用用户账户、口令及随机数检验等方式
存取控制

对用户进行授权,包括操作类型(如查找、插入、删除、修改等动作)和

数据对象(主要是数据范围)的权限

密码存储和传输对远程终端信息用密码传输
视图的保护对视图进行授权
审计

使用一个专用文件或数据库(日志),自动将用户对数据库的所有操作

记录下来

数据备份

分类一:

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

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

 优点缺点
冷备份

非常快速的备份方法(只需要复制文件);容易归档(简单复制即可);

容易恢复到某个时间点上(只需要将文件再复制回去);能与归档方法

相结合,做数据库“最佳状态”的恢复;低度维护,高度安全

单独使用时,只能提供到某一时间点上的恢复;在实施备份的过程中,

数据库必须要作备份而不能做其他工作;若磁盘空间有限只能恢复到

磁带等其他外部存储设备上,速度会很慢;不能按表或按用户恢复

热备份

可在表空间或数据库文件级备份,备份的时间短;备份时数据库

仍可使用;可达到秒级恢复(恢复到某一时间点上);可对几乎所有

数据库实体做恢复;恢复是快速的

不能出错,否则后果严重;若热备份不成功所得结果不可用于时间点

的恢复;困难与维护,所以要特别小心,不允许“以失败告终”

分类二:

完全备份:备份所有数据

差量备份:仅备份上一次完全备份之后变化的数据

增量备份:备份上一次备份之后变化的数据

分类三:

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

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

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

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

日志文件:

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

(记录sql语句,写数据文件)

数据库故障与恢复:

故障关系故障原因解决办法
事务本身的可预期故障本身逻辑在程序中预先设置Rollback语句
事务本身的不可预期故障算术溢出、违反存储保护

由DBMS的恢复子系统通过日志,撤销事务对数据库的修改,

回退到事务初始状态

系统故障系统停止运转通常使用检查点法
介质故障外存被破坏一般使用日志重做业务

数据仓库与数据挖掘:

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

软考笔记第三天之数据库系统第18张

OLAP服务器:联机分析处理服务器

数据挖掘:挖到人类所不知的特性(什么地方在什么季节卖什么饮料盈利比较好,对老数据进行挖掘)

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

分类:

关联分析:挖掘出隐藏在数据间的相互关系

序列模式分析:侧重点是分析数据间的前后关系(因果关系)

分类分析:为每一个记录赋予一个标记再按标记分类

聚类分析:分类分析法的逆过程

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

技术手段(以空间换时间):

增加派生性冗余列

增加冗余列

重新组表

分割表(垂直分割,水平分割)

大数据:

对海量数据进行处理的技术

数据量(Volume),速度(Velocity),多样性(Variety),值(Value)

比较维度传统数据大数据
数据量GB或TB级PB级或以上
数据分析需求现有数据的分析与检测深度分析(关联分析、回归分析)
硬件平台高端服务器集群平台(云计算)

 

 

 

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

高度可扩展性

高性能

高度容错

支持异构环境

较短的分析延迟

易用且开放的接口

较低成本

向下兼容性

免责声明:文章转载自《软考笔记第三天之数据库系统》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇OOTV杯设计模式大赛——模式总结Nginx服务器的安装和卸载下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

JAVA调用数据库存储过程

1.首相给数据库创建一个简单的存储过程:(在这里我是创建的Oracle数据库的存储过程) create or replace procedure stu_upd(nname varchar2,npassword varchar2) isbegin update student set name=nname where password=npassword;...

Excel数据批量导入到SqlServer的方法

1,以Excel为数据源建立连接导入。 关键点在于Excel的数据要有表头,表头要和数据库表的列名一样。连接字符串中HDR=YES不能省略,也就是第一行是表头的意思。IMEX=1;是把数据都当作字符串读取。 Subtest() Dim cn AsADODB.Connection Dim strSQL As String Dim...

45个非常有用的 Oracle 查询语句小结

这里我们介绍的是 40+ 个非常有用的 Oracle 查询语句,主要涵盖了日期操作,获取服务器信息,获取执行状态,计算数据库大小等等方面的查询。这些是所有 Oracle 开发者都必备的技能,所以快快收藏吧。 原文地址:http://www.jbxue.com/db/19890.html  日期/时间 相关查询 1.获取当前月份的第一天  运行这个命令能快...

influxdb数据库的安装部署(windows)二

1、把下载好的文件解压到目录中 2、以管理员身份运行cmd进入influxdb-1.7.6-1文件夹 3、生成influxdb数据的默认配置Config文件 4、修改Config配置信息 5、用配置好的config文件运行influxdb数据库 6、验证是否配置成功,双击打开influx.exe文件 配置成功!  7、influxdb数据库...

无法为数据库中的对象分配空间,因为'PRIMARY'文件组已满

用SQL Server2012,做数据保存时出错,错误信息:无法为数据库'***'中的对象'***'分配空间,因为'PRIMARY'文件组已满。请删除不需要的文件、删除文件组中的对象、将其他文件添加到文件组或为文件组中的现有文件启用自动增长,以便增加可用磁盘空间。 解决办法:打开SQL Server Management Studio,右键报错的数据库,选...

python3.6+RF连接mysql

接口自动化中会遇到有操作数据库的动作 目录 1、安装第三方库 2、安装pymysql 3、数据库操作 1、安装第三方库 使用在线安装:pip install robotframework_databaselibrary -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna....