SQLserver前五讲课堂笔记

news2024/11/24 14:10:02

第一讲

基本内容

  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));

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Springboot项目ES报异常query_shard_exception

详细异常信息如下&#xff1a; {"error": {"root_cause": [{"type": "query_shard_exception","reason": "failed to create query: {\n \"bool\" : {\n \"filter\" : [\n {\n \…

【docker hub镜像源失效】2024年6月6日 docker 国内镜像源失效

文章目录 概述中科大镜像源阿里镜像源其他镜像源可用的镜像源写在最后 之前违反社区规定了&#xff0c;做了和谐 概述 大家都知道使用docker hub官方镜像需要魔法&#xff0c;虽然大部人有魔法&#xff0c;但是网速也是很慢&#xff0c;还有部分同学没有&#xff0c;全靠国内各…

Linux-Https协议

文章目录 前言一、Https协议二、常见的加密方式对称加密非对称加密数据摘要&&数据指纹中间人攻击 三、Https的加密历程方案1-只使用对称加密方案2-只使用非对称加密方案3-双方都使用非对称加密方案4-非对称加密对称加密 前言 之前我们学习了Http协议&#xff0c;也试着…

Bug:SSH Failed Permission Denied(完美解决)

Bug&#xff1a;SSH Failed Permission Denied&#xff08;完美解决&#xff09; 今天我本机mac通过ssh访问linux服务器时报错&#xff1a;SSH Failed Permission Denied 思路&#xff1a; linux服务器sshd是否开启linux /etc/ssh/sshd_config配置是否正确&#xff08;是否开启…

YouTube583美元账户做到一千多万美元,125万粉的顶级交易员

油管125万粉丝的Ross Cameron,一位把583美元账户做到一千多万美元。他说他曾经也是像无头苍蝇一样交易,最终凄惨爆仓,也就是在爆仓之后,他终于开始沉下心来研究交易策略,终于终于,他有一天找到了交易模型,并用它执行至今。 Ross Cameron无疑是最成功的日内交易员之一,而…

Asp.Net Core 读取配置接口 IOptions、IOptionsMonitor以及IOptionsSnapshot

&#x1f340;简介 Options是.net Core Web api框架自带的功能&#xff0c;Options模式通过定义强类型的类来表示相关配置设置的集合&#xff0c;使得配置管理更为结构化和类型安全。 IOptions、IOptionsMonitor和IOptionsSnapshot是用于处理配置的依赖注入接口。这些接口允许…

Linux基础 (十八):Libevent 库的安装与使用

目录 一、Libevent 概述 1.0 Libevent的安装 1.0.1 使用源码方式 1.0.2 终端命令行安装 1.1 主要特性 1.2 主要组件 1.3 Libevent 使用模型 1.4 原理 1.5 使用的基本步骤 1.5.1 初始化事件基础设施 1.5.2. 创建和绑定服务器套接字 1.5.3. 设置监听事件 1.5.4. 定义…

电脑缺失d3dcompiler_47.dll会怎么样,该如何修复呢

在计算机使用过程中&#xff0c;我们常常会遇到一些错误提示&#xff0c;其中之一就是“缺少d3dcompiler47.dll文件”。那么&#xff0c;d3dcompiler47.dll到底是什么&#xff1f;为什么计算机会缺失它&#xff1f;它会对电脑产生什么具体影响&#xff1f;如何解决这个问题&…

【CT】LeetCode手撕—25. K 个一组翻转链表

目录 题目1-思路2- 实现⭐25. K 个一组翻转链表——题解思路 3- ACM实现 题目 原题连接&#xff1a;25. K 个一组翻转链表 1-思路 1. dummyHead&#xff1a;设置虚拟头结点&#xff0c;通过虚拟头结点保证每个结点的地位相同2. 定位 pre 和 end 拆链&#xff1a;借助 pre 、s…

(新)Spring Security如何实现登录认证(实战篇)

