软考架构-数据库考点

3级模式2级映射:

外模式:数据库视图级别

概念模式:数据库表级别

内模式:数据库物理级别

外模式与概念模式都是逻辑模式,内模式属于物理模式

2级模式:外模式与概念模式的映射、概念模式与内模式

场景:用户通过应用程序获取数据,应用程序再通过2级映射获取数据,当物理层数据发生变化、表发生变化、视图发生变化时都不需要修改应用程序,2级映射保证了应用程序的稳定

大白话:应用程序是直接调用视图名称的,当视图内部、表、表属性都变化时都不会影响视图名称

数据库设计

考点:设计的步骤、每个步骤的产出物、每个步骤的注意事项

需求分析

(用什么数据库、怎么存取数据)数据如何存储,数据如何访问、存储哪些数据。

产出物:需求说明书、数据流图(业务流程图)、数据字典(实体、编码等)

概念结构设计

(业务实体与相关属性)E-R图,实体-联系图,设计出项目中在实际业务中的实体、实体的属性等

产出物:E-R模式(概念结构模型)

冲突:属性冲突、命名冲突、结构冲突

逻辑结构设计

(表)将概念结构转化为逻辑结构

产出物:关系模式

物理设计

确定数据存储方式、访问方式

产出物:数据的存储方式、访问方式

数据库实施阶段

根据逻辑结构、物理结构存储数据

产出物:具体的数据库

数据库运行和维护阶段

数据库试运行阶段,不断端数据库进行调整优化

数据模式

概念模式:开发人员设计的表

逻辑模式:现实实体的抽象体

数据模型三要素:数据结构(所研究对象类型的集合)、数据操作(允许执行的操作)、数据的约束条件(数据规则集合)

E-R模型图:

椭圆表示属性、长方形表示实体、菱形表示联系、联系的两端填写联系类型(1对1,1对多,多对多)、长方形加两竖表示弱实体,弱实体是依赖强实体存在的,之间用圆圈表示依赖关系;

实体:弱实体、强实体、实体集(学生)

属性:简单属性、复合属性(家庭住址)、单值属性(单一值)、多值属性(一个人多个电话号码)、null属性、派生属性(多个属性计算来的)

域:属性的取值范围

码:唯一键,唯一标识实体的集合

E-R模式转为关系模型

规则:

E-R图中的每个实体都要转化为一个关系模型

1对1联系,关系可以放到任意一个实体中

1对N联系,在N端加入一端的主键

M对N联系,抽取联合主键

关系代数

表之间的逻辑运算

并:S1∪S2两张表所有记录合并,相同记录保留一条

交:S1∩S2两张表中相同的记录

差:S1-S2以一张表为准,两张表中不相同的记录

笛卡尔积:S1*S2,产生的结果包含S1与S2的所有属性列,并且S1中每条记录依次和S2中所有记录组合成一条记录,最终属性列为S1+S2,记录数为S1*S2

投影:π 按条件筛选表中的列,列用数字表示π1,选择第一列

选择:σ 条件筛选表中的行

自然连接:⋈ 所有属性列都显示,相同属性列只显示一次,显示两表中属性相同且值相同的记录

R(A B C D ) 表R有A B C D E 4 列
S(C D E)     表S有C D E 3 列

R与S的自然连接 R ⋈ S = A B C D E 5 列,并且在行上相同列C D E 的值相同

σ R.B > S.E(R ⋈ S) 意思是:在R与S的自然连接中选择 B 列> E 列

等价于 π 1,2,3,4,7(σ 2>7 ∧3=5 ∧ 4=6 (RXS)) 意思是:

R x S 如下:
1 2 3 4 5 6 7
A B C D C D E  

π 1,2,3,4,7 RXS 的结果就是选择列 A B C D E

σ 2>7 ∧3=5 ∧ 4=6 (RXS) 的结果就是选择行3列的值等于5列的值,
行4列的值等于6列的值,选择行2列值大于7列值

函数依赖

部分依赖:AB决定C,A决定D,那么就存在部分依赖,主键是复合属性

传递依赖:A不等于B,A决定B,B决定C,那么A就可以决定C

键与约束

U(A B C D E F)

超键:表中的主键(此表的唯一标识,比如教师表有编号、姓名、年龄,那编号是超键,编号+姓名、编号+年龄也可以作为超键,可存在冗余,ABC,DEF)

候选关键字:超键去掉冗余键

R<Y,F>,U={A,B,C,D,E},F={B->A,D->A,A->E,AC->B}

则R的候选关键字为CD

解析:
F={B->A,D->A,A->E,AC->B}依赖关系中

保留只在左边出现未在右边出现的,则得出CD

然后根据F依赖关系,判断CD是否可以推出R的所有属性

D->A   A->E   AC = D+C -> B -> A

通过DC可以推出其他所有属性

主键:任一候选键(A,B,C,D)

外键:其他表中的主键

主属性:候选键内的属性为主属性,其他为非主属性

实体完整性约束:主键约束,即主键不能为空,不能重复

参照完整性约束:外键约束。即外键必须在其他表中存在,或者为空

用户自定义完整性约束:用户对属性自定义的约束(年龄在0-150之间)

范式

第一范式 1NF

概念:表中的每一个属性都是单独的,不允许有小表存在

第二范式 2NF

概念:在1NF的基础上,表中非主属性完全依赖主属性,消除部分依赖.

第三范式 3NF

概念:在1NF的基础上,表中不存在传递依赖

BC范式 BCNF

