目录

  • 7. 关系数据库
    • 7.1 本章考点
    • 7.2 关系数据库概述
      • 7.2.1 基础知识
      • 7.2.2 关系数据库模式
      • 7.2.3 关系代数运算
    • 7.3 元组演算、域演算和查询优化
      • 7.3.1 元组演算
      • 7.3.2 关系代数运算转换为元组演算表达式
      • 7.3.3 域演算
    • 7.4 关系数据库设计基础理论
      • 7.4.1 函数依赖
      • 7.4.2 码
      • 7.4.3 多值依赖

  本章内容较多且都很重要分2次总结,上午选择题和下午题都有涉及,是每年必考知识,且实际工作中这部分也是必须掌握的知识。

7. 关系数据库

7.1 本章考点

7.2 关系数据库概述

7.2.1 基础知识

1.关系:关系数据库中,实体以及实体间的联系用关系来表示。

2.关系模式:是对关系的描述。

3.关系模型:是由若干个关系模式组成的集合。

4.属性:描述事物的特征,比如学生的学号、姓名、性别等。

5.域:每个属性的取值范围所对应的一个值的集合,比如性别的域为{男,女}。

6.目或度:R表示关系的名字,n是关系的目或度。

7.元组:简单的来说就是一个表中的一行数据,比如学生表中学生A的数据信息。

8.候选码:若关系中的某一属性或属性组的值能唯一的标识一个元祖,则该属性或属性组为候选码,比如学生的学号、手机号、身份证号都是候选码。

9.主码:或称为主键,若一个关系有多个候选码,则选定其中一个为主码,比如学生表中学号作为主键。

10.主属性:包含在任何候选码中的诸属性成为主属性,不包含在任何候选码中的属性成为非主属性。

11.外码(简单来说就是表中的外键):如果关系模型R中的属性或属性组非该关系的码,但它是其他关系的码,那么该属性集对关系模式R而言是外码。例如客户与贷款之间的借贷关系c-l(cid,loadno),属性cid是客户关系中的码,所以cid是外码,属性loanno是贷款关系中的码,所以loadno也是外码。

12.全码:关系模型中的所有属性组是这个关系模式的候选码,称为全码。例如,关系模式R(T,C,S),属性T表示教师,C表示课程,S表示学生,假如一个教师可以教授多门课程,某门课程可以多个教师教授,学生可以听不提交时讲授不同的课程,那么相区分关系中的每一个元组,这个关系模式R的码应为全属性T,C和S,即All-key。

13.元组/记录:行数据,一行就是一个元组或者说一条记录

14.字段、数据项:列

15.元数:属性的个数(列数)

16.基数:记录的个数(行数)

17.n元关系:元数为几,就是几元关系。

  

7.2.2 关系数据库模式

  关系的描述成为关系模式:R(U,D,dom,F)R(U,D,dom,F)R(U,D,dom,F),R表示关系名,U是组成该关系的属性名集合,D是属性的域,dom是属性区域的映像集合,F为属性间数据的依赖关系集合,通常简记为R(U)R(U)R(U)或R(A1,A2,…,An)R(A_1,A_2,…,A_n)R(A1​,A2​,…,An​),A1,A2,…,AnA_1,A_2,…,A_nA1​,A2​,…,An​为属性名。

  例如:学生关系S有学号Sno、学生姓名Sname,系名SD,年龄SA属性,课程关系C有课程号Cno、课程名Cname、先行课称号PCno属性;学生选课关系SC有学号Sno、课程号Cno、成绩Grade属性,定义关系模式及主码:

  • 学生关系模式S(Sno,Sname,SD,SA)
  • 课程关系模式C(Cno,Cname,Pno),dom(PCno)=Cno
  • 学生选课关系模式SC(Sno,Cno,Grade)
    关系的三种模型:基本关系、查询表、视图表(虚表,数据库只存放其定义)。

  关系的完整性约束:

  • 实体完整性:基本关系R的主属性不能取空值。
  • 参照完整性:比如企业部门关系模式和员工关系模式中Emp(员工号,姓名,性别,参加工作时间,部门号)和Dept(部门号,名称,电话,负责人),安装参照完整性原则Emp表中的部门号取值必须参照Dept表中的部门号的值,下划实线表示主码属性(主键),下划虚线(这里用绿色字体表示)表示外码属性(外键)。
  • 用户定义完整性:针对某一具体的关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求,比如定义某一列值的取值范围。

