【三】关系模型 -- 基本概念

news2024/9/29 1:21:59

  • 基本概念
    • 关系模型概述
      • 关系模型的提出
      • 关系模型研究什么
      • 关系模型的三要素
    • 什么是关系
      • 概念引入
        • 1. 域
        • 2. 笛卡尔积
        • 3. 关系
      • 关系模式 VS 关系
      • 关系的特性
        • 1. 列是同质
        • 2. R(A:D) 中,A 不可相同,D 可相同
        • 3. 行、列位置互换性
        • 4. 属性不可再分(关系第一范式)
      • 关系上的一些重要概念
        • 1. 候选码/候选键
        • 2. 主码/主键
        • 3. 主属性与非主属性
        • 4. 外码/外键
    • 关系模型中的完整性约束
      • 1. 实体完整性
      • 2. 参照完整性
      • 3. 用户自定义完整性
      • DBMS对关系完整性的支持
  • 内容回顾
  • 练习

基本概念

【重点与难点】

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

关系模型概述

关系模型的提出

最早由 E.F.Codd 在1970年提出;

  • 是从表(Table)及表的处理方式中抽象出来的, 是在对传统表及其操作进行数学化严格定义基础上,引入 集合理论与逻辑学理论 提出的;
  • 是数据库的三大经典数据模型之一, 也是现在大多数商品化数据库系统所仍然使用的数据模型;
  • 标准的数据库语言(SQL语言)是建立在关系模型基础之上的, 数据库领域的众多理论也都是建立在关系模型基础之上的。

在这里插入图片描述

关系模型研究什么

形象地说,一个关系(relation)就是一个 Table。

关系模型就是处理 Table 的,它由三个部分组成:

  • 描述 DB 各种数据的 基本结构形式 (Table/Relation);
  • 描述 Table 与 Table 之间所可能发生的各种 操作 (关系运算) ;
  • 描述这些操作所应遵循的 约束条件 (完整性约束) ;

就是要学习: Table 如何描述,有哪些操作、结果是什么、有哪些约束 等。

在这里插入图片描述

关系模型的三要素

  • 基本结构:Relation/Table;
  • 基本操作:Relation Operator;

在这里插入图片描述

  • 完整性约束:实体完整性、参照完整性和用户自定义的完整性。

什么是关系

表的严格定义? 关系!

先回顾一下表的基本构成要素:

在这里插入图片描述

概念引入

1. 域

首先定义 “列” 的取值范围 “域(Domain)”

域(Domain):

  • 一组值的 集合,这组值具有 相同的数据类型
  • 如整数的集合、字符串的集合、全体学生的集合;
  • 再如, 由8位数字组成的数字串的集合,由0到100组成的整数集合;
  • 集合中 元素的个数 称为 域的基数(Cardinality);

在这里插入图片描述

2. 笛卡尔积

再定义 “元组”及所有可能组合成的元组笛卡尔积

笛卡尔积(Cartesian Product):

  • 一组域 D 1 D_1 D1 , D 2 D_2 D2 ,…, D n D_n Dn 的笛卡尔积为: D 1 × D 2 × … × D n = { ( d 1 , d 2 , … , d n ) ∣ d i ∈ D i , i = 1 , … , n } D_1×D_2×…×D_n = \{ (d_1 , d_2 , … , d_n) | d_i∈D_i , i=1,…,n \} D1×D2××Dn={(d1,d2,,dn)diDi,i=1,,n}
  • 笛卡尔积的每个元素( d 1 d_1 d1 , d 2 d_2 d2 , … , d n d_n dn)称作一个 n-元组(n-tuple);
  • 元组( d 1 d_1 d1 , d 2 d_2 d2 , … , d n d_n dn)的每一个值 d i d_i di 叫做一个 分量 (component);
  • 元组( d 1 d_1 d1 , d 2 d_2 d2 , … , d n d_n dn)是 从每一个域任取一个值所形成的一种组合,笛卡尔积是所有这种可能组合的集合, 即:笛卡尔积是由 n 个域形成的所有可能的 n-元组 的集合

D i D_i Di 的基数为 m i m_i mi,则 笛卡尔积的基数,即元组个数 m 1 × m 2 × … × m n m_1×m_2×…×m_n m1×m2××mn

在这里插入图片描述

这就是熟悉的三层 for 循环遍历呀!

	for ( D_1 )
		for ( D_2 )
			for ( D_3 )
				...

