【软件设计师】——5.数据库系统

news/2024/7/25 20:11:41/文章来源:https://blog.csdn.net/weixin_49015558/article/details/139243282

目录

5.1 基本概念

5.2 三级模式两级映射

5.3 设计过程和数据模型

5.4 关系代数

5.5 完整性约束

5.6 规范化和反规范化

5.7 控制功能

5.8 SQL语言

5.9 数据库安全

5.10 数据备份

5.11 数据库故障与恢复

5.12 数据仓库、数据挖掘和大数据


5.1 基本概念

  • 相关术语

    候选码/键:关系中能唯一标识一个元组的某一属性/属性组

    主码/键:若一个关系有多个候选码,则选定其中一个为主码

    主属性:包含在任何候选码中的诸属性

    非主属性:不包含在任何候选码中的属性

    外码/键:若公共属性在一个关系中是主属性,这个公共属性被称为另一个关系的外码。外码表示了两个关系间的相关联系

    全码:若关系模式的所有属性组都是这个关系模式的候选码,则称为全码

    弱实体:一个实体的键由另一个实体的部分或全部属性构成

  • 关系的三种类型

    基本关系/基本表/基表:实际存在的表,实际存储数据的逻辑表示

    查询表:查询结果对应的表

    视图表:由基本表/其他视图表导出的虚表,本身不独立存储在数据库中,数据库中只存放它的定义

  • 数据库 DB

    1. 理解:长期存储在计算机内、有组织、可共享的数据集合。数据库中的数据按一定数据模型组织、描述、存储,具有较小冗余度、较高数据独立性、易扩展性,并可为各种用户共享

    2. 数据库完整性:指数据的正确性、相容性。如学生性别只能是男/女,百分成绩只能取0~100间整数值等。为防止错误数据进入数据库,DBMS提供完整性约束机制,通过对数据库表结构进行约束,当修改数据时由系统对修改数据进行完整性检查,将错误数据拒绝于数据库之外。完整性约束不属于安全性控制机制

  • 数据库数据模型:层次模型、网状模型、关系模型、面向对象数据模型

    1. 非关系模型:层次模型、网状模型

    2. 关系模型:目前最常用数据模型之一。关系数据库系统采用关系模型作为数据组织方式,在关系模型中用二维表格结构表达实体集及实体集间的联系,最大特色是描述的一致性。关系模型是由若干关系模式组成的集合。一个关系模式相当于一个记录型,对应于程序设计语言中类型定义的概念。关系是一个实例,也是一张表,对应于程序设计语言中变量的概念。给定变量的值随时间可能发生变化;当关系被更新时,关系实例的内容也随时间发生变化

  • 数据库管理系统 DBMS

    1. 理解:① 数据库系统的核心软件要在操作系统支持下工作,解决如何科学地组织、存储数据、如何高效获取和维护数据的系统软件问题。② 主要功能包括数据定义、数据操纵、数据库运行管理、数据组织存储、管理和数据库的建立与维护。 ③ 为保证数据库中数据安全可靠和正确有效,DBMS提供数据库恢复、并发控制、数据完整性保护、数据安全性保护等功能

    2. 特征:数据结构化且统一管理;有较高数据独立性;提供数据控制功能

    3. 分类

      ①关系数据库系统:支持关系模型的数据库系统

      ②面向对象的数据库系统:支持以对象形式对数据建模的数据库系统

      ③对象关系数据库系统:在传统关系数据模型基础上,提供元组、数组、集合等更丰富的数据类型以及处理新的数据类型操作的能力,这样形成的数据模型为对象关系数据模型。基于对象关系数据模型的DBMS为对象关系数据库系统

  • 分布式数据库

    1. 理解:由一组数据组成,这组数据分布在计算机网络的不同计算机上,网络中的每个节点具有独立处理的能力(场地自治)。它可以执行局部应用,每个节点也能通过网络通信子系统执行全局应用。分布式数据库系统是在集中式数据库系统技术的基础上发展起来的

    2. 特点

      ① 数据独立性:分布式数据库系统中,数据独立性更加重要,有数据逻辑独立性、物理独立性、数据分布独立性(分布透明性) ② 集中与自治共享结合的控制结构:各局部DBMS可独立管理局部数据库,具有自治功能。系统又设有集中控制机制,协调各局部DBMS工作,执行全局应用 ③ 适当增加数据冗余度:在不同场地存储同一数据的多个副本,提高系统可靠性、可用性和系统性能 ④ 全局一致性、可串行性、可恢复性

    3. 透明性

      ①逻辑透明性/局部映像透明性:最低层次透明性,提供数据到局部数据库的映像。用户不必关心局部DBMS支持哪种数据模型、使用哪种数据操纵语言,用户/应用程序无须知道局部场地使用哪种数据模型,数据模型、操纵语言的转换由系统完成。对异构型、同构异质分布式数据库系统非常重要

      ②位置透明性:用户无须知道数据存放的物理位置,用户不必知道操作数据放在何处,数据分配到哪个/哪些站点存储对用户透明。数据分片模式的改变,如把数据从一个站点转移到另一个站点将不会影响应用程序,因而应用程序不必改写

      ③分片透明性:用户/应用程序不需知道逻辑上访问的表具体怎么分块存储,用户不必关心数据如何分片/分块。数据操作在全局关系上进行,如何分片对用户是透明的,当分片改变时应用程序可以不变

      ④复制透明性:用户不用关心数据库在网络中各节点的复制情况,被复制数据的更新由系统自动完成;采用复制技术的分布方法,用户不需知道数据是复制到哪些节点,如何复制

