软考数据库
目录
- 分值分布
- 1. 事务管理
- 1.1 事物的基本概念
- 1.2 数据库的并发控制
- 1.2.1 事务调度概念
- 1.2.2 并发操作带来的问题
- 1.2.3 并发控制技术
- 1.2.4 隔离级别:
- 1.3 数据库的备份和恢复
- 1.3.1 故障种类
- 1.3.2 备份方法
- 1.3.3 日志文件
- 1.3.4 恢复
- 2. SQL语言
- 发权限
- 收权限
- 视图
- 触发器
- 创建触发器
- 更改、删除触发器
- 嵌入式SQL
- 游标
- 存储过程
- 回顾
- 数据定义语言 (Data Definition Language,DDL)
- 数据库和表的操作
- 索引
- 视图
- 数据操纵语言 (DML)
- 数据操作
- 查询数据
- 数据控制语言 (DCL)
- 权限管理
- 事务处理 (`BEGIN TRANSACTION`, `COMMIT`, `ROLLBACK`):
- 触发器 (`CREATE TRIGGER`):
- 存储过程 (Stored Procedure)
- 创建存储过程
- 调用存储过程
- 修改存储过程
- 删除存储过程
- 嵌入式SQL (Embedded SQL)
- 定义与使用主变量
- 预编译与动态SQL
- 游标 (Cursor)
- 声明游标
- 打开游标
- 使用游标读取数据
- 关闭游标
- 游标操作示例
- 3. 关系数据库
- 名词
- 数据库技术基础
- nosql 非关系型数据库
- cap
- 数据库种类
- 权利时间限制
分值分布
1. 事务管理
1.1 事物的基本概念
●概念:一个操作序列,要么都做,要么都不做,是不可分割的逻辑工作单位。
●定义语句:
BEGINTRANSACTION/ENDTRANSACTION:事务开始/事务结束。
ROLLBACK:事务回滚,表示事务非成功地结束。
COMMIT:事务提交,表示事务成功地结束。
●ACID特性
原子性:事务是原子的,要么做,要么都不做。
一致性:事务执行的结果必须保证数据库从一个一致性状态变到另一个一致性状态。
隔离性:事务相互隔离。当多个事务并发执行时,任一事务的更新操作直到其成功提交的整个过程,对其它事物都是不可见的。
持久性:一旦事务成功提交,即使数据库崩溃,其对数据库的更新操作也永久有效。
●状态
活动状态:事务的初始状态,事务执行时处于这个状态。
部分提交状态:当操作序列的最后一条语句自动执行后,事务处于部分提交状态。部分提交状态并不等于事务成功执行。
失败状态:由于错误使得事务不能继续正常执行,事务就进入了失败状态。
中止状态:事务回滚并且数据库已被恢复到事务开始执行前的状态。
提交状态:当事务成功完成后,称事务处于提交状态。
1.2 数据库的并发控制
1.2.1 事务调度概念
调度:事务的执行次序。
串行调度:多个事务依次串行执行,且只有当一个事务的所有操作都执行完后才执行另一个事务的所有操作。
并行调度:利用分时的方法同时处理多个事务。
调度错误的定义是结果算错了才叫错,并行的结果要和任意串行结果一致。—>可串行化的调度
多个事务的并发执行是正确的, 当且仅当其结果与某一次序串行地执行它们的结果相同, 称这种调度策略是可串行化的调度。
可串行性是并发事务正确性的准则。 即: 一个给定的并发调度, 当且仅当它是可串行化的才认为是正确调度
错误的调度及产生错误的原因:丢失修改/不可重复读/读脏数,破坏了事务的隔离性
1.2.2 并发操作带来的问题
丢失修改、不可重复读、读脏数据,幻读。
幻读是按照相同条件查询,两次查到不一样。
不可重复读是两个查询同数据,读取数据不一样。
都是违反了隔离性
1.2.3 并发控制技术
封锁(X锁、S锁)、三级封锁协议、两阶段封锁协议。
X锁(排它锁):工作类流程和串行调度一样
S锁(共享锁):只读不改
三级封锁协议:
两阶段封锁协议:
加锁阶段(Growing Phase):事务开始后,可以对任何数据项加锁(读锁或写锁),但不能释放任何锁。
解锁阶段(Shrinking Phase):事务提交(COMMIT)时,释放所有锁;事务回滚(ROLLBACK)时,也必须释放已获取的所有锁。
满足两段锁协议—>可串行化—>并发事务正确执行–x->不能保证不发生死锁
1.2.4 隔离级别:
1、READ UNCOMMITTED(读未提交):可避免丢失修改。
2、READ COMMITTED<读已提交):可避免丢失修改、读脏数据。
3、REPEATABLE READ(可重复读):可避免丢失修改、读脏数据,不可重复读。
4、SERIALIZABLE(串行化):最高级别,可避免丢失修改、读脏数据、不可重复读、幻读。
幻读:事务A查询得到N条数据,然后事务B又插入了M条数据,或者改变了这N条数据之外的N条符合事务A搜索条件的数据,导致事务A再次搜索发现有N+W条数据了,就产生了幻读。
1.3 数据库的备份和恢复
1.3.1 故障种类
1、 事务故障: 是由于程序执行错误而引起事务非预期的、 异常终止的故障。 通常有如下两类错误引起事务执行失败:
(1) 逻辑错误。 如非法输入、 找不到数据、 溢出、 超出资源限制等原因引起的事务执行失败。
(2) 系统错误。 系统进入一种不良状态(如死锁) , 导致事务无法继续执行
2、 系统故障(通常称为软故障):是指硬件故障、 软件(如DBMS、 OS或应用程序) 漏洞的影响, 导致丢失了内存中的信息, 影响正在执行的事务, 但未破坏存储在外存上的信息。
3、 介质故障(通常称为硬故障):是指外存故障,例如磁盘损坏、磁头碰撞,瞬时强磁场干扰等。
1.3.2 备份方法
静态转储:是指在转储期间不允许对数据库进行任务存取、修改操作。用来恢复
动态转储:是在转储期间允许对数据库进行存取、修改操作,转储和用户事务可并行执行。
海量转储:是指每次转储全部数据库。
增量转储:是指每次只转储上次转储后更新过的数据。
1.3.3 日志文件
日志文件是用来记录事务对数据库的更新操作的文件。
数据库镜像。 为了避免磁盘介质出现故障影响数据库的可用性, 许多DBMS提供数据库镜像功能用于数据库恢复
1.3.4 恢复
UNDO:撤销事务,将未完成的事务撤消,使数据库回复到事务执行前的正确状态。
撤销事务的过程: 反向扫描日志文件(由后向前扫描) , 查找事务的更新操作; 对该事务的更新操作执行逆操作, 用日志文件记录中更新前的值写入数据库, 插入的记录从数据库中删除, 删除的记录重新插入数据库中; 继续反向扫描日志文件, 查找该事务的其它更新操作并执行逆操作直至事务开始标志。
REDO:重做事务,将已经提交的事务重新执行。
重做事务的过程: 从事务的开始标志起, 正向扫描日志文件, 重新执行日志文件登记的该事务对数据库的所有操作, 直至事务结束标识。
检查点机制(CHECKPOINT): 在日志中设置检查点, 当发生故障需要利用日志文件恢复时, 反向扫描日志文件, 找到检查点, 确认检查点时刻正在执行的事务(活动事务) , 即检查点前有事务开始标志但没有事务结束标志。
对于检查点后提交的事务, 执行REDO(重做)
对于检查点后未提交的事务, 执行UNDO(撤销)
(1) 事务故障的恢复: 事务故障是事务在运行至正常终止点(SUMMIT或ROLLBACK) 前终止, 日志文件只有该事务的开始标识而没有结束标识。
恢复:撤销(UNDO)
具体做法:
1、 反向扫描日志文件, 查找该事务的更新操作。
2、 对事务的更新操作执行逆操作。
3、 继续反向扫描日志文件, 查找该事务的其他更新操作, 并做同样的处理, 直到事务的开始标志。
注: 事务故障的恢复是由系统自动完成的, 对用户是透明的。
(2) 系统故障的恢复: 系统故障会使数据库的数据不一致:
一是未完成的事务对数据库的更新可能已经写入数据库;
二是已提交的事务对数据库的更新可能还在缓冲区没来得及写入数据库。
恢复:
1、 未完成的事务(UNDO)
2、 已经提交 commit 的事务(REDO)
(3) 介质故障的恢复: 介质故障时数据库遭到破坏, 需要重装数据库, 一般需要DBA的参与, 装载故障前最近一次的备份和故障前的日志文件副本,
恢复:
1、 未完成的事务(UNDO)
2、 已经提交 commit 的事务(REDO)
2. SQL语言
主要记忆:表、索引、视图操作语句;数据操作;通配符、转义符;授权;存储过程;触发器
这部分等等整理一下:
“”"
1、 数据定义语言。 SQL DDL提供定义关系模式和视图、 删除关系和视图、 修改关系模式的命令。
数据库 DDL 的全称是 Data Definition Language。
2、 交互式数据操纵语言。 SQL DML提供查询、 插入、 删除和修改的命令。
3、 事务控制。 SQL提供定义事务开始和结束的命令。
4、 嵌入式SQL和动态SQL。 用于嵌入到某种通用的高级语言中混合编程。 其中, SQL负责操纵数据库,
高级语言负责控制程序流程。
5、 完整性。 SQL DDL包括定义数据库中的数据必须满足的完整性约束条件的命令, 对于破坏完整性
约束条件的更新将被禁止。
6、 权限管理。 SQL DDL中包括说明对关系和视图的访问权限。
7、 SQL语言中完成核心功能的9个动词:
(1) 数据查询: Select
(2) 数据定义: Create、 Drop、 Alter
(3) 数据操纵: Insert、 Update、 Delete
(4) 数据控制: Grant、 Revoke
不常用的sql语句
check 为什么不用in?
数据库表的复合属性:是指由两个或更多基本属性组成,用来共同描述一个复杂的数据项的属性。复合属性体现了现实世界中某些实体属性的内在联系与结构化特征,它们不能被进一步拆分为独立的、原子性的属性。在数据库设计中,复合属性有助于更准确、更完整地表示实体的复杂特性,同时也便于数据的一致性和完整性管理。以下是对复合属性的详细说明:
示例与特征
示例:
家庭住址:由省、市、区、街道、门牌号等多个部分构成,这些部分一起构成了一个完整的地址信息。
联系电话:可能包括国家代码、区号、电话号码,甚至分机号,整体构成了一个可拨打的电话联系方式。
时间戳:由年、月、日、时、分、秒组成,共同标识一个精确的时间点。
“”"
发权限
grant 允许;同意
赋所有权限:GRANT ALL PRIVILEGES
on 表 to人
收权限
revoke 撤回
RESTRICT 限制
CASCADE 垂直
视图
行级视图:通常指从行的角度来理解和操作矩阵。
列级视图:更强调从列的角度来分析矩阵。
触发器
触发器是一种特殊的数据库对象,它们与特定的表相关联,并且在特定的数据库操作(即事件)发生时自动执行预定义的逻辑。
触发器通常与以下三种数据库操作事件关联:
- INSERT:当向表中插入新行时触发。
- UPDATE:当修改表中已存在的行时触发。
- DELETE:当从表中删除行时触发。
SELECT不使用触发器
这些事件均涉及到对表数据的实际改动,因此触发器可以在这些操作前后执行,以便检查条件、执行额外的数据修改、记录变更历史或其他所需的操作。
行级触发器(Row-Level Trigger): 行级触发器是在对表中的某一行执行 INSERT、UPDATE 或 DELETE 操作时被触发的。每当这样的操作影响到表中的一个具体行时,行级触发器就会被激活并执行一次。这意味着,如果一个 SQL 语句影响到了多行数据(例如,一个批量更新或删除操作),行级触发器会为受影响的每一行单独触发并执行一次。行级触发器可以在触发操作之前(BEFORE 触发器)或之后(AFTER 触发器)执行,适用于需要对每一行变化进行细致控制、日志记录、数据校验、计算派生值等场景。
语句级触发器(Statement-Level Trigger): 语句级触发器则是在执行某个影响表的 SQL 语句时,无论该语句影响了多少行数据,触发器只会被触发一次。也就是说,即使一个 SQL 语句更改了成百上千行,语句级触发器也仅执行一次其定义的逻辑。这类触发器适用于需要对整个操作过程进行统一处理、执行一次性清理或初始化任务、或者在事务层面实施某种策略的情况。
创建触发器时需指定:
(1) 触发器名称
(2) 在其上定义触发器的表
(3) 触发事件: 触发器将何时激发
(3) 触发条件: 满足什么条件时执行触发动作
(4) 触发动作: 指明触发器执行时应做的动作
创建触发器
更改、删除触发器
嵌入式SQL
类似于mybatis,能在c、java等其他代码里面,直接调用sql。
例如:在c语言中的使用
#include <stdio.h>
#include <sql.h> /* 假设为某个数据库提供的头文件 */int main() {int emp_id;char name[50];float salary;/*EXEC SQL 调用 sql*/EXEC SQL SELECT name, salary INTO :name, :salary FROM employees WHERE id = :emp_id;if (sqlca.sqlcode == 0) { /* sqlca 检查SQL执行状态 */printf("Employee Name: %s\nSalary: %.2f\n", name, salary);} else {printf("Error retrieving employee details: %s\n", sqlca.sqlerrm.sqlerrmc); /* 输出错误信息 */}/* 关闭数据库连接等后续操作 */return 0;
}
SQL提供了将SQL语句嵌入到某种高级语言中的方式, 通常采用预编译的方法。
1、 区分主语言与SQL语句的方式:EXEC SQL <SQL语句>
2、 向主语言传递SQL语句执行的状态信息的方式:SQLCA
3、 主变量(共享变量) :
• 主语言通过主变量向SQL语句提供参数, 主变量是由主语言的程序定义的, 并用SQL的DECLARE语句说明。
• 在SQL语句中, 为了与SQL中的属性名区分, 在引用共享变量时, 前面需要加“: ”
游标
这是啥,会不了一点,等等再学。
存储过程
存储过程是指保存的SQL语句集合,可以接受和返回用户提供的参数。
存储过程已在服务器注册。
存储过程具有安全特性(例如权限)和所有权链接,以及可以附加到它们的证书。
存储过程可以强制应用程序的安全性。
存储过程允许模块化程序设计。
存储过程是命名代码,允许延迟绑定。
存储过程可以减少网络通信流量。
回顾
学了一大圈,其实要记得语句并不多,在这里总结个背诵版:
参加软考(全国计算机技术与软件专业技术资格(水平)考试)的数据库相关考试,考生需要熟悉和掌握一系列 SQL 语句以应对试题中涉及的数据库操作与查询任务。以下是一些关键的 SQL 语句类别和具体的语法,这些都是备考时应重点复习和理解的内容:
数据定义语言 (Data Definition Language,DDL)
处理数据库、表、索引、视图
数据库和表的操作
-
创建数据库 (
CREATE DATABASE
):CREATE DATABASE database_name;
-
删除数据库 (
DROP DATABASE
):DROP DATABASE database_name;
-
创建表 (
CREATE TABLE
):CREATE TABLE table_name (column1 datatype [column_constraint],column2 datatype [column_constraint],...[table_constraint] );
-
删除表 (
DROP TABLE
):DROP TABLE table_name;
-
修改表 (
ALTER TABLE
):- 添加列:
ALTER TABLE table_name ADD COLUMN column_name datatype [column_constraint];
- 删除列:
ALTER TABLE table_name DROP COLUMN column_name;
- 更改列定义:
ALTER TABLE table_name MODIFY COLUMN column_name new_datatype [column_constraint];
- 重命名列:
ALTER TABLE table_name RENAME COLUMN old_column_name TO new_column_name;
- 添加、修改或删除表约束:
ALTER TABLE table_name ADD [CONSTRAINT constraint_name] constraint_type ...; ALTER TABLE table_name DROP CONSTRAINT constraint_name;
- 添加列:
索引
-
创建索引 (
CREATE INDEX
):CREATE [UNIQUE] INDEX index_name ON table_name (column_name [ASC|DESC]);
-
删除索引 (
DROP INDEX
):DROP INDEX index_name ON table_name;
视图
关键词:as sql语句
-
创建视图 (
CREATE VIEW
):CREATE VIEW view_name AS SELECT column_list FROM table_name WHERE condition;
-
修改视图 (
ALTER VIEW
): 视图修改通常限于重定义视图的查询语句。ALTER VIEW view_name AS SELECT column_list FROM table_name WHERE new_condition;
-
删除视图 (
DROP VIEW
):DROP VIEW view_name;
数据操纵语言 (DML)
DML是处理数据的,DDL是处理数据库的。
数据操作
-
插入数据 (
INSERT
):INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);
-
更新数据 (
UPDATE
):UPDATE table_name SET column1 = value1, column2 = value2 WHERE condition;
-
删除数据 (
DELETE
):DELETE FROM table_name WHERE condition;
查询数据
-
基本查询 (
SELECT
):SELECT column_list FROM table_name [WHERE condition] [ORDER BY column_name [ASC|DESC]];
-
联接查询 (
JOIN
):SELECT column_list FROM table1 JOIN table2ON table1.column = table2.column [WHERE condition]; -- 包含 INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN
-
分组与聚合函数 (
GROUP BY
,HAVING
,COUNT
,SUM
,AVG
,MIN
,MAX
):SELECT column1, COUNT(column2), AVG(column3) FROM table_name GROUP BY column1 HAVING condition;
-
子查询 (
SELECT
withinSELECT
):SELECT column_list FROM table_name WHERE column IN (SELECT subquery_column FROM another_table WHERE condition);
-
集合查询 (
UNION
,INTERSECT
,EXCEPT
):SELECT column_list FROM table1 UNION [ALL] SELECT column_list FROM table2;
数据控制语言 (DCL)
管理权限
权限管理
-
授予权限 (
GRANT
):GRANT privilege_list ON object TO user [WITH GRANT OPTION];
-
收回权限 (
REVOKE
):REVOKE privilege_list ON object FROM user;
事务处理 (BEGIN TRANSACTION
, COMMIT
, ROLLBACK
):
BEGIN TRANSACTION;
-- SQL statements...
COMMIT;
-- 或
ROLLBACK;
触发器 (CREATE TRIGGER
):
CREATE TRIGGER trigger_name
[BEFORE|AFTER] event_type ON table_name
FOR EACH ROW
BEGIN-- SQL statements...
END;
存储过程 (Stored Procedure)
存储过程是一种预编译的数据库对象,包含一组可重复使用的SQL语句和控制流语句。存储过程封装了复杂的业务逻辑,提高了代码复用性、执行效率和安全性。
类似于python函数,java中定义类
创建存储过程
CREATE PROCEDURE procedure_name
([IN param1 datatype, OUT param2 datatype, ...]
)
BEGIN-- SQL statements, control flow constructs (IF, CASE, LOOP, etc.)-- and other procedures or functions calls
END;
调用存储过程
CALL procedure_name(param_value1, param_value2, ...);
修改存储过程
ALTER PROCEDURE procedure_name
BEGIN-- Updated SQL statements and logic
END;
删除存储过程
DROP PROCEDURE procedure_name;
嵌入式SQL (Embedded SQL)
嵌入式SQL是将SQL语句直接嵌入到高级程序设计语言(如C、C++、Java等)源代码中的一种编程技术。
定义与使用主变量
EXEC SQL BEGIN DECLARE SECTION;
int id;
char name[50];
EXEC SQL END DECLARE SECTION;// ...EXEC SQL SELECT id, name INTO :id, :name FROM employees WHERE id = 1;
预编译与动态SQL
- 使用预编译器对嵌入SQL的源代码进行预处理。
- 使用
EXEC SQL INCLUDE
或EXEC SQL PREPARE
语句处理动态SQL。
游标 (Cursor)
游标是数据库中用于遍历、检索和操作结果集的一种机制。
虽然游标和存储过程都能使用控制语句,但是游标主要用来处理查询结果,类似于dao层的xml文件,而存储过程处理完会改变表存储。
声明游标
DECLARE cursor_name CURSOR FOR
SELECT column_list FROM table_name WHERE condition;
打开游标
OPEN cursor_name;
使用游标读取数据
FETCH cursor_name INTO variable_list;
关闭游标
CLOSE cursor_name;
游标操作示例
DECLARE employee_cursor CURSOR FOR
SELECT id, name, salary FROM employees WHERE department = 'IT';OPEN employee_cursor;LOOPFETCH employee_cursor INTO emp_id, emp_name, emp_salary;EXIT WHEN NOT FOUND;-- Process fetched row-- ...
END LOOP;CLOSE employee_cursor;
3. 关系数据库
名词
数据库技术基础
第一节 数据库基本概念
第二节 数据库系统的三级模式结构
第三节 数据模型基本概念
第四节 E-R模型
第五节 基本的数据模型
nosql 非关系型数据库
cap
CAP理论: 简单地说, 就是对于一个分布式系统, 一致性(Consistency) 、 可用性和分区容忍性三个特点最多只能三选二。
• 一致性(Consistency): 是指系统在执行了某些操作后仍处于一个一致的状态。
• 可用性(Availablity): 是指对数据的所有操作都有成功的返回。 简言之, 就是任何请求不管成功或失败都有响应。
• 分区容忍性(Partition tolerance): 这一概念的前提是在网络发生故障的时候。在网络连接上, 一些结点出现故障, 使得原本连通的网络变成了一块一块的分区,若允许系统继续工作, 那就是分区可容忍的。
由于CAP理论的存在, 为了提高性能, 出现了ACID的一种变种BASE, 它是一个弱一致性的理论, 只要求最终一致性。
• BA(Basically Available): 基本可用
• S(Soft state):软状态, 可以理解为“无连接的” 的, 而与之相对应的是“面向
连接” 的。
• E(Eventual consistency):最终一致性, 最终整个系统看到的数据是一致的。
数据库种类
权利时间限制
直接看看这位大佬写的吧数据库种类
从大佬这里再偷张图
相关文章:
软考数据库
目录 分值分布1. 事务管理1.1 事物的基本概念1.2 数据库的并发控制1.2.1 事务调度概念1.2.2 并发操作带来的问题1.2.3 并发控制技术1.2.4 隔离级别: 1.3 数据库的备份和恢复1.3.1 故障种类1.3.2 备份方法1.3.3 日志文件1.3.4 恢复 2. SQL语言发权限收权限视图触发器…...
Echarts 自适应宽高,或指定宽高进行自适应
文章目录 需求分析 需求 有一个按钮实现对Echarts的指定缩放与拉长,形成自适应效果 拉长后效果图 该块元素缩短后效果图 分析 因为我习惯使用 ref 来获取组件的 DOM 元素,然后进行挂载 <div ref"echartsRef" id"myDiv" :sty…...
体验报告:为什么Claude-3是码农和学者的新宠?
在这个充斥着海量信息的新时代,人工智能的飞速发展带来了翻天覆地的变化。特别是在编程、学术探索以及专业文案创作等领域,AI的助力显得格外关键。最近,我有机会尝试了一种革命性的人工智能工具——Claude-3,其表现令我震惊&#…...
接口自动化框架搭建(九):接入钉钉消息通知
1,jenkins安装钉钉插件 2,在钉钉群聊设置机器人 3,jenkins配置钉钉 根据情况选择: 除了这些,其他不用配置,配置完成点击确认 4,项目配置 添加后保存 5,测试下效果 构建完成后&a…...
一、点击视频下载(通过视频url实现);二、点击下载视频按钮,视频以压缩包形式下载(但未实现压缩视频)
一、点击视频下载(通过视频url实现) <div class"video-list" v-for"(item,index) in videoList" :key"index"><span class"video-title" >{{item.title}}</span><span class"video-…...
B树、B+树、哈夫曼树
目录 1. B树2. B树3. 哈夫曼树 1. B树 特点:一个节点当中可以有多个值,节点内部key 值是有序的,节点内部存储的是key-value类型的数据 磁盘中文件存储用B树。 4阶B树一个节点最多三个key值 5阶B树一个节点最多四个key值 B树有很多的分支&…...
评价指标_Precision(精确率)、Recall(召回率)和Accuracy(准确率)区别和联系
Precision(精确率)、Recall(召回率)和Accuracy(准确率)是机器学习和信息检索领域常用的评价指标,它们用于评估分类器或检索系统的性能,但各自关注的方面略有不同。 Precision&#x…...
【React】React AJAX
在React中使用AJAX(Asynchronous JavaScript and XML)是一种常见的做法,用于从服务器获取数据并在组件中显示。尽管AJAX的名字中包含了XML,但现在更多地使用JSON(JavaScript Object Notation)作为数据交换格…...
vue 移动端弹窗带滚动效果 滚动到底的时候弹窗下的页面会跟着滑动
<template><div class"wrap" :style"dynamicStyle"><!--dynamicStyle主要是介个 通过computed设置postion的值 弹窗的时候设置为fixed 关闭弹窗的时候设置为unset--><div class"banner-wrap"><img src"/assets/…...
Linux-3 yum和vim
目录 本节目标: Linux 软件包管理器 yum 什么是软件包 1.yum是什么?软件包? 2.Linux(centos)的生态 3.yum的相关操作 我怎么知道我应该安装什么软件? 4.yum的本地配置 关于 rzsz 查看软件包 Linux编辑器-vim使用 1.v…...
什么是计算机视觉?计算机视觉:从基础到前沿
引言 计算机视觉,作为人工智能的一个重要分支,致力于赋予机器“看”的能力——即从图像或视频中理解和解释视觉信息的能力。这项技术的发展为自动驾驶汽车、面部识别、机器人导航等多种应用开辟了道路,正在逐步改变我们的工作和生活方式。本…...
Java中的可变字符串
Java中的可变字符串 一、什么是可变字符串二、可变字符串的使用场景以及使用步骤1.新建一个可变字符串2.可变字符串的一系列方法 一、什么是可变字符串 可变字符串是Java.lang包下的 在我们学习到JDBC的时候需要将原有的sql语句根据不同的差异添加一段新的关键字或者单词&…...
C++多线程:单例模式与共享数据安全(七)
1、单例设计模式 单例设计模式,使用的频率比较高,整个项目中某个特殊的类对象只能创建一个 并且该类只对外暴露一个public方法用来获得这个对象。 单例设计模式又分懒汉式和饿汉式,同时对于懒汉式在多线程并发的情况下存在线程安全问题 饿汉…...
康耐视visionpro-CogAcqFifoTool工具详细说明
CogAcqFifoTool操作说明: ① 打开工具栏,双击或点击鼠标拖拽 添加CogAcqFifoTool ②.从图片采集设备/图像采集卡列表里选择对应的相机,视频格式选择图像格式。 Mono表示黑白图像,RGB表示彩色相机。点击初始化取相初始化相机。 ③…...
静态图片如何生成gif动画?一个网站在线实现
在当下这个媒体时代,各种各样的图片充斥着我们的生活。尤其是gif动图能够快速有效的传递信息,让用户更加直观的了解某个时间或是场景。非常的生动便捷,那么怎么弄制作gif动画图片呢?其实,只是gif动画的方法非常的简单&…...
Git 实战教程
Git 是一款强大的分布式版本控制系统,广泛用于团队协作与项目管理。本文将为你提供一份 Git 的实战教程,通过实例演示 Git 的基本用法和高级特性,帮助你快速上手 Git。 一、Git 基础 安装 Git 首先,你需要在你的计算机上安装 G…...
解决Vue中仓库持久化的问题,不借助插件用原生JS实现仓库持久化。了解仓库的插件机制、监听的时机
1、演示 前言:目前Vue有两种仓库,一种是Vuex,一种是Pinia,懂得都懂,这里就不详细介绍这两者的区别了 2、什么是持久化 仓库里面的数据是需要跨越页面周期的,当页面刷新之后数据还在,在默认情况下…...
ajax的优缺点有哪些?
我们先来介绍一下什么是ajax: 对于ajax的理解,ajax是一种使用现有技术集合技术内容包括: HTML或XHTML、CSS、 JavaScript、DOM、XML、 XSLT, 以及最重要的XMLHttpRequest。 用于浏览器与服务器之间使用异步数据传输(HTTP请求),做…...
自贡市第一人民医院:超融合与 SKS 承载 HIS 等核心业务应用,加速国产化与云原生转型
自贡市第一人民医院始建于 1908 年,现已发展成为集医疗、科研、教学、预防、公共卫生应急处置为一体的三级甲等综合公立医院。医院建有“全国综合医院中医药工作示范单位”等 8 个国家级基地,建成高级卒中中心、胸痛中心等 6 个国家级中心。医院日门诊量…...
vue使用iview导航栏Menu activeName不生效
activeName不生效 一、问题一、解决方案, 一、问题 根据ivew官网的提示,设置了active-name和open-names以后,发现不管是设置静态是数据还是设置动态的数据,都不生效 一、解决方案, 在设置动态名称的时候,…...
谷粒商城实战(008 缓存)
Java项目《谷粒商城》架构师级Java项目实战,对标阿里P6-P7,全网最强 总时长 104:45:00 共408P 此文章包含第151p-第p157的内容 简介 数据库承担落盘(持久化)工作 拿map做缓存 这种是本地缓存,会有一些问题 分布…...
python的相关语法
Day01 1.Python是什么语言 python是解释性语言,什么为编译?1.生成目标文件,编译型语言在程序执行之前,先会通过编译器对程序执行一个编译的过程,把程序转变成机器语言。运行时就不需要翻译,而直接执行就行。…...
【面试经典150 | 动态规划】最小路径和
文章目录 写在前面Tag题目来源解题思路方法一:动态规划方法二:空间优化 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法,两到三天更新一篇文章,欢迎催更…… 专栏内容以分析题目为主,并附带一些对于本题…...
生成式AI的情感实验——AI能否产生思想和情感?
机器人能感受到爱吗?这是一个很好的问题,也是困扰了科学家们很多年的科学未解之谜。虽然我们尚未准备好向智能机器赋予情感,但智能机器却已经可以借助生成式人工智能(AI)来帮助我们表达自己的情感。 自然情感表达 AI正…...
力扣贪心算法--第一天
前言 今天是贪心算法的第一天,算法之路重新开始! 内容 之前没了解过贪心算法。 什么是贪心 贪心的本质是选择每一阶段的局部最优,从而达到全局最优。难点就是如何通过局部最优,推出整体最优。 一、455.分发饼干 假设你是一…...
Nginx反向代理和缓存
一、Nginx反向代理 1.调度和代理的区别: 1.调度基于内核层面,代理基于应用层面 2.代理必须实现一手托两家 3.调度不需要监听任何端口,不需要工作任何应用程序,代理需要工作和上游服务器一模一样的进程 4.调度没有并发上限&am…...
支持多元AI场景应用,宁畅“NEX AI Lab”开放试用预约中
3月29日,宁畅在京举行发布会,正式发布“全局智算”战略,并在会上推出战略性新品“AI算力栈”,旨在有效解决大模型产业落地的全周期问题。 据宁畅CTO赵雷介绍,“AI算力栈”集成了宁畅在AI计算领域的软硬件能力ÿ…...
Git 如何合并多个连续的提交
我平常的编程喜欢是写一段代码就提交一次,本地一般不攒代码,生怕本地有什么闪失导致白干。但这样就又导致一个问题:查看历史日志时十分不方便,随便找一段提交可以看到: > git log --oneline 8f06be5 add 12/qemu-h…...
k8s 基础入门
1.namespace k8s中的namespace和docker中namespace是两码事,可以理解为k8s中的namespace是为了多租户,dockers中的namespace是为了网络、资源等隔离 2.deployment kubectl create #新建 kubectl aply #新建 更新 升级: 滚动升级&#x…...
【Python项目】AI动物识别工具
目录 背景 技术简介 系统简介 界面预览 背景 成像技术在全球科技发展中扮演了关键角色。在科学研究领域,拍摄所得的图像成为了一种不可或缺的研究工具。特别是在生态学与动物学研究中,鉴于地球的广阔地域和多样的气候条件,利用图像技术捕…...
搭建一个网站的服务器/中国宣布疫情结束日期
1. 对象/关系数据库映射(ORM) ORM 全称 Object/Relation Mapping:表示对象-关系映射的缩写 ORM 完成面向对象的编程语言到关系数据库的映射。当 ORM 框架完成映射后,程序员既可以利用面向对象程序设计语言的简单易用性ÿ…...
广州市网站建设 骏域动力/广东全网推广
Rsyncsersync2的数据推复制(数据的快速同步,类似于实时同步):也就是说当服务器的数据发生变化,就推新数据给备份服务器。***************************************************************************特点࿱…...
网站的技术解决方案/域名停靠
1、Microsoft Office Word 2007 是一个文档创作程序,集一组全面的写入工具和易用界面于一体,可以帮助用户创建和共享美观的文档。 2、Microsoft Office Excel 2007 是一个功能强大的电子表格程序,您可以用来分析、交流和管理信息,…...
做外贸英文网站/百度宣传推广
不满大家说,我也不是很熟,所以记录分享 FastJson 主要的三个类 JSONObject–>代表json对象—>Map JSONArray–>json数组–>List JSON–>JSONObject与JSONArray的转换 JSONObject 和 JSONArray 继承了 JSON,所以说也可…...
保险网站/网络营销课程个人总结
十、mysql日志管理课程大纲1、MySQL日志类型简介2、MySQL错误日志配置及查看3、MySQL binlog介绍及管理实战4、MySQL 慢查询日志设置及管理实战1、日志的类型简介mysql> show variables like %log_error%;在配置文件中指定错误日志位置。mysql> show variable…...
为什么淘宝店主不自己做电商网站/百度人工
Jenkin是一个开源的CI&CD平台,提供持续集成和持续交付服务,有大量的插件来支持构建,部署,自动化等项目需求,自动化测试也可以利用Jenkins来自动构建执行,免去人工执行。 1、部署JenkinsDocker Hubhttp…...