当前位置: 首页 > news >正文

《数据库系统概论》学习笔记——第六章 关系数据理论

教材为数据库系统概论第五版(王珊)
这一章重点在于各种范式的概念和将低级范式转为高级范式。一定要看多值依赖和4NF(因为这个概念很绕又烦,但是期中期末都考了)。最后计算题就是一定要会:算闭包,求候选码,求最小函数依赖集,看本文的几题例题基本就会了。

6.1 问题的提出

关系数据库逻辑设计

  • 针对具体问题,如何构造一个适合于它的数据模式
  • 数据库逻辑设计的工具──关系数据库的规范化理论

一、概念回顾

  • 关系
  • 关系模式
  • 关系数据库
  • 关系数据库的模式

二、关系模式的形式化定义

关系模式由五部分组成,即它是一个五元组:

R(U, D, DOM, F)

  • R: 关系名
  • U: 组成该关系的属性名集合
  • D: 属性组U中属性所来自的域
  • DOM: 属性向域的映象集合
  • F: 属性间数据的依赖关系集合

三、什么是数据依赖

1. 完整性约束的表现形式

  • 限定属性取值范围:例如学生成绩必须在0-100之间
  • 定义属性间的相互关连(主要体现于值的相等与否),这就是数据依赖,它是数据库模式设计的关键

2. 数据依赖

  • 一个关系内部属性与属性之间的约束关系
  • 现实世界属性间相互联系的抽象
  • 数据内在的性质
  • 语义的体现

3. 数据依赖的类型

  • 函数依赖(Functional Dependency,简记为FD)
  • 多值依赖(Multivalued Dependency,简记为MVD)
  • 其他

四、关系模式的简化表示

关系模式R(U, D, DOM, F)简化为一个三元组:

  • R(U, F)

当且仅当U上的一个关系r满足F时,r称为关系模式 R(U, F)的一个关系

五、数据依赖对关系模式的影响

例:建立一个描述学校教务的数据库:学生的学号(Sno)、所在系(Sdept),系主任姓名(Mname)、课程名(Cname),成绩(Grade)

单一的关系模式 :Student <U、F>

U ={ Sno, Sdept, Mname, Cname, Grade }

属性组U上的一组函数依赖F:
F ={ Sno → Sdept, Sdept → Mname, (Sno, Cname) → Grade }

关系模式Student<U, F>中存在的问题

  • 数据冗余太大

    • 系主任姓名重复出现,浪费存储空间
  • 更新异常(Update Anomalies)

    • 更换系主任?更改系名?
  • 插入异常(Insertion Anomalies)

    • 一个系刚成立,尚无学生?
  • 删除异常(Deletion Anomalies)

    • 一个系的学生全部毕业了?

结论:

Student关系模式不是一个好的模式。

“好”的模式:不会发生插入异常、删除异常、更新异常,数据冗余应尽可能少

原因:由存在于模式中的某些数据依赖引起的

解决方法:通过分解关系模式来消除其中不合适的数据依赖

6.2 规范化

规范化理论正是用来改造关系模式,通过分解关系模式来消除其中不合适的数据依赖,以解决插入异常、删除异常、更新异常和数据冗余问题。

6.2.1 函数依赖

一、函数依赖

设R(U)是一个属性集U上的关系模式,X和Y是U的子集。

若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等, 而在Y上的属性值不等, 则称 “X函数确定Y” 或 “Y函数依赖于X”,记作X→Y

说明:

  1. 所有关系实例均要满足

  2. 语义范畴的概念

  3. 数据库设计者可以对现实世界作强制的规定

二、平凡函数依赖与非平凡函数依赖

在关系模式R(U)中,对于U的子集X和Y,

  • 如果X→Y,但Y∉X,则称X→Y是非平凡的函数依赖
  • 若X→Y,但Y∈X, 则称X→Y是平凡的函数依赖

例:

在关系SC(Sno, Cno, Grade)中,
非平凡函数依赖: (Sno, Cno) → Grade
平凡函数依赖: (Sno, Cno) → Sno ,(Sno, Cno) → Cno

  • 若X→Y,则X称为这个函数依赖的决定属性组,也称为决定因素(Determinant)。
  • 若X→Y,Y→X,则记作X←→Y。
  • 若Y不函数依赖于X,则记作X↛\nrightarrowY。

三、完全函数依赖与部分函数依赖

在R(U)中,如果X→Y,并且对于X的任何一个真子集X’,都有X’$\nrightarrow Y,则称Y对X∗∗完全函数依赖∗∗,记作Y, 则称Y对X**完全函数依赖**,记作Y,则称YX完全函数依赖,记作X\overset{F}{\rightarrow}Y$

若X→Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖,记作X→PYX\overset{P}{\rightarrow}YXPY

(Sno,Cno)→Grade是完全函数依赖,
(Sno,Cno)→Sdept是部分函数依赖,因为Sno →Sdept成立,且Sno是(Sno,Cno)的真子集

四、传递函数依赖

在R(U)中,如果X→Y,(Y∉X) ,Y$\nrightarrow XY→Z,则称Z对X∗∗传递函数依赖∗∗。记为:X Y→Z, 则称Z对X**传递函数依赖**。 记为:XYZ,则称ZX传递函数依赖。记为:X\overset{传递}{\rightarrow}Z$

注意:如果Y→X, 即X←→Y,则Z直接依赖于X。

在关系Std(Sno, Sdept, Mname)中,有:
Sno → Sdept,Sdept → Mname
则Mname传递函数依赖于Sno

6.2.2 码

候选码:

设K为R<U,F>中的属性或属性组合。若K→FUK\overset{F}{\rightarrow}UKFU, 则K称为R的侯选码(Candidate Key)。

若候选码多于一个,则选定其中的一个做为主码(Primary Key)

  • 主属性与非主属性
    • 包含在任何一个候选码中的属性称为主属性
    • 不包含在任何码中的属性称为非主属性非码属性

整个属性组是码,称为全码(All-key)

外码:

关系模式R中属性或属性组X并非R的码,但X是另一个关系模式的码,则称X是R的外部码(Foreign key)也称外码

  • 主码与外部码一起提供了表示关系间联系的手段

6.2.3 范式

  • 范式是符合某一种级别的关系模式的集合

  • 关系数据库中的关系必须满足一定的要求。满足不同程度要求的为不同范式

    范式的种类:

    • 第一范式(1NF)

    • 第二范式(2NF)

    • 第三范式(3NF)

    • BC范式(BCNF)

    • 第四范式(4NF)

    • 第五范式(5NF)

      各种范式之间存在联系:

      在这里插入图片描述

某一关系模式R为第n范式,可简记为R∈nNF

规范化

一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式的集合,这种过程就叫规范化

6.2.4 2NF

1NF:

如果一个关系模式R的所有属性都是不可分的基本数据项,则R∈1NF

  • 第一范式是对关系模式的最起码的要求。不满足第一范式的数据库模式不能称为关系数据库
  • 但是满足第一范式的关系模式并不一定是一个的关系模式

例:关系模式 S-L-C(Sno, Sdept, Sloc, Cno, Grade)
Sloc为学生住处,假设每个系的学生住在同一个地方

函数依赖包括:

(Sno, Cno) →F\overset{F}{\rightarrow}F Grade
Sno → Sdept
(Sno, Cno)→P\overset{P}{\rightarrow}PSdept
Sno → Sloc
(Sno, Cno)→P\overset{P}{\rightarrow}PSloc
Sdept → Sloc

  • S-L-C的码为(Sno, Cno)
  • S-L-C满足第一范式
  • 非主属性Sdept和Sloc部分函数依赖于码(Sno, Cno)

但S-L-C不是一个好的关系模式

  1. 插入异常。插入一个学生信息,但学生还没有选课?
  2. 删除异常。学生取消选课,如果所有选课都取消了?
  3. 修改复杂。学生转系?住处也要修改
  4. 数据冗余度大