概念:在3NF基础上,表中存在多个主键,消除多个主键之间的部分依赖于传递依赖

各范式之间是递进关系,不满足第一范式,那一定不会满足第二、第三等往后的范式

模式分解

范式的转换就是将属性进行拆分,消除部分依赖、传递依赖(就是将大表逐渐拆分为多个小表)

保持函数依赖分解

在进行模式分解的时候,要保持表中属性原有依赖不变,但是要消除冗余依赖,如传递依赖

R(A,B,C) 依赖集(A->B,B->C,A->C),模式分解后,R1(A,B) R2(B,C),R1,R2还具有A->B,B->C,但缺少了A->C,但因为A->B,B->C,A->C,有传递,所以还是保留了A->C

判断规则,判断左边与右边的依赖是否在子集中,若在则是保持了,冗余的依赖可以不保持

R<Y,F>,U={A,B,C,D,E},F={B->A,D->A,A->E,AC->B}

则R的候选关键字为CD,分解为p={R1(ABCE),R2(CD)}

判断是否保持函数依赖?

解析:

R1(ABCE) 中有ABCE,存在依赖B->A,A->E,AC->B

R2(CD) 中是否能通过C推出D,不清楚,那就判断

缺少依赖D->A,则判断为未保持函数依赖

无损分解

分解后的关系模式能还原以前的关系模式

当分解为两个关系模式,用定理判断是否为无损分解:当R分解为R1,R2,R1∩R2->R1-R2 或者R1∩R2->R2-R1,则为无损分解

R<Y,F>,U={A,B,C,D,E},F={B->A,D->A,A->E,AC->B}

则R的候选关键字为CD,分解为p={R1(ABCE),R2(CD)}

判断是否为无损分解?

解析:

R1∩R2 = C

R1-R2 = ABE

R2-R1 = D

利用公式 R1∩R2 -> R1-R2 或 R2-R1 判断

C 不能推出ABE  C 不能推出D  

则判断为此分解不具有无损分解

当分解模式为三个及以上模式,通过表格法求解

并发控制

事务

一系列操作,这些操作要么全做,要么全不做

特性

原子性:操作,要么全做,要么全不做

一致性:数据,事务发生后数据是一致的,A转出,B必定会受到

隔离性:执行,任一事务的执行直到提交成功对其他事务是不可见的,事务时间是隔离的,互不干涉的

持续性:改变,事务执行的结果是一致存在的,A转给B的钱,B是一直有的

事务的并发问题

更新丢失:事务2覆盖了事务1的更新

不可重复读:事务1第一次读的数据与第二次读的数据(被事务2修改了)不一致

读脏数据:事务2读了事务1修改的数据,但事务1给把数据回滚了,事务2就读到了脏数据

事务锁

X锁排它锁(写锁):事务T对数据A加X锁,其他事务不能对数据A加其他任何锁

S锁共享锁(读锁):事务T对数据A加S锁,其他事务也能对数据A加S锁

三级封锁协议:原则在你写的时候加写锁,读的时候加读锁

数据库安全

措施

用户标识和鉴定:用户名密码

存取控制:操作(增删改查等操作)和数据对象权限

密码存储和传输:对数据进行加密传输

视图保护:对视图进行授权

审计:用文件或数据库将所有操作记录

备份

静态转储:冷备份,数据库不运行时做的备份,直接备份文件,恢复的话把备份直接拷回去,不能按表或用户恢复

动态转储:热备份,在数据库运行期间备份,可对表空间或数据文件做备份,若备份失败的话将丢失所有数据

完全备份:备份所有数据

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

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

日志文件

在事务处理的过程中,DBMS会把事务开始、事务结束以及对数据库的操作记录到日志文件中,一旦发生故障,DBMS会利用日志文件撤销事务对数据库的修改,回到事务初始状态

分布式数据库

概念:局部数据库位于不同的物理位置,用同一个DBMS将所有局部数据库联网管理(物理上分布)

分片模式

水平分片:将表中的水平记录存在不同地方

垂直分片:将表中垂直列值存在不同地方

分布透明性

分片透明性:用户和应用程序不需要知道逻辑上访问的表具体是如何分块存储的

位置透明性:用户和应用程序不需要知道数据存储的物理位置

逻辑透明性:用户和应用程序不需要知道局部使用的是哪种数据模型

复制透明性:用户和应用程序不需要知道复制的数据从何而来

数据仓库

概念:是一个面向主题的、集成的、非易失的、且随时间变化的数据集合,用于支持管理决策(把不同数据库的数据抽取到一起,进行大数据分析)

四个层次

概念:就是将不同源的数据通过ETL按照不同的主题进行抽取,然后存储到数据仓库中,再经过OLAP服务器将想要的数据模型化,最后通过报表或其他工具展现

数据源:数据仓库系统的基础,是数据源泉

数据存储与管理:是整个数据仓库系统的核心(通过ETL处理,将不同源的数据进行抽取、清理、装载、刷新然后存储到一个数据源中)

OLAP(联机分析处理)服务器:对分析需要的数据进行有效集成,按多维模型组织

前端工具:各种报表工具、查询工具、数据分析工具、数据挖掘工具

商业智能

概念:BI 系统主要包括数据预处理、建立数据仓库、数据分析、数据展现四个主要阶段

反规范化技术

概念:规范化设计后,数据库设计者希望牺牲掉部分规范来提高数据库性能(查询快)

具体方法

增加冗余列

增加派生列

重新组表

水平分割表

垂直分割表

大数据

概念:大量化、多样化、价值密度低、快速化

  • 34
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值