首页   >   新闻   >   文章

软考 | 中级职称 数据库工程师
- 2024 -
05/02
17:56
零号员工
发表时间:2024.05.02     作者:Jingyi     来源:ShoelessCai     阅读:180

这是本人学习笔记,直播的,也会有一些 Claim,因为来到身边的伙伴,头发颜色比较鲜艳,当然颜值也很高。怕是误会,我是说了些断言的话,我很犹豫,因为有些时候会觉得很奇怪,大多数人都喜欢平平安安的,怎么忽然就 Launch 一些奇怪的话题,我认为,只要伙伴们有所误会的,就说一下。

另外我父母虽然不富裕,都是正规企业里的,就是发展慢。一开始以为是学习能力云云,自己考了那么多遍职称,只能说,人到达职业瓶颈期,这个学习能力,还不是很快就提升的,或者这个时候,你高中学习能力、大学学习能力,可能 matters a lot。以此,给到后来者的伙伴们参考。







教材资料

如果不出现故障,那么所有事务都能执行完成。一旦在执行过程中发生故障,不能执行完成的事务称为中止事务;将中止事务对数据库的更新撤销称为事务回滚。成功执行完成的事务称为已提交事务。

中止的事务是可以回滚的,通过回滚恢复数据库,保持数据库的一致性,这是DBMS的责任。已提交的事务是不能回滚的,必须由程序员或DBA手工执行一个“补偿事务”才能撤销提交的事务对数据库的影响。

已经提交的事务,不能撤销,只能提交“补偿事务”。

如 图-1 所示,这里介绍两个经常出现的记号,分别为 Projection 投影,以及 Selection 选择。 其中,记号中的数字表示列的次序,通常都是按照并表的顺序,从左边开始数起。

关于事务状态。

事务是数据库的基本执行单元。事务的执行情况有两种可能:一是事务成功执行,数据库进入一个新的一致状态;二是事务因为故障或其他原因未能成功执行。

针对未能成功执行的情形。已经对数据库做了修改,未能成功执行的事务极有可能导致数据库处于不一致状态,这时候就需要对未能成功执行的事务(也称中止事务)造成的变更进行撤销操作(也称回滚ROLLBACK)如果中止事务造成的变更已经撤销,就称事务已回滚。

Again,成功完成的事务称为已提交事务。对数据库进行更新的已提交的任务使数据库进入一个新的状态,即使出现系统故障,这个状态必须保持。另一方面,成功提交的事务不能通过中止来撤销而造成的影响,必须采用执行一个称为“补偿事务”的方法来撤销。

事务五种状态

1.活动状态

2.部分提交状态。当操作序列的最后一条语句自动执行后,事务处于部分提交状态。这时,事务虽然已经完全执行,但由于实际输出可能还临时驻留在内存中,在事务成功完成前仍有可能出现硬件故障,事务仍有可能不得不中止。

3.失败状态

4.中止状态。处于失败状态的事务必须进行回滚(ROLLBACK)。

5.提交状态

事务四种特性(基本,必须背出)

1.原子性。Atomicity,事务的所有操作在数据库“要么全做,要么全不做”。

2.一致性。Consistency,一个事务独立执行结果,将保持数据一致性,数据不会因为事务执行而遭到破坏。数据一致性是对现实世界的真实状态的描述。例如,A 账户转账 X 元至 B 账户,A 账户减少 X 元时候,系统崩溃,B 账户该增加的金额为增加。这就违反了一致性,需要一定的设计,来处理这些问题。

3.隔离性。一个事务的执行不能被其他事务干扰。并发事务在执行过程中可能会对同一数据进行操作,这些事务的操作应该不会相互干扰,是相互隔离的。如事务执行中数据不一致性状态出现时不能让其他事务读取到不一致的数据。

4.持久性。一个事务一旦提交,它对数据库的改变必须是永久的,即便系统出现故障时也是如此。如转账事务执行成功后,A、B两个账户上的余额就是一个新的值,在没有出现下一个事务对其修改之前一直保持不变,即使系统出现故障,也应该恢复到这个值。



图-1









关于无损连接的比较完整的题目。 点击,数据库判断分解的无损连接性

我们的博客,学习我学弟,他和他妻子应该已经是很有社会名望的,就学习学习吧!

