admin管理员组

文章数量:1567920

自己也是在大一下的时候,突然就“发了疯”似的喜欢上了数据库,所以就去考了计算机三级数据库技术、数据库系统工程师、计算机四级数据库工程师,下面是自己总结的一些“数据库系统工程师”考点,小伙伴们可以参考一下:
数据库系统工程师的一年开考一次,都是在5月份第三个周六这样,由于今年比较特殊,5月份的考试合并了,所以在11月份开设考试。
必备教材:《数据库系统工程师教程》、《2012~2017年真题解析》(官方公布的暂时只是到2017年),最新2年的答案其实官方并没有公布,大多是培训机构的老师自己做的,所以只是”参考答案“
比较有名的网络视频:小任老师、 希赛、 紫依老师(强力推荐这位老师,价格不贵、服务态度好)
考试时间:
上午:9:00~11:30
下午:14:00~16:30
每门科目满分为:75分,上午为75道单选题(1题一分),下午为5道应用题(1题15分)
获证条件:同时通过两门科目考试,成绩不累加
考试题库
每年都是新的试题,所以别想着记住往年真题过关,记住考的考点、套路即可
建议:从前十年的考试真题开始做,需要的也可以滴滴我(free)
备考建议
别问还有XX天,还来得及吗,这句话咱们共勉“种树最好是十年前,其次是现在”,所以就算还有1个月,也不要放权鸭
当然,越早越好,建议3个月前开始,前提是坚持得下来
开始一个半月(90天),把整本书过一遍,当天晚上及时复习,这个阶段没必要刷真题
之后30天,开始按题型分类过真题,哪里忘了,及时查缺补漏
最后15天,该记的套路开始记住,每天疯狂刷1十年真题,总结那些还是总是错的
最后一周,打印准考证,准备好身份证,提前预定考点周边酒店、宾馆、日租房,提前一天到达考区附件,熟悉考场具体位置,加油!

上午题
多仔细看课本《数据库系统工程师教程》(第三版),需要电子版的可以滴滴我(free),因为除了热点考点外,都是从这本书上随机抽一句话进行考场
第一~五章,都是公共基础知识,正好自己大三上开的的课程有操作系统、计算机网络,以考促学,good!
第六~第十三章,都是和数据库相关了,所以大家千万不要以为它只考察数据库知识而已
第十四章,可以看作是官方给的下午题例题,有空可以做一些

下午题固定(但不知道今年就换套路了,DFD图不考察了,事务数考了两题,猝不及防 (ㄒoㄒ)/~~)
历年下午题题型:
1、DFD(数据流程)图
这句一定要记住并背下来,原文:教程431页最后一行
保存父图与子图平衡,也就是说,父图中某加工的输入输出数据流必须于它的子图的输入输出数据流在数量和名字上相同。
如果父图中的一个输入(输出)数据流对应于子图中几个输入(输出)数据流,而子图中组成这些数据流的数据全体正好是父图中这一个数据流,那么它门仍然算是平衡的。
2、E-R(实体-联系)图

3、_NF范式(数据库规范化,1NF、2NF、3NF、BCNF、4NF)
1NF~都是满足的,即每个属性不可再拆分,例如“家庭住址”作为属性,就不算是,因为还能拆分为省、市、县这样,一般都是满足的,否则都不是关系数据库
2NF~满足第一范式的情况下,非主属性没有部分函数依赖
3NF~满足第二范式的情况下,非主属性没有传递函数依赖
BCNF~满足第三范式的情况下,主属性没有部分函数、传递函数依赖
4NF~满足BC范式的情况下,没有多值传递依赖

4、、SQL语句
外码~REFERENCES 表名(列名) 或 foreign key (列名) references 表名(列名)
主码~primary key 或 primary key(列名)
设为默认 default
回滚 rollback
降序 desc
基本查询语句 ~
select 想查的列名
from 表名
where 条件 - -这里不能用聚集函数
group by 分组
having 分组条件 - -这里可以用聚集函数
order by 排序顺序 - -一般这里需要用到desc,因为降序排序才需要加desc,正序不用加

5、2PL(两段锁协议)
排它锁 Xlock() 加了排它锁以后,除非解锁,否则都不能再加锁
共享锁 Slock() 加了共享锁以后,还可以加共享锁,但排它锁不能加
解锁 Unlock()
2PL协议是指~在同一个事务里,先加锁,后解锁,如果加锁、解锁后又加锁,那么就不满足2PL协议
事务隔离级别(大写)
READ UNCOMMITTED (读未提交) 最低级别,任何情况都无法保证
READ COMMITEED (读已提交) 可避免读脏数据
REPEATABLE READ (可重复读) 可避免读脏数据、不可重复读
SERIZLIABLE (串行化)可避免读脏数据、不可重复读、幻读

上午题考点:
(卑微小涛只总结了几个章节的)

