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

《软件设计师》复习笔记(4.2)——关系代数、函数依赖、范式

目录

一、关系代数

基本运算

笛卡尔积(×)

投影(π)

选择(σ)

自然连接(⋈)

真题示例:

二、函数依赖

基本概念

Armstrong公理系统

键与约束

三、范式(Normalization)

第一范式(1NF)

第二范式(2NF)

第三范式(3NF)

BC范式(BCNF)

真题示例:


一、关系代数

  1. 基本运算

    • 并(∪):合并两张表的所有记录,重复记录仅显示一次。
      • 示例:S1 ∪ S2 结果包含 S1 和 S2 的所有不重复记录。
    • 交(∩):返回两张表中相同的记录。
      • 示例:S1 ∩ S2 结果为 Sno='No0001', Sname='Mary', Sdept='IS'
    • 差(-):返回第一张表有而第二张表没有的记录。
      • 示例:S1 - S2 结果为 Sno='No0003' 和 No0004 的记录。
  2. 笛卡尔积(×)

    • 结果包含两表所有属性列,记录数为两表记录数的乘积。
    • 示例:S1 × S2 的每条记录是 S1 和 S2 记录的排列组合。
  3. 投影(π)

    • 选择某表的特定列(可用列名或列序号表示)。
    • 示例:π(Sname)(S1) 返回 S1 的所有学生姓名。
  4. 选择(σ)

    • 按条件筛选表中的记录。
    • 示例:σ(Sdept='IS')(S1) 返回 Sdept 为 IS 的记录。
  5. 自然连接(⋈)

    • 合并两表中属性相同且值相同的记录,相同属性列仅显示一次。

真题示例:

给定关系R(A, B, C, D)和关系S(C, D, E),对其进行自然连接运算R⋈S后的属性列为( )个;与σR.B>S.E(R⋈S)等价的关系代数表达式为( )。

A. 4 B. 5 C. 6 D. 7

A. σ₂>₇(R×S) B. π₁,₂,₃,₄,₇(σ'₂' > '₇' ∧₃=₅∧₄=₆(R×S))

C. σ'₂' > '₇'(R×S) D. π₁,₂,₃,₄,₇(σ₂>₇∧₃=₅∧₄=₆(R×S))

1. 计算自然连接运算 R⋈S​ 后的属性列个数

自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。 关系 R(A,B,C,D)​ 有 4​ 个属性,关系 S(C,D,E)​ 有 3​ 个属性,其中 C​ 和 D​ 是公共属性。 进行自然连接时,重复的公共属性 C​ 和 D​ 只保留一次,所以 R⋈S​ 后的属性列为 A​、B​、C​、D​、E​,共 5​ 个。 

2. 找出与 σR.B>S.E​(R⋈S)​ 等价的关系代数表达式

​σR.B>S.E​(R⋈S)​ 表示先对 R​ 和 S​ 进行自然连接,然后从连接结果中选择满足 R​ 中的属性 B​ 大于 S​ 中的属性 E​ 的元组。 在进行关系代数运算时,一般先将自然连接转换为笛卡尔积和选择、投影运算。

  • 首先将 R⋈S​ 转换为笛卡尔积 R×S​ 并添加等值连接条件,即 σR.C=S.C∧R.D=S.D​(R×S)​ 。
  • 然后要从结果中选择满足 R.B>S.E​ 的元组,完整的选择条件就是 σR.B>S.E∧R.C=S.C∧R.D=S.D​(R×S)​ 。
  • 用属性的序号表示,R×S​ 后的属性顺序为 R.A​(第 1​ 列)、R.B​(第 2​ 列)、R.C​(第 3​ 列)、R.D​(第 4​ 列)、S.C​(第 5​ 列)、S.D​(第 6​ 列)、S.E​(第 7​ 列),那么选择条件可写为 σ2>7∧3=5∧4=6​(R×S)​ 。
  • 最后,由于最终结果不需要重复的 C​ 和 D​ 列(在自然连接中重复列已被去掉),所以需要对结果进行投影,保留 A​、B​、C​、D​、E​ 对应的列,即 π1,2,3,4,7​(σ2>7∧3=5∧4=6​(R×S))​ 。


