SQLserver前五讲课堂笔记

第一讲

基本内容

  1. 为什么要学习数据库系统?
  2. 什么是数据库?
  3. 什么是数据库系统?
  4. 什么是数据库管理系统?
  5. 本课程学什么以及学到什么程度?

重点难点

  • 一组概念的区分:数据库、数据库系统和数据库管理系统
  • 熟悉表 的相关要素及术语
  • 熟悉数据库系统的构成(工作环境)
  • 了解数据库管理系统的功能:从用户角度和从系统角度

为什么要学习数据库系统?

传统社会:业务工作
信息社会:业务工作+计算机

什么是数据库?

数据库是电子化信息的集合。将信息规范化并使之电子化,形成电子信息“库”,以便利用计算机对这些信息进行快速有效的存储、检索、统计与管理

  • 数据库:Database
  • 数据库管理系统:Database Management System
  • 数据库应用:DataBase Application
  • 数据库管理员:DataBase Administrator
  • 计算机基本系统

什么是数据库管理系统

管理数据库的叫做数据库管理系统。数据库管理系统包含的功能有哪些?
从用户来看:

  • 数据库定义:定义数据库中Table的名称,标题(内涵的属性名称及对该属性值的计算)等
  • 数据库操纵:向数据库的Table中增加/删除/更新数据对数据进行查询、检索、统计等
  • 数据库控制:控制数据库中数据的使用—哪些用户可以使用,哪些不可以使用
  • 数据库各种擦组偶的执行

从系统角度来看:

  1. 语言编译器
  2. 查询优化与实现程序
  3. 存储与索引程序
  4. 事务处理程序
  5. 各种控制程序

本课程学什么及学到什么程度

  1. 数据库系统基本概念(2讲4学时):理解后续内容的基础
    ----基本概念、课程内容及作用、数据库管理系统的标准结构、数据库技术的发展史与发展趋势。

  2. 关系模型与关系运算(3讲6学时):理解数据库语言的基础、正确实现数据库操作,尤其是检索操作的基础,抽象能力训练、集合思维与逻辑思维能力训练
    —关系模型、关系运算:关系代数运算、关系元组演算、关系域演算

  3. 交互式SQL语言及其应用(含课堂训练,3讲6学时):标准数据库语言的语法及其交互式应用训练
    —SQL的各种操作语句:重点是SQL的查询与统计语句,(子模式)视图的应用语句

  4. 数据库应用程序开发(2讲4学时):嵌入式数据库语言的应用语法及其应用训练;数据库应用程序开发
    ----嵌入式SQL语句,及其与高级语言语句的结合,变量传递、结果处理、错误陷阱处理等

  5. 数据建模与数据库设计(含课堂训练,3讲6学时):理解如何对应用系统进行需求分析和抽象,设计出正确的数据库模式
    ----数据库设计的基本概念;E-R图/IDEF1X图的基本思想及其设计结果的表达方法;数据库设计训练;数据库设计过程

  6. 数据库设计理论(3讲6学时)::理解数据库设计的基本理论,掌握数据库正确性分析方法
    ------数据库设计理论:数据依赖、关系范式与模式分解.

  7. 数据库存储与索引技术(2讲4学时):掌握DMBS相关的实现技术I–数据库的基本存储与索引技术
    ----磁盘空间的管理与分配,数据组织方法、数据索引方法;

  8. 数据库基本操作的实现算法(2讲4学时):掌握DBMS相关的实现技术II—数据库的基本实现算法
    —数据库基本操作的实现算法,包括多路归并排序算法、并/交/差/积/选择/投影/连接等的实现算法、一趟算法、二趟算法、基于排序的算法、基于散列的算法等

  9. 数据库查询优化与查询实现(1讲2学时):掌握DBMS相关的实现技术III–数据库查询实现与查询优化算法
    —数据库查询语句处理,数据库查询的语法优化,数据库查询的执行优化等

  10. 数据库事务处理(2讲2学时):掌握DBMS相关的实现技术IV–事务与并发控制,故障恢复
    —数据库事务的概念,可串行性,并发控制;数据库备份、运行工日志与故障恢复

  11. 课程总结(1讲2学时)
    —梳理课程的知识脉络,回顾课程中的重点概念和知识.