一、回顾认证流程详解 概念速查: Authentication接口: 它的实现类&#xff0c;表示当前访问系统的用户&#xff0c;封装了用户相关信息。 AuthenticationManager接口&#xff1a;定义了认证Authentication的方法 UserDetailsService接口&#xff1a;加载用户特定数据的核心接…

软件体系结构笔记(自用)

来自《软件体系结构原理、方法与实践&#xff08;第三版&#xff09;》清华大学出版社 张友生编著 1-8章12章 复习笔记 如有错误&#xff0c;欢迎指正&#xff01;&#xff01;&#xff01;

Python使用策略模式生成TCP数据包

使用策略模式&#xff08;Strategy Pattern&#xff09;来灵活地生成不同类型的TCP数据包。 包括三次握手、数据传输和四次挥手。 from scapy.all import * from scapy.all import Ether, IP, TCP, UDP, wrpcap from abc import ABC, abstractmethodclass TcpPacketStrategy(A…

网络安全技术实验六 入侵检测技术实践

一、实验目的和要求 理解基于网络的入侵检测系统的基本原理&#xff0c;掌握snort IDS工作机理&#xff1b; 学习应用snort三种方式工作&#xff1b;熟练编写snort规则&#xff1b; 完成snort数据包记录、日志查看、字符串匹配、ARP欺骗攻击检测、端口扫描工具检测等功能。 …

微信小游戏插件申请,微信小程序插件管理

微信小游戏的插件申请与小程序不一样&#xff0c;官方没有提供一个统一的管理入口进行申请插件&#xff0c;以及查看插件&#xff0c;没有小程序方便的&#xff1b; 小程序申请查看插件入口如下图所示&#xff1a; 小游戏的插件可以通过以下的方式进行申请&#xff1a; 如下…

代码随想录-Day31

455. 分发饼干 假设你是一位很棒的家长&#xff0c;想要给你的孩子们一些小饼干。但是&#xff0c;每个孩子最多只能给一块饼干。 对每个孩子 i&#xff0c;都有一个胃口值 g[i]&#xff0c;这是能让孩子们满足胃口的饼干的最小尺寸&#xff1b;并且每块饼干 j&#xff0c;都…

OpenCV形态学

什么事形态学处理 基于图像形态进行处理的一些基本方法&#xff1b; 这些处理方法基本是对二进制图像进行处理&#xff1b; 卷积核决定着图像出来后的效果。 一 图像二值化 什么是二值化 将图像的每个像素变成两种值&#xff0c;如0,255. 全局二值化。 局部二值化。 thres…

小学奥数-图像找规律之招聘测评题

文章目录 长得差不多平移&#xff08;1&#xff09;&#xff08;2&#xff09; 旋转规律&#xff08;1&#xff09; 翻转规律 长得有点不一样叠加 参考 比如腾讯给他投简历之后会发一个在线测评&#xff0c;这些题目有和公务员考试很像的 长得差不多 几张图长得差不多的时候&a…

TCP/IP协议深入解析,初学者必看!

简介 在信息技术飞速发展的今天&#xff0c;网络已成为人类社会不可或缺的部分。实现网络中计算机相互通信的关键之一便是TCP/IP协议。作为互联网的基础&#xff0c;TCP/IP协议确保了全球范围内的数据交换和信息共享。 TCP/IP&#xff08;传输控制协议/网际协议&#xff09;是…

大数据实训项目(小麦种子)-01、VirtualBox安装与Centos7系统安装

文章目录 前言项目介绍项目任务目标一、VirtualBox安装1.1、认识VirtualBox1.2、VirtualBox的下载安装 二、VirtualBox安装Centos7系统2.1、VirtualBox安装Centos72.2、Centos7配置静态IP地址2.3、Centos7环境基础配置 三、Windows安装FinalShell及连接Centos73.1、FinalShell下…

神经网络学习2

张量&#xff08;Tensor&#xff09;是深度学习和科学计算中的基本数据结构&#xff0c;用于表示多维数组。张量可以看作是一个更广义的概念&#xff0c;涵盖了标量、向量、矩阵以及更高维度的数据结构。具体来说&#xff0c;张量的维度可以是以下几种形式&#xff1a; 标量&am…