二、函数依赖

  1. 基本概念

    • 函数依赖:若属性 X 能唯一确定 Y,则称 Y 依赖于 X(记作 X→Y)。
    • 部分函数依赖:若 (A,B)→C,但 A→C 也成立,则 C 部分依赖于 (A,B)
    • 传递函数依赖:若 A→BB→C 且 A 与 B 不等价,则 A→C 是传递依赖。
  2. Armstrong公理系统

    函数依赖的公理系统(Armstrong) 设关系模式R<U,F>,U是关系模式R的属性全集,F是关系模式R的一个函数依赖集。对于R<U,F>来说有以下的:

    • 自反律(Reflexivity)

      • 若属性集Y是属性集X的子集(Y⊆X),则必然存在函数依赖X→Y。
      • 示例:若X={A,B,C},Y={A,B},则X→Y自动成立。
    • 增广律(Augmentation)

      • 若存在X→Y,则对任意属性集Z,有XZ→YZ。
    • 传递律(Transitivity)

      • 若X→Y且Y→Z,则必然有X→Z。
    • 合并规则(Union)

      • 若X→Y且X→Z,则可合并为X→YZ。
    • 伪传递规则(Pseudo-transitivity)

      • 若X→Y且WY→Z,则XW→Z。
      • 示例:若学号→姓名,(姓名,课程)→成绩,则(学号,课程)→成绩。
    • 分解规则(Decomposition)

      • 若X→Y且Z⊆Y,则X→Z。
      • 示例:若A→{B,C},则A→B和A→C均成立。
  3. 键与约束

    • 超键:能唯一标识此表的属性的组合。
    • 候选键:超键中去掉冗余的属性,剩余的属性就是候选键。
    • 主键:任选一个候选键,即可作为主键。
    • 外键:其他表中的主键。
    • 主属性:候选键内的属性为主属性,其他属性为非主属性。
    • 实体完整性约束:即主键约束,主键值不能为空,也不能重复。
    • 参照完整性约束:即外键约束,外键必须是其他表中已经存在的主键的值,或者为空。
    • 用户自定义完整性约束:自定义表达式约束,如设定年龄属性的值必须在0到150之间。


三、范式(Normalization)

  1. 第一范式(1NF)

    • 表中每个字段不可再分(无嵌套表)。
    • 原始表(不符合1NF)

      员工ID员工姓名薪资/月
      001张三基本工资:5000, 补贴:1000
      002李四基本工资:6000, 补贴:800

      1NF规范化后

      员工ID员工姓名基本工资补贴
      001张三50001000
      002李四6000800
  2. 第二范式(2NF)

    • 满足1NF,且非主属性完全依赖于候选键(消除部分依赖:每一个非主属性不会依赖复合主键中的某一个列)。
    • 原始表(不符合2NF)

      学号课程号课程名称成绩教师
      S001C001数学90王老师
      S001C002英语85李老师

      问题:课程名称和教师仅依赖于课程号(部分依赖复合主键 (学号, 课程号))。
      2NF规范化后
      选课表(完全依赖):

      学号课程号成绩
      S001C00190
      S001C00285

      课程表(消除部分依赖):

      课程号课程名称教师
      C001数学王老师
      C002英语李老师
  3. 第三范式(3NF)

    • 满足2NF,且非主属性不传递依赖于候选键
    • 原始表(不符合3NF)

      学号姓名系编号系主任
      S001张三D01刘主任
      S002李四D02陈主任

      问题:系主任传递依赖于学号(学号 → 系编号 → 系主任)。
      3NF规范化后
      学生表

      学号姓名系编号
      S001张三D01
      S002李四D02

      系表(消除传递依赖):

      系编号系主任
      D01刘主任
      D02陈主任
  4. BC范式(BCNF)

    • 满足3NF,且所有依赖的左侧必须包含候选键
    • BC范式要求在满足第三范式的条件下,进一步消除主属性对于码的部分函数依赖和传递依赖。简单通俗地讲,对于关系模式中的任意一个函数依赖X→Y(X是决定因素,Y是被决定因素),X必须是候选键或者包含候选键。也就是说,每一个函数依赖的左边决定因素都必然包含候选键,只有满足这样的条件,关系模式才符合BCNF。
      • 在给定的例子中有一个涉及S、T、J三个属性的关系模式,通过分析其依赖关系和候选键来判断是否符合BCNF:

      • 候选键与依赖集:该关系模式的候选键有两种情况,分别是组合键(S, T)和(S, J),依赖集为{SJ→T,T→J} 。由于S、T、J这三个属性都能通过候选键组合确定,所以它们都是主属性,因此该关系模式达到了3NF(因为不存在非主属性,也就不存在非主属性对码的部分依赖和传递依赖)。
      • BCNF判断:当以(S, J)作为候选键时,看依赖T→J,其中T在(S, J)这种候选键情况下并不是候选键,即T→J这个函数依赖的决定因素T不包含任意候选码,所以这个关系模式不符合BCNF的要求。
      • 转换为BCNF:为了使该关系模式满足BCNF,将依赖T→J修改为TS→J 。这样修改后,在新的依赖TS→J中,左边的决定因素TS包含了候选键之一S,满足了BCNF中每一个依赖的左边决定因素都包含候选键的条件,此时该关系模式就达到了BCNF。
    • 原始表(不符合BCNF)

      学生ID课程教师
      S001数学王老师
      S002英语李老师

      假设依赖

      教师 → 课程(每个教师只教一门课,但教师不是候选键)。
      问题:存在非平凡依赖(教师 → 课程),左侧不是候选键。

      BCNF规范化后

      学生-教师表(候选键为 (学生ID, 教师)):

      学生ID教师
      S001王老师
      S002李老师

      教师-课程表(教师为候选键):

      教师课程
      王老师数学
      李老师英语