7.2.3 关系代数运算

  关系代数运算包括:集合运算符、专门的关系运算符、算数比较符合逻辑运算符。

1.并

  关系R与S具有相同的关系模式,即R与S的元数相同(结构相同),R与S的并是属于R或者属于S的元组构成的集合,记作R∪S,定义如下:
R∪S={t∣t∈R∨t∈S}R∪S=\{t|t∈R∨t∈S\}R∪S={t∣t∈R∨t∈S}

2.差

  关系R与S具有相同的关系模式,关系R与S的差是属于R但不属于S的元组构成的集合,记作R−S,定义如下:
R−S={t∣t∈R∨t∉S}R−S=\{t|t∈R∨t∉S\}R−S={t∣t∈R∨t∈/​S}

3.广义笛卡尔积(Extended Cartesian Product)

  两个无数分别为n目和m目的关系R和S的笛卡尔积是一个(n+m)列的元组的集合。组的前n列是关系R的一个元组,后m列是关系S的一个元组,记作R×S,定义如下:
R×S=t∣t=<tn,tm>∧tn∈R∧tm∈SR×S={t|t=<t^n,t^m>∧t^n∈R∧t^m∈S}R×S=t∣t=<tn,tm>∧tn∈R∧tm∈S

  <tn,tm><t^n,t^m><tn,tm>表示元素tnt^ntn和tmt^mtm拼接成的一个元组.

4.投影(Projection)

  投影运算是从关系的垂直方向进行运算,在关系R中选出若干属性列A组成新的关系,记作πA(R)π_A(R)πA​(R),其形式如下:
πA(R)={t[A]∣t∈R}π_A(R)=\{t[A]|t∈R\}πA​(R)={t[A]∣t∈R}

5.选择(Selection)

  选择运算是从关系的水平方向进行运算,是从关系R中选择满足给定条件的元组,记作σF(R)σ_F(R)σF​(R),其形式如下:
σF(R)={t∣t∈R∧F(t)=True}σ_F(R)=\{t|t∈R∧F(t)=True\}σF​(R)={t∣t∈R∧F(t)=True}

  其中,F中的运算对象是属性名(或列的序号)或常数,运算符、算数比较符(<、>、≥、≤、≠)和逻辑运算符(∨、∧、¬)。

  例如,σ1≥6(R)σ_{1≥6}(R)σ1≥6​(R)表示选取关系R中第1个属性值大于等于第6个属性值的元素;σ1>′6′(R)σ_{1>'6'}(R)σ1>′6′​(R)表示选取关系R中第1个属性值大于6的元组。

  注意:6和‘6’的区别,6是指从左往右数第6个属性,‘6’是指数字6(数值格式或文本格式)。

  例题:设有关系R、S如图所示,求R∪S、R−S、R×S、πA,C(R)π_{A,C}(R)πA,C​(R),σA>B(R)σ_{A>B}(R)σA>B​(R)和σ3<4(R×S)σ_{3<4}(R×S)σ3<4​(R×S)。

  解答:

6.扩展的关系运算

  扩展的关系运算可以从基本的关系运算中导出,主要包括:选择、投影、连接、除法、广义笛卡尔积、外连接、

(1)交

  关系R和S具有相同的关系模式,交是由属于R同时双属于S的元组构成的集合,记作R∩S,形式如下:
R∩S={t∣t∈R∧t∈S}R∩S=\{t|t∈R∧t∈S\}R∩S={t∣t∈R∧t∈S}

  例题:关系R、S如下,求R∩S。