我们的博客, 点击,软考复习 2024年4月30日

以下是本人梳理的笔记,无论是出于“藏愚”(在我们国家不少),还是“真愚”(也不少),我都是经历了很大的心理斗争的。献出笔记,一起过关吧。

BTW,若您还没有能力分别,那么,先认为别人是“真愚”以节省您的时间。毕竟,伯乐是不少的。

因此,真愚作为基本,无罪假设前提。 :)









复习之余,还可以溜个号。

光看视频没有用,还得自己上手。

交际




2024 年 5 月 2 日

这段音频特别奇怪,可能我对自己很不满意吧,有点赌气,可以直接跳过。

最终我删除了这段音频,20240502-3.m4a。我梳理一下最重要的点,关于交朋友或者合伙人的找寻,这个世界没有任何必然。你想和 A 做朋友,结果有些事情搞砸了。那么你总结总结经验,以后和 B 做朋友就行了,没必要纠结于 A。记住,这个世界上,A 这一类朋友有很多人是非常重要的。



经典语句:不学习,动歪脑筋,人的小脑状态会受到影响,会摇晃。



墓志铭:目前来说,就是让一些大省大市内心殷实,不惹事。依据事物发展的客观规律,一些情绪要发展。一开始你会苦于解决问题的困难,逐渐你会发现熟练于解决问题,逐渐你发现你可以帮助别人。



一看到第四范式,就觉得自己很挫。当时,只过了 CPA 会计一门课。再次检验的时候,发现会造成歧义,特此说明。





2024 年 5 月 6日

此前有讲错的部分,今天来订正了。

01 无损连接、函数依赖

软考中级的数据库工程师,常考提醒,两个知识点,一是是否无损连接,二是是否函数依赖。

首先,我们关注函数依赖部分,给定的函数, F={AB->C, CD->E,BE->D},以及两组映射关系 ρ={R1(ABC), R2(BCDE)},F 在 R1 和 R2 上投影 F1 + F2 = F,故有函数依赖。

其次,关于无损连接,无损连接分成 “两对关系” 和 “多对关系”。针对“两对关系”采用定理推导,具体做法是,求出 R1∩R2, R1-R2, R2-R1。只要满足 R1∩R2 → R1-R2,或者 R1∩R2 → R2-R1,则为无损连接。针对“多对关系”,主要用【矩阵法】。





矩阵法是我自己取的名字,比较直观一些。

第一步,列是所有属性名,行是所有关系;行值和列值一致的,用 a 表示,其余用 b 表示。在官方教材,用 a[j] 表示,其余用 b[i][j] 表示;

第二步,针对表达式进行判断。例如 ,A → B,先考察列值 A 为 a 的对应的行,不妨记为集合 Row,在 Row 所有行内,找到对应列值 B(只找相关的,其余不管)。有以下几种情况,如果对应列值 B 存在 a 的,那么其余 b 全变成 a;如果列值 B 均为 b[i][j],那么全部改为 b[i_min][j]。

第三步,重复搜索,两种停止条件。一是某一行全部为 a ,此时连接是无损的;二是搜索 2 遍但是格局没变,仍然没有任何一行存在全 a,此时连接是有损的。

自得一提的是,在 bilibili 还是有不少教学视频的,伙伴们可以自己多看看课程。

02 DNS服务器如何解析域名的

解析域名一共两种方式:

一是递归查询。ShoelessCai 重命名为“弟龟炼石”,很慢速的弟弟训练试金石 —— 什么鬼?这意味着,递归查询,即主机 - 本地域名 - 根域名 - 顶级域名 - 权限域名,一条链式解析,对于获域名的本地服务器只有两种结果,请求成功或请求失败。

二是迭代查询。ShoelessCai 重命名为“迭代星星”,意为星星员工,要不断迭代才有出路啊! —— 与“弟龟炼石”不同的是,“迭代星星”由本地域名服务器轮番询问根域名、顶级域名、权限域名,本地域名服务器如果收不到根域名服务器的回复,可以先向顶级域名、权限域名询问。

2024.5.8

这是昨天复习时候部分直播,这几天偷懒啦,都没有整理笔记。



海明不等式 2^k - 1 >= n+k
n 数据位
k 校验位