真题示例:

给定关系模式R(U,F),U={A,B,C,D},F={AB→C,CD→B}。关系R( ),且分别有( )。

A.只有1个候选关键字ACB B.只有1个候选关键字BCD

C.有2个候选关键字ACD和ABD D.有2个候选关键字ACB和BCD

A.0个非主属性和4个主属性 B.1个非主属性和3个主属性

C.2个非主属性和2个主属性 D.3个非主属性和1个主属性

候选关键字的求法

根据函数依赖集 F = {AB→C, CD→B},我们可以按照以下步骤求候选关键字:

  1. 找出从未在右边出现过的属性

    • 在 F 中,右边出现的属性是 C 和 B
    • 因此,A 和 D 从未在右边出现过,它们必然是候选键的一部分
  2. 以 A 和 D 为基础,尝试构建候选关键字

    • 尝试 AD:
      • AD⁺ = AD
      • 无法推导出 B 或 C(因为 AB→C 和 CD→B 都需要额外的属性)
      • 所以 AD 不是候选关键字
    • 尝试 ABD:
      • ABD⁺ = ABD → C (AB→C) → ABCD
      • 可以推导出所有属性,因此 ABD 是候选关键字
    • 尝试 ACD:
      • ACD⁺ = ACD → B (CD→B) → ABCD
      • 可以推导出所有属性,因此 ACD 是候选关键字
    • 其他组合(如 AB、AC、AD、BC、BD、CD):这些组合的闭包都无法推导出所有属性,因此不是候选关键字
  3. 结论

    • 候选关键字有 2 个:ABD 和 ACD

主属性和非主属性

  1. 主属性:出现在任何候选关键字中的属性

    • ABD 包含 A、B、D
    • ACD 包含 A、C、D
    • 因此主属性是 A、B、C、D(所有属性都是主属性)
  2. 非主属性:不包含在任何候选关键字中的属性

    • 由于所有属性都是主属性,非主属性数量为 0

设有关系模式R(E,N,M,L,Q),其函数依赖集为F={E→N,EM→Q,M→L}。则关系模式R达到了______;该关系模式_________。

A. 1NF B. 2NF C. 3NF D. BCNF

A. 无需进行分解,因为已经达到了3NF

B. 无需进行分解,因为已经达到了BCNF

C. 尽管不存在部分函数依赖,但还存在传递依赖,所以需要进行分解

D. 需要进行分解,因为存在冗余、修改操作的不一致性、插入和删除异常

第一步:识别所有属性

属性集 U = {E, N, M, L, Q}

第二步:分析函数依赖集 F

F = { E → N, EM → Q, M → L }

第三步:找出从未出现在右边的属性(候选键的必须属性)

  • 在 F 中,右边出现的属性:N, Q, L

  • 从未出现在右边的属性:E, M

  • 因此,E 和 M 必须包含在候选键中

第四步:以 E 和 M 为基础构建候选键

  1. 尝试 EM:

    • 计算 EM⁺:

      • 初始:EM

      • 应用 E→N:EMN

      • 应用 EM→Q:EMNQ

      • 应用 M→L:EMNQL

    • EM⁺ = EMNQL = U(覆盖所有属性)

    • 因此,EM 是候选键

