【软考五】数据库(做题)

该文章不适合学习数据库,适合考证,遇到实际问题的,不要在这儿浪费时间。切记切记

软考之数据库

    • 一、概念数据模型(下午题常考)
    • 二、结构数据模型
      • 关系模型
        • 1、关系模型中基本术语
        • 2、关系模型中的关系完整性约束
        • 3、关系代数(重要)
            • (1)关系代数运算符
            • (2)集合运算符
            • (3)专门的关系运算符
            • (4)运算符转sql
    • 三、三级模式和两级映像
      • 1、三级模式
      • 2、两级映像
    • 四、SQL语言(重要)
      • 1、SQL语言分类
          • (1)数据定义语言(DDL)
          • (2)数据操作语言(DML)
          • (3)数据查询语言(DQL)
          • (4)内连接
          • (5)外连接
          • (6)子查询
          • (7)并交差
          • (8)数据控制语言(DDL)
          • (9)视图
          • (10)索引
    • 五、关系数据库的规范化
      • 1、函数依赖(重要)
        • (1)函数依赖分类
        • (2)属性闭包
      • 2、规范化(重要)
        • 多值依赖
        • 考点
        • 无损连接标准
    • 六、数据库设计
      • 1、数据库设计步骤
      • 2、需求分析
      • 3、概念设计
        • (1)E-R图(重要)
        • (2)概念设计
      • 4、逻辑设计【E-R图转关系模式】
      • 5、物理设计
      • 6、数据库的实施与维护
    • 七、数据库的控制管理
      • 1、事务管理
        • 原则
        • 特点
      • 2、数据库的备份与恢复
        • (1)故障类型
        • (2)备份方法
      • 3、并发控制
    • 八、分布式数据库
    • 九、奇怪的考过的点

数据与信息之间的关系可表示为:信息= 数据+数据处理。
模型是对现实世界的模拟和抽象。数据库技术中,表示实体类型和实体类型间关系的模型称为数据模型。分为概念数据模型、结构数据模型。

一、概念数据模型(下午题常考)

用于信息世界建模,一般用实体-联系方法(E-R图)表示。常用术语:

  • 实体:用矩形表示

  • 属性:一个实体有多个属性;用椭圆形表示

  • :唯一标识实体的属性集

  • :属性取值范围,比如性别(男,女)

  • 联系: 用菱形表示

    种类包含:实体与实体间的联系;实体内部的联系
    类型包含:一对一;一对多;多对多
    无向边将实体、属性、联系起来。

二、结构数据模型

结构数据模型是直接面向数据库的逻辑结构,主要包括:层次(树结构)、网状(图结构)、关系和面向对象模型。

关系模型

是一种用二维表格结构来表示实体以及实体之间联系的数据模型。每个二维表由行、列组成,也可称为关系,关系模式是对关系的描述,可以说关系模型是关系模式的集合。
关系模式
两个关系

1、关系模型中基本术语

  • 关系:一张表即为一个关系,表名就是关系名

  • 元组:一条数据就是一个元组,对应存储文件中的一个记录值

  • 属性:表中的每一列就是一个属性,列名即属性名,属性值相当于记录中的数据项或字段值

  • 域:属性的取值范围

  • 关系模式:对关系的描述,由关系名和属性名组成,格式如下:关系名(属性名1,属性名2…属性名n)

     常见的关系模式格式为 R(U,F)。
     R为关系名
     U为关系中的属性
     F为属性间的函数依赖,具体见【函数依赖】
    

通常一个关系模式对应一个关系文件的结构。五码

  • 候选码(或候选键):属性或者属性组合,可唯一标识某个元组
  • 主码(或主键):多个候选码中,选择一个作为主码,单个即可表示一个元组的属性
  • 主属性:包含在任何候选码中的属性称为主属性,否则称为非主属性。
  • 外码(或外键):如果一个关系中的属性或属性组并非该关系的码,而是另一个关系的码,称为该关系的外码。可指定到另一个表。
  • 全码(或全键):关系中的所有属性组成的属性组是这个关系模式的候选码,称为全码
  • 超码(或超键):一个包含码的属性集称为超码。

2、关系模型中的关系完整性约束