中级工程师考试中,在 CPU 运行和阻塞状态方面,切换成五态模型。记忆规则是这样的,运行 - 就绪 - 阻塞,距离运行越接近的,属于活跃,例如,活跃就绪、活跃阻塞。

流水线技术是这样的。

总共的时间 = (n-1)t + 一条指令执行完成时间



数据库模式:这个概念我理解了一会,总的来说,是一种抽象。本人学习的时候,采取的策略是,先记住定义,然后每个概念,记一个案例。

模式

外模式:用户模式,子模式,是用户用到哪部分数据。程序员只与外模式发生联系。举例子,视图。

概念模式:全部数据逻辑结构,特征描述。举例子,基本表。

内模式:存储模式,数据物理结构,存储方式。举例子,存储文件。

信号量:我们用 S 表示信号量,通常这样的变量用来刻画临界资源。第一,S >= 某资源的可用数。S < 0,绝对值表示阻塞队列中,等待的队列进程数量。

关系型数据库

主属性,包含在任何一个候选码中的属性。

非主属性,未包含于任何一个候选码中的属性。

无损连接,R1 交 R2,推出 R1 - R2;R1 交 R2,推出 R2 - R1。

如何求出候选码?

1.拆分成四个集合 L,R,LR(交集),NLR(非交集)。

2.先推断 L,再结合 L+LR 推断。结果的并集,即为候选码。所有包含在候选码的,都属于主属性。

3.候选码判断标准。集合 = 全集集合

主存外存交换

如果有标志位,标志位 = 0,表示主存和外存内容一致。

标志位 = 1,表示主存和外存内容不一致。

关系型数据库,除法含义,除数完全卡进被除数的表格内。挑选出对应的列即可,注意,这些列的右边,必须有一个完整的除数。

2024.5.9

C4.5 是一种分类算法,K-means、DBSCAN 是两个经典聚类算法。

全相联,主存中任意一块,映射到主存任意一块。

直接相联:Cache[j] 映射到 主存[i]

组相联:兼顾优点

移位指令中,算数右移相当于乘以 2。

网络设备

路由器,属于网络层设备。

网桥,属于数据链路层。

交换机,属于数据链路层。

软件,属于传输层、会话层。

中继器,物理层。

如何开发软件?

需求分析阶段:数据流图 DFD、实体关系图、数据字典;

软件设计阶段:软件体系结构图

高级语言翻译的时候,有编译和解释两种模式。

编译,不参与用户运行机制,效率高;

解释,参与用户运行机制,灵活。

注意,脚本语言是直接可以运行的语言,因此,脚本语言采用的是解释方式。

关系型数据库表达式

全称量词:

存在量词:



千万注意您的声誉管理,尽量呆在公共场合,尽量多交朋友,尽量向全世界介绍您是谁。



提升自我保护能力,抓紧时间提升自己哟!我怎么评价自己没关系,伙伴们自己判断。如果身边伙伴觉得听到我这么评价自己不合适(例如,以前我父母就会痛恨,我很直接地评价自己,小时候他们会打我)但是,我用“渣”评价自己很过分吗?我考试到现在没考过,做事情没收入,没有工作。不够渣吗?我从出生开始,从来没打算自己和坑蒙拐骗的、作奸犯科的比较。

人对未来是未知的,因此自己决定每分每秒怎么花,然后不断调整。我希望自己在口号方面可以稍微削减一些。









最后一名就是小丑,第一名就是榜样。信息要注意保护。另外,太过于亢奋了,学习会受到影响。

注意听背景音。





之前忽然特别亢奋,应该看懂的没看懂。最后一段音频修正了。作业调度:最优算法 Optimal,是向未来看的;LRU 是向过去看。









参考: CSDN 段、页、页框、页表、页表项

2024.5.10

今天一早起来,荷尔蒙爆棚,除了知识点本身有些复杂之外,还要想办法一遍消耗荷尔蒙,一遍思考怎么把学习这件事能够安安定定地干好。

我顺道再次想伙伴们介绍了下,ABC 客服妹子,其实,不是说一定要追责。其他人对我有误解,我有权吐槽嘛?别人不误解我,我不吐槽可怎么办呀?虽然不喜八卦,但是别人误解我的时候,我是有权告诉别人事实真相的吧?这些人是怎么工作的呢?