(2)连接(⋈)

  从R与S的笛卡尔积中选取属性间满足一定条件的元组,可由基本的关系运算笛卡尔积和选取运算导出,连接分为θ连接、等值连接以及自然连接。

  • θ连接

  θ连接可以表示为:
R⋈XθYS=σXθY(R×S)R\underset{XθY}{⋈}S=σ_{XθY}(R×S)RXθY⋈​S=σXθY​(R×S)

  其中的为比较运算符,如>、<、=、≠。X和Y分别为R和S上可以进行比较的属性组。
例如:设有关系R、S如图所示,求R⋈R.A<R.BSR\underset{R.A<R.B}{⋈}SRR.A<R.B⋈​S。

  解:本题的连接条件为R.A<S.B(S.B等于6/8满足条件),也就是R关系中属性A的值小于S关系中属性B的值的元组取出来作为结果集的原则,结果集为R×S后选出满足条件的原元组。

  • 等值连接:当θ为“=”时,称为等值连接,记为R⋈X=YSR\underset{X=Y}{⋈}SRX=Y⋈​S。

  例如:设有关系R、S如图所示,求R⋈R.A=R.CSR\underset{R.A=R.C}{⋈}SRR.A=R.C⋈​S。

  • 自然连接:是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果集中将重复属性列去掉(事实上就是两个表连接查询去除冗余列)。

  例如:设有关系R、S如图所示,求R⋈SR⋈SR⋈S。

  去除相同属性列最终得出R⋈SR⋈SR⋈S如下:

(3)除:同时从关系的水平方向和垂直方向进行运算。

  解:根据除法定义,此题的X属性为AB,Y属性为CD,R÷S应当满足元组在属性AB上的分量值x的象集YxY_xYx​包含关系S在CD上投影的集合。

(4)外连接(与SQL连表查询里的连接概念一致)

  外连接运算是连接运算的扩展,可以处理缺失的信息。

  • 左外连接⟕(左侧为准,右侧填充):取出左侧关系中所有与右侧关系中任一元组都不匹配的元组,用空值null填充所有来自右侧关系的属性,构成新的元组,将其加入自然连接的结果集中。
  • 右外连接⟖(右侧为准,左侧填充):取出右侧关系中所有与左侧关系中任一元组都不匹配的元组,用空值null填充所有来自左侧关系的属性,构成新的元组,将其加入自然连接的结果中。
  • 全外连接⟗:完成左外连接和右外连接的操作(相当于左外连接与右外连接的union操作)。

      总结如下(来自紫依视频总结):

7.3 元组演算、域演算和查询优化

7.3.1 元组演算

  元组演算是非过程化查询语言,它只描述所需信息,而不给出获得该信息的具体过程。在元组演算中,其元组关系演算表达式中的变量是以元组为单位的,其一般形式为:{t|P(t)},其中t是元组变量,P(t)是元祖关系演算公式,公式是由原子公式组成的。

1.原子公式

  (1)R(t):R是关系名,t是元组变量,R(t)表示t是R中的元组。

  (2)t[i]θC或Cθt[i]:t[i]表示元祖变量t的第i个分量,c是常量,θ是算术比较运算符,该公式表示“t的第i个分量与常量C满足比较关系θ”,例如:t[4]=3表示元组t的第4个分量等于3。

  (3)t[i]θu[j]:t和u是元组变量,θ是算术比较运算符,t[i]θu[j]表示“元组t的第i个分量与元组u的第j个分量满足比较关系θ”,例如,t[2]<u[3]表示元组t的第2个分量小于元组u的第3个分量。

2.公式的定义

  若一个公式中的一个元祖变量前有全称量词∀(All首字母倒写?)或存在量词∃(Exist首字母反写?)符号,则该变量为约束变量,否则成为自由变量,公式可递归定义如下:

  (1)每个原子公式是公式。

  (2)如果φ1和φ2是公式,则φ1∧φ2(交)、φ1∨φ2(并)、φ1⟹φ2,﹁φ1也是公式,分别表示:

①如果φ1和φ2同时为真,则φ1∧φ2才为真,否则为假;