数据库抽象与演变

基本内容

  1. 数据库系统的标准结构?
  2. 数据模型?
  3. 数据库系统的演变与发展?

重点与难点

  • 一组概念的区分:三级模式两层映像,物理独立性和逻辑独立性
  • 一组概念的区分:数据-》模式-》数据模型
  • 几种数据模型的差异:网状/层次模型–>关系模型–>OO数据模型

DBMS管理数据的三个层次

  1. 局部模式:某一用户能够看到与处理的数据,全局数据中的某一部分
  2. 逻辑概念层次:从全局角度理解/管理的数据含相互关联的数据
  3. 内部层次:存储在介质上的数据,含存储路径、存储方式、索引方式

三级模式

  • 外模式:某一用户能够看到与处理的数据的结构的描述
  • 概念模式:从全局角度理解/管理数据的结构描述,含相应的关联约束
  • 内模式:存储在介质上的数据的结构描述,含存储路径,存储方式,索引方式等

两层映像

  • E-C 外模式映射概念模式,从而支持实现数据概念视图向外部视图的转换,便于用户观察和使用
  • C-I Mapping 将概念映射为内模式,从而支持实现数据概念视图向内部视图的转换,便于计算机进行存储和处理。

两个独立性

  • 逻辑数据独立性:当概念模式变化时,可以不改变外部模式(只需要改变E-C Mapping),从而无需改变应用程序
  • 物理数据独立性:当内部模式变化时,可以不改变概念模式(只需改变C-I Mapping),从而不改变外部模式

什么是数据模型?

数据模型是对模式本身结构的抽象,模式是对数据本身形式的抽象。
比如:
关系模型:所有的模式都可为抽象表(Table)的形式[数据结构],而每一个具体的模式都是拥有不同列名的具体的表。对这种表形式的数据有哪些[操作]和[约束]

三大经典数据模型

  • 关系模型:表
  • 层次模型:树
  • 网状模型:图

简要发展史

  1. 第一个阶段:数据库技术探索阶段(59-67) Database
  2. 第二阶段:数据库技术确立阶段(65-75) 商用网状
  3. 第三阶段:数据库技术成熟阶段(76-80s) 标准化数据库系统结构模型
  4. 第四阶段:数据库技术深化发展阶段(85年以来)

由文件系统到数据库

优点:用户不必考虑文件存储的物理细节,解脱了对物理设备存取复杂性处理的负担
不足:数据与程序紧密结合,数据的组织及语义紧密依赖于处理该文件的应用程序,数据结构发生改变则更正修改应用程序,文件之间无练习,文件的记录之间无联系,共享性差,冗余度大,不一致高。

层次模型数据库、网状模型数据库到关系数据库

层次模型与网状模型数据库:

  • 数据之间的关联关系由复杂的指针系统来维系,结构描述复杂
  • 数据检索操作依赖于由指针系统指示的路径
  • 逐一记录的操作,不能有效支持记录集合的操作。

由关系数据库到对象关系数据库,面向对象数据库

关系数据库:

  • 按行按列形式组织数据:关系的第1范式
  • 数据项的不可再分特性
  • 关系运算:关系代数、元组演算、域演算—》标准SQL
  • 关系数据库设计理论

对象-关系数据库:

  • 可有效支持不满足关系第一范式的数据项
  • 以对象来封装需分解的数据项
  • 行对象与列对象:聚集对象与结构对象

面向对象数据库

  • 面向对象技术(O-O)与集合/聚集操作技术(SQL)的结合
  • 支持复杂的数据类型,数据封装与抽象数据结构
  • 支持面向对象的一些特性:类、继承、封装、多态

XML数据库

  • 是数据库的另一种形式,被称为半结构化数据库
  • 数据与数据的语义 合并在一起进行存储和处理
  • 面向数据交换而提出,在互联网世界得到广泛应用

回顾本讲学习了什么

在这里插入图片描述

第三讲 关系模型之基本概念

基本内容

  1. 关系模型概述?
  2. 什么是关系?
  3. 关系模型中的完整性约束

重点与难点

  • 一组概念的区分:围绕关系的相关概念,如域,笛卡尔积,关系,关系模式,关键字/键/码,外码/外键,主码/主键,主属性/非主属性
  • 三个完整性:实体完整性,参照完整性和用户自定义的完整性