计算机网络:
每个层都记住,有5个层,从下到上是——物理层、数据链路层、网络层、传输层、应用层
上图的每个层对应的设备要记住
网络故障——先检查 物理连通性
集线器——不能自动寻址,网络层才可以寻址
FTP服务器:控制端口~21,上传数据 ~20
问服务器~本地缓存,问主机 ~本地HOSTS文件
问子网、主机地址的题目:
例如~子网172.6.32.0/20被划分为子网172.6.32.0/26,则被划分为 ?个子网,每个子网有 ? 个主机地址
解:看“/”后面的数,它是子网掩码,本题中,为26-20=6,所以为 2的6次方=64,为64个子网
因为IPv4有32位地址,所以32-26=6,主机地址为 2的6次方-2=64-2=62
因为主机地址不能为全1或全0,全0是网络地址,全1是广播地址

操作系统
进程的三种基本状态以及各状态之间的转换

临界资源
临界资源
把一段时间内只允许一个进程访问的资源称为临界资源或独占资源

临界区
每个进程中访问临界资源的那段代码称为临界区。只要保证进程不同时进入到临界区,就能够保证进程互斥地访问临界资源。

PV操作(一对一对出现)
Wait 操作(也称为P操作):
申请资源,减量操作,S.value:=S.value-1
当S.value<0时,表示资源分配完,进行自我阻塞。

Signal操作(也称为V操作):
释放资源,增量操作,S.value:=S.value+1
当S.value≤=0,唤醒S.L链表中的等待进程。

死锁
1.产生死锁的原因
(1)竞争资源
当系统中供多个进程共享的资源如打印机、公用队列等,其数目不足以满足诸进程的需要时,会引起诸进程对资源的竞争而产生死锁。

(2)进程间推进顺序非法
进程在运行过程中,请求和释放资源的顺序不当,也同样会导致产生死锁。

2.竞争资源引起进程死锁
可把系统中的资源分为两类:
a.可剥夺性资源:资源分配给进程后可以被高优先级的进程剥夺。如CPU、主存。 可剥夺性资源不会引起死锁。
b.不可剥夺性资源:分配给进程后只能在进程用完后才释放的资源。如磁带机、打印机等。
只有不可剥夺性资源才会产生死锁

3.产生死锁的必要条件
(1)互斥条件
进程访问的是临界资源,即在一段时间内某资源只由一个进程占用。如果此时还有其他进程请求该资源,则请求者只能等待,直至占有该资源的进程用完释放。

(2)请求和保持条件
一进程在请求新的资源的同时,保持对已分配资源的占有。

(3)不剥夺条件
指进程已获得的资源,在未使用完之前,不能被剥夺,只能在使用完时由自己释放

(4)环路等待条件
指在发生死锁时,必然存在一个进程–资源的环形链。 即进程集合{P0,P1,P2,…,Pn}中的P0正在等待一个P1占用的资源;P1正在等待一个P2占用的资源,……, Pn正在等待一个已被P0占用的资源。

处理死锁的基本方法
在系统中已经出现死锁后,则应及时检测到死锁的发生,并采取适当措施来解除死锁。
目前处理死锁的方法可归结为四种:
(1) 预防死锁
是一种较简单和直观的事先预防方法。该方法是通过设置某些限制条件,去破坏产生死锁的四个必要条件的一个或几个,来预防发生死锁。 
摒弃“请求和保持”条件
摒弃“不剥夺”条件
摒弃“环路等待”条件

(2) 避免死锁
该方法同样是属于事先预防的策略,这种方法不是预先加上各种限制条件以预防产生死锁的可能性,而是用某种方法去防止系统进入不安全状态,使死锁不致于最终发生。
银行家算法避免死锁

(3) 检测死锁
这种方法并不须事先采取任何限制性措施,也不必检查系 统是否已经进入不安全区。
此方法允许系统在运行过程中发生死锁,但可通过系统所设置的检测机构,及时的检测出死锁的发生,并精确的确定与死锁有关的进程和资源;然后采取适当的措施,从系统中将已发生的死锁清除掉。

(4) 解除死锁
是与死锁检测相配套的一种措施。当检测到系统中已发生死锁时,须将进程从死锁状态中解脱出来。
常用的实施方法是撤销或挂起一些进程,以便回收一些资 源,再将这些资源分配给已处于阻塞状态的进程,使之转为就绪状态,以继续运行。
死锁的检测与解除措施,有可能使系统获得较好的资源利用率和吞吐量,但在实现上难度也最大。

系统保证不发生死锁的资源数的计算方式
并发进程数*(进程需要资源数-1)+1

绝对路径:以根目录开始——以“/”开始,例如 /txts/pp.txt
相对路径:以当前为准——不以“/”开始,例如 txts/

事务ACID 特性:
原子性、一致性、隔离性、持续性
NoSQL数据库:
BASE特性~基本可用(BA)、无连接(S)、最终一致性(E)
种类有
(1)文档存储 Mongo DB ~无表结构、BaseX、CouchDB、Lotus Notes
(2)键值存储 Memcached、Redis
(3)列存储 Bigtable、Hypertabe、HBase、Cassandra
(4)图存储 Twitter、FlockDB、Neo4j
(5)多值存储

欢迎大家在下方评论、留言
加油!一起努力吧…

本文标签: 工程师数据库系统