原因:Sdept、Sloc部分函数依赖于码。

解决方法:S-L-C分解为两个关系模式,以消除这些部分函数依赖

  • SC(Sno, Cno, Grade)
  • S-L(Sno, Sdept, Sloc)

不存在非主属性对码的部分依赖

2NF:

若R∈1NF,且每一个非主属性完全函数依赖于码,则R∈2NF。

采用投影分解法将一个1NF的关系分解为多个2NF的关系,可以在一定程度上减轻原1NF关系中存在的插入异常、删除异常、数据冗余度大、修改复杂等问题。但并不能完全消除。

判断一个关系是否属于第二范式:

找出数据表中的所有码;
找出所有主属性和非主属性;
判断所有的非主属性对码的部分函数依赖。

6.2.5 3NF

3NF:

关系模式R<U,F> 中若不存在这样的码X、属性组Y及非主属性Z(Y不包含Z), 使得X→Y,Y→Z成立,Y$ \nrightarrow $X,则称R<U,F> ∈ 3NF。

若R∈3NF,则每一个非主属性既不部分依赖于码也不传递依赖于码

若R∈3NF,当且仅当任何时候,每个元组都含有一个主码来识别实体,同时有一组0个或多个相互独立的属性从不同方面描述这个实体。

6.2.6 BCNF

BCNF:

关系模式R<U,F>∈1NF,若X→Y且X不包含Y时X必含有码,则R<U,F> ∈BCNF。

等价于:每一个决定属性因素都包含码

若R∈BCNF

  • 所有非主属性对每一个码都是完全函数依赖
  • 所有的主属性对每一个不包含它的码,也是完全函数依赖
  • 没有任何属性完全函数依赖于非码的任何一组属性

6.2.7 多值依赖

例:学校中某一门课程由多个教师讲授,他们使用相同的一套参考书。每个教员可以讲授多门课程,每种参考书可以供多门课程使用。

非规范化关系:

用二维表表示Teaching:

  • Teaching∈BCNF
  • Teaching具有唯一候选码(C,T,B), 即全码

Teaching模式中存在的问题:

  • 数据冗余度大
  • 插入操作复杂。某门课程增加一个教员?需要插入多个元组
  • 删除操作复杂。某门课程去掉一本参考书?需要删除多个元组
  • 修改操作复杂

多值依赖:(真的难记)

设R(U)是一个属性集U上的一个关系模式, X、 Y和Z是U的子集,并且Z=U-X-Y。关系模式R(U)中多值依赖 X→→Y成立,当且仅当对R(U)的任一关系r,给定的一对(x,z)值,有一组Y的值,这组值仅仅决定于x值而与z值无关

多值依赖的另一个等价的形式化的定义:

在R(U)的任一关系r中,如果存在元组t,s 使得t[X]=s[X],那么就必然存在元组 w,v∈ r,(w,v可以与s,t相同),使得w[X]=v[X]=t[X],而w[Y]=t[Y],w[Z]=s[Z],v[Y]=s[Y],v[Z]=t[Z](即交换s,t元组的Y值所得的两个新元组必在r中),则Y多值依赖于X,记为X→→Y。 这里,X,Y是U的子集,Z=U-X-Y。

平凡多值依赖和非平凡的多值依赖

  • 若X→→Y,而Z=φ,则称X→→Y为平凡的多值依赖
  • 否则称X→→Y为非平凡的多值依赖

多值依赖的性质

(1)多值依赖具有对称性
若X→→Y,则X→→Z,其中Z=U-X-Y
(2)多值依赖具有传递性
若X→→Y,Y→→Z, 则X→→Z –Y
(3)函数依赖是多值依赖的特殊情况。
若X→Y,则X→→Y。
(4)若X→→Y,X→→Z,则X→→Y∪Z。
(5)若X→→Y,X→→Z,则X→→Y∩Z。
(6)若X→→Y,X→→Z,则X→→Y-Z,X→→Z -Y