关系模型的三要素

  • 基本结构
  • 基本操作(并、差、广义积、选择、投影、交、连接、除)
  • 完整性约束:实体完整性、参照完整性和用户自定义的完整性

关系模式与关系

  • 同一关系模式下,可有很多的关系
  • 关系模式是关系的结构,关系是关系模式在某一时刻的数据
  • 关系模式是稳定的,而关系是某一时刻的值,是随时间可能变化的

关系的特性

  • 列是同质:即每一列中的分量来自同一域,是同一类型的数据
  • 不同的列可来自同一个域,称其中的每一列为一个属性,不同的属性要给予不同的属性名。

外码

  • 关系R中的一个属性组,它不是R的候选码,但它与另一个关系S的候选码相对应,则称这个属性组为R的外码或外键

参照完整性

如果关系R1的外码Fk与关系R2的主码Pk相对应,则R1中的每一个元组的Fk值或者等于R2中某个元组的Pk值,或者为空值

DBMS对关系完整性的支持

  • 它使用户可以自行定义有关的完整性约束条件
  • 当有更新操作发生时,DBMS将自动按照完整性约束条件检验更新操作的正确性,即是否符合永辉自定义的完整性。

本讲回顾

在这里插入图片描述

第四讲:关系代数

基本内容

  1. 关系代数之基本操作
  2. 关系代数之扩展操作
  3. 关系代数之组合与应用训练
  4. 关系代数之复杂扩展操作(选学)

重点与难点

  • 关系代数基本操作:并、差、积、选择、投影
  • 关系代数扩展操作:交、 θ − \theta- θ连接、自然连接
  • 关系代数复杂扩展操作:除、外连接
  • 书写关系代数的基本思维训练:一个集合,施加
    一个操作得到一个集合,依次施加关系代数操作,进而得到所需结果“以集合为中心”
    .

集合操作

在这里插入图片描述

纯关系操作

在这里插入图片描述

  • 定义:假设关系R和关系S是并相容的,则关系R与关系S的并运算结果是一个关系,记作:R ∪ \cup S,它由或者出现在关系R中,或者出现S中的构成。

在这里插入图片描述

  • 定义:假设关系R和关系S是并相容的,则关系R与关系S的差运算结果也是一个关系,记作:R-S,它由出现在关系R中但不出现在关系S中的元组构成。

在这里插入图片描述

  • 汉语中的“是…但不含…”通常意义是差运算的要求
  • 首先要准确理解汉语的查询要求,然后再找到正确的操作

