数据库期末复习题库

1. Mysql日志功能有哪些?

  • 记录日常操作和错误信息,以便了解Mysql数据库的运行情况,日常操作,错误信息和进行相关的优化。

2. 数据库有哪些备份方法

  • 完全备份:全部都备份一遍
  • 表备份:只提取数据库中的数据,而不备份表的结构和定义
  • 增量备份:在完全备份后,只备份数据的变化。用于定期备份和自动恢复

3. 事务的相关操作

-- 开启事务
START TRANSACTION;-- 插入操作
INSERT INTO product (id, name, function, company, address) VALUES (2, 'xyz', '功能描述', '某公司', '某地址');-- 更新操作
UPDATE product SET address = '新地址' WHERE id = 2;-- 提交事务
COMMIT;-- 如果需要回滚事务
ROLLBACK;

4. 数据库角色的分类?及其对应的权限

  • db_owner: 在数据库中拥有全部权限
  • db_accessadmin: 可以添加或删除用户ID
  • db_securityadmin: 可以管理全部权限,对象所有权,角度和角色成员资格
  • db_ddladmin: 可以发出 ALL DDL,但不能发出 GRANT, REVOKE, 或 DENY语句

5. 触发器(trigger)与事件(event)

触发器: **是一种特殊的存储过程,它在试图更改触发器所保护的数据时自动执行。**它被定义为在对表或视图发出 update, insert 或 delete语句时自动执行,在有数据修改时自动强制执行其业务规则

事件调度器(event scheduler): **Mysql基于特定时刻或时间周期调用的过程式数据库对象。**例如在某一时刻定期激活事件向表中insert, update ,delete记录

差异: 与触发器不同的是,一**个事件可调用一次,也可周期性调用,它由一个特定的线程来管理,**该线程被称作事件调度器(event scheduler)

6. 存储过程

  1. 存储过程增强了sql语言的功能和灵活性
  2. 存储过程能实现较快的执行速度
  3. 存储过程允许标准组件式编程
  4. 存储过程能够减少网络流量
  5. 存储过程可被作为一种安全机制来充分利用

7. 存储过程和存储函数的定义与调用

存储过程和存储函数是十分相似的,但它们之间有一些微妙的差别

存储过程存储函数
参数可以有 IN, OUT, INOUT 三种类型参数只用 IN 类型
需要用 CALL 语句调用存储过程,即将存储过程作为一个独立的部分来执行不需要 CALL 语句,可以直接调用存储函数,存储函数可以作为查询语句的一个部分来调用
过程体中不允许包含return语句,不能有返回值,但可以通过out参数带回多个值函数体中必须包含一条有效的return语句,有且只有一个返回值,如单个值或者表对象
存储过程可以调用存储函数存储函数不能调用存储过程
主要用于执行并完成某个功能操作主要用于计算并返回一个函数值

创建一个存储过程,根据学生的学号查询学生的姓名

CREATE PROCEDURE getnamebysno(IN xh CHAR(10), OUT name CHAR(20))
BEGINSELECT sname INTO name FROM student WHERE sno = xh;
END;
CALL getnamebysno('1101', @name);
SELECT @name;

创建一个名为 numstu的存储函数,查询学生的人数

CREATE FUNCTION numstu()
RETURNS INTEGER
BEGINRETURN (SELECT COUNT(*) FROM student);
END;SELECT numstu();

8. 请简述使用视图的优点

  1. 视图能够集中数据,简化用户的数据查询和处理
  2. 视图便于用户共享数据
  3. 视图提高了数据的逻辑独立性
  4. 视图能够对机密数据提供安全保护

9. 写出相应的 sql

9.1 建表

学生表: Student(Seo,Sname, Ssex,Sage,Sdept)(学号,姓名,性别,年龄),所在系Sno为主键。

课程表: Course(Cno,Cname)(课程号,课程名),Cno为主键。

学生选课表: SC(Sm,Cno,Score)(号,课程号,成绩),Sno,Cno 为主健。

