三、数据库系统(考点篇)

2024-07-10 1142阅读

1、三级模式一两级映像

内模式:管理如何存储物理的 数据 ,对数据的存储方式、优化、存放等。 模式:又称为概念模式, 就是我们通常使用的表这个级别 ,根据应用、需求将物理数据划分成一 张张表。 外模式: 对应数据库中的视图这个级别 ,将表进行一定的处理后再提供给用户使用,例如,将用 户表中的用户名和密码组成视图提供给登录模块使用,而用户表中的其他列则不对该模块开放,增加了安全性。 外模式一模式映像:是表和视图之间的映射,存在于概念级和外部级之间, 若表中数据发生了修 改,只需要修改此映射,而无需修改应用程序 。 模式一内模式映像:是表和数据的物理存储之间的映射,存在于概念级和内部级之间, 若修改了 数据存储方式,只需要修改此映射,而不需要去修改应用程序 。 以上的数据库系统实际上是一个分层次的设计,从底至上称为物理级数据库(实际为一个数据库 文件)、概念级数据库、用户级数据库,各层情况如下: 三、数据库系统(考点篇)

2、数据库的设计

(1)需求分析:即分析数据存储的要求,产出物有 数据流图、数据字典、需求说明书 。获得用 户对系统的三个要求: 信息要求、处理要求、系统要求 。 (2)概念结构设计:就是设计 E-R图,也即实体-联系图,与物理实现无关,就是说明有哪些实 体,实体有哪些属性。 工作步骤包括:选择局部应用、逐一设计分 E-R图、E-R图合并 。 分E-R 图进行合并时,它们之间存在的冲突主要有以下3 类。
  • 属性冲突。同一属性可能会存在于不同的分E-R 图中,由于设计人员不同或是出发点不同,对属性的类型、取值范围、数据单位等可能会不一致。
  • 命名冲突。相同意义的属性,在不同的分E-R 图上有着不同的命名,或是名称相同的属性在不同的分 E-R 图中代表着不同的意义。
  • 结构冲突。同一实体在不同的分 E-R 图中有不同的属性,同一对象在某一分 E-R 图中被抽象为实体而在另一分E-R 图中又被抽象为属性。 (3)逻辑结构设计:将 E-R 图,转换成关系模式,也即转换成实际的表和表中的列属性,这里要考虑很多规范化的东西。 工作步骤包括:确定数据模型、将E-R 图转换成为指定的数据模型、确定 完整性约束和确定用户视图 。 ---转换为逻辑结构模型,逻辑结构模型包含很多内容,不只是关系模式、还有层次模式、网状模式等等,关系模式只是逻辑结构模型的经典。 (4)物理设计:根据生成的表等概念,生成物理数据库。 工作步骤包括确定数据分布、存储结 构和访问方式 。 ---表里的数据如何存储,如hash存储方式,顺序存储方式,如何访问等等 具体各个设计阶段的产出物、要求等如下所示: 三、数据库系统(考点篇) 需求分析:数据流图、数据字典、需求说明书。 概念结构设计:E-R模型(用户的数据模型),与DBMS无关的概念模型。 逻辑结构设计:关系模式、视图、完整性约束、应用处理说明书 第(5)和(6)没有考点不重要 (5)数据库实施阶段。数据库设计人员根据逻辑设计和物理设计阶段的结果建立数据库,编制 与调试应用程序,组织数据入库,并进行试运行。 (6)数据库运行和维护阶段。数据库应用系统经过试运行即可投入运行,但该阶段需要不断地 对系统进行评价、调整与修改。

    3、E-R模型

    数据模型的三要素: 数据结构、数据操作、数据的约束条件 。 在 E-R模型中,使用椭圆表示属性(一般没有)、长方形表示实体、菱形表示联系,联系的两端 要填写联系类型,示例如下图: 三、数据库系统(考点篇) 联系类型:一对一1:1、一对多1:N、多对多M:N。          属性分类:简单属性和复合属性(属性是否可以分割)、单值属性和多值属性(属性有多个取值) NULL属性(无意义)、派生属性(可由其他属性生成)。 那么 E-R模型如何转换为关系模型呢(实际就是转换为多少张表)?
    • 每个实体都对应一个关系模式;
    • 联系分为三种:
      1. 1:1 联系中,联系可以放到任意的两端实体中,作为一个属性(要保证 1:1的两端关联);
      2. 1:N 的联系中,联系可以单独作为一个关系模式,也可以在N端中加入1端实体的主键;
      3. M:N 的联系中,联系必须作为一个单独的关系模式,其主键是M和N端的联合主键。
      三、数据库系统(考点篇)

      4、关系代数运算

      关系模式在代数运算时可以理解为数据库中的表,两个概念通用。 并(∪):结果是两张表中所有记录数合并,相同记录只显示一次。 交(∩):结果是两张表中相同的记录。 差(− ):S1-S2,结果是S1表中有而S2表中没有的那些记录。 并:所有记录合并,相同记录只留一个;交:两个共有的记录;差:被减数中减去减数中的记录 列可以写列号也可列名 设有S1和S2关系如下图,其并交差结果如下图:

      三、数据库系统(考点篇)

      笛卡尔积(X):S1*S2,产生的结果包括 S1和S2 的所有属性列,并且S1中每条记录依次和 S2 中所有记录组合成一条记录,最终 属性列为S1+S2 属性列, 记录数为S1*S2 记录数。 记录相乘,并且属性列不去重。 投影(π ):实际是按条件选择某关系模式中的某列(垂直方向运算),列也可以用数字表示。 选择(σ ):实际是按条件选择某关系模式中的某行记录(水平方向运算)。 设有S1和S2关系如下图,其笛卡尔积、投影、选择结果如下图:

      三、数据库系统(考点篇)

      自然连接(⋈ ):结果显示全部的属性列,但是相同属性列只显示一次,显示两个关系模式中属性相同且值相同的记录。自然联接结果如下: 在笛卡尔积基础上属性列去重,还要属性且属性值相同的 三、数据库系统(考点篇)   效率问题:关系代数运算的效率,归根结底是看参与运算的两张表格的属性列数和记录数,属性 列和记录数越少,参与运算的次数自然越少,效率就越高。因此,效率高的运算一般都是在两张表格参与运算之前就将条件判断完。如: 三、数据库系统(考点篇) 后者效率比前者效率高很多。 结合数据表的操作及相关名词补充: 广义投影:广义投影运算允许在投影列表中使用算术运算,实现了对投影运算的扩充。若有关系R,条件F1,F2, … ,Fn中的每一个都是涉及R中常量和属性的算术表达式,那么广义投影运算的形式定义为 三、数据库系统(考点篇) 连接: 分为 θ 连接、等值连接与自然连接 1) θ 连接:可以由基本的关系运算 笛卡儿积和 选取运算导出。 (笛卡尔积 + 选择)

      三、数据库系统(考点篇)

      θ比较运算符,如>、Y(在R上)。

    • 增广律:若X→Y 在R 上成立,且属性集Z 包含于属性集U,则XZ→YZ 在R 上成立。  X-->Y,XZ-->YZ(在R上)
    • 传递律:若X→Y 和 Y→Z在R 上成立,则X →Z 在R上成立。  X-->Y,Y-->Z,X-->Z
    • 合并规则:若X→Y,X→Z同时在R上成立,则X→YZ在R上也成立。  X-->Y,X-->Z,X-->YZ
    • 分解规则:若X→W在R上成立,且属性集Z包含于W,则X→Z在R上也成立。  X-->W,Z∈W,X-->Z
    • 伪传递规则:若X→Y在R上成立,且WY→Z,则XW→Z。X-->Y,WY-->Z,XW-->Z

      5.2键和约束

      超键:能唯一标识此表的属性的组合。 候选键:超键中去掉冗余的属性,剩余的属性就是候选键。 主键:任选一个候选键,即可作为主键。 外键:其他表中的主键。 候选键的求法:根据依赖集画出有向图,从入度为0的节点开始,找出图中一个节点或者一个节 点组合,能够遍历完整个图,就是候选键。 主属性:候选键内的属性为主属性,其他属性为非主属性。 实体完整性约束:即主键约束,主键值不能为空,也不能重复。 参照完整性约束:即外键约束,外键必须是其他表中已经存在的主键的值,或者为空。 用户自定义完整性约束:自定义表达式约束,如设定年龄属性的值必须在0到150之间。 触发器:通过写脚本来规定复杂的约束。本质属于用户自定义完整性约束。

      5.3范式

      范式总结:

      1. 1NF:属性都是不可分割的,消除小表就是满足1NF

      2.1NF--->2NF:消除非主属性对候选键的部分依赖(消除非主属对联合主键的部分依赖)

      3.2NF--->3NF:消除非主属性对主键的传递依赖(消除非主属对主键的传递依赖)

      4.3NF--->BCNF:消除主属性对主键的部分依赖和传递依赖(消除主属对主键的部分依赖和传递依赖)

      数据库中的范式总体概论如下图:

      三、数据库系统(考点篇)

      第一范式1NF

      关系中的每一个分量必须是一个不可分的数据项。通俗地说,第一范式就是表中不允许有小表的 存在。比如,对于如下的员工表,就不属于第一范式:

      三、数据库系统(考点篇)

      上表中,出现了属性薪资又被分为基本工资和补贴两个子属性,就好像表中有分割了一个小表, 这就不属于第一范式。如果将基本工资和补贴合并,那么该表符合1NF。 1NF 可能存在的问题:1NF是最低一级的范式,范式程度不高,存在很多的问题。比如用一个单 一的关系模式学生来描述学校的教务系统:学生(学号,学生姓名,系号,系主任姓名,课程号,成绩)

      三、数据库系统(考点篇)

      这个表满足第一范式,但是存在如下问题: 数据冗余:一个系有很多的学生,同一个系的学生的系主任是相同的,所以系主任名会重复出现。 更新复杂:当一个系换了一个系主任后,对应的这个表必须修改与该系学生有关的每个元组。 插入异常:如果一个系刚成立,没有任何学生,那么这个无法把这个系的信息插入表中。 删除异常:如果一个系的学生都毕业了,那么在删除该系学生信息时,这个系的信息也丢了。

      第二范式2NF

      如果关系R属于1NF,且每一个非主属性完全函数依赖于任何一个候选码,则R属于2NF。通俗 地说,2NF 就是在1NF的基础上,表中的每一个非主属性不会依赖复合主键中的某一个列。 按照定义,上面的学生表就不满足 2NF,因为学号不能完全确定课程号和成绩(每个学生可以选 多门课)。将学生表分解为: 学生(学号,学生姓名,系编号,系名,系主任) 选课(学号,课程号,成绩)。 每张表均属于2NF。

      第三范式3NF

      在满足1NF的基础上,表中不存在非主属性对码的传递依赖。 继续上面的实例,学生关系模式就不属于3NF,因为学生无法直接决定系主任和系名,是由学号->系编号,再由系编号->系主任,系编号->系名,因此存在非主属性对主属性的传递依赖,将学生表进一步分解为: 学生(学号,学生姓名,系编号) 系(系编号,系名,系主任) 选课(学号,课程号,成绩) 每张表都属于3NF。 BC范式 BCNF 所谓 BCNF,是指在第三范式的基础上进一步消除主属性对于码的部分函数依赖和传递依赖。 通俗的来说,就是在每一种情况下,每一个依赖的左边决定因素都必然包含候选键,如下:

      三、数据库系统(考点篇)

      上图中,候选键有两种情况:组合键(S,T)或者(S,J),依赖集为{SJ—T,T—J},可知,STJ 三个属性 都是主属性,因此其达到了3NF(无非主属性),然而,第二种情况,即(S,J)为候选键的时候,对于依 赖T->J,T在这种情况不是候选键,即 T-J的决定因素不包含任意候选码,因此上图不是 BCNF。 要使上图关系模式转换为 BCNF 也很简单,只需要将依赖T->J变为 TS->J即可,这样其左边决定 因素就包含了候选键之一S。

      5.4模式分解

      范式之间的转换一般都是通过拆分属性,即模式分解,将具有部分函数依赖和传递依赖的属性分 离出来,来达到一步步优化,一般分为以下两种:

      保持函数依赖分解----还原出原来的全部函数依赖

      对于关系模式 R,有依赖集 F,若对R进行分解,分解出来的多个关系模式,保持原来的依赖集不变,则为保持函数依赖的分解。另外,注意要消除掉冗余依赖(如传递依赖)。 实例: 设原关系模式 R(A,B,C),依赖集 F(A->B,B->C, A->C),将其分解为两个关系模式 R1(A,B)和R2(B,C),此时 R1中保持依赖 A>B,R2保持依赖 B->C,说明分解后的 R1和 R2是保持函数依赖的分解,因为 A->C这个函数依赖实际是一个冗余依赖,可以由前两个依赖传递得到,因此不需要管。

      保持函数依赖的判断(补充,第2点不强求):

      1、如果F上的每一个函数依赖都在其分解后的某一个关系上成立,则这个分解是保持依赖的(这 是一个充分条件)。 也即我们课堂上说的简单方法,看函数每个依赖的左右两边属性是否都在同一个分解的模式中。 2、如果上述判断失败,并不能断言分解不是保持依赖的,还要使用下面的通用方法来做进一步 判断。 该方法的表述如下: 算法二: 对F上的每一个α→β使用下面的过程: result:= a; while(result 发生变化)do for each 分解后的 Ri t=(result∩Ri)+ ∩Ri result=resultUt 以下面的例题纠错作为讲解:正确答案是无损分解,不保持函数依赖。 假设关系模式 R(U, F),属性集 U={A,B,C},函数依赖集 F={A→B,B→C}。若将其分解 为 p={RI(U1,F1),R2(U2,F2)},其中 U1={A,B},U2={A,C}。那么,关系模式R、R1、R2分别达到 了(5);分解 D(6)。 (5)A.1NF、2NF、3NF B.INF、3NF、3NF C.2NF、2NF、3NF D.2NF、3NF、 3NF (6)A.有损连接但保持函数依赖 B.既无损连接又保持函数依赖 C.有损连接且不保持函数依赖 D.无损连接但不保持函数依赖 【答安1D B 首先,该分解,U1保持了依赖 A->B,然而 B->C没有保持,因此针对 B->C需要用第2点算法来 判断: result=B,result∩U1=B,B+=BC,BCNU1=B,result=BUB=B,result没变,然后,result再和 U2 交是空,结束了,不保持函数依赖。 注意,这里 B+,+的意思是代表由 B能够推导出的其他所有属性的集合,这里,B->C,因此 B+=BC。

      无损分解----还原出原来的全部属性

      分解后的关系模式能够还原出原关系模式,就是无损分解,不能还原就是有损。 当分解为两个关系模式,可以通过以下定理判断是否无损分解: 定理: 如果R的分解为 p={R1,R2},F为R所满足的函数依赖集合,分解 p具有无损连接性的充分必要条件是R1∩R2->(R1-R2)或者R1∩R2->(R2-R1)。 当分解为多个关系模式时,通过表格法求解: 表格法适应于3个及以上的,一般不考 思考题: 有关系模式:成绩(学号,姓名,课程号,课程名,分数) 函数依赖:学号→姓名,课程号→课程名,(学号,课程号)→分数 若将其分解为: 成绩(学号,课程号,分数) 学生(学号,姓名) 课程(课程号,课程名) 请思考该分解是否为无损分解? 由于有:学号→姓名,所以: 成绩(学号,课程号,分数,姓名) 由于有:课程号→课程名,所以: 成绩(学号,课程号,分数,姓名,课程名) 由思考题可知,无损分解,要注意将候选键和其能决定的属性放在一个关系模式中,这样才能还 原。也可以用表格法求解如下(需要依赖左右边的属性同时在一个关系模式中,才能补充): 行是所有属性,列是分解后的关系模式名称 三、数据库系统(考点篇) 注意:拆分成单属性集必然是有损分解,因为单属性不可能包含依赖左右两边属性,这个单属性 已经无法再恢复。 三、数据库系统(考点篇) 解题思路: 第一题: 第一步,首选确定候选键,如何求? 从依赖集着手,凡是从未在右边出现过的属性,必然是候选键之一(箭头右边出现过的全部干掉),然后根据这些属性来推导其他的所有属性出来。 如本题:{A, B, C,D},AB-->C,C干掉,CD-->B,B干掉,所以只剩下A和D,这两是候选键之一,然后再用A和D推导出其他的所有属性(B和C),发现推导不出来B和C,那么需要加关键字了,比如加B,组成ABD,AB-->C,所以ABD就是候选关键字之一。当然还有其他的比如ACD也是可以的。所以选C。 主属性是候选键里的属性,非主属性是非候选键,所以ABD和ACD都是3个主属性和1个非主属性 第二题: 做关系模式类的题,老规矩,先找候选关键字。 {E,N,M,L,Q},E-->N,EM-->Q,M-->L,去掉N、Q、L,剩下E、M。E和M能推导出所有,那么E、M就是候选关键字,而且就这一个。 达到了第几范式? 1NF看看有没有属性可以分割,俗称的小表。一般给出的都满足1NF。 2NF看看有没有普通属性对联合主键的依赖,联合主键是E和M,发现N依赖E,L依赖M,不满足,不满足2NF的后面的3NF、BCNF的更不可能了。 3NF看看非主属性有没有对主键的函数依赖。 BCNF看看是否存在主属性对主键的部分依赖和传递依赖。   选A E和M是联合主键、并且还存在非主属对主键的部分依赖,选D。 三、数据库系统(考点篇) 候选关键字是:CD 是不是有损,公式:R1∩R2 --> (R1-R2)或者(R2-R1) R1∩R2 = C;R1 - R2 =ABE;R2 - R1 = D;根据依赖集C推不出来ABE,D能推出来A,A能推出来E,但是只有D、A、E推不出B和C来,所以它是有损分解。 看函数每个依赖的左右两边属性是否都在同一个分解的模式中。 B-->A,在R1中;D-->A,不在;A-->E在R1中;AC-->B在R1中,这是第一步,第二部再去后面的判断,太复杂就不去详细说明了,选D。

      5.5并发控制即便概念图

      三、数据库系统(考点篇)

      5.6事务管理

      事务提交 commit,事务回滚 rollback。 事务:由一系列操作组成,这些操作,要么全做,要么全不做,拥有四种特性,详解如下: (操作)原子性:要么全做,要么全不做。 (数据)一致性:事务发生后数据是一致的,例如银行转账,不会存在 A账户转出,但是 B账户没收到的情况。 (执行)隔离性:任一事务的更新操作直到其成功提交的整个过程对其他事务都是不可见的,不同事务之间是隔离的,互不干涉。 (改变)持续性:事务操作的结果是持续性的。 事务是并发控制的前提条件,并发控制就是控制不同的事务并发执行,提高系统效率,但是并发 控制中存在下面三个问题: 丢失更新:事务1对数据 A 进行了修改并写回,事务2 也对A进行了修改并写回,此时事务2写回的数据会覆盖事务1写回的数据,就丢失了事务1对A的更新。即对数据A的更新会被覆盖。 不可重复读:事务2读A,而后事务1对数据A进行了修改并写回,此时若事务2再读A,发现数据不对。即一个事务重复读 A两次,会发现数据 A有误。 读脏数据:事务1对数据A进行了修改后,事务2读数据 A,而后事务1回滚,数据A恢复了原来的值,那么事务2对数据 A做的事是无效的,读到了脏数据。 三、数据库系统(考点篇)

      5.7封锁协议

      X锁是排它锁(写锁)。若事务T对数据对象 A加上X锁,则只允许T读取和修改 A,其他事务都不能再对A加任何类型的锁,直到T释放A上的锁。 S锁是共享锁(读锁)。若事务T对数据对象A加上s锁,则只允许T读取 A,但不能修改 A,其他事务只能再对A加S锁(也即能读不能修改),直到T释放 A上的S锁。 总结:加了X,别的事务什么锁也加不了(即不能读不能写),加了S锁,别的事务只能再加S锁(可以读不可写),加不了X锁 共分为三级封锁协议,定义如下: 一级封锁协议:事务在修改数据R之前必须先对其加X锁,直到事务结束才释放。可解决丢失更 新问题。 二级封锁协议:一级封锁协议的基础上加上事务T在读数据R之前必须先对其加 S锁,读完后即 可释放S锁。可解决丢失更新、读脏数据问题。---- 这里要注意加了S后加不了X。 三级封锁协议:一级封锁协议加上事务T在读取数据R之前先对其加S锁,直到事务结束才释放。 可解决丢失更新、读脏数据、数据重复读问题。---- 这里要注意加了X后加不了S。 三级封锁协议的应用丢失更新加锁(一级封锁协议): 三、数据库系统(考点篇) 读脏数据加锁(二级封锁协议): 三、数据库系统(考点篇) 不可重复读加锁(三级封锁协议): 三、数据库系统(考点篇) 两段锁协议 每个事务的执行可以分为两个阶段:生长阶段(加锁阶段)和衰退阶段(解锁阶段)。 加锁阶段:在该阶段可以进行加锁操作。在对任何数据进行读操作之前要申请并获得S锁,在进 行写操作之前要申请并获得X锁。加锁不成功,则事务进入等待状态,直到加锁成功才继续执行。 解锁阶段:当事务释放了一个封锁以后,事务进入解锁阶段,在该阶段只能进行解锁操作不能再 进行加锁操作。 两段封锁法可以这样来实现:事务开始后就处于加锁阶段,一直到执行 ROLLBACK和 COMMIT之 前都是加锁阶段。ROLLBACK和 COMMIT使事务进入解锁阶段,即在ROLLBACK和 COMMIT模块中 DBMS释放所有封锁。

      6、数据故障与备份

      6.1 安全措施

      三、数据库系统(考点篇)

      6.2数据故障

      三、数据库系统(考点篇)

      6.3 数据备份

      静态转储:即冷备份,指在转储期间不允许对数据库进行任何存取、修改操作;
      • 优点是非常快速的备份方法、容易归档(直接物理复制操作);
      • 缺点是只能提供到某一时间点上的恢复,不能做其他工作,不能按表或按用户恢复。 动态转储:即热备份,在转储期间允许对数据库进行存取、修改操作,因此,转储和用户事务可 并发执行;
        • 优点是可在表空间或数据库文件级备份,数据库扔可使用,可达到秒级恢复;
        • 缺点是不能出错,否则后果严重,若热备份不成功,所得结果几乎全部无效。 完全备份:备份所有数据。 差量备份:仅备份上一次完全备份之后变化的数据。 增量备份:备份上一次备份之后变化的数据。 日志文件:在事务处理过程中,DBMS把事务开始、事务结束以及对数据库的插入、删除和修改 的每一次操作写入日志文件。一旦发生故障,DBMS 的恢复子系统利用日志文件撤销事务对数据库的改变,回退到事务的初始状态。 备份毕竟是有时间节点的,不是实时的,例如:上一次备份到这次备份之间数据库出现了故障, 则这期间的数据无法恢复,因此,引入日志文件,可以实时记录针对数据库的任何操作,保证数据库可以实时恢复。

          7、分布式数据库

          局部数据库位于不同的物理位置,使用一个全局 DBMS将所有局部数据库联网管理,这就是分布 式数据库。其体系结构如下图所示: 三、数据库系统(考点篇) 非分布式                                                                        分布式 外模式                                                                (全局)外模式               外模式---模式映像                                                             映像1 概念模式/模式                                                    (全局)概念模式               模式---内模式映像                                                             映像2 内模式                                                                         分片模式                                                                                                         映像3                                                                                     分布模式                                                                                                         映像4                                                                           局部概念模式                                                                                                                                                                                    局部内模式 分片模式
          • 水平分片:将表中水平的记录分别存放在不同的地方。
          • 垂直分片:将表中的垂直的列值分别存放在不同的地方。 分布透明性
            • 分片透明性:用户或应用程序不需要知道逻辑上访问的表具体是如何分块存储的。
            • 位置透明性:应用程序不关心数据存储物理位置的改变。
            • 逻辑透明性:用户或应用程序无需知道局部使用的是哪种数据模型。
            • 复制透明性:用户或应用程序不关心复制的数据从何而来。

              8、数据仓库与数据挖掘

              数据仓库是一种特殊的数据库,也是按数据库形式存储数据的,但是目的不同:数据库经过长时 间的运行,里面的数据会保存的越来越多,就会影响系统运行效率,对于某些程序而言,很久之前的数据并非必要的,因此,可以删除掉以减少数据,增加效率,考虑到删除这些数据比较可惜,因此,一般都将这些数据从数据库中提取出来保存到另外一个数据库中,称为数据仓库。 数据仓库四大特点
              • 面向主题:按照一定的主题域进行组织的。
              • 集成的:数据仓库中的数据是在对原有分散的数据库数据抽取、清理的基础上经过系统加工、汇总和整理得到的,必须消除源数据中的不一致性,以保证数据仓库内的信息是关于整个企业的一致的全局信息。
              • 相对稳定的:数据仓库的数据主要供企业决策分析之用,所涉及的数据操作主要是数据查询,一旦某个数据进入数据仓库以后,一般情况下将被长期保留,也就是数据仓库中一般有大量的查询操作,但修改和删除操作很少,通常只需要定期的加载、刷新。
              • 反映历史变化:数据仓库中的数据通常包含历史信息,系统记录了企业从过去某一时点(如开始应用数据仓库的时点)到目前的各个阶段的信息,通过这些信息,可以对企业的发展历程和未来趋势做出定量分析和预测。 数据仓库的结构通常包含四个层次,如下图所示:
                • 1.数据源:是数据仓库系统的基础,是整个系统的数据源泉。
                • 2.数据的存储与管理:是整个数据仓库系统的核心。
                • 3.OLAP(联机分析处理)服务器:对分析需要的数据进行有效集成,按多维模型组织,以便进行多角度、多层次的分析,并发现趋势。
                • 4.前端工具:主要包括各种报表工具、查询工具、数据分析工具、数据挖掘工具以及各种基于数据仓库或数据集市的应用开发工具。 三、数据库系统(考点篇) ETL :抽取(extract)、转换(transform)、加载(load) 数据挖掘的分析方法
                  • 关联分析:关联分析主要用于发现不同事件之间的关联性,即一个事件发生的同时,另一个事件也经常发生。
                  • 序列分析:序列分析主要用于发现一定时间间隔内接连发生的事件,这些事件构成一个序列,发现的序列应该具有普遍意义。
                  • 分类分析:分类分析通过分析具有类别的样本特点,得到决定样本属于各种类别的规则或方法。分类分析时首先为每个记录赋予一个标记(一组具有不同特征的类别),即按标记分类记录,然后检查这些标定的记录,描述出这些记录的特征。
                  • 聚类分析:聚类分析是根据“物以类聚”的原理,将本身没有类别的样本聚集成不同的组,并且对每个这样的组进行描述的过程。 商业智能BI BI系统主要包括数据预处理、建立数据仓库、数据分析和数据展现四个主要阶段。
                    1. 数据预处理是整合企业原始数据的第一步,它包括数据的抽取(Extraction)、转换(Transformation)和加载(Load)三个过程(ETL过程);
                    2. 建立数据仓库则是处理海量数据的基础;
                    3. 数据分析是体现系统智能的关键,一般采用联机分析处理(OLAP)和数据挖掘两大技术。联机分析处理不仅进行数据汇总/聚集,同时还提供切片、切块、下钻、上卷和旋转等数据分析功能,用户可以方便地对海量数据进行多维分析。数据挖掘的目标则是挖掘数据背后隐藏的知识,通过关联分析、聚类和分类等方法建立分析模型,预测企业未来发展趋势和将要面临的问题;
                    4. 在海量数据和分析手段增多的情况下,数据展现则主要保障系统分析结果的可视化。

                    9、反规范化及时

                    由前面介绍可知,规范化操作可以防止插入异常、更新、删除异常和数据冗余,一般是通过模式 分解,将表拆分,来达到这个目的。 但是表拆分后,解决了上述异常,却不利于查询,每次查询时,可能都要关联很多表,严重降低 了查询效率,因此,有时候需要使用反规范化技术来提高查询效率。 技术手段包括:增加派生性冗余列,增加冗余列,重新组表,分割表。 主要就是增加冗余,提高查询效率,为规范化操作的逆操作。 补充大数据: 三、数据库系统(考点篇)三、数据库系统(考点篇) 第二问,着重强调的是长期保留并定期加载和刷新,很少对数据进行修改和删除,稳定性。反应历史变化的不会这么描述,会描述这一段时间如何如何,过一段时间如何如何。

                    10、SQL语言

                    SQL语言中的语法关键字,不区分大小写: 创建表create table; 指定主键 primary key() 指定外键 foreignkey(); 修改表 alter table; 删除表drop table 索引index,视图 view; 数据库查询 select..from...where; 分组查询 group by,分组时要注意 select后的列名要适应分组,having为分组查询附加条件; 更名运算 as; 字符串匹配 like,?配多个字符串,_匹配任意一个字符串; 数据库插入 insert into..values(); 数据库删除 delete from..where; 数据库修改 update...set...where; 排序 order by,默认为升序,降序要加关键字 DESC。 授权 grant..on…to,允许其将权限再赋给另一用户 with grant option; 收回权限 revoke..on..from; with check option 表示要检查 where 后的谓词条件。 DISTINCT:过滤重复的选项,只保留一条记录。 UNION:出现在两个 SQL语句之间,将两个 SQL语句的查询结果取或运算,即值存在于第一句 或第二句都会被选出。 INTERSECT:对两个sQL语句的查询结果做与运算,即值同时存在于两个语句才被选出。 SQL语法原理 SELECT之后的为要查询显示的属性列名;FROM后面是要查询的表名;WHERE后面是查询条件; 涉及到平均数、最大值、求和等运算,必须要分组,group by后面是分组的属性列名,分组的条件使 用 Having 关键字,后面跟条件。 在SQL语句中,条件判断时数字无需打引号,字符串要打单引号。 三、数据库系统(考点篇) 第一步找出候选关键字:右边出现过的全部干掉,剩下的再试试能不能全部推出来其他的。 只剩下零件号、供应商,他两个可以推导出来其他的。所以零件号和供应商就是候选关键字,也是唯一的。 1NF:不能存在小表,就是属性不能再拆分。 2NF:得消除非主属性对联合主键的部分依赖 3NF:得消除非主属性对主键的传递依赖 BCNF:得消除主属性对主键的部分依赖和传递依赖。 没有小表,里面的字段不可再分了,满足1NF;存在零件名称
VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]