5.2 三级模式两级映射

  • 三级模式

    1. 视图级—外模式/用户模式/子模式

      用户与数据库系统的接口,描述用户看到/使用的那部分数据的逻辑结构,由若干外部记录类型组成

      ② 外模式 DDL:描述外模式的数据定义语言。用户根据外模式用数据操作语句/应用程序操作数据库中的数据

      ③ 描述:组成用户视图的各记录组成、相互关系、数据项特征、数据安全性、完整性约束条件

    2. 基表级—概念模式/模式

      数据逻辑结构、特征的描述,由若干概念记录类型组成,只涉及行的描述,不涉及具体值

      ② 概念模式的一个具体值称为模式的一个实例,同一个模式可有多个实例

      ③ 描述:现实世界中实体及其性质与联系,定义记录、数据项、数据完整性约束条件、记录间联系,是数据项值的框架

    3. 文件级—内模式/存储模式

      数据物理结构、存储方式的描述,是数据在数据库内部的表示方式定义所有内部记录类型索引、文件的组织方式,以及数据控制方面的细节

      ② 内模式DDL:描述内模式的数据定义语言。整个数据库的最低层表示不同于物理层,它假设外存是一个无限的线性地址空间

      ③ 定义存储记录类型、存储域表示、存储记录物理顺序,指引元、索引和存储路径等数据的存储组织

      ④ 聚簇/簇类索引:对磁盘上实际数据重新组织以按指定的一个/多个列的值排序,改变数据库内模式

  • 两级映射:保证数据的独立性

    1. 外模式—模式映像:实现外模式到概念模式间相互转换,保证数据与程序的逻辑独立性

    2. 模式—内模式映像:实现概念模式到内模式间相互转换,保证数据与程序的物理独立性