所以最后笛卡尔积的基数,也就是 n-元组 个数当然就是三个域的基数的乘积喽 ~

But 笛卡尔积中的所有元组并不都是有意义的,因此…

3. 关系

关系(Relation):

  • 一组域 D 1 D_1 D1 , D 2 D_2 D2 ,…, D n D_n Dn 的笛卡尔积的 子集
  • 笛卡尔积中具有某一方面意义的那些元组被称作一个关系(Relation);
  • 由于关系的不同列可能来自同一个域,为区分,需要为每一列起一个名字,该名字即为 属性名

在这里插入图片描述

  • 关系可用 R ( A 1 : D 1 , A 2 : D 2 , … , A n : D n ) R(A_1:D_1 , A_2:D_2 , … , A_n:D_n ) R(A1:D1,A2:D2,,An:Dn) 表示,可简记为 R ( A 1 , A 2 , … , A n ) R(A_1 , A_2 , … , A_n ) R(A1,A2,,An),这种描述又被称为 关系模式 (Schema)或表标题(head);
  • R R R 是关系的名字, A i A_i Ai 是属性, D i D_i Di 是属性所对应的域, n n n 是关系的度或目(degree), 关系中元组的数目称为 关系的基数(Cardinality);

例如下图的关系为一3目关系,描述为:

家庭(丈夫:男人,妻子:女人, 子女:儿童)家庭(丈夫,妻子, 子女)

在这里插入图片描述

  • 关系模式 R ( A 1 : D 1 , A 2 : D 2 , … , A n : D n ) R(A_1:D_1 , A_2:D_2 , … , A_n:D_n ) R(A1:D1,A2:D2,,An:Dn) 中属性向域的映象在很多 DBMS 中一般直接说明为属性的类型、长度等。

例如:

Student( S# char(8), Sname char(10), Ssex char(2), Sage integer, D# char(2), Sclass char(6) )

再如:

Course ( C# char(3), Cname char(12), Chours integer, Credit float(1), T# char(3) ) 

SC( S# char(8), C# char(3), Grade float(1) )

关系模式 VS 关系

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

例如,下面的这个关系模式:

Student(S# char(8), Sname char(10), Ssex char(2), Sage integer, D# char(2), Sclass char(6))

可能有以下的关系:

在这里插入图片描述

在这里插入图片描述

关系的特性

1. 列是同质

  • 列是同质:即 每一列 中的分量来自同一域,是 同一类型的数据

下面举个例子,出现列不同质的现象:

在这里插入图片描述

2. R(A:D) 中,A 不可相同,D 可相同

  • 不同的列可来自同一个域,称其中的每一列为一个属性,不同的属性要给予不同的属性名

这句话的意思是:关系模式 R ( A 1 : D 1 , A 2 : D 2 , … , A n : D n ) R(A_1:D_1 , A_2:D_2 , … , A_n:D_n ) R(A1:D1,A2:D2,,An:Dn) 中, A i ( i = 1 , … , n ) A_i (i = 1,…,n) Ai(i=1,,n) 必须是不同的, 而 D i ( i = 1 , … , n ) D_i(i = 1,…,n) Di(i=1,,n) 可以是相同的
(属性:Attribute)

例,我们定义一个域为:Person = 所有男人、女人和儿童的集合 = {李基,张
鹏,王芳,刘玉,李健,张睿,张峰},则下述“家庭”关系的三个列将来自同一个域 Person,因此需要不同的属性名“丈夫”、“妻子”、“子女”以示区分。

在这里插入图片描述

3. 行、列位置互换性

  • 列位置互换性:区分哪一列是靠列名。
  • 行位置互换性:区分哪一行是靠某一或某几列的值(关键字/键字/码字)。

关系是以内容(名字或值)来区分的,而不是属性在关系的位置来区分

如下面两个关系是完全相同的关系(只是把“子女”和“妻子”两列换了位置):

在这里插入图片描述

理论上,关系的任意两个元组不能完全相同。(集合的要求:集合内不能有相同的两个元素);
现实应用中,表(Table)可能并不完全遵守此特性。

元组相同是指两个元组的每个分量都相同。

在这里插入图片描述

4. 属性不可再分(关系第一范式)

  • 属性不可再分 特性:又被称为 关系第一范式

在这里插入图片描述

在这里插入图片描述

关系上的一些重要概念

1. 候选码/候选键

关系中的一个 属性组,其值能 唯一标识一个元组,若从该属性组中 去掉任何一个属性,它 就不具有这一性质 了,这样的属性组称作 候选码

  1. 例如:学生(S#, Sname, Sage, Sclass)S#(表示学生编号,可以唯一确定一名学生)就是一个候选码。

在此关系中,任何两个元组的 S# 是一定不同的,而这两个元组的 Sname, Sage, Sclass 都可能相同(同名、同龄、同班),只有学生编号可以唯一确定一名学生(一个元组),所以 S# 是候选码。

  1. 再如:选课(S#, C#, Sname, Cname, Grade)(S#,C#) 联合起来是一个候选码。
  • 其中,S# 表示学生编号(可以唯一确定一名学生),C# 表示课程编号(可以唯一确定一门课程)。
  • Sname, Cname, Grade 都可能相同(学生同名、课程同名(如不同的老师开同一门课,课程号不同但是课程名相同)、同一分数);
  • 即使 S# 相同,也可能存在多个元组(S# 相同 但 C# 不同),因为一名学生可以选择多门课程。
  • 反过来,一门课程可以被多名同学选课,所以相同的 C# 也可能存在多个元组(C# 相同 但 S# 不同)。
  • 综上,单独的 S# 或 单独的 C# 都可能存在多个元组,无法确定唯一的一个元组,只有二者同时相同才能唯一确定一个元组,所以 (S#,C#) 联合起来是一个候选码。

有时,关系中有很 多组候选码

  • 例如:学生(S#, Sname, Sage, Sclass, Saddress)

其中属性 S# 是候选码,属性组 (Sname, Saddress) 也是候选码(同名同地址的两个同学是不存在的。

  • 再如:Employee(EmpID, EmpName, Mobile)

每一雇员有唯一的 EmpID, 也没有两个雇员有相同的手机号 Mobile, 则 EmpID 是候选码,Mobile 也是候选码。

2. 主码/主键

  • 有多个候选码时,可以选定一个作为主码

  • DBMS 以主码为主要线索管理关系中的各个元组

例如,

  • 可选定属性 S# 作为 “学生” 表的主码,也可以选定属性组 (Sname, Saddress) 作为 “学生” 表的主码;
  • 可选定 EmpIDEmployee 表的主码,也可以选定 Mobile 为 Employee 表的主码。

通常情况下,如果候选码中含有 ××ID(××编号),则选择 ××ID作为主码。

3. 主属性与非主属性

包含在 任何一个候选码 中的属性被称作 主属性,而其他属性被称作非主属性。

如 “选课” 中的 S#, C# 为主属性,而 Sname, Cname, Grade 则为非主属性;

  • 最简单的,候选码只包含一个属性;
  • 最极端的,所有属性构成这个关系的候选码,称为 全码(All-Key)。

比如:关系 “教师授课”(T#,C#) 中的候选码,(T#,C#) 就是全码。

4. 外码/外键

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

两个关系通常是靠外码连接起来的

例如 “合同” 关系中的客户号不是候选码,但却是外码。因它与 “客户” 关系中的候选码“客户号” 相对应。

在这里插入图片描述

在这里插入图片描述

关系模型中的完整性约束

1. 实体完整性

关系的 主码中的属性值不能为空值

意义:关系中的元组对应到现实世界相互之间可区分的一个个个体,这些个体是通过主码来唯一标识的;若主码为空,则出现不可标识的个体,这是不容许的。

在这里插入图片描述

空值:不知道、不存在或无意义的值

  • 在进行关系操作时,有时关系中的 某属性值在当前是填不上 的,比如档案中有“生日不详”、“下落不明”、“日程尚待公布”等,这时就需要空值来代表这种情况。关系模型中用 ? 表征。
  • 数据库中有了空值,会影响许多方面,如影响聚集函数运算的正确
    性,不能参与算术、比较或逻辑运算等。
    例如,一个班有30名同学,如所有同学都有成绩,则可求出平均成绩;如果有一个同学没有成绩,怎样参与平均成绩的计算呢,是当作 0,还是当作100呢?还是不考虑他呢?
  • 有空值的时候是需要特殊处理的,要特别注意。

2. 参照完整性

如果关系 R 1 R_1 R1 的外码 F k F_k Fk 与关系 R 2 R_2 R2 的主码 P k P_k Pk 相对应,则 R 1 R_1 R1 中的每一个元组的 F k F_k Fk或者等于 R 2 R_2 R2 中某个元组的 P k P_k Pk或者为空值

意义:如果关系 R 1 R_1 R1 的某个元组 t 1 t_1 t1 参照了关系 R 2 R_2 R2 的某个元组 t 2 t_2 t2,则 t 2 t_2 t2 必须存在。

例如关系 StudentD# 上的取值有两种可能:

  • 空值,表示该学生尚未分到任何系中;
  • 若非空值,则必须是 Dept 关系中某个元组的 D# 值,表示该学生不可能分到一个不存在的系中。

在这里插入图片描述

3. 用户自定义完整性

用户 针对 具体的应用环境 定义的 完整性约束条件

S# 要求是10位整数,其中前四位为年度,当前年度与他们的差必须在4以内。

再如:

在这里插入图片描述

DBMS对关系完整性的支持

  • 实体完整性参照完整性 由 DBMS 系统 自动支持
  • DBMS 系统通常提供了如下机制:
    (1) 它使用户可以自行定义有关的完整性约束条件;
    (2) 当 有更新操作发生 时,DBMS 将自动按照完整性约束条件 检验 更新操作的正确性,即是否符合用户自定义的完整。

内容回顾

在这里插入图片描述

练习

  1. 某关系 R R R 的外键是指______

A. 其它关系的候选键,可以是 R R R 中的主属性或非主属性

B. 该关系除主键之外的另一个候选键

C. 其它关系的候选键,同时作为 R R R 的主属性

D. 其它关系的候选键,同时作为 R R R 的非主属性

正确答案:A

  1. 关系模型中,下列关于候选键说法正确的是_______

A. 可由其值能惟一标识该关系中任何元组的一个或多个属性组成

B. 可由多个任意属性组成

C. 至多由其值能惟一标识该关系任何元组的一个属性组成

D. 其余都不是

正确答案:A

  1. 若某属性非该关系的主键,却是另外一个关系的主键,则该属性称为_______

A. 外键

B. 主键

C. 候选键

D. 其余都不是

正确答案:A

  1. 下列四项中说法正确的是_______

A. 关系的任何属性都是不可再分的

B. R ( A 1 , A 2 , … , A n ) R(A_1 , A_2 , … , A_n ) R(A1,A2,,An),这种描述又被称为关系模式,其中 A i A_i Ai 是指属性所对应的域

C. 关系模式和关系都是不随时间变化的

D. 同一关系模式下关系是唯一的

正确答案:A

  1. 假设有关系 R ( A , B , C ) R(A, B, C) R(A,B,C),其主码为 A A A;关系 S ( D , A ) S(D, A) S(D,A),其主码为 D D D,外码为 A A A。如下图示:

在这里插入图片描述
则关系 S S S 中违反完整性规则的元组是________

A. < 3, 3>

B. <1, 2>

C. <2,null>

D. <4, 1>

正确答案:A

  1. 有关系 R ( A : i n t , B : i n t , C : i n t ) R(A:int, B:int, C:int) R(A:int,B:int,C:int), 主码为 A A A,没有违反完整性规则的选项是_______

在这里插入图片描述

正确答案:D

  1. 已知三个域:男人={李基,张鹏},女人={王方,刘玉 },子女={李键,张睿,张峰}。这一组域(男人,女人,子女)的笛卡尔积的基数为_______

A. 12

B. 9

C. 7

D. 27

正确答案:A

  1. 现有如下关系:患者(患者编号,患者姓名,性别,出生日期),医疗(患者编号,患者姓名,医生编号,医生姓名,诊断日期)。其中,“医疗”关系中的外键是_______

A. 患者编号

B. 患者姓名

C. 患者编号和患者姓名

D. 医生编号

正确答案:A

  1. 已知关系 Member(S#, Name, D#)Team(D#, Dname,Leader),其 MemberS# 为主键,D# 为外键,且 S# 范围为 1000000-1100000Team = {<’01’,’技术研发’,’赵六’>,<’02’,’产品运营’,’钱琪’>}。 问:下面哪一个选项中的元组可以是Member 的元组。_______

A. <‘1000101’,null, ‘01’>

B. <‘1000102’,‘张三’,‘05’>

C. <null,‘李四’,‘01’>

D. <‘1101010’,‘王五’,‘02’>

正确答案:A
【解析】考察三个完整性约束。

  • 根据主键不能有空值 null,排除 C;
  • 根据 MemberD# 为外键,参照 Team 中的 D# 值只有 '01'‘02’,所以排除 B;
  • 最后根据用户自定义约束,$# 的范围,排除 D;
  • A 选项中 Name 虽为 null,但 Name 不是主键所以无妨,可能新来的员工但录入员不记得他的名字了呢~
  1. “合同”关系和“客户”关系如下表所示,关于这两个表说法正确的是________

在这里插入图片描述
A. “合同”关系和“客户”关系的主码分别为“合同号”和“客户号”,“合同”的外码为“客户号”

B. “合同”关系和“客户”关系的主码都为“客户号”,“合同”的外码为“合同签订人”

C. “合同”关系和“客户”关系的主码分别为“合同号”和“客户名称”,“合同”的外码为“合同签订人”

D. “合同”关系和“客户”关系的主码分别为“合同名称”和“客户号”,“合同”的外码为“客户号”

正确答案:A

  1. 关于关系模型完整性的说法,不正确的是______

A. 外键如果取空值,则违反了参照完整性

B. 数据库中有了空值会影响许多方面,如影响聚集函数运算的正确性等

C. 用户自定义完整性是指用户针对具体的数据库应用所定义的完整性约束条件

D. 实体完整性和参照完整性一般由 DBMS 系统自动支持

正确答案:A

  1. 关于学生关系,下列哪一个属性适合作为候选码_______

A. 学号

B. 年龄

C. 性别

D. 班级

正确答案:A

  1. 关于关系模式与关系,说法不正确的是_______

A. 关系模式是稳定的;同一关系模式下,只有一种关系

B. 同一关系模式下,可有很多的关系

C. 关系模式是关系的结构, 关系是关系模式在某一时刻的数据

D. 关系模式是稳定的;而关系是某一时刻的值,是随时间可能变化的

正确答案:A

  1. 关于关系的特性,说法不正确的是______

A. 关系是以属性在关系的位置来区分的

B. 关系是以内容(名字或值)来区分的

C. 区分哪一列是靠列名

D. 区分哪一行是靠某一或某几列的值

正确答案:A

  1. 关于关系的特性,说法不正确的是______

A. 关系的任意两列上的值不能完全相同

B. 关系的任意两个元组不能完全相同

C. 元组相同是指两个元组的每个分量都相同

D. 在同一个关系中如存在相同的元组,则仅保留其中的一个

正确答案:A

  1. 关系模型就是处理 Table 的,它由哪些部分组成_________。

A. 关系(或者表)、关系运算和完整性约束

B. 关系(或者表)和关系运算

C. 关系(或者表)和完整性约束

D. 其他选项都不对

正确答案:A

  1. 关系数据库中,体现 “实体能够区分并唯一标识元组” 的规则是________。

A. 实体完整性规则

B. 参照完整性规则

C. 用户自定义完整性规则

D. 属性的值域限定规则

正确答案:A

  1. 根据关系模型的完整性规则,一个关系中的主键________。

A. 不允许空值

B. 可以有多个

C. 不能成为另一个关系的外键

D. 可以取空值

正确答案:A

  1. 关系模型中,实体完整性是指_________。

A. 实体的主码中的属性值不能为空值

B. 实体不允许是空实体

C. 实体的外键值不允许是空值

D. 实体的属性值不能是空值

正确答案:A

  1. 若规定工资表中的基本工资不得超过 5000 元,则这个规则属于________。

A. 用户定义完整性约束

B. 其他都不是

C. 实体完整性约束

D. 参照完整性约束

正确答案:A

  1. 关于“关系”的说法,正确的是________。

A. 关系是一个由行与列组成的、能够表达数据及数据之间联系的二维表

B. 表中某一列的数据可以同时出现字符串与数值

C. 表中某一列的值可以取空值 null,所谓空值就是空格

D. 表中只能有一列作为主关键字,用来唯一标识一行

正确答案:A

  1. 下列几个表符合关系约束的是__________。

在这里插入图片描述

正确答案:A

  1. 关于关系的特性,说法不正确的是_________。

A. 表中行的顺序、列的顺序不可以任意交换

B. 表中的每一列均需有一个唯一的名字

C. 表中不允许出现完全相同的两列

D. 表中行的顺序、列的顺序均可以任意交换

正确答案:A

  1. 关系模型中,实现不同关系之间的联系是通过________。

A. 外键

B. 关系

C. 表

D. 候选码

正确答案:A

  1. 参照完整性规则是指表的__________必须是另一个表主键的有效值,或者是空值。

A. 外键

B. 候选键

C. 主键

D. 主属性

正确答案:A

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

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

相关文章

用yolov4-tiny检测在电力输电线20种鸟类,灵活运用训练trick,实验较为完备,数据处理丰富度值得参考

Detection of bird species related to transmission line faults based on lightweight convolutional neural network Abstract 输电线路高效防鸟害是电网运行维护面临的长期挑战。本文提出了一种将轻量级卷积神经网络(CNN)、图像处理和目标检测相结合的方法来检测与输电线路…

基于GPT-4和LangChain构建云端定制化PDF知识库AI聊天机器人

参考&#xff1a; GitHub - mayooear/gpt4-pdf-chatbot-langchain: GPT4 & LangChain Chatbot for large PDF docs 1.摘要&#xff1a; 使用新的GPT-4 api为多个大型PDF文件构建chatGPT聊天机器人。 使用的技术栈包括LangChain, Pinecone, Typescript, Openai和Next.js…

Day12-2-面向对象编程

Day12-面向对象编程 一 回顾 变量,数组,对象都是容器,都可以用来存储数据 let n = 10 let arr = [3,5,7] let stu = {name:"张恒",age:18,sex:"女"}二 面向对象思想 面向过程:将开发的步骤按照顺序一步一步往下执行,直到程序结束 面向对象:将项目中…

第2步---MySQL卸载和图形化工具展示

第2步---MySQL卸载和图形化工具展示 1.MySQL的卸载 2.MySQL的图形化工具 2.1常见的图形化工具 SQLyog&#xff1a;简单。SQLyog首页、文档和下载 - MySQL 客户端工具 - OSCHINA - 中文开源技术交流社区 Mysql Workbench &#xff1a;MySQL :: MySQL Workbench DataGrip&…

百度吴甜重磅发布文心一言面向开发者的三大举措,激活生态创新

近日&#xff0c;第九届WAVE SUMMIT深度学习开发者大会在京举办。百度集团副总裁、深度学习技术及应用国家工程研究中心副主任吴甜分享了百度自研大语言模型“文心一言”的最新进展&#xff0c;重磅发布5个原生插件&#xff0c;面向开发者正式推出AI Studio星河大模型社区、插件…

如何限制PDF打印?限制清晰度?

想要限制PDF文件的打印功能&#xff0c;想要限制PDF文件打印清晰度&#xff0c;都可以通过设置限制编辑来达到目的。 打开PDF编辑器&#xff0c;找到设置限制编辑的界面&#xff0c;切换到加密状态&#xff0c;然后我们就看到 有印刷许可。勾选【权限密码】输入一个PDF密码&am…

【Python从入门到进阶】32、bs4的基本使用

接上篇《31、使用JsonPath解析淘票票网站地区接口数据》 上一篇我们介绍了如何使用JSONPath来解析淘票票网站的地区接口数据&#xff0c;本篇我们来学习BeautifulSoup的基本概念&#xff0c;以及bs4的基本使用。 一、BeautifulSoup简介 1、bs4基本概念 BeautifulSoup是一个P…

ssm网络游戏公司官方平台源码和文档

ssm网络游戏公司官方平台源码和文档029 开发工具&#xff1a;idea 数据库mysql5.7 数据库链接工具&#xff1a;navcat,小海豚等 技术&#xff1a;ssm 摘 要 互联网发展至今&#xff0c;无论是其理论还是技术都已经成熟&#xff0c;而且它广泛参与在社会中的方方面面。它…

git协议实现管理(三个步骤)

GitHub官网访问&#xff1a; https://github.com/dashboard 初次使用git的用户要使用git协议大概需要三个步骤: 一、生成密钥对 二、设置远程仓库(本文以github为例)上的公钥 三、把git的remote url远程仓库URL可访问路径修改为git协议(以上两个步骤初次设置过以后&#xff0c…

react 11之 router6路由 (两种路由模式、两种路由跳转、两种传参与接收参数、嵌套路由,layout组件、路由懒加载)

目录 react路由1&#xff1a;安装和两种模式react路由2&#xff1a;两种路由跳转 &#xff08; 命令式与编程式&#xff09;2-1 路由跳转-命令式2-2 路由跳转-编程式 - 函数组件2-2-1 app.jsx2-2-2 page / Home.jsx2-2-3 page / About.jsx2-2-4 效果 react路由3&#xff1a;函数…

OpenCL实现SobelFilter(行列分解)

1.行列分解数学原理 row_filter[1 0 -1], col_filter[1 2 1] row_filter[1 2 1], col_filter[1 0 -1] 2.非局部内存实现 __kernel void sobel_filter_separable(__global uchar* padSrc, __global uchar* dst, int height, int width, int pad_width) {__local short local_ou…

【机器学习 | 分类指标大全】全面解析分类评估指标:从准确率到AUC,多分类问题也不在话下, 确定不来看看?

&#x1f935;‍♂️ 个人主页: AI_magician &#x1f4e1;主页地址&#xff1a; 作者简介&#xff1a;CSDN内容合伙人&#xff0c;全栈领域优质创作者。 &#x1f468;‍&#x1f4bb;景愿&#xff1a;旨在于能和更多的热爱计算机的伙伴一起成长&#xff01;&#xff01;&…

上传镜像到阿里云的ACR

1、开通阿里云ACR 2、在ACR 中创建命名空间 3、本地安装docker 4、登录到 开通ACR&#xff0c;需要配置访问凭证 [rootmaster ~]# docker login --username***lb registry.cn-beijing.aliyuncs.com Password: 5、给镜像打标签 [rootmaster ~]# docker images REPOSITORY …

❤ Vue工作常用的一些动态数据和方法处理

❤ Vue工作常用的一些动态数据和方法处理 &#xff08;1&#xff09;动态拼接相对路径结尾的svg 错误写法一 ❌ 正确写法 &#x1f646; <img :src"require(/assets//amazon/svg/homemenu${index}.svg)" style"height: 20px;display: block;margin: 0 au…

操作系统-笔记-第三章-内存管理

目录 三、第三章——内存管理 1、内存的基础知识 &#xff08;1.1&#xff09;程序装入&#xff08;三种&#xff09;——绝对装入 &#xff08;1.2&#xff09;程序装入&#xff08;三种&#xff09;——可重定位装入 &#xff08;1.3&#xff09;程序装入&#xff08;三…

[b01lers2020]Life on Mars1

打开靶场 直接bp抓包 多次点击左侧超链接 发现/query?search这个参数一直在发生改变 可以发现它返回了json格式的数据&#xff0c;猜测是sql注入 放进hackbar进行操作 orderby进行判断 http://6f5976a0-0364-4c05-a7f5-6f0c863e7e41.node4.buuoj.cn:81/query?searchamazonis…

铜矿人员定位安全方案

针对铜矿中的人员定位安全需求&#xff0c;可以采用以下方案&#xff1a; 1.实时人员定位系统&#xff1a;建立一个实时人员定位系统&#xff0c;通过在矿工的工作服或安全帽上安装UWB或RFID定位设备&#xff0c;以及相应的接收器和基站&#xff0c;实时跟踪和定位矿工的位置。…

苍穹外卖 day2 反向代理和负载均衡

一 前端发送的请求&#xff0c;是如何请求到后端服务 前端请求地址&#xff1a;http://localhost/api/employee/login 路径并不匹配 后端接口地址&#xff1a;http://localhost:8080/admin/employee/login 二 查找前端接口 在这个页面上点击f12 后转到networ验证&#xff0…

高并发内存池(PageCache)[3]

原理 PageCache 共128页 static const size_t NPAGES 128;centralcache向pagecache申请2page时&#xff0c;首先向下扫描&#xff0c;有大的会切分出来&#xff0c;然后再挂在对应桶当中 centralcache从pagecache获取span 计算一次获取几页 static const size_t PAGE_SH…

Servlet+Jsp+JDBC实现房屋租赁管理系统(源码+数据库+论文+系统详细配置指导+ppt)

一、项目简介 本项目是一套基于ServletJsp房屋租赁管理系统&#xff0c;主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Java学习者。 包含&#xff1a;项目源码、数据库脚本等&#xff0c;该项目附带全部源码可作为毕设使用。 项目都经过严格调试&#xff0c;…