范式分析(基于候选键 EM)

1. 主属性和非主属性

  • 主属性:E, M(出现在候选键中)

  • 非主属性:N, L, Q

2. 检查 2NF(消除部分函数依赖)

  • 检查非主属性对候选键的部分依赖:

    • E→N:N 依赖于候选键的一部分(E),属于部分函数依赖 → 违反 2NF

    • M→L:L 依赖于候选键的一部分(M),属于部分函数依赖 → 违反 2NF

    • EM→Q:Q 完全依赖于整个候选键 → 符合 2NF

  • 结论:不满足 2NF

是否需要分解

  • 存在部分函数依赖和传递依赖,会导致:

    • 数据冗余(如 E→N 导致 N 重复存储)

    • 更新异常(修改 E 对应的 N 需要修改多条记录)

    • 插入异常(无法单独插入 M→L 的信息)

    • 删除异常(删除 EM 会丢失 M→L 的信息)

  • 需要进行分解,因为存在冗余、修改操作的不一致性、插入和删除异常

分解方法

  1. 将部分依赖单独分解:

    • R1(E, N):满足 E→N

    • R2(M, L):满足 M→L

    • R3(E, M, Q):满足 EM→Q

    • 每个关系模式都满足 BCNF

相关文章:

《软件设计师》复习笔记(4.2)——关系代数、函数依赖、范式

目录 一、关系代数 基本运算 笛卡尔积&#xff08;&#xff09; 投影&#xff08;π&#xff09; 选择&#xff08;σ&#xff09; 自然连接&#xff08;⋈&#xff09; 真题示例&#xff1a; 二、函数依赖 基本概念 Armstrong公理系统 键与约束 三、范式&#xff…...

IO流(二)

一、字符流 使用字节流可以读取文件中的字节数据。但是如果文件中有中文使用字节流来读取&#xff0c;就有可能读到半个汉字的情况&#xff0c;这样会导致乱码。虽然使用读取全部字节的方法不会出现乱码&#xff0c;但是如果文件过大又不太合适。 所以Java专门为我们提供了另…...

#Linux动态大小裁剪以及包大小变大排查思路

1 动态库裁剪 库分为动态库和静态库&#xff0c;动态库是在程序运行时才加载&#xff0c;静态库是在编译时就加载到程序中。动态库的大小通常比静态库小&#xff0c;因为动态库只包含了程序需要的函数和数据&#xff0c;而静态库则包含了所有的函数和数据。静态库可以理解为引入…...

天梯赛数据结构合集

1.集合操作&#xff1a;PTA | 程序设计类实验辅助教学平台 主要是注意set的取交集操作&#xff0c;AC代码&#xff1a; #include<bits/stdc.h> using namespace std; int n,m,k; set<int> a[60]; int main(){cin>>n;for(int i1;i<n;i){cin>>m;for…...

pdfjs库使用记录1

import React, { useEffect, useState, useRef } from react; import * as pdfjsLib from pdfjs-dist; // 设置 worker 路径 pdfjsLib.GlobalWorkerOptions.workerSrc /pdf.worker.min.js; const PDFViewer ({ url }) > { const [pdf, setPdf] useState(null); const […...

LIMS引领综合质检中心数字化变革,赋能质量强国战略

在质量强国战略的深入推进下&#xff0c;我国综合质检机构迎来了前所未有的发展机遇&#xff0c;同时也面临着诸多严峻挑战。随着检测领域从传统的食品药品监督向环境监测、新材料检测等新兴领域不断拓展&#xff0c;跨领域协同管理的复杂度呈指数级增长。作为提升产品质量的关…...

MySQL+Redis实战教程:从Docker安装部署到自动化备份与数据恢复20250418

MySQLRedis实战教程&#xff1a;从Docker安装部署到自动化备份与数据恢复 一、前言 在企业应用中&#xff0c;对MySQL和Redis运维的要求越来越高&#xff1a; 不能仅是启动就算部署运行稳定、隔离、访问控制、备份恢复、安全可靠&#xff0c;才是 企业级的基本功能 本文将手…...

嵌入式音视频开发指南:从MPP框架到QT实战全解析

嵌入式音视频开发指南:从MPP框架到QT实战全解析 一、音视频技术全景概述 1.1 技术演进里程碑 2003-2010年:标清时代(H.264/AVC + RTMP)2011-2018年:高清时代(H.265/HEVC + WebRTC)2019-至今:智能时代(AV1 + AI编解码 + 低延迟传输)1.2 现代音视频技术栈 #mermaid-s…...