②如果φ1和φ2中一个或同时为真,则φ1∨φ2为真,仅φ1和φ2同时为假时,φ1∨φ2才为假;

③φ1φ2表示若φ1为真则φ2为真。

④如果φ1真,则﹁φ1为假。

  (3)若φ1是公式,则∃t(φ1)也是公式,其中符号∃是存在量词符号,∃t(φ)表示:若有一个t使φ1为真,则∃t(φ1)为真,否则∃t(φ1)为假。

  (4)若φ1是公式,则∀t(φ1)也是公式,其中符号∀是全称量词符号,∀t(φ1)表示:如果对所有t,都使φ1为真,则∀t(φ1)必为真,否则∀t(φ1)为假。

  (5)在元组演算公式中,各种运算符的优先次序为:

①算术比较运算符最高;

②量词次之,且∃的优先级高于∀的优先级;

③逻辑运算符最低,且﹁的优先级高于∧的优先级,∧的优先级高于∨的优先级;

④加括号时,括号中运算符优先,同一括号内的运算符之优先级遵循①②③各项。

7.3.2 关系代数运算转换为元组演算表达式

  有限次地使用上述五条规则得到的公式是元组关系演算公式,其他公式不是元组关系演算公式。关系代数的运算均可以用关系演算表达式来表示(反之亦然),下面用关系演算表达式来表示五种基本运算:

1.并:R∪S={t|R(t)∨S(t)}
2.差:R-S={t|R(t)∧﹁S(t)}
3.笛卡尔积(R有n个属性,S有m个属性):
R×S={t(n+m)∣(∃u(n))(∃v(m))(R(u)∧S(v)∧t[1]=u[1]∧...∧t[n]=u[n]∧t[n+1]=v[1]∧...∧t[n+m]=v[m])}R×S=\{t(n+m)|(∃u(n))(∃v(m))(R(u)∧S(v)∧t[1]=u[1]∧...∧t[n]=u[n]∧t[n+1]=v[1]∧...∧t[n+m]=v[m])\}R×S={t(n+m)∣(∃u(n))(∃v(m))(R(u)∧S(v)∧t[1]=u[1]∧...∧t[n]=u[n]∧t[n+1]=v[1]∧...∧t[n+m]=v[m])}
注:t(n+m)表示t有目数(n+m),即n+m个属性。
4.投影:πi1,i2,...,ik(R)={t∣(∃u)(R(u)∧t[1]=u[i1]∧t[i2]=u[i2]∧...t[k]=u[ik])}π_{i1,i2,...,ik}(R)=\{t|(∃u)(R(u)∧t[1]=u[i_1]∧t[i_2]=u[i_2]∧...t[k]=u[i_k])\}πi1,i2,...,ik​(R)={t∣(∃u)(R(u)∧t[1]=u[i1​]∧t[i2​]=u[i2​]∧...t[k]=u[ik​])}
5.选择:σF(R)σ_F(R)σF​(R)={t|R(t)∧F}

  注:F是公式,F用t[i]代替运算对象i得到的等价公式。

  例题:设有关系R、S如图所示,对如下所示的元组演算表达是,求出它们的值。

(1)R1={t|R(t)⋀¬S(t)}
(2)R2={t|(∃u)(R(t)⋀S(u)⋀t[3]<u[2])}
(3)R3={t|(∀u)(R(t)⋀S(u)⋀t[3]>u[1])}
(4)R4={t|(∃u)(∃v)R(u)⋀S(v)⋀u[2]>v[1]⋀t[1]=u[1]⋀t[2]=v[1]⋀t[3]=v[3])}

  解:
  (1)R1其实就是就R与S关系的差集,新生成的R1元组来自R但又不再S中。
  (2)R2元组来自关系R,同时R3的第三分量必须小于关系S中某个元组的第2分量值。
  (3)R3元组来自关系R,同时R3的第三分量必须大于关系S中所有元组的第一个分量值。

  (4)首先R4元组来自关系R和S且满足R元组的第二个分量值大于S某元祖的第一个分量值(u[2]>v[1]),另外t[1]=u[1]⋀t[2]=v[1]⋀t[3]=v[3]表示R4的第一分量、第二分量和第三分量分别对应关系R的第一列u[1],S关系的第一列v[1],S关系的第三列v[3],

  首先找到R、S中u[2]>v[1]的结果集:

  再根据t[1]=u[1]⋀t[2]=v[1]⋀t[3]=v[3]获取R4各分量值:

7.3.3 域演算

  域关系演算简称域演算,在域演算中,表达式中的变量是表示域的变量,可将关系的属性名视为域变量。

  关系域演算公式的基本形式:{t1,t2,…,tk∣P(t1,t2,…,tk)}\{t_1,t_2,…,t_k|P(t_1,t_2,…,t_k)\}{t1​,t2​,…,tk​∣P(t1​,t2​,…,tk​)}

  其中,t1,t2,…,tkt_1,t_2,…,t_kt1​,t2​,…,tk​代表域变量或常量,P(t1,t2,…,tk)P(t_1,t_2,…,t_k)P(t1​,t2​,…,tk​)是演算公式。

偷个懒,截个图


  例:设有关系R、S如下,进行域演算表达式计算求值。


  解:
(1)R1的元组t来自关系R,且同时满足t1<t2t_1<t_2t1​<t2​(R.A<R.B)和t2>t3t_2>t_3t2​>t3​(R.B>R.C)。
(2)R2的元组t来自满足R、S条件的并集,其中关系R中的第一个分量值必须大于4(R.A>4),关系S的的第二个分量值必须小于8(S.B<8)。
(3)R3的元组t1t_1t1​对应S的第一列(S.A),t2t_2t2​对应R的第二列(R.B),t3t_3t3​对应S的第三列(S.C),且要求R.A≥7(),R.C>S.B(v>w)。

7.3.4.查询优化

  查询优化是指为查询选择最有效的查询计划的过程。一个查询往往会有许多事先办法,关键是如何找出一个与之等价的且操作时间又少的表达式。在关系代数运算中,笛卡尔积、连接运算最费时间和空间。

  优化准则:
  1.提早执行选取运算,多表连接查询时,特别是有大表连接时,先选取满足条件的大表数据再去做表连接查询会更高效一些。
  2.合并乘积与其后的选择运算为连接运算
  3.将投影运算逾期后的其他运算同时进行,避免重复扫描关系
  4.将投影运算和其前后的二目运算结合起来,是的没有必要为去掉某些字段在扫描一遍关系。
  5.在执行连接前对关系适当的预处理,就能快速的找到要连接的元组,方法是索引连接法、排序合并连接法。
  6.存储公共子表达式。

  例题参详教材P-342的例7.14。

7.4 关系数据库设计基础理论

7.4.1 函数依赖

  定义:设R(U)是属性集U上的关系模式,X、Y是U的子集,弱队R(U)的任何一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称X函数决定Y或Y函数依赖于X,记作X→Y。(有点类似于表用唯一索引列查询其他列的数据)

  • 如果X→Y,但Y⊊X,则称X→Y是非平凡的函数依赖。一般情况下总是讨论非平凡函数的依赖。
  • 如果X→Y,但Y⊆X,则称X→Y是平凡的函数依赖。