多值依赖与函数依赖的区别

(1) 多值依赖的有效性与属性集的范围有关
(2)
若函数依赖X→Y在R(U)上成立,则对于任何Y’⊂Y均有X→Y’ 成立
多值依赖X→→Y若在R(U)上成立,不能断言对于任何Y’⊂Y有X→→Y’ 成立

6.2.8 4NF

4NF:

关系模式R<U,F>∈1NF,如果对于R的每个非平凡多值依赖X→→Y(X不包含Y),X都含有码,则R∈4NF。

如果R ∈ 4NF, 则R ∈ BCNF

  • 不允许有非平凡且非函数依赖的多值依赖
  • 允许的非平凡多值依赖是函数依赖

6.2.9 规范化小结

  • 关系数据库的规范化理论是数据库逻辑设计的工具
  • 目的:尽量消除插入、删除异常,修改复杂,数据冗余
  • 基本思想:逐步消除数据依赖中不合适的部分
    • 实质:概念的单一化

关系模式规范化的基本步骤

6.3 数据依赖的公理系统

逻辑蕴含:

对于满足一组函数依赖F的关系模式R <U,F>,其任何一个关系r,若函数依赖X→Y都成立,(即r中任意两元组t,s,若t[X]=s[X],则t[Y]=s[Y]),则称F逻辑蕴含X →Y

Armstrong公理系统

关系模式R <U,F >来说有以下的推理规则:
A1.自反律(Reflexivity):若Y ⊆ X ⊆ U,则X →Y为F所蕴含。
A2.增广律(Augmentation):若X→Y为F所蕴含,且Z ⊆ U,则XZ→YZ为F所蕴含。
A3.传递律(Transitivity):若X→Y及Y→Z为F所蕴含,则X→Z为F所蕴含。

导出规则:

根据A1,A2,A3这三条推理规则可以得到下面三条推理规则:
合并规则:由X→Y,X→Z,有X→YZ。(A2, A3)
伪传递规则:由X→Y,WY→Z,有XW→Z。(A2, A3)
分解规则:由X→Y及 Z⊆Y,有X→Z。(A1, A3)

引理1:

X→A1 A2…Ak成立的充分必要条件是X→Ai成立(i=l,2,…,k)

函数依赖闭包

在关系模式R<U,F>中为F所逻辑蕴含的函数依赖的全体叫作F的闭包,记为F+。

例:

Armstrong公理系统是有效的、完备的

  • 有效性:由F出发根据Armstrong公理推导出来的每一个函数依赖一定在F+中;
  • 完备性:F+中的每一个函数依赖,必定可以由F出发根据Armstrong公理推导出来

设F为属性集U上的一组函数依赖,X⊆U, XF+ ={A|X→A能由F 根据Armstrong公理导出},XF+称为属性集X关于函数依赖集F的闭包

求闭包的算法:

例:背下这些详细步骤

在这里插入图片描述

候选码求解方法

对关系模式R<U,F>,选取可能是候选码的属性集,求其函数依赖闭包,如果属性集的函数依赖闭包=U,则该属性集为候选码
三类属性
L类:仅出现在F的函数依赖左边
R类:仅出现在F的函数依赖右边
N类:没有出现在F的函数依赖中

定理1:L类属性必为任一候选码的成员
定理2:R类属性不在任何候选码中
定理3:N类属性必包含在任何候选码中


在这里插入图片描述

最小函数依赖集

定义:如果函数依赖集F满足以下条件,则称F为一个极小函数依赖集。也称为最小依赖集或最小覆盖。
(1)F中任一函数依赖的右部仅含有一个属性。
(2)F中不存在这样的函数依赖X→A,使得F与F-{X→A}等价。
(3)F中不存在这样的函数依赖X→A,X有真子集Z使得F-{X→A}U{Z→A}与F等价。

最小依赖集通用算法:

① 用分解的法则,使F中的任何一个函数依赖的右部仅含有一个属性;
② 去掉多余的函数依赖:从第一个函数依赖X→Y开始将其从F中去掉,然后在剩下的函数依赖中求X的闭包X+,看X+是否包含Y,若是,则去掉X→Y;否则不能去掉,依次做下去。直到找不到冗余的函数依赖;
③ 去掉各依赖左部多余的属性。一个一个地检查函数依赖左部非单个属性的依赖。例如XY→A,若要判Y为多余的,则以X→A代替XY→A是否等价?若A属于(X)+,则Y是多余属性,可以去掉。(以上步骤中,求出关系依赖集F,此时,在F的基础上,求出X或者Y的闭包,是否包含A)

注意:第三步求闭包使用的依赖集是第二步求出时的。

例:关系模式R(U,F)中,U=ABCDEG,F={B->D,DG->C,BD->E,AG->B,ADG->BC};求F的最小函数依赖集

最后建议这章还是找点题目来做,也是有一定占比的

随便找的几篇:

http://t.csdn.cn/aFuG9

http://t.csdn.cn/cUnNC考试更会考这种贴近生活的例子

相关文章:

《数据库系统概论》学习笔记——第六章 关系数据理论

教材为数据库系统概论第五版&#xff08;王珊&#xff09; 这一章重点在于各种范式的概念和将低级范式转为高级范式。一定要看多值依赖和4NF&#xff08;因为这个概念很绕又烦&#xff0c;但是期中期末都考了&#xff09;。最后计算题就是一定要会&#xff1a;算闭包&#xff0…...

Odoo | Webserivce | 5分钟学会【JSONRPC】接口开发

文章目录Odoo - JsonRPC1. Odoo内方法结构&#xff08;接收端&#xff09;2. POST接口请求结构&#xff08;发送端&#xff09;3. 实例测试Odoo - JsonRPC 1. Odoo内方法结构&#xff08;接收端&#xff09; # -*- coding: utf-8 -*- import odoo import logging import trac…...

搜广推 NeuralCF - 改进协同过滤+矩阵分解的思想