如何使用Python进行自动化的系统管理?

Python已经成为系统管理员最流行的编程语言之一&#xff0c;因为它简单、灵活&#xff0c;并且广泛支持各种系统管理任务。无论您是自动执行重复性任务&#xff0c;管理文件和目录&#xff0c;还是处理用户权限&#xff0c;Python都提供了一组强大的工具来简化您的工作流程。 …...

拆机装机,通电主板亮灯风扇不转无法开机解决办法

电源开机线 重启线 usb耳机模块 灯线 看来电源没问题 参考https://zhidao.baidu.com/question/83939532/answer/2321171868.html 买了个新主板过几天到看看会不会好...

IntelliSense 已完成初始化,但在尝试加载文档时出错

系列文章目录 文章目录 系列文章目录前言一、原因二、使用步骤 前言 IntelliSense 已完成初始化&#xff0c;但在尝试加载文档时出错 File path: E:\QtExercise\DigitalPlatform\DigitalPlatform\main\propertyWin.ui Frame GUID:96fe523d-6182-49f5-8992-3bea5f7e6ff6 Frame …...

SuperMap iClient3D for WebGL 如何加载WMTS服务

在 SuperMap iClient3D for WebGL 中加载WMTS服务时&#xff0c;参数配置很关键&#xff01;下面我们详细介绍如何正确填写参数&#xff0c;确保影像服务完美加载。 一、数据制作 对于上述视频中的地图制作&#xff0c;此处不做讲述&#xff0c;如有需要可访问&#xff1a;Onl…...

[密码学实战]基于Python的国密算法与通用密码学工具箱

引言 在当今数字化浪潮中&#xff0c;信息安全已成为个人隐私保护与商业机密守护的核心议题。作为一位在密码学领域深耕多年的技术实践者&#xff0c;我深谙密码学工具在构建数字安全防线中的关键作用。正是基于这份认知与责任&#xff0c;我倾力打造了一款全方位、高性能的密…...

[密码学实战]详解gmssl库与第三方工具兼容性问题及解决方案

[密码学实战]详解gmssl库与第三方工具兼容性问题及解决方案 引言 国密算法&#xff08;SM2/SM3/SM4&#xff09;在金融、政务等领域广泛应用&#xff0c;但开发者在集成gmssl库实现SM2签名时&#xff0c;常遇到与第三方工具&#xff08;如OpenSSL、国密网关&#xff09;验证不…...

LIB-ZC, 一个跨平台(Linux)平台通用C/C++扩展库, stream 流操作

LIB-ZC, 一个跨平台(Linux)平台通用C/C扩展库, stream 流操作 lib-zc 封装了流操作命名空间 zcc基础类 stream(基类), iostream(io流封装) class stream 介绍 连接相关 // 都是虚函数, 为 iostream 等做准备virtual inline bool connect(const char *destination) { return …...

从零开始解剖Spring Boot启动流程:一个Java小白的奇幻冒险之旅

大家好呀&#xff01;今天我们要一起探索一个神奇的话题——Spring Boot的启动流程。我知道很多小伙伴一听到"启动流程"四个字就开始头疼&#xff0c;别担心&#xff01;我会用最通俗易懂的方式&#xff0c;带你从main()方法开始&#xff0c;一步步揭开Spring Boot的…...

概率多假设跟踪(PMHT):多目标跟踪中的概率软关联与高效跟踪算法解析

一、PMHT 的起源与核心定位 &#xff08;一&#xff09;背景 在多目标跟踪中&#xff0c;传统算法面临以下瓶颈&#xff1a; JPDA&#xff1a;单帧局部最优关联&#xff0c;无法处理跨帧长时间断联&#xff0c;且假设目标数固定&#xff08;如雷达跟踪中预设目标数范围&…...

4.信号和槽|存在意义|信号和槽的连接方式|信号和槽断开|lambda表达式|信号和槽优缺点(C++)

信号和槽存在意义 所谓的信号槽&#xff0c;终究要解决的问题&#xff0c;就是响应用户的操作 信号槽&#xff0c;其实在GUI开发的各种框架中&#xff0c;是一个比较有特色的存在 其他的GUI开发框架&#xff0c;搞的方式都要更简洁一些&#xff5e;~ 网页开发 (js dom api) 网…...