create table Student (Sno CHAR(10) PRIMARY KEY, -- 学号Sname VARCHAR(20) NOT NULL, -- 姓名Ssex CHAR(2), -- 性别Sage INT, -- 年龄Sdept VARCHAR(20) -- 所在系
)create table Course {Cno char(10) primary key, -- 课程号Cname VARCHAR(20) NOT NULL -- 课程名
}create table sc (Sno char(10), -- 学号Cno char(10), -- 课程号
)create table SC (Sno char(10), -- 学号Cno char(10), -- 课程号Score float, -- 成绩primary key (Sno, Cno),foreign key (Sno) references Student(Sno), -- 外键foreign key (Cno) references Course(Cno) -- 外键
)

9.2 创建视图

9.2.1 查询全体学生的姓名,性别,课程名,成绩

create view stu_info as
select Sname Ssex, Cname Score
from Student
natural join SC
natural join Course;

9.2.2 查询全体学生的基本情况,并按所在系升序,年级降序排列

create view stu_info as
select Sno, Sname, Ssex, Sage, Sdept, Cno, Cname
FROM Student
natural join SC
natural join Course
order by Sdept asc, Sage desc

9.3.3 查询所有比"李四"年龄大的学生姓名,年龄和性别

create view stu_info as
select Sname, Sage, Ssex
from Student
where Sage > (select Sage from student where Sname = '李四')

9.4.4 查询学生表中成绩在前三位的学生的学号,姓名及所在系

create view stu_info as
select Sno, Sname, Sdept
from Student
where Sno IN(select Sno from SC order by Score desc limit 3)

9.3 修改视图中的数据

9.3.1 给选修了1号课程且成绩低于 70 的学生每人成绩增加5分

update SC
set Score = Score + 5
where Con = '1' and Score < 70;

9.3.2 向 Student 表添加一条记录

insert info Student (Sno, Sname, Ssex, Sage, Sdept)
values ('201801', '李一本', '男', 20, '计算机');

9.3.3 删除视图

drop view if exists stu_info

10.创建,查看,删除索引的 sql

创建(create)

create unique index index_name on table_name(column_list) 

查看(show)

show index from table_name

删除索引

drop index index_name on table_name

11.Mysql中的存储引擎和其特点

MyISAM: 拥有较高的插入,查询速度,但不支持事务

InnoDB: 5.5 版本后 Mysql 的默认数据库,事务型数据库的首选引擎,支持 ACID 事务,支持行级锁定

Memory: 所有数据内置于内存的存储引擎,拥有极高的插入,更新和查询效率。但是会占用和数据量成正比的内存空间。并且其内容会在 Mysql 充型启动时丢失。

CSV: 逻辑上由逗号分割数据的存储引擎。它会在数据库子目录里为每一个数据表创建一个.CSV文件索引.这是一种普通文本文件,每个数据行占用一个文本行。CSV存储引擎不支持索引。

12.数据类型选择的原则

  1. 在符合要求的前提下,尽量选择短数据类型(省内存,减少索引大小,提高索引的查找速度)
  2. 数据类型越简单越好容易处理和维护,并且相较于复杂数据类型会有更好的性能
  3. 尽量采用精确小数类型,而不采用浮点数类类型浮点数存在舍入误差,decimal可以确保数值精确,特别是在财务管理方面
  4. 应该用内置的日期和时间数据类型简化开发,提高性能和数据完整性
  5. 尽量避免 NULL 字段减少查询复杂度,并且引入null值在索引和计算时可能导致性能问题和不可预见的行为

13.常见的约束和用法

  1. 主键(primary key)
  2. 外键约束(foreige key)
  3. 非空(not null)
  4. 唯一性(unique)
  5. 默认值(default)
  6. 自增(auto_increment)
  7. 检查(check)
  • 实体完整性约束: 每一行反应不同的实体,通过索引,唯一约束。主键约束或标识属性来体现
  • 域完整性约束: 指给定列的输入有效性,通过限制数据类型,检查约束,输入格式,外键约束,默认值,非空等体现
  • 引用完整性约束:(表之间联系,通过主外键)
  • 自定义完整性约束:(根据用户需求)

14. sql语句编写

1. 设有三个关系:student(学号,姓名,性别)、course(课程号,课程名,学分)、sc(学号,课程号,分数)

