中级软件设计师—数据库系统考点总结篇
Posted 王同学要努力
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了中级软件设计师—数据库系统考点总结篇相关的知识,希望对你有一定的参考价值。
【中级软件设计师】—数据库系统考点总结篇(三)
课程大纲与考点分布
1 数据库系统的体系结构
分布式数据库的透明性
1.1 三级模式—两级映射
1.2 数据库的设计过程
1.3 E-R模型
首先每个实体要单独转成一个关系模式,总共三个实体三个关系模式,中间是多对多的关系,转成一个关系模式,所以,最少需要4个关系模式,选C
数据模型
数据 模型的三要素:数据结构、数据操作、数据的约束条件
1.4 关系代数
1.5 规范化—函数依赖
1.6 规范化理论—价值与用途
非规范化的关系模式,可能存在的问题包括:数据冗余、更新异常、插入异常、删除异常
只要没有达到第三范式,就会存在以下异常:
数据冗余、修改异常、插入异常、删除异常
1.6 规范化理论—键
候选键
求候选键
例1:将关系模式用有向图的方式表示,然后找到入度(走进结点叫入度,走出结点叫出度)为0的属性,从图可知,只有A1没有一个结点指向它,所以入度为0,然后遍历有向图,从入度为0的结点A1出发,从A1结点出发,可以遍历A1-A2-A3,A1-A2-A4,如果能遍历为候选图,说明该属性为候选键。所以答案选A
例2:由图可知,ABD可以到G、H、F,C可以到I和J,由此可知ABCD的组合键才是候选码
例3:由图可知,没有入度为0的属性,我们需要尝试找中间结点(既有入度也有出度的结点),此时A和B为关系R的候选关键字 选择B
A入度为0出度为1,B选项,入度为1,出度为1,C选项,入度为1 ,出度为1.A不能遍历全图,A和B组合可以遍历全图,A和
C组合也可以遍历全图,所以有两个候选关键字,A、B、C是主属性,所以答案选B
A1的入度为0,又因为A1能遍历全图,所以A1位主键。选A
冗余就是传递函数依赖 A1—A2,A2—A4,是传递函数依赖,A1—A4是冗余,选C。
1.7 范式
总结:候选键是单属性,至少满足第二范式
,没有非主属性,至少满足第三范式。
1️⃣第一范式
如何调整?
2️⃣第二范式
3️⃣第三范式
4️⃣ BC范式
没有非主属性,至少满足第三范式
所有关系的左边都是候选键就是BCNF范式
首先A选项,消除部分依赖是在主键是多个属性的组合键,而在部门关系中,部门号已经是主键了,所以部分函数依赖已然消除。不满足第三范式:没有消除非主属性对候选键的传递函数依赖。选C
部门号和职工号之间没有关联,我们无法判断出那个职工属于哪个部门, 而职工和部门是多对一的关系,应该把联系保存在多端,在职工表里面加上部门号。选D
四个选项都有职工号,再看是否需要部门号,第二小题我们已经把职工号和部门号建立了联系。所以不需要部门号,排除CD选项,由商品号可以查到商品名称,属于冗余属性,所以,不需要商品名称,我们选A
第一步找候选键也就是主键,候选键就是入度为0的集合,有元件和供应商,元件和供应商可以遍历全图,也就是主键。
非主属性:元件名称,供应商所在地,库存量。元件名称依赖于原件号,供应商所在地依赖于供应商。两个非主属性都是部分依赖于候选键,它能够达到的范式只有第一范式,达不到第二范式,就会存在插入异常、删除异常等问题。至少要达到第二范式才有分解的意义,A和B
选项都存在部分函数依赖,我们排除A和B选项,D选项的拆分不满足业务需求,正确答案为B,分解后至少满足3NF
1.8模式分解
解:R1∩R2=A,R1-R2=B,R2-R1=A,如果R1与R2的公共属性能决定能决定R1中或R2中的其他属性,就称为无损连接,上题A-B,我们称为无损连接。
R1∩R2=A,R1-R2=B,R2-R1=C,显然,题目中没有A-B或A-C的函数依赖,所以是有损连接。
2.0 并发控制—基本概念
事物的特性:ACID
2.1 并发控制—封锁协议
2.2 数据库完整性约束
2.3 数据库安全
2.4 数据备份
2.5 数据库故障与恢复
2.6 数据仓库与挖掘
数据仓库的特点:
A选项:数据清理 B选项:联机分析 C选项:联机事物 D选项:整个数据抽取的过程包括装载、清洗等等。答案选B
2.7 数据挖掘方法分类
2.8 反规范化
2.9大数据
3.0 SQL语言
3.1普通查询
3.2 分组查询
3.3 权限控制
软考(软件设计师)考点总结 -- 操作系统基本原理
计算机系统的层次结构:硬件层 – 操作系统层 – 语言处理程序层 – 应用程序层
操作系统的目的:管理计算机系统中的软硬件资源,为用户与计算机之间提供方便的接口。
操作系统的职能:进程管理、存储文件、文件管理、作业管理、设备管理
进程管理
进程与线程:
进程: 程序的一次执行过程,是一个动态概念,是程序在执行过程中分配和管理资源的基本单位。
线程: CPU调度和分派的基本单位,它可与同属一个进程的其他的线程共享进程所拥有的全部资源。
线程是进程的一部分,一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。同一进程中的各个线程都可以共享该进程所拥有的资源。访问进程所拥有的以打开文件、定时器、信号量机构等,但不提供共享进程中某线程的栈指针。
三个基本状态:
就绪(Ready)状态: 进程处于准备好运行的状态,一旦得到CPU就可以立即运行
运行(Running)状态: 正在运行的进程所处的状态
阻塞(Block)状态: 由于某些因素,导致该进程即使的到CPU也无法运行(还需要I/O设备),就会进入阻塞状态
进程的同步与互斥:
分时系统: 一个系统中多个用户分时地使用同一台计算机
实时系统: 计算机对于外来信息能够以足够快的速度进行处理,并在被控制对象允许的时间范围内做出快速响应。
PV操作与前趋图:
PV操作利用信号量机制,是一种有效的进程同步与互斥工具,可以实现资源的互斥使用。
系统采用PV操作实现进程的同步与互斥,若有n个进程共享k台扫描仪,则信号量的初始值为k。
信号量S,初始值为0或某个正整数,取值范围为 [-(n-k),k],当S为正时,表示可用的资源数,当S为负时,表示正在等待的进程数。
PV操作:
//P减一操作:S>=0系统有资源,进程执行,S<0进程进入阻塞状态
//V加一操作:S>0进程执行,S<=0系统中有等待使用资源的进程,唤醒等待的进程
wait(S){
while(S<=0);
S--;
}
signal(S){
S++;
}
生产者消费者模型:
例题:
答案:A、C
答案:
死锁问题:
假设有12个资源,每个进程分配4个资源,则刚好发生死锁,任意一个进程再获得一个资源时,死锁解除。
k个进程,需要n个资源时,不发生死锁的最少资源数 = k*(n-1)+1
死锁形成的条件: 互斥、保持和等待、不剥夺、环路等待中任何一个发生
解决死锁问题的方案: 死锁的预防、死锁的避免(银行家算法)
例题:
进程资源图:
解析:
R1有两个资源,一个分配给了P1,一个分配给了P3,此时P2申请R1的资源,因为R1此时没有可用资源,P2堵塞。
R2有三个资源,已经给P1,P2,P3,各自分配了一个资源,而P1此时又再次申请资源R2,P1堵塞
R3有两个资源,已经分配给P2一个,P2申请一个资源,分配给它,所以P3是非阻塞结点
化简:看从没有阻塞的结点开始,删去P3周围所有的bian边,使其成为一个孤立的点,然后看剩下的资源按上述步骤再次进行分配,若到最后只剩下一群孤立的点,则说明该资源图是可以化简的。
存储管理
基于顺序搜索的动态分区分配算法:
首次适应(first fit,FF)算法:从链首开始顺序査找,直至找到一个大小能满足要求的空闲分区为止。
循环首次适应(next fit,NF)算法:不再是每次都从链首开始查找,而是从上次找到的空闲分区的下一个空闲分区开始査找,直至找到一个能满足要求的空闲分区。
最佳适应( best fit,BF)算法:每次为作业分配内存时,总是把能满足要求、又是最小的空闲分区分配给作业,避免“大材小用”。
最坏适应( worst fit,WF)算法:与最佳适应算法相反:它在扫描整个空闲分区表或链表时,总是挑选一个最大的空闲区,从中分割一部分存储空间给作业使用。
页式存储:
逻辑地址=页号+页内地址
物理地址=物理块号+物理地址
例题:
答案:D、B
段式存储:
段页式存储:
快表:
页面置换算法:
先进先出算法:
最近最少使用算法:
例题:
答案:B、C
文件管理
索引文件结构默认13个节点
每个数据项的大小是4B,所以一个磁盘块中可以存 1 KB / 4 B = 1024 / 4 = 256,而前5个块(0~4)采用直接地址,所以,逻辑号为5的对应物理块号为58,而编号为261的对应第262个物理块,即编号为187的物理块(直接索引5个 + 90对应的256个 = 261个)。
树形目录结构:
空闲存储空间管理:
例题:
答案:D、B
设备管理
需设备与Spooling技术:
微内核操作系统:
嵌入式系统:
嵌入式系统初始化过程:
片机初始化: 嵌入式微处理器的初始化,把嵌入式微处理器从上电时的默认状态逐步设置为系统所要求的工作状态,是一个纯硬件的初始化过程。
板级初始化: 完成嵌入式微处理器以外的其它硬件的初始化,需要某些软件的数据结构与参数。包含硬件与软件两部分的初始化。
系统级初始化: 以软件初始化为主,主要进行操作系统的初始化。
嵌入式操作系统的特点:
微型化: 从性能和成本角度考虑,希望占用的资源和系统代码量少。
可定制: 从减少成本和缩短研发周期考虑,要求嵌入式系统能运行在不同的微处理器平台上,能针对硬件变化进行结构与功能上的配置。
实时性: 嵌入式操作系统主要应用于过程控制、数据采集、传输通信、多媒体信息及关键要害领域需要迅速响应的场合,对实时性要求高。
可靠性: 系统构件、模块、体系结构必须达到应有的可靠性。对关键要害应用要提供容错和防故障措施。
易移植性: 采用硬件抽象和扳机支撑包的底层设计技术,易移植。
软考历年真题及B站相关视频课件:
链接:https://pan.baidu.com/s/1e4d1-HGOzcEVHSK8Q0j_xA
提取码:acij
以上是关于中级软件设计师—数据库系统考点总结篇的主要内容,如果未能解决你的问题,请参考以下文章