电脑 BIOS 操作指南(Computer BIOS Operation Guide)

电脑 BIOS 操作指南 电脑的BIOS界面&#xff08;应为“BIOS”&#xff09;是一个固件界面&#xff0c;允许用户配置电脑的硬件设置。 进入BIOS后&#xff0c;你可以进行多种设置&#xff0c;具体包括&#xff1a; 1.启动配置 启动顺序&#xff1a;设置从哪个设备启动&#x…...

Scrapeless Scraping Browser: A high-concurrency automation solution for AI

介绍&#xff1a;升级无缝抓取浏览器的并发能力 作为 Scrapeless 的开发者和创始团队&#xff0c;我们对人工智能自动化的未来充满真诚的热情。我们的使命是创建一个真正为 AI 设计的自动化浏览器。在过去的几年中&#xff0c;从 Browserless.io 到众多云服务供应商推出的“浏…...

Java项目—— 拼图小游戏(进阶版)

项目需求 在拼图小游戏基础版的基础上&#xff0c;完成下列要求&#xff1a; 一、实现更换拼图图片功能 1&#xff0c;给美女&#xff0c;动物&#xff0c;运动菜单按钮添加单击事件&#xff08;动作监听&#xff09; 2&#xff0c;当我们点击了美女之后&#xff0c;就会从13…...

解析:深度优先搜索、广度优先搜索和回溯搜索

一、深度优先搜索&#xff08;DFS&#xff09; 1. 原理 思想&#xff1a;从起始节点出发&#xff0c;顺着一条路径不断深入&#xff0c;直到到达目标或无路可走&#xff0c;然后回溯到最近的分支点&#xff0c;继续探索其他分支。 应用场景&#xff1a;路径查找、连通性检测、…...

探索大语言模型(LLM):循环神经网络的深度解析与实战(RNN、LSTM 与 GRU)

一、循环神经网络&#xff08;RNN&#xff09; 1.1 基本原理 循环神经网络之所以得名&#xff0c;是因为它在处理序列数据时&#xff0c;隐藏层的节点之间存在循环连接。这意味着网络能够记住之前时间步的信息&#xff0c;并利用这些信息来处理当前的输入。 想象一下&#xf…...

从零开始开发 MCP Server

作者&#xff1a;张星宇 在大型语言模型&#xff08;LLM&#xff09;生态快速演进的今天&#xff0c;Model Context Protocol&#xff08;MCP&#xff09;作为连接 AI 能力与真实世界的标准化协议&#xff0c;正逐步成为智能体开发的事实标准。该协议通过定义 Resources&#…...

Oracle日志系统之重做日志和归档日志

Oracle日志系统之重做日志和归档日志 重做日志归档日志 本文讨论Oracle日志系统中对数据恢复非常重要的两个日志&#xff1a;重做日志和归档日志。 重做日志 重做日志&#xff0c;英文名Redo Log&#xff0c;顾名思义&#xff0c;是用来数据重做的&#xff0c;主要使用场景是事…...

嵌入式开发--STM32G4系列硬件CRC支持MODBUS和CRC32

需求 在项目中&#xff0c;需要用到MODBUS CRC16校验&#xff0c;也要用到CRC32的校验&#xff0c;出于效率的考虑&#xff0c;准备用硬件CRC。 CRC 16的参数模型有很多种&#xff0c;我这里用的是MODBUS&#xff0c;对于不同的参数模型&#xff0c;会有不同的参数设置和初值&a…...

基于尚硅谷FreeRTOS视频笔记——4—多任务处理

目录 多任务处理 任务调度 任务的调度策略 优先级不同 优先级相同 多任务处理 通俗来讲就是 能够在同一时间 同时 进行多个任务的处理&#xff0c;这就时多任务处理。 但是&#xff0c;单核处理器一次只能处理一个任务&#xff0c;就是说在while中&#xff0c;任务们只能…...

中小型及初创企业如何实现数字化转型?

在当今动态的商业环境中&#xff0c;财务团队开始肩负起推动企业数字化转型的重任&#xff0c;即从传统的财务规划系统稳步迈向基于商业智能平台和以创新技术为驱动的解决方案领域。这些举措有望提高运营和分析效率&#xff0c;同时依托数据驱动的决策机制&#xff0c;帮助企业…...

java输出、输入语句