注意:函数依赖X→Y的定义要求关系模式R的任何可能的r都满足上述条件,因此不能仅考察关系模式R在某一时刻的关系r,就断定某函数依赖成立。函数依赖是语义范畴的概念,我们只能根据语义来确定函数依赖。

  在R(U)中,如果X→Y,并且对于X的任何一个真子集X′X^{'}X′,都有X′X^{'}X′不能决定Y,则称Y对X完全函数依赖,记作X⟶fYX\stackrel{f}{\longrightarrow}YX⟶f​Y。如果X→Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖,记作X⟶pYX\stackrel{p}{\longrightarrow}YX⟶p​Y,也称为局部函数依赖。

  例如:学生选课关系SC1(sno,cno,grade),我们可以得到F={(sno,cno)→grade},对于(sno,cno)中的sno或者cno都不能得到某学生某一课程的grade,所以grade完全依赖于sno,cno。

  学生选课关系SC1(sno,cno,sname,cname,grade)中,F={(sno,cno)→grade,(sno,cno)→sname,(sno,cno)→cname,sno→sname,cno→cname},其中的(sno,cno)→sname,(sno,cno)→cname就是部分依赖关系。

  在R(U,F)中,如果X→Y,Y⊊X,Y↛X,Y→ZX→Y,Y⊊X,Y↛X,Y→ZX→Y,Y⊊X,Y↛X,Y→Z,则称Z对X传递依赖。

  例如:关系供应商(Sno,Sname,Status,City,Pno,Qty),及函数依赖集如下,判断该关系是否存在传递依赖和部分函数依赖。

  解:存在函数依赖,因为Sno→Status,Status→CitySno→Status,Status→CitySno→Status,Status→City,且Status⊊City,Status↛City,故Sno→City,也就是City对Sno传递依赖。

  (Sno,Pno)→(Sname,Status,City),但Sno→(Sname,Status,City),所以关系供应商存在Sname,Status,和City对(Sno,Pno)的部分依赖关系。

7.4.2 码

  设K为R(U,F)中的属性的组合,若K→U,且对于K的任何一个真子集K′K{'}K′,都有K′K{'}K′不能决定U,则K为R的候选码,多有多个候选码,则选一个作为主码。

  –简而言之,就是一个表中有多个唯一属性列,随便选一个都可以作为表的主键。

  候选码通常称为候选关键字,主码通常也称为主键或主关键字。任何一个候选码中的属性叫做主属性,否则成为非主属性,若关系的所有属性为码,该码成为全码。

  例如:选课关系SC(sno,cno,sname,cname,grade)中(sno,cno)可以决定该关系的全码,则(sno,cno)为候选码。

  若R(U)中的属性或属性组X非R的码,但X是另一个关系的码,则称X是R的外码或者外键。

  例如:员工表(员工号,姓名,部门号,职位,联系方式)中部门号就是外键,是关系部门(部门号、部门名,负责人)的码。

7.4.3 多值依赖

  若关系模式R(U)中,X,Y,Z是U的子集,并且Z=U-X-Y,当且仅当R(U)中的任何一个关系R,给定一堆(x,z)值,有一组Y的值,这组值仅仅决定与x值而与z值无关,则曾为“Y多只依赖于X”或“X多值决定Y”成立,记为X→→Y。

  –简言之,一个X值对应多个Y值,

  判定方法:一个表中如果有2行数据,记为A、B,如果他们的某一属性X的值相等,那么我们交换它们另外的属性Y的值后,得到的新的两行数据C、D,可以在原来的表中可以找到与C、D相匹配的行。

说明:
1.疏忽、遗漏、错误之处,欢迎留言批评指正。
2.第7章上部分总结完毕,后续会继续完善补充本章的历年真题,转载请注明出处,整理不易,谢谢!