(1) 查询既没有选修课程07002,也没有选修课程07004的学生的学号、课程号和成绩:
SELECT sc.学号, sc.课程号, sc.分数
FROM sc
WHERE 学号 NOT IN (SELECT 学号 FROM sc WHERE 课程号 = '07002')
AND 学号 NOT IN (SELECT 学号 FROM sc WHERE 课程号 = '07004');
(2) 查询选修了“数据库技术基础”课程且成绩在60分以下的所有学生的姓名、成绩:
SELECT student.姓名, sc.分数
FROM student
JOIN sc ON student.学号 = sc.学号
JOIN course ON sc.课程号 = course.课程号
WHERE course.课程名 = '数据库技术基础'
AND sc.分数 < 60;

2. 设教务管理系统数据库jxgl里包含有三个关系表:student(学号,姓名,性别,出生日期,民族,政治面貌)、course(课程号,课程名称,课程简介,课时,学分,开课学期) 、sc(学号,课程号,成绩)

(1) 查询学生信息表student中前8条记录:
SELECT * 
FROM student
LIMIT 8;
(2) 查询学生信息表student中姓李的男生的学生信息:
SELECT * 
FROM student
WHERE 姓名 LIKE '李%'
AND 性别 = '男';
(3) 查询学生信息表student中年龄从20到25岁的学生信息:
SELECT * 
FROM student
WHERE TIMESTAMPDIFF(YEAR, 出生日期, CURDATE()) BETWEEN 20 AND 25;
(4) 查询选修了两门以上课程的学生学号:
SELECT 学号
FROM sc
GROUP BY 学号
HAVING COUNT(课程号) > 2;
(5) 查询选修了课程的学生的学号、姓名,并按学号升序排序:
SELECT DISTINCT student.学号, student.姓名
FROM student
JOIN sc ON student.学号 = sc.学号
ORDER BY student.学号 ASC;

15.什么是数据库管理系统,以及它的主要功能有哪些

数据库管理系统安装于操作系统之上,是一个管理,控制数据中各种数据库对象的系统软件

功能

  1. 数据库的建立和维护
  2. 数据定义功能
  3. 数据组织,存储和管理
  4. 数据操作功能
  5. 数据库事务管理和运行管理

16.什么是模式

  • 模式:也称逻辑模式, 是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图
  • 外模式: 子模式或用户模式是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示
  • 内模式:也称存储模式: 它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。通过外模式-模式映射和模式-内映射这两个映射保证了数库系统中的数据就有较高的逻辑独立性和物理独立性

17. 设计数据库相关的概念

  • 实体: 客观存在的实体事务
  • 实体型:用实体类型名和所有属性来共同表示同一类实体
  • 实体集: 同一类型实体的集合
  • 属性:实体所具有的某一特性
  • :可以唯一标识一个实体的属性集
  • E-R图:E-R图也称实体-联系图(Entity Relationship Diagram)提供了表示实体类型,属性和联系的方法,用来描述现实世界的概念模型

18.试述数据库设计过程的各个阶段

  1. 需求分析阶段
  2. 概念结构设计阶段
  3. 逻辑结构设计阶段
  4. 数据库物理设计阶段
  5. 数据库实施阶段
  6. 数据库运行和维护阶段

19.局部E-R图集成为全局E-R图过程中的关键问题是什么?有什么方法?

  1. 关键是消除各局部 E-R 图中的冲突
  2. 属性冲突的解决方法是与用户协商后解决
  3. 命名冲突解决方式是需要与各部门协商讨论后解决
  4. 结构冲突解决方法是根据应用语义对实体联系的类型进行综合或调整

20.ER图

运动队方面

运动队: 队名、教练姓名、队员姓名

队员: 队名、队员姓名、性别、项名其中,一个运动队有多个队员,一个队员仅属于一个运动队,一个队一般有一个教练。

运动会方面

运动队: 队编号、队名、教练姓名

项目: 项目名、参加运动队编号、队员姓名、性别、比赛场地

其中,一个项目可由多个队参加,一个运动员可参加多个项目,一个项目一个比赛场地请你协助其完成如下设计。

  1. 分别设计运动队和运动会两个局部 E-R图。
  2. 将它们合并为一个全局E-R图。
  3. 合并时存在什么冲突,你是如何解决这些冲突的?