先创建一个用于测试的java 编写程序 #java.util使java标准库的一个包&#xff0c;这里拉取Scanner类 import java.util.Scanner;public class VariableTest {public static void main(String[] args) {#创建一个 Scanner 对象Scanner scanner new Scanner(System.in);System.…...

Python基础知识语法归纳总结(数据类型-1)

Python基础知识&语法归纳总结&#xff08;数据类型&#xff09; 一、Python基本数据类型 尤其注意&#xff0c;Python中的变量不需要特定的去声明&#xff0c;每个变量在使用前都必须对其进行赋值&#xff0c;它没有类型&#xff0c;我们所说的“类型”是变量所指的内存中对…...

Spring数据访问全解析:ORM整合与JDBC高效实践

目录 一、Spring ORM集成深度剖析 &#x1f31f; ORM模块架构设计 核心集成特性&#xff1a; 整合MyBatis示例配置&#xff1a; 二、Spring JDBC高效实践指南 &#x1f31f; 传统JDBC vs Spring JDBC对比 &#x1f31f; JdbcTemplate核心操作示例 批量操作优化&#xf…...

哪种电脑更稳定?Mac?Windows?还是云电脑? 实测解密

随着科技的发展进步&#xff0c;电脑已成为当下各类群体的必备产品之一&#xff0c;它的妙用有很多&#xff0c;无论是学生党、打工人还是已经退休的人群或都离不开它的存在。然而&#xff0c;电脑虽好却也差异很大、不同品牌、不同系统、不同配置、不同价位的统统都会有区别。…...

【AI模型学习】关于写论文——论文的审美

文章目录 一、“补丁法”&#xff08;Patching&#xff09;1.1 介绍1.2 方法论1.3 实例 二、判断工作的价值2.1 介绍2.2 详细思路2.3 科研性vs工程性 三、novelty以及误区3.1 介绍3.2 举例 看了李沐老师的读论文系列后&#xff0c;总结三个老师提到的有关课题研究和论文写作的三…...

【面经】杭州产链数字科技一面

1.介绍一下自己 面试官您好&#xff01;我叫***&#xff0c;目前是就读于****计算机科学与技术专业的一名学生。我平时在学校也自学了编程相关的知识&#xff0c;比如Java基础、Springboot、SpringCloud&#xff0c;关系型数据库Mysql&#xff0c;非关系型数据库Redis&#xff…...

微信小程序调用yolo目标检测模型

目录 后端 前端微信小程序 完整代码 后端 利用Flask&#xff0c;调用目标检测模型&#xff0c;后端代码如下。 # flask_yolo.py from flask import Flask, request, jsonify from ultralytics import YOLO from PIL import Imageapp Flask(__name__) model_path best.p…...

vmware17 虚拟机 ubuntu22.04 桥接模式,虚拟机无法接收组播消息

问题描述&#xff1a; 在一个项目中&#xff0c;宿主机win10中&#xff0c;使用的vmware17pro 虚拟机安装的ubuntu22.04&#xff0c;按照网上的教程使用Qt绑定组播消息&#xff0c;在另外一个Ubuntu工控机上发送用wiresahrk抓包的组播消息 sudo tcpreplay -i enp1s0 --loop0 y…...

Kaggle-Bag of Words Meets Bags of Popcorn-(二分类+NLP+Bert模型)

Bag of Words Meets Bags of Popcorn 题意&#xff1a; 有很多条电影评论记录&#xff0c;问你每一条记录是积极性的评论还是消极性的评论。 数据处理&#xff1a; 1.首先这是文件是zip形式&#xff0c;要先解压&#xff0c;注意sep ‘\t’。 2.加载预训练的 BERT 分词器 …...

数字信号处理技术架构与功能演进

数字信号处理&#xff08;DSP&#xff09;是通过数字运算实现信号分析、变换、滤波及调制解调的技术领域&#xff0c;其发展过程与技术应用如下&#xff1a; 一、定义与核心功能 技术定义&#xff1a;通过算法将模拟信号转换为数字形式进行处理&#xff0c;具有高精度、可编程…...

IaaS架构剖析、场景实践

一、什么是 IaaS 1.1 定义 Infrastructure as a Service&#xff08;IaaS&#xff0c;基础设施即服务&#xff09;是一种按需、弹性提供计算、存储、网络和安全等底层 IT 资源的云服务模式。用户通过 API、CLI 或 Web 控制台即可在几分钟内创建、扩容或释放资源&#xff0c;而…...