2020年中级数据库系统工程师考试笔记7—关系数据库1相关推荐

  1. 2020年中级数据库系统工程师考试笔记13—数据库发展和新技术

    目录 12. 数据库发展和新技术 12.1 本章重点 12.2 分布式数据库 12.3 决策支持系统和数据库 12.4 非关系型数据库NOSQL 12.4.1 CAP理论和BASE理论 12.3.2 ...

  2. 2020年中级数据库系统工程师考试笔记14—标准化和知识产权基础知识

    目录 13. 标准化和知识产权基础知识 13.1 本章重点 13.2 知识产权基础知识 13.3 计算机软件著作权(★★★) 13.4 计算机软件著作权的归属(★★★) 13.5 软件著作权侵权的法律 ...

  3. 2020年中级数据库系统工程师考试笔记2—程序语言基础知识

    2.程序语言基础知识 2.1 程序语言概述 2.1.1 程序语言的基本概念 2.1.2 程序语言的基本成分(★★★) 2.2 程序语言翻译基础 2.2.1 汇编程序基本原理(了解一下) 2.2.2 编 ...

  4. 2020年中级数据库系统工程师考试笔记9—SQL语言

    目录 8. SQL语言 8.1 本章考点 8.2 SQL概述与数据库定义 8.3 数据库定义 8.4 数据操作 8.4.1 Select 8.4.2 Insert/update/delete 8.5 ...

  5. 2020年中级数据库工程师考试笔记1—计算机系统知识

    第1章 计算机系统知识 1.1 本章考点 1.2 计算机系统基础知识 1.2.1 中央处理单元 1.2.2 数的表示和校验(★★★) 1.3 计算机体系结构 1.3.1 概述 1.3.2 存储系统(★ ...

  6. 中级网络工程师考试笔记

    中级网络工程师考试笔记 前言 笔记正文 7.局域网技术 前言 根据B站一个教学视频做的笔记,正在持续更新 提示:以下是本篇笔记参考的中级网考视频教程 B站视频链接 笔记正文 7.局域网技术 下方的链接 ...

  7. 2023 软考中级 数据库系统工程师 考试题型

  8. 2020年11月08中级数据库系统工程师考后说

      2020年11月08日中级数据库系统工程师考试结束,总结词:难.   吐槽吗? 考官不按常理出牌?老师没有传授到点? 为什么会的都没考,考的很多都不会?   上午题记忆点题居多(概念性功能性题为代 ...

  9. 视频教程-2020软考数据库系统工程师-上午真题解析培训视频课程-软考

    2020软考数据库系统工程师-上午真题解析培训视频课程 河北师范大学软件学院优秀讲师,项目经理资质,担任操作系统原理.软件工程.项目管理等课程教学工作.参与十个以上百万级软件项目管理及系统设计工作.在 ...

最新文章

  1. mysql 5.7 1054_MySQL5.7更改密码时出现ERROR 1054 (42S22)的解决方法
  2. Mac-sublime text 3破解版
  3. 浅谈 iOS 版本号
  4. 我的WCF之旅(12):使用MSMQ进行Reliable Messaging(转载)
  5. UA MATH567 高维统计III 随机矩阵7 亚高斯矩阵的应用:Stochastic Block Model与社区发现 问题描述
  6. 软件构造学习笔记-第三周
  7. php自己创建函数,php自定义函数之内部函数
  8. 动画函数优化,为任意元素添加任意多个属性
  9. java配置lib_Java环境配置
  10. 自如:全额承担“望京跑路二房东”受害客户损失,预计约500余万元
  11. 不肯去幼儿园的小盆友
  12. angular cli中的--flat参数
  13. cad导出pdf_关于PDF文件修改、生成、导图片用这一个软件就够了
  14. js 实现纯前端将数据导出excel两种方式,亲测有效
  15. 三维视觉和三维点云基础概念
  16. 【愚公系列】2022年02月 Django商城项目 29-商品浏览历史记录功能实现
  17. 【每日一读】SWOPE:Efficient Approximate Algorithms for Empirical Entropy and Mutual Information
  18. ”小糊涂“与美女网站的收费机制
  19. list中抽出某一个字段的值_java8从list集合中取出某一属性的值的集合案例
  20. C# 二维码 生成、解析

热门文章

  1. 计算机二级考风考纪主题班会,计算机二级C语言上机题库及答案(100套).doc
  2. linux系统显卡显存容量,Linux下检查显存大小
  3. ps2021中文版完美逆袭
  4. 不同的经络,不同的线程
  5. springboot+特色农产品电商平台 毕业设计-附源码211515
  6. 数据库(mysql)之事务和存储引擎
  7. ubuntu下文本标注工具BRAT全程离线安装
  8. [Swust OJ 643]--行列式的计算(上三角行列式变换)
  9. android ar 动画,Android实现支付宝AR扫描动画效果
  10. uni-app开发的APP项目上线后,登录后自动检测更新,点击下载并安装,可手动检测版本更新,实现扫码下载功能