20.1 运动队局部E-R图,

img

20.2 运动会局部E-R图

img

20.3 全局E-R图

img

(3) 命名冲突:项名、项目名异名同义,统一命名为项目名。

结构冲突:项目在两个局部E-R图中,一个作属性,一个作实体,合并统一为实体.

21.概念模型向逻辑模型的转换原则有哪些?

转换原则:一个实体转换为一个关系模式。实体的属性就是关系的属性。

联系类型的转换:

  • 若实体间联系是 1∶1,可以在两个实体类型转换成的两个关系模式中任意一个关系模式中加入另一个关系模式的码和联系类型的属性。

  • 若实体间的联系是 1∶n,则在 n 端实体类型转换成的关系模式中加入 1 端实体类型的码和联系类型的属性。

  • 若实体间联系是 m∶n,则将联系类型也转换成关系模式,其属性为两端实体类型的码加上联系类型的属性,而码为两端实体码的组合。

22.某医院病房计算机管理中心需要如下信息。

科室: 科名、科地址、科电话、医生姓名

病房: 病房号、床位号、所属科室名

医生: 姓名、职称、所属科室名、年龄、工作证号

病人: 病历号、姓名、性别、诊断、主管医生、房号

其中,一个科室有家个病房、多个医生,一个病房只能属于一个科室,一个医生只属于个科室,但可负责多个病人的诊治,一个病人的主管医生只有一个。完成如下设计。

1. 设计读计算机管理系统的E-R图
2. 将该E-R图转换为关系模式结构。
3. 指出转换结果中每个关系模式的候选码。

(1)

img

(2) 对应的关系模型结构如下:
  • 科室(科名,科地址,科电话)

  • 病房(病房号,床位号,科室名)

  • 医生(工作证号,姓名,职称,科室名,年龄)

  • 病人(病历号,姓名,性别,诊治,主管医生,病房号)

(3) 每个关系模式的候选码如下: 科室的候选码是科名;
  • 病房的候选码是科室名、病房号

  • 医生的候选码是工作证号

  • 病人的候选码是病历号

23.E-R图

4、某商业集团数据库中有3个实体集,

  • 一是:“商品”实体集,属性有商店编号、商店名、地址等;

  • 二是:“商品”实体集,属性有商品号、商品名、规格、单价等;

  • 三是:“职工”实体集,属性有职工编号、姓名、性别、业绩等。

商店与商品间存在“销售”联系,每个商店可销售多种商品,每种商品也可以放在多个育店销售,每个商店销售的商品有月销售量:商店与职工之同存在“用”联系,每个商店有多名职工,每个职工只能在一个商店工作,商店聘用职工有聘期和工。

1. 试面出E-R图。
2. 将该E-R 图转换成关系模式,并指出主码和外码。

(1)

img

(2)这个 ER 图可转换 4 个关系模式:
  • 商店(商店编号,商店名,地址)

  • 主码:商店编号

  • 职工(职工编号,姓名,性别,业绩,商店编号,聘期,月薪)

  • 主码:职工编号 外码: 商店编号

  • 商品(商品号,商品名,规格,单价)

  • 主码:商品号

  • 销售(商店编号,商品号,月销售量)

  • 主码:商店编号,商品号

24.关系模型的完整性规则有哪几类?举例说明什么是实体完整性和参照完整性。

关系模型的完整性有三类:实体完整性,参照完整性和用户定义完整性。

  • 实体完整性: 例如学生关系中,学号为主码,则学号的值必须唯一且非空。

  • 参照完整性: 成绩关系中,学号是外码,则学号的取值必须是学生关系中学号的有效值或取空值。

25. 关系范式

设有一个教师任课的关系,其关系模式如下:TDC(Tno,Tname,Tite,Dno,Dname,Dloc,Cno,Cname,Credit)。其中各个属性分别表示教师编号、教师姓名、职称、系编号、系名称、系地址、课程号、课程名、学分。

  1. 写出该关系的函数依赖,分析是否存在部分依赖,是否存在传递依赖。
  2. 该关系的设计是否合理,存在哪些问题。
  3. 对该关系进行规范化,使规范化后的关系属于 3NF