5.3 设计过程和数据模型

  • 数据模型

    1. 理解:是用来描述数据的一组概念和定义

    2. 数据模型三要素

      ① 数据结构:所研究对象类型的集合,是对系统静态特性的描述

      ② 数据操作:对数据库中各种对象实例 (值)允许执行的操作//操作规则集合,是对系统动态特性的描述

      ③ 数据约束条件:是一组完整性规则的集合,对于具体应用数据必须遵循特定的语义约束条件,保证数据正确、有效、相容

  • 基于UML的关系数据库设计的4个阶段

    1. 业务用例设计:进行数据库需求分析,使用用例图等建立业务模型。用户需求分析阶段形成相关文档作为概念结构设计的设计依据

    2. 逻辑数据模型设计:确定应用系统所需的持久数据,设计出关系数据库中表达持久数据的实体类及其联系,并将它们映射为数据库表和视图

    3. 物理数据模型设计:使用组件图、配置图等设计数据库的物理模型

    4. 物理实现设计:根据物理数据模型建立具体数据库环境下的数据库表、视图

  • 概念结构设计阶段工作步骤:抽象数据→设计局部视图→合并取消冲突→修改重构消除冗余

  • E-R模型

    1. 理解:实体联系模型,主要概念是实体、联系、属性

    2. 转换基本原则:实体和联系分别转换成关系模式,属性则转换成相应关系的属性

    3. 集成方法:多个局部E-R图一次集成;逐步集成,用累加方式一次集成两个局部E-R

    4. 集成产生的冲突:

      ① 属性冲突:包括属性域冲突、属性取值冲突

      ② 命名冲突:包括同名异义、异名同义

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

    5. 联系转关系模式:一个实体型转换为一个关系模式

      ① 1:1联系:可将联系合并至任意一端的实体关系模式中

      ② 1:n联系:可将联系合并至n端实体关系模式中

      ③ m:n联系:联系必须单独转成关系模式

      ④ 三个以上实体间的一个多元联系:对于三个不同实体集和它们之间的多对多联系 m : n :p ,最少可转换为3 + 1个关系模式

5.4 关系代数

  • 并、交、差、笛卡尔积

  • 投影 π:对列的操作

  • 选择 δ:对行的操作

  • 自然连接:去除重复属性列,等价于笛卡尔积先选择,后投影

    左外连接:R与S进行自然连接时,只把R中舍弃的元组放到新关系中

    右外连接:R与S进行自然连接时,只把S中舍弃的元组放到新关系中

    完全外连接:R与S进行自然连接时,把R和S中舍弃的元组都放到新关系中

  • 关系代数表达式查询优化原则

    1. 提早执行选取运算。对于有选择运算的表达式,优化成尽可能先执行选择运算的等价表达式,得到较小的中间结果,减少运算量及从外存读块的次数

    2. 合并乘积与其后的选择运算为连接运算

    3. 将投影运算与其后的其他运算同时进行,避免重复扫描关系

    4. 将投影运算和其前后的二目运算结合,没有必要为去掉某些字段再扫描一遍关系

    5. 执行连接前对关系适当预处理,快速找到要连接的元组

    6. 存储公共子表达式。对于有公共子表达式的结果应存于外存(中间结果),当从外存读出它的时间比计算的时间少时,可节约操作时间

5.5 完整性约束

  • 完整性规则:

    提供一种手段保证授权用户修改数据库时不会破坏数据一致性,是对关系的某种约束条件,防止意外破坏数据

    1. 实体完整性:规定基本关系R的主属性A不能取空值,唯一

    2. 参照完整性:若F是基本关系R的外码,它与基本关系S的主码对应(基本关系R、S不一定是不同关系),则对于R中每个元组在F上的值必须为:① 空值(F的每个属性值均为空值) ② 等于S中某个元组的主码值

    3. 用户定义完整性:针对某具体关系数据库的约束条件,反映某具体应用涉及的数据必须满足的语义要求,由应用环境决定