😄 NeuralCF:2017新加坡国立大学提出。【后文简称NCF】 😄 PNN:2016年上海交通大学提出。 文章目录 NeuralCF动机原理general NCFNCF终极版(GMF+MLP的结合)缺点优点ReferenceNeuralCF 动机 前面学了MF,可知MF在用户-物品评分矩阵的基础上做矩阵分解(用户矩阵Q和物品…...

dbever连接kerberos认证的hive

文章目录一、本地安装kerberos客户端二、本地kerberos客户端登录三、dbever连接hive一、本地安装kerberos客户端 下载地址&#xff1a;https://web.mit.edu/kerberos/dist/index.html 安装&#xff1a;下一步或者自定义安装即可 安装后会自动生成配置文件&#xff1a;C:\Pro…...

pom依赖产生的各种问题

文章目录问题一(org.apache.ibatis.session.Configuration)解决方法问题二(ERROR StatusLogger No log4j2)解决方法问题三(com.google.common.util.concurrent)解决方法问题四(start bean documentationPluginsBootstrapper)解决方法问题五(Unable to infer base url. )解决办法…...

RPC编程:RPC框架设计目标

一&#xff1a;前导知识 Http是超文本传输协议&#xff0c;跨平台性非常好。Http可以传输文本&#xff0c;更多的时候传输的是文本&#xff0c;我们也是可以传输二进制的&#xff0c;我们基于Http进行下载的时候&#xff0c;就是走的Http协议。 Tcp协议&#xff0c;处理的时候…...

RBAC 权限模型介绍

RBAC 权限&#xff1a; 一、关系&#xff1a; 这基于角色的访问控制的结构就叫RBAC结构。 二、RBAC 重要对象&#xff1a; 用户&#xff08;Employee&#xff09;&#xff1a;角色施加的主体&#xff1b;用户通过拥有某个或多个角色以得到对应的权限。角色&#xff08;Role&…...

西电面向对象程序设计核心考点汇总(期末真题)

文章目录前言一、往年真题与答案1.1 改错题1.2 读程题1.3 面向对象程序设计二、易错知识点2.1 构造函数2.2 静态成员变量和静态成员函数2.3 权限2.4 继承2.5 多态总结前言 主要针对西安电子科技大学《面向对象程序设计》的核心考点进行汇总&#xff0c;包含总共8章的核心简答。…...

判断一个用字符串表达的数字是否可以被整除

一.问题引出 当一个数字很大的时候,我们常用字符串进行表达,(超过了int和long等数据类型可以存储的最大范围),但是这个时候我们该如何判断他是否可以被另一个数整除呢? 这个时候我们不妨这样来考虑问题,每次将前边求模之后的数保存下来,然后乘以10和这一位的数字进行相加的操…...

这是一款值得开发人员认真研究的软件,数据库优化,应用服务器安全优化...

1.查询数据库死锁相关信息2.查看数据库的链接情况3.当前实例上的所有用户4.创建数据库独立密码5.查看数据库使用的端口号6.当前数据库设置的最大连接数7.当前数据库最大的理论可连接数8.当前数据库实例的连接数9.当前数据库连接数10.当前数据库连接超时设置11.当前sqlserver 超…...

栈与队列小结

一、理论基础1.队列是先进先出&#xff0c;栈是先进后出2.栈和队列是STL&#xff08;C标准库&#xff09;里面的两个数据结构。栈提供push和pop等等接口&#xff0c;所有元素必须符合先进后出规则&#xff0c;所以栈不提供走访功能&#xff0c;也不提供迭代器。3.栈是以底层容器…...

SpringBoot整合(五)HikariCP、Druid数据库连接池—多数据源配置

在项目中&#xff0c;数据库连接池基本是必不可少的组件。在目前数据库连接池的选型中&#xff0c;主要是 Druid &#xff0c;为监控而生的数据库连接池。HikariCP &#xff0c;号称性能最好的数据库连接池。 在Spring Boot 2.X 版本&#xff0c;默认采用 HikariCP 连接池。而…...

ShardingSphere水平、垂直分库、分表和公共表

目录一、ShardingSphere简介二、ShardingSphere-分库分表1、垂直拆分&#xff08;1&#xff09;垂直分库&#xff08;2&#xff09;垂直分表2、水平拆分&#xff08;1&#xff09;水平分库&#xff08;2&#xff09;水平分表三、水平分库操作1、创建数据库和表2、配置分片的规则…...

《分布式技术原理与算法解析》学习笔记Day24

分布式缓存 在计算机领域&#xff0c;缓存是一个非常重要的、用来提升性能的技术。 什么是分布式缓存&#xff1f; 缓存技术是指用一个更快的存储设备存储一些经常用到的数据&#xff0c;供用户快速访问。 分布式缓存是指在分布式环境或者系统下&#xff0c;把一些热门数据…...

强化学习RL 02: Value-based Reinforcement Learning

DQN和TD更新算法。 目录 Review 1. Deep Q-Network(DQN) 1.1 Approximate the Q*(s,a) Function 1.2 Apply DQN to Play Game 1.3 Temporal Difference(TD) Learning 1.4 TD Learning for DQN 1.4.1 TD使用条件 condition 1.4.2 Train DQN using TD learning 1.5 summ…...

08_MySQL聚合函数

1. 聚合函数介绍什么是聚合函数聚合函数作用于一组数据&#xff0c;并对一组数据返回一个值。聚合函数类型AVG()SUM()MAX()MIN()COUNT()注意&#xff1a;聚合函数不能嵌套调用。比如不能出现类似“AVG(SUM(字段名称))”形式的调用。1.1 AVG和SUM函数可以对数值型数据使用AVG 和…...

「TCG 规范解读」词汇表

可信计算组织&#xff08;Ttrusted Computing Group,TCG&#xff09;是一个非盈利的工业标准组织&#xff0c;它的宗旨是加强在相异计算机平台上的计算环境的安全性。TCG于2003年春成立&#xff0c;并采纳了由可信计算平台联盟&#xff08;the Trusted Computing Platform Alli…...

第三阶段-03MyBatis 中使用XML映射文件详解

MyBatis 中使用XML映射文件 什么是XML映射 使用注解的映射SQL的问题&#xff1a; 长SQL需要折行&#xff0c;不方便维护动态SQL查询拼接复杂源代码中的SQL&#xff0c;不方便与DBA协作 MyBatis建议使用XML文件映射SQL才能最大化发挥MySQL的功能 统一管理SQL&#xff0c; 方…...

从0开始学python -41

Python3 命名空间和作用域 命名空间 先看看官方文档的一段话&#xff1a; A namespace is a mapping from names to objects.Most namespaces are currently implemented as Python dictionaries。 命名空间(Namespace)是从名称到对象的映射&#xff0c;大部分的命名空间都是…...

如何将Google浏览器安装到D盘(内含教学视频)

如何将Google浏览器安装到D盘&#xff08;内含教学视频&#xff09; 教学视频下载链接地址&#xff1a;https://download.csdn.net/download/weixin_46411355/87503968 目录如何将Google浏览器安装到D盘&#xff08;内含教学视频&#xff09;教学视频下载链接地址&#xff1a;…...

三战阿里测试岗,成功上岸,面试才是测试员涨薪真正的拦路虎...

第一次面试阿里记得是挂在技术面上&#xff0c;当时也是技术不扎实&#xff0c;准备的不充分&#xff0c;面试官出的面试题确实把我问的一头雾水&#xff0c;还没结束我就已经知道我挂了这次面试。 第二次面试&#xff0c;我准备的特别充分&#xff0c;提前刷了半个月的面试题…...

Java代码弱点与修复之——ORM persistence error(对象关系映射持久错误)

弱点描述 ORM persistence error, ORM 持久化错误 。表示 ORM 工具在尝试将对象保存到数据库中时出现了问题。可能的原因包括: 数据库连接错误:ORM 工具无法连接到数据库,或者连接到数据库的权限不足。数据库表结构错误:ORM 工具无法正确映射对象和数据库表之间的关系,可…...

原始GAN-pytorch-生成MNIST数据集(原理)

文章目录1. GAN 《Generative Adversarial Nets》1.1 相关概念1.2 公式理解1.3 图片理解1.4 熵、交叉熵、KL散度、JS散度1.5 其他相关&#xff08;正在补充&#xff01;&#xff09;1. GAN 《Generative Adversarial Nets》 Ian J. Goodfellow, Jean Pouget-Abadie, Yoshua Be…...

Vue下载安装步骤的详细教程(亲测有效) 1

目录 一、【准备工作】nodejs下载安装(npm环境) 1 下载安装nodejs 2 查看环境变量是否添加成功 3、验证是否安装成功 4、修改模块下载位置 &#xff08;1&#xff09;查看npm默认存放位置 &#xff08;2&#xff09;在 nodejs 安装目录下&#xff0c;创建 “node_global…...

[Android Studio] Android Studio生成数字证书,为应用签名

&#x1f7e7;&#x1f7e8;&#x1f7e9;&#x1f7e6;&#x1f7ea; Android Debug&#x1f7e7;&#x1f7e8;&#x1f7e9;&#x1f7e6;&#x1f7ea; Topic 发布安卓学习过程中遇到问题解决过程&#xff0c;希望我的解决方案可以对小伙伴们有帮助。 &#x1f4cb;笔记目…...

应用IC 卡继续教育网络管理系统前后影响因素比较

3.1 实现了继续护理教育网络化管理近年来&#xff0c;随着一些医院继续护理教育管理信息系统的建立&#xff0c;有效改进了学分档案管理模式和教学模式&#xff0c;但这些继续护理教育管理信息系统一般为局域网&#xff0c;仅能达到满足自身管理的基本需求&#xff0c;而系统如…...

Clickhouse学习(一):MergeTree概述

MergeTree一、Clickhouse表引擎概述二、MergeTree表引擎<一>、ReplacingMergeTree引擎<二>、SummingMergeTree引擎<三>、AggregatingMergeTree引擎三、MergeTree分区一、Clickhouse表引擎概述 MergeTree表引擎:允许根据日期和主键创建索引 1、ReplacingMerge…...

Windows离线安装rust

目前rust安装常用的方式就是通过Rustup安装&#xff0c;此安装方式需要访问互联网。在生产环境中由于网络限制&#xff0c;不能直接访问互联网或者不能访问目标网站&#xff0c;这时候需要用离线安装的方式&#xff0c;本文将详细介绍离线安装步骤&#xff0c;并给出了vscode如…...

Android与flutter混合开发

这里我使用的android studio版本是2020.3.1&#xff1b;flutter版本2.5.3。此前在网上搜索的很多教教程版本都不一样&#xff0c;新版的IDE和SDK让我遇到了很多坑故这里整理一下。一、创建项目1.在Android项目中点击File->New->New Flutter Project。File->New->Ne…...

Linux和C语言的学习方法你真的知道吗?

★Linux的使用 第一天&#xff0c;就给我们讲了为什么要先学c、学linux&#xff1a;因为嵌入式的根本就是软件驱动硬件&#xff0c;而C语言是最接近硬件的语言、有指针的概念、可以直接操作硬件&#xff0c;另外&#xff0c;功能复杂的硬件是含有操作系统的&#xff0c;这就需…...

做专业慢摇的网站/网页免费制作网站

前言 在前面一篇文章中 vsftpd 的调试环境的搭建, 我们搭建了一个 vsftpd 的一个调试环境 既然搭建了一个调试环境, 目的就是为了能够调试 vsftpd, 如果 不去调试, 那岂非毫无意义 这里 就拿相对比较简单的登录流程 来进行开刀 呵呵 虽然只是简单的登录流程, 但是 代码的…...

众筹网站开发价格/核心关键词如何优化

地址链接&#xff1a;点我 A 鲲 分作弊的情况和不作弊的情况 #include <cstdio> #include <cmath>int main() {double L, k, a, b, ta, tb, tc;scanf("%lf%lf%lf%lf", &L, &k, &a, &b);if (a < b) {ta L / a;tb L / b;printf(&quo…...

江苏省建设招标网站/快速推广

中国可称为“世界工厂”&#xff0c;但在制造业高歌猛进的同时&#xff0c;没有核心技术、大而不强等问题还是会不断出现。随着工业4.0概念的渐进&#xff0c;中国也在不断通过转型升级来提升制造业整体水平。未来基于互联网技术的产品创新、精益制造、柔性生产以及供应链集成&…...

网站推广策划案例/百度搜索收录入口

java flush控制台类flush()方法 (Console Class flush() method) flush() method is available in java.io package. flush()方法在java.io包中可用。 flush() method is used to flush this Console and ready for any output to be printed immediately. flush()方法用于刷新…...

微软 网站开发/网络推广优化招聘

比如我们有时候写这么一句&#xff1a; 恭喜${name}报名成功&#xff0c;请凭报名编号${code}到现场参加活动 我们需要变量名匹配并替换&#xff0c;解决方案肯定用正则表达式。 先贴代码 public static void parse(){Map<String, String> data new HashMap<&g…...

给网站做灰盒渗透测试需要哪些数据/口碑营销的定义

2019独角兽企业重金招聘Python工程师标准>>> 作用&#xff1a;加速数据库查询。 索引一个列会为该列创建一个有序的键数组&#xff0c;每个键指向其相应的表行。以后针对搜索条件可以搜索这个有序的键数组&#xff0c;与搜索整个为索引的表相比&#xff0c;这将在新…...