(1) 基本的 FD 有:

  • 教师编号→ 教师姓名,教师职称
  • 系编号→ 系名称,系地址
  • 课程号→ 课程名,学分
  • 教师编号 → 系编号,系名称,系地址
  • R 的关键码为(教师编号,课程号)。

部分依赖: 教师编号→ 教师姓名,教师职称 课程号→ 课程名,学分

传递依赖: 教师编号 → 系名称,教师编号 →系地址

(2) 设计不合理,存在插入异常,更新异常,删除异常和数据冗余
(3) 规范化为 R1(教师编号,教师姓名,教师职称)R2(系编号,系名称,系地址)R3(课程号,课程名,学分)

26.设有关系R和S,如图所示。

img

计算R×S,π3,2(S),σB<'5’®,image-20241128131309858

img

27.设计数据库范式

关系模式 R 的规范化

设关系模式 R (A, B, C, D),F 是 R 上成立的函数依赖集,F = { AB → CD, A → D }。

1. 说明 R 不是 2NF 模式的理由

从已知函数依赖集 F 可以确定 R 的候选键是 AB。

  • 候选键:AB
  • 部分依赖:A → D(A 是 AB 的一部分)

由于存在 A → D 这个局部依赖(部分依赖),即非主属性 D 依赖于候选键的一部分 A,因此 R 不是 2NF 模式。

2. 将 R 分解成 2NF 模式集

为了将 R 分解成 2NF 模式集,需要消除部分依赖。具体步骤如下:

  • 将包含部分依赖的属性分解出来。

分解后的关系模式集 ρ 如下:

  1. 关系模式 AD (A, D)
  2. 关系模式 ABC (A, B, C)

分解后的关系模式集 ρ 是 2NF 模式集,因为在每个分解后的关系模式中,非主属性都完全依赖于候选键。

总结

  1. R 不是 2NF 模式的理由
    • 由于存在部分依赖 A → D,R 不是 2NF 模式。
  2. 将 R 分解成 2NF 模式集
    • 分解后的 2NF 模式集为 ρ = { AD (A, D), ABC (A, B, C) }。

28.sql语句编写

SQL 查询语句格式化

以下是格式化后的 SQL 查询语句,针对 S、SC、C 三个基本表的查询需求:

在表 C 中统计开设课程的教师人数。

SELECT COUNT(DISTINCT TEACHER)
FROM C;

求选修 C4 课程的女学生的平均年龄。

SELECT AVG(AGE)
FROM S, SC
WHERE S.S# = SC.S# AND C# = 'C4' AND SEX = 'F';

求 LIU 老师所授课程的每门课程的平均成绩

SELECT C.C#, AVG(GRADE)
FROM SC, C
WHERE SC.C# = C.C# AND TEACHER = 'LIU'
GROUP BY C.C#;

统计每个学生选修课程的门数(超过 5 门的学生才统计)。要求输出学生学号和选修门数,查询结果按门数降序排列,若门数相同,按学号升序排列。