5.6 规范化和反规范化

  • 函数依赖

    1. 函数依赖:设 R(U)是属性集上的关系模式,X和Y是U的子集。若对 R(U)的任何一个可能的关系r,r中不可能存在两个元组在X上的属值相等,而在Y上的属性值不等,则称X函数决定 Y或Y函数依赖于 X,记作X-Y

    2. 非平凡的函数依赖:如果 X-Y,但 Y⊈X,则称X-Y是非平凡的函数依赖

    3. 平凡的函数依赖: 如果X-Y,但 Y⊂X,则称X-Y是平凡的函数依赖

    4. 完全函数依赖:在 R(U)中,如果 X-Y并且对于任何一个真子集X`(记为xx),都有xx不能决定 Y,则称Y对X完全函数依赖,记作 X-Y

    5. 部分/局部函数依赖:如果 X-Y,但 Y不完全函数依赖于X,则称Y对X部分函数依赖记作X-Y

    6. 传递依赖:在 R(U,F)中,如果X-Y,Y⊈X,Y不能函数决定X,Y-Z,则称Z对X传递依赖

  • 图示法求候选键

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

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

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

  • 非规范化关系模式

    1. 问题:数据冗余、更新异常、插入异常、删除异常(部分依赖、传递依赖导致)

    2. 第一范式1NF:若关系模式R的每一个分量都是不可再分的数据项,则关系模式R属于第一范式;当且仅当所有域只包含原子值

    3. 第二范式2NF:若关系模式R ∈ 1NF,且每一个非主属性完全依赖于主键,则关系模式R ∈2NF,即当1NF消除了非主属性对候选键部分函数依赖

    4. 第三范式3NF:若关系模式R(U,F)中不存在这样的码X、属性组Y及非主属性Z(Z不属于Y),使得X-Y,Y -\ X,Y-Z 成立,则称关系模式R ∈ 3NF,即当2NF消除了非主属性对候选键的传递函数依赖

    5. 巴克斯范式BCNF:当3NF 消除了主属性对码的部分、传递函数依赖。所有非主属性对每一个码都是完全函数依赖;所有非主属性对每一个不包含它的码也是完全函数依赖;没有任何属性完全函数依赖于非码的任何一组属性;所有函数依赖的箭头左边为候选键

  • 模式分解

    1. 理解:对一个给定模式进行分解,使分解后的模式与原来模式等价,分解具有无损连接性、分解要保持函数依赖。设数据库模式p={R1,R2,…,Rk}是关系模式R的一个分解,F是R上的函数依赖集,p中每个模式Ri上的FD集是Fi。如果(F1,F2,…,Fk)与F是等价的(即相互逻辑蕴涵),那么称分解p保持FD

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

    3. 无损分解公式法/表格法

      公式法:若R分解为p={R1,R2},F为R所满足的函数依赖集合,分解p具有无损连接性的充分必要条件是: R1 ∩ R2 一> (R1-R2) 或 R1 ∩ R2 一> (R2-R1)

  • Amstrong公理体系

    1. 关系模式R < U,F >来说有以下的推理规则

      A1.自反律:若Y ⊆ X ⊆ U,则X→Y成立

      A2.增广律:若Z ⊆ U 且 X→Y,则 XZ→YZ成立

      A3.传递律:若X→Y且Y→Z,则X→Z成立

    2. 根据A1,A2,A3得到下面三条推理规则

      合并规则:由X→Y,X→Z,有X→YZ (A2,A3)

      伪传递规则:由X→Y,WY→Z,有XW→Z (A2,A3)

      分解规则:由X→Y 及 Z ⊆ Y,有X→Z。(A1, A3)

  • 反规范化

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

    2. 技术手段:增加派生性冗余列、增加冗余列、重新组表、分割表

5.7 控制功能

  • 事务

    1. 理解:是一个操作序列,是数据库环境中不可分割的逻辑工作单元

    2. 事务特性

    原子性:事务的所有操作在数据库中要么全做,要么全不做

    一致性:事务执行结果必须保证数据库从一个一致性状态变到另一个一致性状态。一个事务独立执行的结果将保持数据一致性,即数据不会因为事务执行而遭受破坏

    隔离性:事务相互隔离。当多个事务并发执行时,任一事务的更新操作直到其成功提交的整个过程,对其他事物都不可见。一个事务的执行不能被其他事务干扰

    持久性:一个事务一旦提交,对数据库中数据的改变必须是永久的,即便系统出现故障时也如此

  • 并发控制

    1. 理解:并发操作指在多用户共享的系统中,许多用户可能同时操作同一数据。并发操作带来问题的原因是事务的并发操作破坏了事务的隔离性。DBMS的并发控制子系统负责协调并发事务的执行,保证数据库完整性不受破坏,避免用户得到不正确的数据

    2. 并发产生问题:丢失更新、不可重复读、读出“脏”数据

    3. 解决方案:封锁协议

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

      排他锁/X锁/写锁:若事务T对数据对象A加上X锁,则只允许T读取、修改A,其他事务都不能再对A加任何类型的锁,直到T释放A上的锁

      共享锁/S锁/读锁:若事务T对数据对象A加上S锁,则只允许T读取A,但不能修改A,其他事务只能再对A加S锁,直到T释放A上的S锁

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

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

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

  • 数据恢复

    1. 反向扫描日志文件,查找该事务的更新操作

    2. 对事务的更新操作执行逆操作

    3. 继续反向扫描日志文件,查找该事务的其他更新操作,并做同样的处理,直到回到事务的开始标志

5.8 SQL语言

  • 分类

    数据查询:SELECT

    数据定义:CREATE、DROP、ALTER

    数据操纵:UPDATE、INSERT、DELETE

    数据控制:GRANT、REVOKE

  • 建表/视图

    1. 视图:与基本表不同,是从一个/几个基本表/视图导出的虚表。数据库中只存放视图定义,而不存放视图对应的数据,这些数据仍存放在原基本表

      注意:

      ① WITH CHECK OPTION 表示对UPDATE、INSERT、DELETE操作时保证更新、插入、删除的行满足视图定义中的谓词条件(即子查询中的条件表达式)

      ② 子查询可以是任意复杂的SELECT语句,但通常不允许含有ORDER BY子句、DISTINCT短语

      ③ 组成视图的属性列名全部省略/全部指定。如果省略属性列名,则隐含该视图由SELECT子查询目标列的主属性组成

    2. 数据类型:

      字符型 char(N);整形 int;浮点型 float;日期型 date YYYY-MM-DD

      NULL:可以取空值;NOT NULL:不能取空值;UNIQUE:取值唯一 ;PRIMARY KEY:列名;

      FOREIGN KEY (列名1);REFERENCES 表名2

    // 创建表
    CREATE TABLE <表名1> ( <列名> <数据类型> [列级完整性约束条件]
    [,<列名> <数据类型> [列级完整性约束条件]]...
    [,<表级完整性约束条件> ] );
    ​
    // 创建视图
    CREATE VIEW 视图名(列表名)
    AS SELECT 查询字句
    [WITH CHECK OPTION];
  • 修改与删除表

    ALTER TABLE <表名>
    [ADD <新列名> <数据类型> [列级完整性约束条件]]
    [DROP <列名/完整性约束名>]
    [MODIFY/CHANGE <列名> <数据类型>];
    ​
    DROP TABLE<表名> 
    例如,删除表Student:DROP TABLE Student
  • 对数据的增删改查

    查询条件Where与Having的区别:

    1. Where:针对单条记录的判断条件

    2. Having:针对分组之后的判断条件

    3. 考虑到可能重复,需要加Distinct关键字去掉重复

    SELECT [ALL|DISTINCT] <目标表达式> [,<目标表达式>...]
    FROM <表名> [,<表名>...]
    [WHERE <条件表达式>]
    [GROUP BY <列名1> [HAVING<条件表达式>]]
    [ORDER BY <列名2> [ASC|DESC].. ];
    ​
    // 插入数据:VALUES子句可用子查询替代
    INSERT INTO <表名> [(<属性列1> [,<属性列2>...) ] VALUES (<常量1> [,<常量2>]...);         
    INSERT INTO student VALUES('95020','李四','男','CS','18’);
    INSERT INTO SC(Sno,Cno) VALUES('95020','1');// 删除数据
    DELETE FROM <表名> [WHERE<条件>]; 
    DELETE FROM student WHERE Sno= '95019'; //删除学号为95019的学生记录// 修改数据
    UPDATE <表名> SET <列名>=<表达式>[,<列名>=<表达式>...] [WHERE <条件>];                  
    UPDATE student SET Sage=23 WHERE Sno = '95001'; // 将学生95001的年龄改为23岁
    处理类型处理子类示例/语法
    结果排序升序/降序ORDER BY 字段名 ASC | DESC
    集函数统计COUNT([DISTINCT I ALL] <列名>)
    求一列值的总和SUM([DISTINCT I ALL] <列名>)
    求一列值的平均值AVG([DISTINCT|ALL] <列名>)
    求一列值中的最大值MAX([DISTINCT|ALL] <列名>)
    求一列值中的最小值MIN([DISTINCT I ALL] <列名>)
    对结果分组将查询结果按列值分组GROUP BY <列名>
    对分组结果筛选对分组结果筛选HAVING <条件列达式>
  • 授权语句

    GRANT <权限>[,...n]
    ON<对象类型><对象名>
    TO<用户>[,···n]
    WITH GRANT OPTION // 获得权限的用户还可以将权限赋给其他用户
  • 收回权限语句

    REVOKE <权限>[,···n]
    ON<对象类型><对象名>
    FROM <用户>[,···n]
    [RESTRICT|CASCADE]

5.9 数据库安全

  • 数据的安全性:保护数据库,防止未经授权或不合法的使用造成数据泄露、非法更改、破坏

  • 数据库系统的安全措施

    权限机制:限定用户对数据操作权限,把数据操作限定在具有制定权限的用户范围内。在标准SQL中定义授权语句GRANT实现权限管理

    用户视图:用户/应用程序只能通过视图操作数据,保证视图之外的数据安全性

    数据加密:对数据库中的数据进行加密,防止数据在存储、传输过程中失密

  • 具体安全措施

    1. 用户标识鉴定:最外层的安全保护措施,可使用用户帐户、口令、随机数检验等方式

    2. 存取控制:对用户进行授权,包括操作类型(查找/插入/删除/修改)和数据对象(数据范围)的权限

    3. 密码存储和传输:对远程终端信息用密码传输

    4. 视图的保护:对视图进行授权

    5. 审计:使用一个专用文件/数据库,自动将用户对数据库的所有操作记录下来

    6. 在大型数据库系统中,一组为了完成特定功能的SQL语句集,它存储在数据库中,一次编译后永久有效,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它

    7. 存储过程:① 存储过程是数据库所提供的一种数据库对象,通过存储过程定义一段代码,提供给应用程序调用来执行。 ② 从安全性角度考虑,更新数据时,通过提供存储过程让第三方调用,将需要更新数据传入存储过程,而在存储过程内部用代码分别对需要的多个表进行更新,避免向第三方提供系统的表结构,保证了系统数据安全

  • 数据库恢复

    1. 理解:数据库运行过程中由于软硬件故障可能造成数据破坏,数据库恢复是在尽可能短时间内,把数据库恢复到故障发生前的状态

    2. 具体实现方法:① 定期将数据库作备份 ② 事务处理时,将数据更新(插入、删除、修改)的全部有关内容写入日志文件 ③ 系统正常运行时,按一定时间间隔,设立检查点文件,把内存缓冲区内容还未写入到磁盘中去的有关状态记录到数据文件/检查点文件 ④ 发生故障时,根据现场数据内容、日志文件的故障前映像和检查点文件来恢复系统状态

5.10 数据备份

  • 冷备份

    1. 理解:静态备份,将数据库正常关闭,在停止状态下,将数据库文件全部备份/复制下来

    2. 优点:非常快速的备份方法(只需复制文件);容易归档(简单复制);容易恢复到某个时间点(只需将文件再复制回去);能与归档方法相结合,做数据库“最佳状态”的恢复;低度维护,高度安全

    3. 缺点:单独使用时只能提供到某一时间点的恢复;实施备份全过程中,数据库必须作备份而不能做其他工作;若磁盘空间有限只能复制到磁带等其他外存上,速度慢;不能按表或按用户恢复

  • 热备份

    1. 理解:动态备份,利用备份软件,在数据库正常运行状态下,将数据库的数据文件备份出来

    2. 优点:可在表空间/数据库文件级备份,备份时间短;备份时数据库仍可使用;恢复快速,可达到秒级恢复(恢复到某一时间点);可对几乎所有数据库实体做恢复

    3. 缺点:不能出错,否则后果严重;若热备份不成功所得结果不可用于时间点的恢复;因难于维护,所以要特别小心,不允许以失败告终

  • 备份策略

    完全备份:备份所有数据

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

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

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

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

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

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

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

5.11 数据库故障与恢复

故障关系故障原因解决方法
事务内部的可预期故障本身逻辑,可通过事务程序本身发现程序中预先设置Rollback语句
事务内部的非预期故障不能由事务程序处理,如算术溢出、违反存储保护、并发事务发生死锁由DBMS的恢复子系统通过日志,撤消事务对数据库的修改,回退到事务初始状态
系统故障/软故障造成系统停止运行的任何事件,使得系统要重新启动常使用检查点法
介质故障/硬故障发生几率小,破坏性最大,如磁盘损坏、磁头碰撞、瞬时强磁干扰、外存破坏使用日志重做业务
计算机病毒

5.12 数据仓库、数据挖掘和大数据

  • 数据仓库:面向主题、集成的、相对稳定的、非易失的、反映历史变化(随时间变化)


  • 数据挖掘

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

    2. 分类

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

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

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

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

  • 大数据

    1. 大数据特点:Volume大量、Velocity高速、Variety多样、Value低价值密度、Veracity真实性

    2. 大数据处理系统重要特征:高度可扩展性、高性能、高度容错、支持异构环境、较短分析延迟、易用且开放的接口、较低成本、向下兼容性

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_1053167.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

12.可视化实现

时间过的很快,不知不觉已到第十二章。经过前面教程的讲解和实践,数据接入服务的功能已初步完成。 此章节将通过可视化的实现,对设备接入进行监控,实时监听设备的接入情况及设备的在线时长。 并且可以通过订阅按钮、取消订阅按钮、查看数据按钮,对上报数据进行实时的跟踪…

AWS容器之Amazon ECS

Amazon Elastic Container Service&#xff08;Amazon ECS&#xff09;是亚马逊提供的一种完全托管的容器编排服务&#xff0c;用于在云中运行、扩展和管理Docker容器化的应用程序。可以理解为Docker在云中对应的服务就是ECS。

OC IOS 文件解压缩预览

热很。。热很。。。。夏天的城市只有热浪没有情怀。。。 来吧&#xff0c;come on。。。 引用第三方库&#xff1a; pod SSZipArchive 开发实现&#xff1a; 一、控制器实现 头文件控制器定义&#xff1a; // // ZipRarViewController.h // // Created by carbonzhao on 2…

手搓顺序表(C语言)

目录 SeqList.h SeqList.c 头插尾插复用任意位置插入 头删尾删复用任意位置删除 SLtest.c 测试示例 顺序表优劣分析 SeqList.h //SeqList.h#pragma once#include <stdio.h> #include <assert.h> #include <stdlib.h> #define IN_CY 3typedef int S…

系统管理、磁盘分区

系统管理 业务层面&#xff1a;为了满足一定的需求所做的特定操作。 硬盘是什么&#xff0c;硬盘的作用&#xff1a; **硬盘&#xff1a;**计算机的存储设备&#xff0c;机械硬盘是由一个或者多个磁性的盘组成&#xff0c;可以在盘片上进行数据的读写。 连接方式&#xff1a…

开源VS闭源:谁将引领AI大模型的新时代?

一、引言 随着人工智能技术的飞速发展&#xff0c;AI大模型已成为推动这一浪潮的核心动力。在AI大模型的发展过程中&#xff0c;开源与闭源两种不同的发展路径一直备受关注。本文将深入探讨这两种路径的优劣势&#xff0c;分析它们对AI大模型发展的影响&#xff0c;并预测谁将…

深入了解 CSS 预处理器 Sass

今天我们来深入探讨一下 CSS 预处理器 Sass。我们将学习什么是 Sass,如何使用它,以及它是如何工作的。 什么是 Sass? Sass 是 syntactically awesome style sheets 的缩写,是一种 CSS 预处理器。它是 CSS 的扩展,为基础 CSS 增加了更多的功能和优雅。普通的 CSS 代码很容…

从git上拉取项目进行操作

1.Git的概念 Git是一个开源的分布式版本控制系统&#xff0c;可以有效、高速的处理从很小到非常大的项目版本管理。它实现多人协作的机制是利用clone命令将项目从远程库拉取到本地库&#xff0c;做完相应的操作后再利用push命令从本地库将项目提交至远程库。 2.Git的工作流程…

惯性测量单元M-G370系列广泛用于工业系统各个领域

爱普生现已推出型号为M-G370系列的高稳定性、高精度及极小尺寸封装的惯性测量单元(IMU)&#xff0c;可广泛应用于工业系统的各个领域。 为了节省PCB的面积和产品空间&#xff0c;M-G370系列性测量单元设计精巧&#xff0c;且具有6个自由度:三轴角速率和三轴线性加速度&…

七大获取免费https证书的方式

想要实现https访问最简单有效的的方法就是安装SSL证书。只要证书正常安装上以后&#xff0c;浏览器就不会出现网站不安全提示或者访问被拦截的情况。下面我来教大家怎么去获取免费的SSL证书&#xff0c;又如何安装证书实现https访问。 一、选择免费SSL证书提供商 有多家机构提…

揭秘:如何使用Python统计女友生日还剩几天?

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一、引言&#xff1a;为何需要统计生日天数&#xff1f; 二、需求分析与准备 1. 用户输入格…

失落的方舟台服账号怎么注册 失落的方舟台服注册收不到验证码

《失落的方舟》&#xff08;Lost Ark&#xff09;是由韩国Smilegate公司研发的一款大型多人在线角色扮演游戏&#xff08;MMORPG&#xff09;。该游戏以其精美的画面、丰富的剧情、动作类游戏的战斗手感以及广阔的开放世界而著称&#xff0c;自发布以来便吸引了全球众多游戏玩家…

黑马python-面向对象程序设计

1.定义类 class 类名&#xff1a; 代码 ….. 注意&#xff1a;类名要满足标识符命名规则&#xff0c;同时遵循大驼峰命名习惯 2.self&#xff1a; self指调用该函数的对象 3.创建对象 对象名类&#xff08;&#xff09; 4.添加获取对象属性 对象名.属性名值 5._init_()方法&…

享受当下,还是留待未来?一项fMRI与眼动追踪技术的联合研究

摘要 时间贴现(temporal discount)是指个体对奖励的估计会随着时间流逝而下降的心理现象。具体而言&#xff0c;当获得奖励的时间以日期(日期条件&#xff1b;例如&#xff0c;2023年6月8日)而不是延迟(延迟条件&#xff1b;例如&#xff0c;30天)呈现时&#xff0c;贴现率较低…

等了10年,终于迎来RTX5/RTX4全家桶开源,开源,开源! 且免费商用

我们的V4, V5, V6 ,V7开发板都配套了大量的RTX4, RTX5教程和案例&#xff0c;从2015年发布首版RTX4内核教程以来&#xff0c;已经整整10年了。 1、制作这个RTX教程和案例&#xff0c;其实也承受了很大的压力&#xff0c;因为只有RTX内核是免费商用的&#xff0c;中间件并不免费…

水电表远程抄表:智能化时代的能源管理新方式

1.行业背景与界定 水电表远程抄表&#xff0c;是随着物联网技术发展&#xff0c;完成的一种新型的能源计量管理方式。主要是通过无线传输技术&#xff0c;如GPRS、NB-IoT、LoRa等&#xff0c;将水电表的信息实时传输到云服务器&#xff0c;进而取代了传统人工当场抄水表。这种…

第十二课,for循环

一&#xff0c;for循环对字符串&#xff08;序列&#xff09;的基础语法 语法&#xff1a;for i in “hello world”: *小练习&#xff1a;统计字符串中有一个字符&#xff1f;特定的字符有几个&#xff1f; 二&#xff0c;for循环的range语句 ①从a开始到b结束&#xff0c;每…

医学中脑机接口技术的未来

医学中脑机接口技术的未来 李升伟 编译 对非侵入性脑机接口&#xff08;而不是植入物&#xff09;日益增长的兴趣可能会提高患者的易使用性&#xff0c;但分辨率需要提高。 图片来源&#xff1a;Denis Pobytov / DigitalVision Vectors / Getty 全球范围内正在展开一场争夺利用…

AutoDL搭建 ChatGLM3

租用新实例 这里选择的西北 B 区、RTX 409024GB 创建虚拟环境并激活 # 安装虚拟环境至数据盘 conda create --prefix /root/autodl-tmp/envs/chatglm3-demo python3.10# 激活虚拟环境 conda activate /root/autodl-tmp/envs/chatglm3-demo拉取ChatGLM3仓库代码 # 开启学术…

wordpress主题 ACG美化插件v3.4.2支持zibll主题7b2主题美化

独具一格的二次元风格&#xff0c;打造全新的子比美化方向 大部分代码均为CSS、JS做成插件只是为了方便懒人小白站长 后台全功能一览&#xff0c;大部分美化均为网上通用流传&#xff0c;