广义笛卡尔积

  • 关系R(< a 1 , a 2 , . . . . , a n a_1,a_2,....,a_n a1,a2,....,an>)与关系S(< b 1 , b 2 , . . . , b m b_1,b_2,...,b_m b1,b2,...,bm>)的广义笛卡尔积(简称广义积,或积或笛卡尔积运算结果也是一个关系,记作:R × × ×,它由关系R中的元组与关系S的元组进行所有可能的拼接(或串接)构成…

选择

  • 定义:给定一个关系R,同时给定一个选择的条件condition(简记con),选择运算结果也是一个关系,记作 σ c o n ( R ) \sigma_{con}(R) σcon(R),它从关系R中选择出满足给定条件condition的元组构成

投影

  • 定义:给定一个关系R,投影运算结果也是一个关系,记作 Π A R \Pi_{A}R ΠAR,它从关系R中选出属性包含在A中的列构成.
  • 投影操作从给定关系中选出某些列组成新的关系,而选择的操作是从给定关系中选出某些行组成新的关系
    在这里插入图片描述

第五讲–关系代数之扩展操作

  • 假设关系R和关系S是并相容的,则关系R与关系S的交运算结果也是一个关系,记作:R ∩ S \cap{S} S,它由同时出现在关系R和关系S中的元组构成。

θ − 连接 \theta-{连接} θ连接

  • 投影与选择操作只是对单个关系(表)进行操作,而实际应用中往往涉及多个表之间的操作,这既需要 θ − 连接 \theta-{连接} θ连接
  • 定义:给定关系R和关系S,R与S的 θ \theta θ连接运算结果也是一个关系,记作R ⋈ A θ B S \Join_{A\theta{B}}S AθBS,它由关系R和关系S的笛卡尔积中,选取R中属性A与S中属性B之间满足 θ \theta θ条件的元构成。

自然连接

  • 定义:给定关系R和关系S,R与S的自然连接运算结果也是一个关系,记作R ⋈ \Join ,它由关系R和关系S的笛卡尔积中选取相同属性组B上值相等的元组所构成。

小结

在这里插入图片描述

关系代数操作之组合与应用训练

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

例1:查询学习课程号为002的学生学号和成绩

Π S # , S c o r e ( σ C # = " 002 " ( S C ) ) \Pi_{S\#,Score}(\sigma_{C\#="002"(SC)}) ΠS#,Score(σC#="002"(SC))

例2:查询学习课程号为001的学生学号、姓名

Π S # , S n a m e ( σ C # = " 001 " ( S t u d e n t ⋈ S C ) ) \Pi_{S\#,Sname}(\sigma_{C\#="001"(Student\Join{SC})}) ΠS#,Sname(σC#="001"(StudentSC))

例3 查询学习课程名称为数据结构的学生学号、姓名和这门课程的成绩.

Π S # , S n a m e ( σ C n a m e = " 数据结构 " ( S t u d e n t ⋈ S C ⋈ C o u r s e ) ) \Pi_{S\#,Sname}(\sigma_{Cname="数据结构"}(Student\Join{SC}\Join{Course})) ΠS#,Sname(σCname="数据结构"(StudentSCCourse))

外连接

  • 两个关系R与S进行连接时,如果关系R(或S)中的元组在S(或R)中找不到相匹配的元组,则为了避免该元组信息丢失,从而将该元组与S(或R)中假定存在的全为空值的元组形成连接,放置在结果关系中,这种连接称之为外连接.

小结

在这里插入图片描述

  • Select: Π \Pi Π
  • From: σ \sigma σ
  • Where: × \times ×

第五讲–关系模型之关系演算

基本内容

  • 关系演算之关系元组演算
  • 关系演算之关系域演算
  • 关系演算之安全性
  • 关于三种关系运算的一些观点

重点与难点

  • 关系元组演算公式的递归定义;关系域演算公式的递归定义
  • 关系元组演算公式:与 ∧ \land ,或 ∨ \vee , ¬ \neg ¬非,存在量词 ∃ \exists ,全称量词 ∀ \forall
  • 用关系元组演算公式表达查询的思维训练
  • 用QBE语言表达查询的思维训练
  • 关系元组演算、域演算和关系代数在表达查询方面的思维差异

关系演算公式之与、或、非运算符

1.检索出年龄小于20岁并且是男同学的所有学生。

{ t ∣ t ∈ S t u d e n t ∧ t [ S a g e ] < 20 ∧ t [ S e x ] = ′ 男 ′ } \{t|t\in{Student}\land{t[Sage]<20}\land{t[Sex]='男'}\} {ttStudentt[Sage]<20t[Sex]=}

2、检索出年龄小于20岁或者03系的所有男生

{ t ∣ t ∈ S t u d e n t ∧ ( t [ S a g e ] < 20 ∨ t [ D # ] = ′ 0 3 ′ ) ∧ t [ S e x ] = ′ 男 ′ } \{t|t\in{Student}\land({t[Sage]<20}\vee{t[D\#]='03'})\land{t[Sex]='男'}\} {ttStudent(t[Sage]<20t[D#]=03)t[Sex]=}

3、检索出不是03系的所有学生

{ t ∣ t ∈ S t u d e n t ∧ ¬ ( t [ S a g e ] < 20 ∧ t [ S e x ] = ′ 男 ′ ) } \{t|t\in{Student}\land{\neg{(t[Sage]<20\land{t[Sex]='男'})}}\} {ttStudent¬(t[Sage]<20t[Sex]=)}

4.检索计算机系的所有同学

{ t ∣ t ∈ S t u d e n t ∧ ∃ ( u ∈ D e p t ) ( t [ D # ] = u [ D # ] ∧ u [ D n a m e ] = ′ 计算 机 ′ ) } \{t|t\in{Student}\land{\exists(u\in{Dept)(t[D\#]=u[D\#]\land{u[Dname]='计算机'})}}\} {ttStudent(uDept)(t[D#]=u[D#]u[Dname]=计算)}

5. 求没学过李明讲授任一门课程的学生姓名(全没学过)

π S n a m e ( S t u d e n t ) − π S n a m e ( σ T n a m e = ′ 李 明 ′ ( S t u d e n t ⋈ S c ⋈ C o u r s e ) ) \pi_{Sname}(Student)-\pi_{Sname}(\sigma_{Tname='李明'}(Student\Join{Sc}\Join{Course})) πSname(Student)πSname(σTname=(StudentScCourse))

6.求至少学过一门李明老师讲授课程的学生姓名(至少学过一门)

π S n a m e ( σ T n a m e = ′ 李 明 ′ ( S t u d e n t ⋈ S c ⋈ C o u r s e ) ) \pi_{Sname}(\sigma_{Tname='李明'}(Student\Join{Sc}\Join{Course})) πSname(σTname=(StudentScCourse))

关系元组演算之应用训练将关系代数转换为元组演算

关系域演算公式

关系域演算公式的基本形式: { < x 1 , x 2 , . . . . , x n > ∣ P ( x 1 , x 2 , . . . , x n ) } \{<x_1,x_2,....,x_n>|P(x_1,x_2,...,x_n)\} {<x1,x2,....,xn>P(x1,x2,...,xn)}。其中, x i x_i xi代表域变量或常量,P为以 x i x_i xi为变量的公式.公式P可以递归地进行构造:

  • 如果P是公式,那么 ¬ P \neg{P} ¬P也是公式
  • 如果P1,P2是公式,则 P 1 ∧ P 2 , P 1 ∨ P 2 P_1\land{P_2},P_1\vee{P_2} P1P2,P1P2
  • 如果P是公式,x是域变量,则 ∃ ( x ) ( P ( x ) ) \exists{(x)(P(x))} (x)(P(x)) ∀ ( x ) ( P ( x ) ) \forall{(x)(P(x))} (x)(P(x))也是公式.
  • 需要时可加括弧
  • 上述运算符的优先次序自高至低为:

关系域演算与关系元组演算的比较

元组演算的基本形式:{t|P(t)}
域演算的基本形式:{ < x 1 , x 2 , . . . , x n > ∣ P ( x 1 , x 2 , . . . , x n ) <x_1,x_2,...,x_n>|P(x_1,x_2,...,x_n) <x1,x2,...,xn>P(x1,x2,...,xn)}

  • 元组演算是以元组为变量,以元组为基本处理单位,先找到元组,然后找到元组分量,进行谓词判断;域演算是以域变量为基本处理单位,先有域变量,然后再判断由这些域变量组成的元组是否存在或是否满足谓词判断。
  • 公式的运算符( ∧ ( 与 ) 、 ∨ ( 或 ) 、 ¬ ( 非 ) 、 ∃ ( 全称量词 ) 和 ∀ ( 存在量词 ) \land(与)、\vee{(或)}、\neg{(非)}、\exists{(全称量词)}和\forall{(存在量词)} ()()¬()(全称量词)(存在量词))是相同的,只是其中的变量不同
  • 元组演算和域演算可以等价互换。

基于关系域演算的QBE语言

关系域演算语言QBE

域演算语言QBE

  • QBE:Query By Example
  • 1975年由M.M.Zloof提出,1978年在IBM370上实现
  • 特点:操作独特,基于屏幕表格的查询语言,不用书写复杂的公式,只需将条件填在表格中即可。
  • 是一种高度非过程化的查询语言
  • 特别适合终端用户的使用

QBE操作框架由四个部分构成

  • 关系名区:用于书写欲

第n讲

基本内容

  1. SQL语言概述?
  2. SQL语言之DDL-定义数据库
  3. SQL语言之DML-操纵数据库

重点与难点

  1. SQL-DDL的基本语句:CREATE DATABASE,CREATE TABLE
  2. SQL-DML的基本语句:INSERT,DELETE,UPDATE,SELECT
  3. SQL-SELECT语句的训练:正确表达各种查询需求

SQL语言提出和发展

1974年,有Boycel和Chamber提出
1975-1979年,由IBM的San Jose研究室在System R上首次实现,称为Sequel --》SQL
1986年由ANSI/ISO推出SQL标准:SQL-86
1992年ANSI/ISO推出SQL标准:SQL-89
1992年进一步推出了SQL标准:SQL-92,又称为SQL2
     是SQL-89的超集
     增加了新特性,如新数据雷兴国,更丰富数据操作,更强完整性支持等
     原SQL-89被称为entry-SQL,扩展的被称为Intermediate和Full级

理解查询需求

利用SQL语言建立数据库

学生选课数据库SCT
学生表Student

Create Table Student(S# char(8) not null,Sname char(10),Sex char(2),
Sage integer,D# char(2),Sclass char(6));

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/698318.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

win10怎么截图?电脑截图的3个方法分享

win10怎么截图&#xff1f;在Windows 10操作系统中&#xff0c;截图功能不仅强大而且极其便捷。无论用户需要快速捕捉整个屏幕的内容&#xff0c;还是精确截取屏幕上的特定区域&#xff0c;它都能迅速响应并满足需求。通过内置的截图工具和快捷键&#xff0c;我们可以轻松完成各…

SwiftUI中自定义ViewModifier

在SwiftUI中&#xff0c;ViewModifier是一种强大的工具&#xff0c;用于封装和复用视图修改逻辑。通过创建自定义的ViewModifier&#xff0c;我们可以以一种干净且可维护的方式重用视图配置和样式。本文将介绍如何在SwiftUI中创建和使用自定义ViewModifier。 ViewModifier是一…

【Linux】ls命令

这个命令主要是用于显示指定工作目录下之内容&#xff08;列出目前工作目录所含的文件及子目录)。 掌握几个重点的常使用的就可以&#xff1a; ls -l # 以长格式显示当前目录中的文件和目录 ls -a # 显示当前目录中的所有文件和目录&am…

【内存管理】内存布局

ARM32位系统的内存布局图 32位操作系统的内存布局很经典&#xff0c;很多书籍都是以32位系统为例子去讲解的。32位的系统可访问的地址空间为4GB&#xff0c;用户空间为1GB ~ 3GB&#xff0c;内核空间为3GB ~ 4GB。 为什么要划分为用户空间和内核空间呢&#xff1f; 一般处理器…

BarTender 常见的使用要点

BarTender 简述 BarTender是由美国海鸥科技&#xff08;Seagull Scientific&#xff09;推出的一款条码打印软件&#xff0c;被广泛应用于标签、条形码、证卡和RFID标记的设计和打印领域。它在全球范围内拥有众多用户&#xff0c;被公认为标签打印方面的全球领先者。BarTender…

一.iOS核心动画 - 关于图层与视图

引言 Core Animation听起来会让人误以为它只是用来做动画的&#xff0c;但是事实上它是从Layer Kit库演变而来的&#xff0c;其中做动画的功能只是Core Animation特性的一小部分。 Core Animation是一个复核引起&#xff0c;它的作用就是尽可能快地组合屏幕上不同的显示内容&…

【Vue】getters

除了state之外&#xff0c;有时我们还需要从state中筛选出符合条件的一些数据&#xff0c;这些数据是依赖state的&#xff0c;此时会用到getters getters就类似于属性中的计算属性 这个getter只有获取&#xff0c;如果需要设置修改&#xff0c;还是需要经过mutations getters里…

实验四、零比特插入《计算机网络》

但凡这句话有一点用的话也不至于一点用都没有。 目录 一、实验目的 二、实验内容 三、实验小结 一、实验目的 掌握零比特插入原理及方法使用任意编程语言实现零比特插入方法。 二、实验内容 掌握零比特插入原理及方法 点对点协议 PPP&#xff08;Point-to-Point Protoco…

8.11 矢量图层线要素单一符号使用六(光栅线)

文章目录 前言光栅线&#xff08;Raster Line&#xff09;QGis设置线符号为光栅线&#xff08;Raster Line&#xff09;二次开发代码实现光栅线&#xff08;Raster Line&#xff09; 总结 前言 本章介绍矢量图层线要素单一符号中光栅线&#xff08;Raster Line&#xff09;的使…

Navicat导入json文件(json文件数据导入到MySQL表中)

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…

Threejs-05、设置响应式画布与全屏控制。

1、自适应屏幕大小 你会发现,我们前面写好的代码,在页面尺寸发生改变的时候,并不能自适应的改变尺寸,而出现空白或者滚动条突出的情况。所以监听屏幕大小的改变,来重新设置相机的宽高比例和渲染器的尺寸大小,代码如下: // 监听画面变化,更新渲染画面 window.addEven…

删除的东西怎么恢复?5个方法,找回误删数据!

“我刚刚一不小心在电脑上误删了一些数据&#xff0c;想问问大家有什么方法可以恢复删除的东西吗&#xff1f;请帮帮我&#xff01;” 在数据时代&#xff0c;我们每天会在电脑上保存很多重要的数据&#xff0c;这些数据不仅包括我们的学习资料、工作信息&#xff0c;还有各种个…

DeepSORT(目标跟踪算法)中自由度决定卡方分布的形状

DeepSORT&#xff08;目标跟踪算法&#xff09;中自由度决定卡方分布的形状 flyfish 重要的两个点 自由度决定卡方分布的形状&#xff08;本文&#xff09; 马氏距离的平方在多维正态分布下服从自由度为 k 的卡方分布 独立的信息 在统计学中&#xff0c;独立的信息是指数据…

震撼!AI语言模型突破瓶颈,26个提示词原则引领GPT-4响应质量飙升57.7%!你的模型还在等什么?

不是模型不够强大&#xff0c;是你的提示不够精准。 当大型语言模型如ChatGPT在各领域大放异彩时&#xff0c;普通用户却对其指令设计一头雾水。这篇论文揭秘了与模型交流的秘诀&#xff0c;仅凭优化提示&#xff0c;就让GPT-4响应质量和准确性分别飙升57.7%和36.4%&#xff0…

重生奇迹mu套装掉的地点一览

1、目前只有三个地方掉套装&#xff1a;赤色要塞&#xff0c;不是100%掉&#xff0c;靠运气。卡利玛7&#xff0c;杀困顿能掉。魔炼之地&#xff0c;只有城主盟成员可以进入。 2、只有攻城城主盟可以进入的地图“魔炼之地”掉套装&#xff0c;暴率几乎为0。如果你是敏法的话&am…

C++ 判断目标文件是否被占用(独占)(附源码)

在IM软件中发起文件发送时,如果要发送的是某word文件,并且该word文件被office打开,则会提示文件正在被占用无法发送,如下所示: 那文件被占用到底是如何判断出来的呢?其实很简单,调用系统API函数CreateFile,打开该文件(OPEN_EXISTING),传入FILE_SHARE_READ共享读标记…

MySQL—多表查询—练习(2)

一、引言 接着上篇博客《 MySQL多表查询——练习&#xff08;1&#xff09;》继续完成剩下的案例需求。 二、案例 &#xff08;0&#xff09;三张表&#xff08;员工表、部门表、薪资等级表&#xff09; 员工表&#xff1a;emp 部门表&#xff1a;dept 薪资等级表&#xff1a;…

CF297C Splitting the Uniqueness 题解

CF297C Splitting the Uniqueness 题解 非常好构造题&#xff0c;使我的草稿纸旋转。 解法 我们记输入的数组为 a a a&#xff0c;需要输出的两个数组为 b , c b,c b,c&#xff08;因为当时起变量名起的&#xff09;。 考虑利用 a i a_i ai​ 互不相同的性质。 先将 a…

Kaggle -- Titanic - Machine Learning from Disaster

新手kaggle之旅&#xff1a;1 . 泰坦尼克号 使用一个简单的决策树进行模型构建&#xff0c;达到75.8%的准确率&#xff08;有点低&#xff0c;但是刚开始&#xff09; 完整代码如下&#xff1a; import pandas as pd import numpy as npdf pd.read_csv("train.csv&quo…

Spring Boot 分片上传、断点续传、大文件上传、秒传,应有尽有

文件上传是一个老生常谈的话题了&#xff0c;在文件相对比较小的情况下&#xff0c;可以直接把文件转化为字节流上传到服务器&#xff0c;但在文件比较大的情况下&#xff0c;用普通的方式进行上传&#xff0c;这可不是一个好的办法&#xff0c;毕竟很少有人会忍受&#xff0c;…