SELECT S#, COUNT(C#)
FROM SC
GROUP BY S#
HAVING COUNT(*) > 5
ORDER BY COUNT(C#) DESC, S#;

检索学号比 WANG 同学大,而年龄比他小的学生姓名。

SELECT SNAME
FROM S
WHERE S# > (SELECT S#FROM SWHERE SNAME = 'WANG')AND AGE < (SELECT AGEFROM SWHERE SNAME = 'WANG');

在表 SC 中检索成绩为空值的学生学号和课程号。

SELECT S#, C#
FROM SC
WHERE GRADE IS NULL;

检索姓名以 L 打头的所有学生的姓名和年龄。

SELECT SNAME, AGE
FROM S
WHERE SNAME LIKE 'L%';

求年龄大于女同学平均年龄的男学生姓名和年龄。

SELECT SNAME, AGE
FROM S
WHERE SEX = 'M'AND AGE > (SELECT AVG(AGE)FROM SWHERE SEX = 'F');

求年龄大于所有女同学年龄的男学生姓名和年龄。

SELECT SNAME, AGE
FROM S
WHERE SEX = 'M'AND AGE > ALL (SELECT AGEFROM SWHERE SEX = 'F');

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

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

相关文章

TsingtaoAI具身智能高校实训方案通过华为昇腾技术认证

日前&#xff0c;TsingtaoAI推出的“具身智能高校实训解决方案-从AI大模型机器人到通用具身智能”基于华为技术有限公司AI框架昇思MindSpore&#xff0c;完成并通过昇腾相互兼容性技术认证。 TsingtaoAI&华为昇腾联合解决方案 本项目“具身智能高校实训解决方案”以实现高…

如何使用 Chrome 无痕浏览模式访问网站?

无痕浏览&#xff08;Incognito Mode&#xff09;是 Google Chrome 浏览器提供的一种隐私保护功能&#xff0c;它允许用户在一个独立的会话中浏览网页&#xff0c;而不会记录用户的浏览历史、下载历史、表单数据等。这对于希望保护个人隐私或进行临时性匿名浏览的用户来说非常有…

如何从 Hugging Face 数据集中随机采样数据并保存为新的 Arrow 文件

如何从 Hugging Face 数据集中随机采样数据并保存为新的 Arrow 文件 在使用 Hugging Face 的数据集进行模型训练时&#xff0c;有时我们并不需要整个数据集&#xff0c;尤其是当数据集非常大时。为了节省存储空间和提高训练效率&#xff0c;我们可以从数据集中随机采样一部分数…

无人值守工业控制系统网络安全解决方案

一、现状概述 随着物联网、工业大数据、工业云等技术的发展&#xff0c;工业互联网时代即将到来&#xff0c;工业大数据分析、工业数据可视化、工业生产智能优化分析成为当下发展趋势&#xff0c;使得基于数字技术、网络互连技术的智能监控、无人值守成为可能。目前&#xff0…

.NET 8 实现通用权限开发框架

在.NET 8中实现一个通用权限开发框架&#xff0c;不仅可以提高开发效率&#xff0c;还能保证系统的安全性和可扩展性。本文将介绍如何使用.NET 8构建一个通用权限框架&#xff0c;并提供实例代码展示。 1. 框架概述 一个通用权限开发框架通常包括用户管理、角色管理、权限管理等…

网络安全体系与网络安全模型

4.1 网络安全体系概述 4.1.1 网络安全体系概述 一般面言&#xff0c;网络安全体系是网络安全保障系统的最高层概念抽象&#xff0c;是由各种网络安全单元按照一定的规则组成的&#xff0c;共同实现网络安全的目标。网络安全体系包括法律法规政策文件、安全策略、组织管理、技术…

彻底理解如何保证ElasticSearch和数据库数据一致性问题

一.业务场景举例 需求&#xff1a; 一个卖房业务&#xff0c;双十一前一天&#xff0c;维护楼盘的运营人员突然接到合作开发商的通知&#xff0c;需要上线一批热门的楼盘列表&#xff0c;上传完成后&#xff0c;C端小程序支持按楼盘的名称、户型、面积等产品属性全模糊搜索热门…

微信小程序下拉刷新与上拉触底的全面教程

微信小程序下拉刷新与上拉触底的全面教程 引言 在微信小程序的开发中,用户体验至关重要。下拉刷新和上拉触底是提高用户交互体验的重要功能,能够让用户轻松获取最新数据和内容。本文将详细介绍这两个功能的实现方式,结合实际案例、代码示例和图片展示,帮助开发者轻松掌握…

Robot Framework中常用变量的一些操作

一. 简介 前面学习了 Robot Framework中常用变量&#xff0c;文章如下&#xff1a; Robot Framework框架中常用的变量-CSDN博客 本文继续来学习这几个变量&#xff08;标量&#xff0c;列表&#xff0c;字典&#xff09;的操作。 二. Robot Framework中常用变量的一些操作 …

vue3项目搭建-6-axios 基础配置

axios 基础配置 安装 axios npm install axios 创建 axios 实例&#xff0c;配置基地址&#xff0c;配置拦截器,目录&#xff1a;utils/http.js 基地址&#xff1a;在每次访问时&#xff0c;自动作为相对路径的根 // axios 基础封装 import axios from "axios";…

23种设计模式-抽象工厂(Abstract Factory)设计模式

文章目录 一.什么是抽象工厂设计模式&#xff1f;二.抽象工厂模式的特点三.抽象工厂模式的结构四.抽象工厂模式的优缺点五.抽象工厂模式的 C 实现六.抽象工厂模式的 Java 实现七.代码解析八.总结 类图&#xff1a; 抽象工厂设计模式类图 一.什么是抽象工厂设计模式&#xff1f…

uart_pl011.c驱动API的zephyr测试

API概述 本次测试针对uart的uart_poll_in和uart_poll_outAPI进行测试&#xff0c; uart_poll_in static int pl011_poll_in(const struct device *dev, unsigned char *c)这是一个轮询方式的接收函数&#xff1a; 功能&#xff1a;检查 UART 是否有新数据到达&#xff0c;如…

【Linux探索学习】第十七弹——进程终止:深入解析操作系统中的进程终止机制

Linux学习笔记&#xff1a; https://blog.csdn.net/2301_80220607/category_12805278.html?spm1001.2014.3001.5482 前言&#xff1a; 在操作系统中&#xff0c;进程终止是一个至关重要的阶段&#xff0c;它标志着进程的生命周期结束。进程终止可能是因为任务完成&#xff0…

Vue 3 组件通信教程

Vue 3 组件通信教程 1. Props 父传子 1.1 基础用法 在 Vue 3 中&#xff0c;我们使用 defineProps 来声明组件的 props&#xff1a; <!-- 子组件 ChildComponent.vue --> <script setup> const props defineProps({message: String,count: {type: Number,requ…

MySQL更新JSON字段key:value形式

MySQL更新JSON字段key:value形式 1. 介绍 ‌MySQL的JSON数据类型‌是MySQL 5.7及以上版本中引入的一种数据类型&#xff0c;用于存储JSON格式的数据。使用JSON数据类型可以自动校验文档是否满足JSON格式的要求&#xff0c;优化存储格式&#xff0c;并允许快速访问文档中的特定…

javax.xml.ws.soap.SOAPFaultException: ZONE_OFFSET

javax.xml.ws.soap.SOAPFaultException 表示 SOAP 调用过程中发生了错误&#xff0c;并且服务端返回了一个 SOAP Fault。 错误信息中提到的 ZONE_OFFSET 可能指的是时区偏移量。在日期和时间处理中&#xff0c;时区偏移量是指格林威治标准时间 (GMT) 的偏移量。如果服务期望特…

软路由设置ip地址实现一机一IP

软路由作为一种灵活且强大的网络设备&#xff0c;越来越受到家庭和小型企业用户的青睐。通过软路由配置代理IP&#xff0c;不仅可以提升网络性能&#xff0c;还能保护隐私和实现更多高级功能。本文将详细介绍如何在软路由中配置代理IP&#xff0c;帮助你轻松实现更高效的网络管…

介绍一下strupr(arr);(c基础)

hi , I am 36 适合对象c语言初学者 strupr(arr)&#xff1b;函数是把arr数组变为大写字母 格式 #include<string.h> strupr(arr); 返回值为arr 链接分享一下arr的意义(c基础)(必看)(牢记)-CSDN博客 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #incl…

【VRChat 全身动捕】VIVE 手柄改 tracker 定位器教程,低成本光学动捕解决方案(持续更新中2024.11.26)

更新 0.0.1&#xff08;2024/11/26&#xff09;&#xff1a; 1.解决了内建蓝牙无法识别、“steamVR 蓝牙不可用” 的解决方案 2.解决了 tracker 虽然建立了连接但是在 steamVR 界面上看不到的问题 3.解决了 VIVE 基站1.0 无法被蓝牙识别 && 无法被 steamVR 搜索到 &…

C++设计模式之组合模式中如何实现同一层部件的有序性

在组合模式中&#xff0c;为了实现同一层上部件的有序性&#xff0c;可以采取以下几种设计方法&#xff1a; 1. 使用有序集合 使用有序集合&#xff08;如 std::list、std::vector 或其他有序容器&#xff09;来存储和管理子部件。这种方法可以确保子部件按照特定顺序排列&am…