关系模型由关系数据结构、关系操作集合和关系完整性约束组成。

  • 实体完整性:主码不可为空或部分为空(对于主码组合来说)。
  • 参照完整性:关系R的外码X对应关系T的主码的话,外码X的每个值都要在关系T中的主码中找到或者外码X为空
  • 用户定义的完整性:指用户对某一具体数据指定的约束条件进行检验

3、关系代数(重要)

(1)关系代数运算符
  • 集合运算符:并( ⋃ \bigcup )、差(-)、交( ⋂ \bigcap )、笛卡尔积( × \times ×
  • 专门的关系运算符:选择( σ \sigma σ)、投影( π \pi π)、连接($$)、除( ÷ \div ÷)
  • 逻辑运算符:非、与( ⋀ \bigwedge )、或( ⋁ \bigvee )
  • 比较运算符:大于(>)、大于等于( ≥ \geq )、小于(<)、小于等于( ≤ \leq )、等于(=)、不等于( ≠ \not= =)
(2)集合运算符
  • 并:关系R与关系S所有元组合并,删除重复元组,组成的新关系,即为R ⋃ \bigcup S
  • 差:关系R中除去关系S中的元组,即为R-S
  • 交:既属于关系R,又属于关系S的元组,组成的新关系,即为R ⋂ \bigcap S。R ⋂ \bigcap S = R-(R-S)
    元组数:R有m个元组,S有n个元组,两者有k个元组相同
    R ⋃ \bigcup S: m+n-k
    R-S: m-k
    R ⋂ \bigcap S: k
  • 笛卡尔积:R中的每一元组与S的每一元组相乘。新关系的列数为n+m,行数为n*m。
    集合运算符
(3)专门的关系运算符

投影
从关系的垂直方向进行运算,在关系R中选出若干属性组成的新关系。
投影
选择
从关系的水平方向进行运算,在关系R中选出符合条件的元组组成的新关系。
选择
列也可用数字来表示,如果上面的5没带引号,表明是第5列。
举例
连接(这个地方,连接的符号是真没找到怎样表示,麻烦知道的授教,多谢)
连接又分为 θ \theta θ连接、等值连接、自然连接

  • θ \theta θ连接:关系R和关系S的笛卡尔积中找到符合条件的元组形成的新关系
    theta连接

  • 等值连接: θ \theta θ为等号时,找到关系R和关系S的笛卡尔积中的元组形成的新关系
    上方的例子中,当R.A = S.B时,就是等值连接了。

  • 自然连接:找到两关系的笛卡尔积中相同属性列相同的元组,且去除重复列形成的新关系,若有多个相同属性,条件之间的关系为“并且”.
    自然连接
    左连接、右连接、全连接(考的几率小)
    左连接:左侧关系元组全部保留,右侧关系无对应元组的属性,用Null代替。这会使右侧关系的无对应元组丢失。
    右连接:右侧关系元组全部保留,左侧关系无对应元组属性用null代替。这会使左侧关系中无对应元组丢失。
    全连接:左右侧关系元组全部保留,两侧无对应的元组属性都用Null代替。这个是为了不丢失两关系中的元组。
    (考的几率小)
    步骤:
    1、找到左侧关系A中与右侧关系B的相同属性,形成新元组C。
    2、找到关系C中与关系B值相同的元组,为A ÷ \div ÷B的值

(4)运算符转sql

对于已工作的人就分分钟的事了,不详细写了哈,很容易
投影:即select语句的属性列
选择:即select语句的条件,where后面的
笛卡尔积:from表直接 R,S 即可
自然连接:自然连接可以转成投影、选择、笛卡尔积的式子,按上面的来就可以。自然连接要注意共同属性值相等这个条件欧

三、三级模式和两级映像

存在多种数据库语言,支持不同数据模型,数据的存储结构也不相同,但体系结构上基本都具有“三级模式、两级映像”的特征。

1、三级模式

  • 外模式(对应视图
  • 概念模式,常称模式(对应基本表
  • 内模式(对应存储文件

2、两级映像

  • 外模式/模式映像:保证了数据的逻辑独立性
  • 模式/内模式映像:保证了数据的物理独立性

四、SQL语言(重要)

1、SQL语言分类

(1)数据定义语言(DDL)

常见于create、alter、drop

// 建表
create table user (
	id integer,
	username string,
);
// 修改
alter table user add age integer;
alter table user alter username char(5); // 分数据库,有的是modify
alter table user drop username;
// 删除
drop table user;

完整性约束

  • 列完整性约束
create table user (
	id integer not null unique,
	username string not null default '数据库',
);
  • 表完整性约束
create table user (
	id integer not null unique,
	username string not null default '数据库',
	cid unique,
	primary key(id),    // 主键
	foreign key(cid) references class(id)
);
  • 自定义完整性约束
create table user (
   id integer not null unique,
   username string not null default '数据库',
   cid unique,
   primary key(id),    // 主键,实体完整性
   foreign key(cid) references class(id),// 参照完整性
   check (id >0 and cid >0)  // 用户定义的完整性
);
(2)数据操作语言(DML)

常见于insert 、delete、update
user(id,username,age)

// 插入
insert into user(username,age) values('生活',3728272);
insert into user values(112,'远方',728);
// 更新
update user set username = '诗' where age = 728;
update user set username = '诗',id = 273 where age = 728;
// 删除
delete from user where id = 728;
(3)数据查询语言(DQL)

常见于select

select * from user;
select username from user;
select distinct username from user;  // 去除重复元组
select username as '用户名' from user;

select * from user where id in (112,121,113); // 112或是121或是113
select * from user where id not in (112,121,113);
select * from user where id between 30 and 40;
select * from user where username like '%生%';  // 百分号表示可补充任意长度字符
select * from user where username like '生_';  // 下划线表示可补充一个长度的字符
select * from user where username not like '生_';

select * from user where username like '生_' and id = 112; 
select * from user where username like '生_' or id = 112; 
select * from user where id is null;
select * from user where id is not null;

select * from user where id order by id asc;  // 默认,order by必须是select命令的最后一个子句
select * from user where id order by id desc;

// 聚合函数
select AVG(id) from user;  // 平均值
select COUNT(*) from user; // 求数量
select MAX(id) from user; // 最大值
select MIN(id) from user; // 最小值
select SUM(id) from user;//总和

// 数据分组,聚合函数在与其他字段同时查询时,会报错
select  user_id,SUM(成绩) from score group by user_id; // 按用户分组求每个用户id的成绩和
select  user_id,name,SUM(成绩) from score group by user_id,name; 

// 条件中要使用聚合函数时,用having
select 学号 from score where 分数 is not null group by 学号 having MIN(分数)>70 and MAX(分数) <90;

(4)内连接
select s.score from user u inner join score s on u.id = s.user_id where .....
// 等值连接
select u.user_name from user u,score s where u.id = s.user_id;
// 非等值连接
select u.user_name from user u,score s where s.score between AVG(s.score) and MAX(s.score);
// 自连接
select x.user_name,x.age,x.sex from user x,user y where x.number = '2222' and x.age > y.age
(5)外连接
// 左连接,会显示左侧表所有的数据,右侧表不匹配数据丢失
select u.* from user u left join score s on s.user_id = u.id;
// 右连接,会显示右侧表所有的数据,左侧表不匹配数据丢失
select s.* from user u right join score s on s.user_id = u.id;
// 全连接
select s.* from user u full join score s on s.user_id = u.id;
(6)子查询
select * from user u where u.id in (select s.user_id from score where score >90)

// ANY,大于任何一个都显示
select * from user where age > ANY(select age from user where sex= 1);
// ALL,比最大的还大才显示
select * from user where age > ALL(select age from user where sex= 1);
// 相关子查询,一个字段既做条件也做结果值
select score,class from class a where score > (select AVG(score) from class b where a.class = b.class)
// exist
select * from user u where exist (select score from score s where u.is = s.user_id);
// not exist
select * from user u where not exist (select score from score s where u.is = s.user_id);
(7)并交差
// 并 UNION。两个sql语句中的数据都显示
select 姓名,年龄 from teacher
UNION
select 姓名,年龄 from student
// 交 INTERSECT。两个sql语句中相同的数据显示
select 姓名,年龄 from teacher
INTERSECT
select 姓名,年龄 from student
// 差 EXPECT。从第一个结果中去除第二个结果中的值
select 姓名,年龄 from teacher
EXPECT
select 姓名,年龄 from student
(8)数据控制语言(DDL)

指对权限的控制,权限又分为表和库
权限
后缀解释

// 授权
grant update(name) on table user to user1 with grant option;
grant select on table user,score to user1 ,user2;
grant all privileges on table user to user1;
grant createtab on database basename to user1;
// 收回权限
revoke createtab on database basename from user1;
revoke select on table user from public
(9)视图

视图其实就是虚拟表,根据条件选出另一表中符合的数据。同理视图生成之后,向视图中添加数据就是向对应的表中添加数据。可对应多个表

create view student
as select name,id from user where type = '学生';
// 此时不加 with check option ,可以随意向视图中添加数据。
create view student
as select name,id from user where type = '学生' with check option;
// 加上 with check option后,只有类型是学生的数据才可以被加进去,否则会报错。且这个限制只有存在where条件才生效。

// 删除视图
drop view student;
(10)索引

创建索引修改的是内模式–存储文件。

// 唯一索引,单个值在表中只能有一条数据
create unique index indexName on user(user_id);  
// 聚簇索引,索引项顺序是与表中记录的物理顺序一致的索引组织。
create cluster index indexName on user(user_id);

五、关系数据库的规范化

1、函数依赖(重要)

(1)函数依赖分类

函数依赖
组合属性才存在完全、部分函数依赖区分,单个属性就是完全函数依赖
在这里插入图片描述

(2)属性闭包

常考候选关键字、主属性、非主属性。
常见题目
可以求出闭包来的属性或者属性组合被叫做候选关键字(候选码属性组合中的任一真子集不可求出闭包)。找关键字从箭头左侧的属性中找就可以,因为右侧的属性都是被决定的。
A->ABC->ABCD = U
这里A就是候选关键字。
如果说从AC开始求闭包,其实也可以求出来,但是AC中的A单独就可以求出来,所以AC不可以被称为候选关键字。其中候选关键字中的属性叫做主属性,未在候选关键字中的属性叫非主属性。若有多个候选码,可选择其中一个作为主码。
主键为全码就是所有属性为候选关键字。

2、规范化(重要)

检查符合第几范式的标准:
1NF:属性是否不可再分
2NF:非主属性是否全部完全函数依赖候选码
3NF: 非主属性是否全部非传递依赖于主属性
BFNF:主属性是否对于候选码有部分函数依赖或者传递依赖(不常考)
范式

多值依赖

表示方式:X->->Y
X多值决定Y,Y多值决定X
比如:一门课有多个讲师授课,需要用到多本辅导书。
对于关系R的每个非平凡多值依赖X->->Y,X都包含了R的一个候选码,则称R为第四范式。

考点

常考题:

  • 候选码
  • 可达到第几范式
  • 关系分解
  • 有损、无损连接,是否保持函数依赖

一般都符合第一范式,那么就要判断是否存在部分函数依赖(不存在,就是第二范式)和传递依赖(不存在,就是第三范式)。
传递依赖要注意有两种情况:

  1. X->Y,Y->Z
  2. X->Y, YZ -> W,就有XZ->W

无损连接标准

一般这种题,会将关系分解的结果给出来,我们需要将分解后的各关系使用自然连接,判断其结果是否等于关系的全集,若等于,为无损连接;若不等于,则是有损连接。
是否保持函数依赖,就要看新的关系中是否还能得到题目中给的依赖关系(包含传递)

六、数据库设计

数据库设计策略:自顶向下和自底向上

1、数据库设计步骤

  • 需求分析:获取用户需求,了解关系边界
  • 概念分析:E-R图表示
  • 逻辑设计:E-R图转关系模式,并进行规范化
  • 物理设计:在数据库中的具体实现

2、需求分析

  • 需求分析是逻辑设计以及物理设计的依据
  • 确认系统边界是需求分析的步骤
  • 需求分析最终要生成需求说明文档、数据流程图、数据字典

3、概念设计

(1)E-R图(重要)

实体-关系模型
(本文上方也有)

  • 实体 长方形表示,即元组
  • 关系 菱形表示
  • 属性 椭圆形表示
    三者用无向边联系起来,无向边上标注1或多

属性分类

  • 简单属性和复合属性:属性为原子级,不可再分为简单属性。可再分为复合属性,也就不符合第一范式
  • 单值属性和多值属性:一个实体只有一个值的属性叫做单值属性,反之为多值属性。比如一本书的名字只能是那一个;学生的爱好可以是学习(哈哈哈),也可以是篮球、跑步…
  • null属性:空值为null
  • 派生属性:可通过其他属性计算得到的。比如年龄可以通过出生年月与当前时间计算得到

不常见的

  • 弱实体:该实体依赖于另一个实体存在。比如职工家属,只有存在职工时,才会有。双层长方形表示
  • 弱关系:弱实体集联系的表示。双层菱形表示

(2)概念设计

冲突类型
E-R图设计好之后,需要经过选择应用-> 设计分E-R图->合并E-R图
可能会存在的冲突类型:

  1. 属性冲突:同一属性在不同的E-R图中都存在,但值的类型或者大小不同
  2. 命名冲突:同一属性在不同的E-R图中都存在,名称不同。异名同义、同名异义
  3. 结构冲突:有一字段,在A E-R图中是个属性,但在B中是实体

4、逻辑设计【E-R图转关系模式】

  1. 实体转关系模式
    实体名为关系名,属性为关系模式的属性
    在这里插入图片描述
    学生(学号,姓名,年龄)

  2. 一对一关系转关系模型
    厂长(姓名,性别,年龄)
    工厂(厂号,厂名,地点)
    方法一:关系名为关系模式的名称,与之有关的两实体的主键和关系的属性(如果有的话)为关系模式的属性
    管理(姓名,厂名,管理方式)
    方法二:将其中一实体的主码与关系的属性放入另一实体的属性中
    厂长(姓名,性别,年龄,厂名,管理方式)
    或者
    工厂(厂号,厂名,地点,姓名,管理方式)
    在这里插入图片描述

  3. 一对多关系转关系模型
    仓库(仓库号,地点,面积)
    商品(货号,商品名,价格)
    方法一:关系名为关系模式的名称,与之有关的两实体的主键和关系的属性(如果有的话)为关系模式的属性
    仓储(仓库号,货号,数量)
    方法二:将联系归并到实体的多方,给实体增加另一方的主码和关系的属性作为关系模式的属性。
    商品(货号,商品名,价格,仓库号,数量)
    在这里插入图片描述

  4. 多对多关系转关系模型
    关系名为关系模式的名称,与之有关的两实体的主键和关系的属性(如果有的话)为关系模式的属性
    选修(学号,课程号,成绩)
    在这里插入图片描述

5、物理设计

不考

6、数据库的实施与维护

不考

七、数据库的控制管理

1、事务管理

原则

要么不做,要么都做

特点

  • 原子性:原子的,要么都做,要么都不做
  • 一致性:事务执行的结果必须保证数据库从一个一致性状态到另一个一致性状态
  • 隔离性:事务相互隔离,当多个事务并行执行时,相互之间不可见
  • 持久性:即使数据库崩溃,事务对于数据库的更新也存在

2、数据库的备份与恢复

为应对数据库系统因软、硬件故障导致的数据丢失或损坏,需要做一些可恢复数据的措施。

(1)故障类型

  • 事务内部故障
  • 系统故障
  • 介质故障
  • 计算机病毒

(2)备份方法

恢复的基本原理是“建立数据冗余”,即进行数据转储和登记日志文件。

  • 静态转储和动态转储:静态转储在转储期间不允许对数据库进行任何操作;反之为动态转储。
  • 海量转储和增量转储:每次转储都是全量转储为海量转储;每次转储只转储上次转储后更新的内容为增量转储。
  • 日志文件:将对数据的每次操作都写入日志文件,DBMS可使用日志文件进行事务故障恢复和系统故障恢复、介质故障恢复。

为保证数据库中数据的安全可靠和正确有效,在进行事务处理时,对数据的插入、删除或修改的全部有关内容写入日志文件;当系统正常运行时,按一定时间间隔,将数据库缓冲区内容写入数据文件;发生故障时,根据现场数据内容及相关文件恢复系统状态。

3、并发控制

并发控制的主要技术是封锁。分为排它锁(X锁或读锁)和共享锁(S锁或写锁)
排它锁:某一事物对数据加了排它锁之后,可读取修改,其他事务不可再对数据加任何锁
共享锁:某一事物对数据加了共享锁之后,可读取,其他事物也对数据加共享锁

八、分布式数据库

都是概念性的题目,记住吧
分布式

九、奇怪的考过的点

  • 遗传算法采用模拟生物进化的三个基本过程“繁殖、交叉、变异”
  • 数据库逻辑设计中,若实体存在多值属性,那么将E-R图转成关系模式时,将实体的码分别和每个多值属性独立构成一个关系模式,可使得得到的关系模式属于4NF
  • JDBC是java技术中访问数据库的方式,也是目前用java技术实现的基于web的应用的数据库访问方式。com是一种组件技术,cgi是一种网络应用技术。
  • 函数依赖
    在这里插入图片描述
  • **OLAP(联机分析处理)**可为用户提供一个便利的多维度观点和方法,以有效的对数据进行复杂的查询动作
  • 数据库的安全机制中,通过提供存储过程供第三方开发人员调用进行数据更新,从而保证数据库的关系模式不会被第三方获取

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

蓝桥杯 回忆迷宫 BFS DFS暴力模拟

⭐ 题目地址 样例输入 17 UUUULLLLDDDDRRRRU样例输出 ***** * * * *** * * *** * * *** * * ******&#x1f920; 注意方向&#xff1a;颠倒数组&#xff0c;行下标 是 y&#xff0c;列下标 是 x import java.util.*;public class Main { static int n;static int …

如何用jmeter+ant+jenkins搭建一个接口自动化测试框架?

目录 前言 一、什么是Jmeter&#xff1f; 二、什么是Ant&#xff1f; 三、什么是Jenkins&#xff1f; 四、如何构建一个JmeterAntJenkins的接口自动化测试框架&#xff1f; 五、JmeterAntJenkins接口自动化测试框架的优势和特点 六、总结 前言 Jmeter是一款功能强大的开…

2023年Win11备份文件的快捷方式

文件备份对于数据保护非常重要。无论是什么类型的文件&#xff0c;如照片、文档、音频、视频&#xff0c;它们对您来说都是独一无二的、珍贵的&#xff0c;因此您想备份文件并保护它们。 首先&#xff0c;备份文件无疑是保护文件的好习惯&#xff0c;尤其是定时备份。其次&…

笔记本可自行更换CPU、独显了,老外用它手搓了台“PS5”

前面说到微软打算在 Win12 出来前搞出个模块化的Windows&#xff1a;下一个系统不是Win12&#xff0c;微软要复活Win10X。 模块化不用小蝾再过多介绍了&#xff0c;就像积木一样拼在一起组成一个整体。 优势就很明显了&#xff0c;由于每个部分都是单独的模块&#xff0c;更新…

ChatGPT如何写作-怎么让chatGPT批量写作

ChatGPT如何写作 使用 ChatGPT 进行写作一般可以遵循以下步骤&#xff1a; 定义写作主题和目的。确定写作主题和目的&#xff0c;包括要解决的问题、目标读者群体以及需要涵盖的主要内容。 收集文献和资料。收集与主题相关的文献和资料&#xff0c;可以从互联网、书籍、报刊杂…

Spring Cloud组件源码之OpenFeign源码分析

" Spring 到底是春天的来临万物复苏&#xff0c;还是春转夏的干燥又炎热呢&#xff1f;" Spring的来临让JavaEE走向了另一个高度。便捷的开发&#xff0c;完美的生态。物极必反&#xff0c;学习Spring的成本越来越低&#xff0c;导致Java程序员越来越密集&#xff0…

VS2022编译libui库

libui是一个 C 中简单且可移植(但并非不灵活)的 GUI 库,它使用每个平台原生的GUI技术进行绘制。 官网地址:链接 本文将使用VS2022编译libui库,操作系统为Windows10。 1. 下载源代码 首先在官网下载源代码,由于此代码不依赖第三库,故只需下载源代码即可进行编译。 我下…

JavaScript函数中的arguments(js函数中的arguments,函数默认参数arguments)

简述&#xff1a;js中的函数大家都比较熟悉&#xff0c;今天来分享下函数中的默认参数arguments。js的函数参数和其他的语言有些不同&#xff0c;它并不介意你传进来多少个参数&#xff0c;以及参数的数据类型&#xff0c;即使你在定义函数时&#xff0c;只设置了两个形参&…

「解析」Matplotlib 绘制折线图

相比于【优雅】matplotlib 常见图、【优雅】matplotlib 3D图 而言&#xff0c;折线图使用的频率会更高一些&#xff0c;在此整理下最近使用 Matplotlib 绘制折线图常用的一些配置&#xff0c;小伙伴们只需要修改对应的 aug_list、list 即可直接使用 # !/usr/bin/env python …

asp.net mvc学习(三)

Razor语法 Razor语法特点 结构性强&#xff0c;容易阅读。易于学习。不是新的语言。在任何编辑器上编写Razor都很容易。与ide充分结合。 Razor语法主要规则 Razor代码封装于{...}中。 行内表达式&#xff08;变量和函数&#xff09;以开头 代码语句以分号结尾 字符串由引号…

Python 进阶指南(编程轻松进阶):八、常见的 Python 陷阱

原文&#xff1a;http://inventwithpython.com/beyond/chapter8.html 虽然 Python 是我最喜欢的编程语言&#xff0c;但它也不是没有缺陷。每种语言都有缺点&#xff08;有些比其他的多&#xff09;&#xff0c;Python 也不例外。新的 Python 程序员必须学会避免一些常见的“陷…

JavaScript 中问号的三种用法 ??和?.以及?: 您知道吗?

最近看了一些关于JavaScript的测试脚本&#xff0c;觉得JS 中问号的用法还是蛮有意思的&#xff0c;于是做了一下总结&#xff0c;在这里分享给大家&#xff01;JS中的问号大概有三种用法&#xff0c;分别是&#xff1a;空值合并操作符、可选链操作符和三目运算。 问号问号&…

如何使用手机远程锁定电脑?

​“有时我已经到家了&#xff0c;却忘记锁上我的公司的电脑。每次我都害怕我电脑上的数据丢失。我可以在手机上远程锁定我的Windows计算机以避免这个问题吗&#xff1f;” 答案是肯定的&#xff01;很多人可能会遇到同样的下班不锁电脑的问题&#xff0c;有的人可能尝…

新规拉开中国生成式AI“百团大战”序幕?

AI将走向何方&#xff1f; ChatGPT在全球范围掀起的AI热潮正在引发越来越多的讨论&#xff0c;AI该如何管理&#xff1f;AI该如何发展&#xff1f;一系列问题都成为人们热议的焦点。此前&#xff0c;马斯克等海外名人就在网络上呼吁OpenAI暂停ChatGPT的模型训练和迭代&#xf…

算法套路八——二叉树深度优先遍历(前、中、后序遍历)

算法套路八——二叉树深度优先遍历&#xff08;前、中、后序遍历&#xff09; 算法示例&#xff1a;LeetCode98&#xff1a;验证二叉搜索树 给你一个二叉树的根节点 root &#xff0c;判断其是否是一个有效的二叉搜索树。 有效 二叉搜索树定义如下&#xff1a; 节点的左子树只…

Shell脚本之免交互

一、Here Document免交互 1、 概念 Here Document使用I/O重定向的方式将命令列表提供给交互式程序或命令&#xff0c;比如 ftp、cat 或 read 命令。 是标准输入的一种替代品可以帮助脚本开发人员不必使用临时文件来构建输入信息&#xff0c;而是直接就地生产出一个"文件…

No.033<软考>《(高项)备考大全》【第17章】战略管理

【第17章】战略管理1 章节相关2 战略管理2.1 组织战略管理2.1 组织战略类型和层次2.1.1 组织事业战略类型2.1.2 组织事业战略类型2.1.3 组织完整的战略包括三个层次2.1.4 组织战略从层次分为组织层战略、事业层战略、职能层战略等2.1.5 平横计分卡2.1.6 项目组合管理3 练习题参…

Leetcode.111 二叉树的最小深度

题目链接 Leetcode.111 二叉树的最小深度 easy 题目描述 给定一个二叉树&#xff0c;找出其最小深度。 最小深度是从 根节点 到 最近叶子节点 的 最短路径上的节点数量。 说明: 叶子节点是指没有子节点的节点。 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,nul…

车载网络 - Autosar网络管理 - 网络管理简介

一、什么是CAN网络管理及它的作用 现在的车辆是由大量的ECU节点组成的&#xff0c;为了能使各ECU能够正确并及时地进行CAN通信&#xff0c;需要有一套机制来统一协调总线上各节点的休眠唤醒&#xff0c;这套机制就是CAN网络管理&#xff08;NM&#xff09;。 网络管理的目的是保…

项目2:后端管理员项目结构初始化

项目2&#xff1a;后端管理员项目结构初始化 1.创建数据库和表 2.初始化父项目 3.初始化项目模块 4.初始化core核心模块&#xff08;代码生成器&#xff09; 项目2&#xff1a;后端管理员项目结构初始化 1.创建表 创建数据库 编码使用utf-8 sql语句 /*Navicat Premium …