国产之光DeepSeek架构理解与应用分析02

本专栏 国产之光DeepSeek架构理解与应用分析-CSDN博客 国产之光DeepSeek架构理解与应用分析02-CSDN博客 前置的一些内容理解 GPU TPU NPU的区别&#xff1f; 设计目的 GPU&#xff1a;最初是为了加速图形渲染而设计的&#xff0c;用于处理图像和视频数据&#xff0c;以提供高…...

EDID结构

EDID DDC通讯中传输显示设备数据 VGA , DVI 的EDID由128字节组成&#xff0c;hdmi的EDID增加扩展块128字节。扩展快的内容主要是和音频属性相关的&#xff0c;DVI和vga没有音频&#xff0c;hdmi自带音频&#xff0c;扩展快数据规范按照cea-861x标准。 Edid为了让pc或其他的图像…...

4.黑马学习笔记-SpringMVC(P43-P47)

1.SpringMVC简介 SpringMVC技术&#xff08;更少的代码&#xff0c;简便&#xff09;与servlet技术功能相同&#xff0c;属于web层开发技术。 SpringMVC是一种基于java实现MVC模型的轻量级web框架。 轻量级指的是&#xff08;内存占用比较低&#xff0c;运行效率高&#xff09;…...

CSS 文件格式

A QFrame#andrFrm[status"android_en"] A&#xff1a;表示父类或顶层窗口的类型。如果 A 是一个自定义的类名&#xff0c;确保该类已经正确注册到 Qt 系统中。QFrame&#xff1a;表示具体的控件类型。#andrFrm&#xff1a;表示控件的对象名称&#xff08;通过 setOb…...

java输出HelloWorld

创建一个java格式文件&#xff0c;这里命令为HelloWorld 这里我选择用notepad编译&#xff0c;也可以直接用记事本 #public 访问修饰词&#xff0c;表示这个类可以被其他任何类访问 #class 定义类的关键字 #HelloWorld 类名&#xff0c;遵循驼峰命名法&#xff08;首字母大写…...

【SAP ME 44】在 HANA DB中报废SFC时的SHOP_ORDER表记录锁定

症状 SELECT…FROM SHOP_ORDER FOR UPDATE 在 SFC 报废期间持有锁,当同时调用数量较大时,可能会导致 HANA 数据库出现大量锁积压。这有时会导致因等待 HANA 数据库释放“选择更新”锁而导致报废 SFC 花费数分钟。 HANA 数据库日志中的示例: # begin PreparedStatement_ex…...

《软件设计师》复习笔记(12.1)——范围管理、进度管理

目录 一、范围管理 1. 核心概念 2. 范围管理过程 WBS&#xff08;工作分解结构&#xff09;示例 真题示例&#xff1a; 二、进度管理 1. 核心过程 2. 关键工具与技术 真题示例&#xff1a; 一、范围管理 1. 核心概念 项目范围&#xff1a;为交付产品必须完成的工作…...

Git-使用教程(新手向)

一、基本概念&#xff1a; 1.Git&#xff0c;Github的关系&#xff1a; Git --- 本地用于管理代码的工具&#xff0c;可类比为游戏存档。&#xff08;存档&#xff0c;仓库&#xff0c;项目在Git中是一个东西&#xff09; Github --- 远程仓库平台&#xff0c;可类比为云端。…...

密码学中的盐值是什么?

目录 1. 盐值的基本概念 2. 盐值的作用 (1) 防止彩虹表攻击 (2) 防止相同的密码生成相同的哈希值 (3) 增加暴力破解的难度 3. 如何使用盐值&#xff1f; (1) 生成盐值 (2) 将盐值附加到密码 (3) 存储盐值和哈希值 (4) 验证密码 4. 盐值如何增加暴力破解的难度 在线暴…...

[工具]Java xml 转 Json

[工具]Java xml 转 Json 依赖 <!-- https://mvnrepository.com/artifact/cn.hutool/hutool-all --> <dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.8.37</version> </dependen…...

安全光幕的CE认证

在工业自动化飞速发展的当下&#xff0c;安全光幕作为保障操作人员安全的关键设备&#xff0c;其重要性不言而喻。对于想要进军欧盟市场的安全光幕制造商来说&#xff0c;CE 认证是必须跨越的一道关卡。今天&#xff0c;我们就来深入探讨安全光幕的 CE 认证流程。 什么是安全…...