关于中断请求顺序,针对 CPU 来说,响应级别:最先响应硬件,中断处理程序,设备驱动软件,设备无关软件,用户进程。

主存如何读取文件?读取磁盘块的文件,在主存进行修改,修改完写回磁盘。

静态绑定,相对动态绑定而言。静态绑定,是在编译时装载代码。动态是在程序时候完成该功能。

DNS 服务器。如果自己运营网站的伙伴一定记得,在服务器配置之前,一定要在 DNS 服务器 配置,这一步骤完成之后,才能在服务器端配置。

DNS 服务器接收到域名请求之后,首先查看本地缓存。再依次查询其他服务器。

最小生成树:加一条边之后,会形成回路。

进程的同步、互斥。接下来的概念会抽象且复杂,我自己处理这些概念的时候,还焦虑到解释我是谁!

1.同步。每个进程,以独立的、不可预知的方式,向前进。这些进程在某些点是固定住的。

2.互斥。争用临街资源,即互斥,一次只能供一个进程使用。

3.信号量。信号量 S > 0,某资源可用数量;信号量 S <= 0,绝对值为进入队列的进程数。

P(S):S=S-1

V(S): S=S+1



针对做事情不合适,你又没办法拿到证据证明这些做法不合适的。有两种做法,一是公开指责,让对方受到良心谴责。二是公布到互联网上,让伙伴们知道其作风,增加犯案成本。这并不意味着,一辈子没有合作伙伴,增加观察期。

至少本站是不鼓励自己开设法院和监狱,需要专业知识。



和别人合作,别人 9 成我 1 成,可以。别人 10 成我 0 成,不行,因为性质变了。



关于农行的客服妹妹(部分后生),犯了刑法吗?





人只有把别人变得更好,而不是把别人变得更差。下一段音频开始是学习直播。

















部分笔记













2024.5.11









512 我是下午开始复习的,上午完成其他工作,也是共同纪念汶川地震,希望之后工作能够做得更加稳妥,以及珍惜自己的时间,真的别想太多无关的事情了。

这里说一下北京公司的小领导,同组的工程师。他们不需要来帮助我,而且,我这边主要真的是银行的问题,她们是国家要职人员,无论这些女孩子未来丈夫是谁,她们都是国家要职人员。如果现在人行或者最高检能够获知这些信息,您们可以调查她们的影响范围,例如,我只是一个很普通的小硕士,像我这样的人到底被影响了多少?是不是因为这些少男少女的工作疏忽,而影响整个国家的生产力,导致很多生产力无法发挥出来。很多人可能顶多也就是大众点评一下,因为当时我是明确告知银行,自己的财务状况的,银行没有给出任何的具有建设性的积极意见。这一点挺重要,如果别人好奇当时为什么我会杠着,因为这之前发生所有事情都是不讲道理的,使得我觉得有种“是可忍,孰不可忍”的感觉,农行这个问题就不妥协了。

其实,当时我没有那么紧张的话,可能他们给些意见,或者一些积极引导,都会好很多,然而这笔钱我是立刻就还了的。所以他们的做法不对。任何拿这件事说事的人,你得考虑,其他人怎么办,你敢用他的金融产品吗? —— 就这么简单吧。

反正我自己找了很多工作,企业真的是一点缘由都没有,非常善变,所以,我只能认为这是命,就可能只能创业。但是我会不遗余力地对标最高标准的,这一点不会变。被世界全世界谩骂,被所有人误解,甚至有人会采取实际行动来伤害你,对标最高标准,我们是不会放弃的。非常感谢。

写代码可以提升的地方:今天调整比较慢,一方面是因为听着《九九女儿红》,集中精神需要一定时间。另一方面,也没吃饭。再者最主要,昨天定函数原子级别概念的时候,没有定得特别好,使得函数逻辑有点乱。这样的话,就会影响工程效率。



这部分笔记暂告段落。



原文链接



长按/扫码,有您的支持,我们会更加努力!









TOP 5 精选

       



回到顶部   回上一级
写文章

最新资讯




直播笔记


热点话题


精品论文


有你的鼓励
ShoelessCai 将更努力





文档免费。保护知识产权,保护创新。