数据库,计算机网络、操作系统刷题笔记27

数据库,计算机网络、操作系统刷题笔记27

2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开发,测开
测开的话,你就得学数据库,sql,oracle,尤其sql要学,当然,像很多金融企业、安全机构啥的,他们必须要用oracle数据库
这oracle比sql安全,强大多了,所以你需要学习,最重要的,你要是考网络警察公务员,这玩意你不会就别去报名了,耽误时间!
考网警特招必然要考操作系统,计算机网络,由于备考时间不长,你可能需要速成,我就想办法自学速成了,课程太长没法玩
刷题笔记系列文章:
【1】Oracle数据库:刷题错题本,数据库的各种概念
【2】操作系统,计算机网络,数据库刷题笔记2
【3】数据库、计算机网络,操作系统刷题笔记3
【4】数据库、计算机网络,操作系统刷题笔记4
【5】数据库、计算机网络,操作系统刷题笔记5
【6】数据库、计算机网络,操作系统刷题笔记6
【7】数据库、计算机网络,操作系统刷题笔记7
【8】数据库、计算机网络,操作系统刷题笔记8
【9】操作系统,计算机网络,数据库刷题笔记9
【10】操作系统,计算机网络,数据库刷题笔记10
【11】操作系统,计算机网络,数据库刷题笔记11
【12】操作系统,计算机网络,数据库刷题笔记12
【13】操作系统,计算机网络,数据库刷题笔记13
【14】操作系统,计算机网络,数据库刷题笔记14
【15】计算机网络、操作系统刷题笔记15
【16】数据库,计算机网络、操作系统刷题笔记16
【17】数据库,计算机网络、操作系统刷题笔记17
【18】数据库,计算机网络、操作系统刷题笔记18
【19】数据库,计算机网络、操作系统刷题笔记19
【20】数据库,计算机网络、操作系统刷题笔记20
【21】数据库,计算机网络、操作系统刷题笔记21
【22】数据库,计算机网络、操作系统刷题笔记22
【23】数据库,计算机网络、操作系统刷题笔记23
【24】数据库,计算机网络、操作系统刷题笔记24
【25】数据库,计算机网络、操作系统刷题笔记25
【26】数据库,计算机网络、操作系统刷题笔记26


Oracle数据库知识点复习

视图:虚表

常见的数据库对象:
表,视图
序列,索引
同义词,触发器

视图:就是一个不存在的虚表
通过视图可以展现部分的表的内容,这样可以让别人查不到你的隐私
在这里插入图片描述
将这四个字段封装为虚表:视图
给你瞅瞅的
在这里插入图片描述
视图也可以建立在多张表之上
在这里插入图片描述
视图的优势:
1、简化查询

一般查询

select e.empno,e.ename,e.sal,e.comm,d.dname from emp e,dept d where e.deptno=d.ddeptno;

SQL> select e.empno,e.ename,e.sal,e.comm,d.dname from emp e,dept d where e.deptno=d.deptno;

     EMPNO ENAME                       SAL       COMM DNAME
---------- -------------------- ---------- ---------- ----------------------------
      7782 CLARK                      2450            ACCOUNTING
      7839 KING                       5000            ACCOUNTING
      7934 MILLER                     1300            ACCOUNTING
      7566 JONES                      2975            RESEARCH
      7902 FORD                       3000            RESEARCH
      7876 ADAMS                      1100            RESEARCH
      7369 SMITH                       800            RESEARCH
      7788 SCOTT                      3000            RESEARCH
      7521 WARD                       1250        500 SALES
      7844 TURNER                     1500          0 SALES
      7499 ALLEN                      1600        300 SALES
      7900 JAMES                       950            SALES
      7698 BLAKE                      2850            SALES
      7654 MARTIN                     1250       1400 SALES

已选择14行。

你以后经常要这么查,可以不必写了
我们可以给它创建视图

create view 视图名 as (select 语句);
create view empview1 as (select e.empno,e.ename,e.sal,e.comm,d.dname from emp e,dept d where e.deptno=d.deptno);

create view empview1 as (select e.empno,e.ename,e.sal,e.comm,d.dname from emp e,dept d where e.deptno=d.deptno)
            *1 行出现错误:
ORA-01031: 权限不足

scott用户没有创建视图的权力

我们应该给scott赋予创建视图的权力
切换到dba用户

在这里插入图片描述
在这里插入图片描述

然后我们再创建视图

SQL> create view empview1 as (select e.empno,e.ename,e.sal,e.comm,d.dname from emp e,dept d where e.deptno=d.deptno);

视图已创建。

SQL> select * from empview1;

     EMPNO ENAME                       SAL       COMM DNAME
---------- -------------------- ---------- ---------- ----------------------------
      7782 CLARK                      2450            ACCOUNTING
      7839 KING                       5000            ACCOUNTING
      7934 MILLER                     1300            ACCOUNTING
      7566 JONES                      2975            RESEARCH
      7902 FORD                       3000            RESEARCH
      7876 ADAMS                      1100            RESEARCH
      7369 SMITH                       800            RESEARCH
      7788 SCOTT                      3000            RESEARCH
      7521 WARD                       1250        500 SALES
      7844 TURNER                     1500          0 SALES
      7499 ALLEN                      1600        300 SALES
      7900 JAMES                       950            SALES
      7698 BLAKE                      2850            SALES
      7654 MARTIN                     1250       1400 SALES

已选择14行。

完美了

这就是简化查询

2、可以增加数据的安全性
上面1中的数据,以外的别的数据,你是看不到的,你无法操作的,所以其他字段很安全;

**操作视图的功能:**可以增删改查,跟表的操作一致,但是不建议增删改,只查就行

update empview1 set sal=100 where sal=800;

更新操作,原表也gg,都得更改

由于来源是2个表,咱们怎么修改呢?
在这里插入图片描述

连接之后的样子
在这里插入图片描述
如果是笛卡尔乘积——没有连接条件,ggg

在这里插入图片描述
正常连接的情况,就好改,整体改就行

SQL> update empview1 set sal=100 where sal=800;

已更新 1 行。

SQL> select * from empview1;

     EMPNO ENAME                       SAL       COMM DNAME
---------- -------------------- ---------- ---------- ----------------------------
      7782 CLARK                      2450            ACCOUNTING
      7839 KING                       5000            ACCOUNTING
      7934 MILLER                     1300            ACCOUNTING
      7566 JONES                      2975            RESEARCH
      7902 FORD                       3000            RESEARCH
      7876 ADAMS                      1100            RESEARCH
      7369 SMITH                       100            RESEARCH
      7788 SCOTT                      3000            RESEARCH
      7521 WARD                       1250        500 SALES
      7844 TURNER                     1500          0 SALES
      7499 ALLEN                      1600        300 SALES
      7900 JAMES                       950            SALES
      7698 BLAKE                      2850            SALES
      7654 MARTIN                     1250       1400 SALES

已选择14行。

你看上面的100就是800变来的

但是不建议用视图去改编数据表哦

SQL> select * from emp;

     EMPNO ENAME                JOB                       MGR HIREDATE              SAL       COMM     DEPTNO
---------- -------------------- ------------------ ---------- -------------- ---------- ---------- ----------
      7369 SMITH                CLERK                    7902 17-12-80            100                    20
      7499 ALLEN                SALESMAN                 7698 20-2-81           1600        300         30
      7521 WARD                 SALESMAN                 7698 22-2-81           1250        500         30
      7566 JONES                MANAGER                  7839 02-4-81           2975                    20
      7654 MARTIN               SALESMAN                 7698 28-9-81           1250       1400         30
      7698 BLAKE                MANAGER                  7839 01-5-81           2850                    30
      7782 CLARK                MANAGER                  7839 09-6-81           2450                    10
      7788 SCOTT                ANALYST                  7566 19-4-87           3000                    20
      7839 KING                 PRESIDENT                     17-11-81           5000                    10
      7844 TURNER               SALESMAN                 7698 08-9-81           1500          0         30
      7876 ADAMS                CLERK                    7788 23-5-87           1100                    20
      7900 JAMES                CLERK                    7698 03-12-81            950                    30
      7902 FORD                 ANALYST                  7566 03-12-81           3000                    20
      7934 MILLER               CLERK                    7782 23-1-82           1300                    10

已选择14行。

你看emp表里面的100
也gg了
咱们把它改为回去

SQL> update empview1 set sal=800 where sal=100;

SQL> update empview1 set sal=800 where sal=100;

已更新 1 行。

不能出现歧义就行

单表,可以随意更新,如果多个表联合更新,那就需要唯一一条存在才行

在创建视图后面可以增加视图选项
with check option;

create view empview2 as (select e.deptno,e.empno,e.ename,e.sal,e.comm,d.dname from emp e,dept d where e.deptno=d.deptno and e.deptno=20) with check option;

SQL> create view empview2 as (select e.deptno,e.empno,e.ename,e.sal,e.comm,d.dname from emp e,dept d where e.deptno=d.deptno and e.deptno=20) with check option;

视图已创建。

SQL> select * from empview2;

    DEPTNO      EMPNO ENAME                       SAL       COMM DNAME
---------- ---------- -------------------- ---------- ---------- ----------------------------
        20       7369 SMITH                       800            RESEARCH
        20       7566 JONES                      2975            RESEARCH
        20       7788 SCOTT                      3000            RESEARCH
        20       7876 ADAMS                      1100            RESEARCH
        20       7902 FORD                       3000            RESEARCH

你试一下,能否将deptno改为40?

update empview2 set deptno=40 where empno=7369;

SQL> update empview2 set deptno=40 where empno=7369;
update empview2 set deptno=40 where empno=7369
                    *1 行出现错误:
ORA-01733: 此处不允许虚拟列

啥意思呢?
你视图右边的表中的deptno仍然是20
匹配好的
你现在要把左边表改为20
岂不是不可能的事情
因为视图是联动的
所以必须报错!!!

反正一句话:别自己更删改视图!!!!

咱们来个简单的视图

create view empview3 as select empno,ename,deptno from emp;

SQL> select * from empview3;

     EMPNO ENAME                    DEPTNO
---------- -------------------- ----------
      7369 SMITH                        20
      7499 ALLEN                        30
      7521 WARD                         30
      7566 JONES                        20
      7654 MARTIN                       30
      7698 BLAKE                        30
      7782 CLARK                        10
      7788 SCOTT                        20
      7839 KING                         10
      7844 TURNER                       30
      7876 ADAMS                        20
      7900 JAMES                        30
      7902 FORD                         20
      7934 MILLER                       10

已选择14行。

单表随意改

咱们可以更新那个某就一个人的部门编号为40
它会不见的

SQL> create view empview3 as select empno,ename,deptno from emp where deptno=20;

视图已创建。

SQL> select * from empview3;

     EMPNO ENAME                    DEPTNO
---------- -------------------- ----------
      7566 JONES                        20
      7788 SCOTT                        20
      7876 ADAMS                        20
      7902 FORD                         20

SQL> update empview3 set deptno=40 where empno=7566;

已更新 1 行。

SQL> select * from empview3;

     EMPNO ENAME                    DEPTNO
---------- -------------------- ----------
      7788 SCOTT                        20
      7876 ADAMS                        20
      7902 FORD                         20

你瞅瞅,你改了部门40
这里就只会呈现20的
所以骚啊

如果你不想让人改这个20
那就加check option

with check option;的作用,限制对视图操作时,必须满足where语句

SQL> drop view empview3;

视图已删除。

SQL> create view empview3 as select empno,ename,deptno from emp where deptno=20 with check option;

视图已创建。

SQL> select * from empview3;

     EMPNO ENAME                    DEPTNO
---------- -------------------- ----------
      7788 SCOTT                        20
      7876 ADAMS                        20
      7902 FORD                         20

SQL> update empview3 set deptno=40 where empno=7566;

已更新0行。

SQL> update empview3 set deptno=40 where empno=7788;
update empview3 set deptno=40 where empno=7788
       *1 行出现错误:
ORA-01402: 视图 WITH CHECK OPTION where 子句违规

有了check,你就不能随意改where里面的条件了
ORA-01402: 视图 WITH CHECK OPTION where 子句违规
美滋滋

你不可以乱改那个where的条件

最好加整个:
with read only
视图,看就行,别搞其他操作就行

SQL> drop view empview3;

视图已删除。

SQL> create view empview3 as select empno,ename,deptno from emp where deptno=20 with read only;

视图已创建。

SQL> select * from empview3;

     EMPNO ENAME                    DEPTNO
---------- -------------------- ----------
      7788 SCOTT                        20
      7876 ADAMS                        20
      7902 FORD                         20

SQL> update empview3 set deptno=40 where empno=7566;
update empview3 set deptno=40 where empno=7566
                    *1 行出现错误:
ORA-42399: 无法对只读视图执行 DML 操作

无法对只读视图执行 DML 操作
懂???

一定要记住这个建议,避免把原表搞废了

在这里插入图片描述

下面的考试爱考

**简单视图:**要求只能是一张表
不存在count等函数
无分组

**复杂视图:**可以是一张,可以是多张表
可以有函数
有分组
在这里插入图片描述
如果你非要对视图进行增删改
那就要遵循严格的条件

即使是单表,你也要谨慎
当视图中存在以下情况时,不能增加,不能更新:
group by,distinct,组函数,列的定义的别的表达式

select sal+100 from emp;
这种列的表达式,把这个构建视图,是无法修改的

当视图中存在以下情况时,不能删除:
rownum伪列,group by,distinct,组函数

总之,最好就只读就行了
在这里插入图片描述
Oracle有一个文字录屏功能:
开启录屏,关闭录屏
开启:
spool d:\note.txt;
关闭:
spool off;

SQL> spool d:\oraclenote.txt;
SQL> select * from emp;

     EMPNO ENAME                JOB                       MGR HIREDATE              SAL       COMM     DEPTNO
---------- -------------------- ------------------ ---------- -------------- ---------- ---------- ----------
      7369 SMITH                CLERK                    7902 17-12-80            800                    40
      7499 ALLEN                SALESMAN                 7698 20-2-81           1600        300         30
      7521 WARD                 SALESMAN                 7698 22-2-81           1250        500         30
      7566 JONES                MANAGER                  7839 02-4-81           2975                    40
      7654 MARTIN               SALESMAN                 7698 28-9-81           1250       1400         30
      7698 BLAKE                MANAGER                  7839 01-5-81           2850                    30
      7782 CLARK                MANAGER                  7839 09-6-81           2450                    10
      7788 SCOTT                ANALYST                  7566 19-4-87           3000                    20
      7839 KING                 PRESIDENT                     17-11-81           5000                    10
      7844 TURNER               SALESMAN                 7698 08-9-81           1500          0         30
      7876 ADAMS                CLERK                    7788 23-5-87           1100                    20
      7900 JAMES                CLERK                    7698 03-12-81            950                    30
      7902 FORD                 ANALYST                  7566 03-12-81           3000                    20
      7934 MILLER               CLERK                    7782 23-1-82           1300                    10

已选择14行。

SQL> spool off;
SQL>

然后你看看d盘的文件夹

在这里插入图片描述
在这里插入图片描述

行,关于视图的骚操作,今天就讲到这里

Internet上一个B类网络的子网掩码为255.255.252.0,则理论上每个子网的主机数最多可以有()台。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
91是0101开头的子网
在这里插入图片描述
D死0110开头的子网,当然不是一样的

都是计算子网的

http状态码

在这里插入图片描述

链接:https://www.nowcoder.com/questionTerminal/b039900d70ea46ab89e16455b08d71c0
来源:牛客网

1xx(临时响应)表示临时响应并需要请求者继续执行操作的状态代码。
2xx (成功)表示成功处理了请求的状态代码。
3xx (重定向) 表示要完成请求,需要进一步操作。 通常,这些状态代码用来重定向。
301 (永久移动) 请求的网页已永久移动到新位置。 服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置。
302 (临时移动) 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。
4xx(请求错误) 这些状态代码表示请求可能出错,妨碍了服务器的处理。
403 (禁止) 服务器拒绝请求
404 (未找到) 服务器找不到请求的网页
5xx(服务器错误)这些状态代码表示服务器在尝试处理请求时发生内部错误。 这些错误可能是服务器本身的错误,而不是请求出错。
500 (服务器内部错误) 服务器遇到错误,无法完成请求。
502 (错误网关) 服务器作为网关或代理,从上游服务器收到无效响应。

VXLAN在云计算场景中主要解决了如下哪些问题()

在这里插入图片描述

ARP如何查看目标主机的MAC地址?

在这里插入图片描述

在这里插入图片描述

在linux编程中,以下哪个TCP的套接字选项与nagle算法的开启和关闭有关?

在这里插入图片描述

在这里插入图片描述

流量控制指的是发送端和接收端的协调机制,无连接服务做不到。

在这里插入图片描述

IP是无连接的,有拥塞控制没有流量控制。
当TTL<=1时,丢弃数据包,避免了网络拥塞。
流量控制指的是发送端和接收端的协调机制,无连接服务做不到。

在这里插入图片描述

对于网络拥塞控制描述正确的有( )

在这里插入图片描述

在子网192.168.4.0/30中,能接收目的地址为192.168.4.3的IP分组的最大主机数是()。

在这里插入图片描述

链接:https://www.nowcoder.com/questionTerminal/718044d2e8d9405186e00f62411bd52c
来源:牛客网

首先分析192.168.4.0/30这个网络,主机号只占2位,地址范围为192.168.4.0~192.168.4.3,主机号全1时,即192.168.4.3是广播地址,主机号全0表示本网络本身,不作为主机地址使用,因此可容纳4-2=2个主机。

【注意】有些题(特别是综合题)可能采用逆向思维模拟考查,给出最大容量的主机数,要求进行适当的子网划分,也必须依照上述规律而灵活应用。
就是从3号机子给另外俩机子发,反正00不能用

共享存储器是共享内存,管道是共享文件

拉胯的题目,咬文嚼字
恶心人

在这里插入图片描述

以下关于文件与目录命名的描述中正确的是()。

在这里插入图片描述

在这里插入图片描述
我为啥windows10就可以呢????????

缓冲区更多的是利用 内存作为缓冲区 ,如单缓冲区、双缓冲区、环形缓冲区和缓冲池。

而不是外存
在这里插入图片描述

以下描述不正确的是( )?

在这里插入图片描述

链接:https://www.nowcoder.com/questionTerminal/7708b700c8c04667b1266562fde0aa32
来源:牛客网

顺序访问的数据是连续的。硬盘的磁头是按一定的顺序访问磁片,磁头不做频繁的寻道,这样带来的结果是速度很快。
因为寻道时间是影响磁盘读写速度的主要原因。
在平常的应用中顺序访问的应用很少。大文件的连续备份,是顺序读写的。

随机访问主要是磁头在做频繁的移动,原因是数据在磁盘的不连续性,
这和数据存放到磁盘的过程有关系,随机访问的速度要比顺序访问很多

寄存器,cache,内存,左边快

这题目第二次错误了

在这里插入图片描述

在这里插入图片描述

采用分段技术,程序与相关数据被划分为同一组段,这组段包括程序段和数据段;

在这里插入图片描述

地址寄存器只有寻址到4g,所以虚存最大容量为4G

在这里插入图片描述

在这里插入图片描述
这里要注意,寻址空间是32位,不是说存储器大小
存储器大小还要考虑8bit是一个BYTE
这样就小很多哦

轮询任务调度与抢占式任务调度的区别?

在这里插入图片描述

链接:https://www.nowcoder.com/questionTerminal/330b82f632e745c8b7f87d305900f584
来源:牛客网

轮询调度算法的原理是每一次把来自用户的请求轮流分配给内部中的服务器,从1开始,直到N(内部服务器个数),然后重新开始循环。
抢占式任务调度允许调度程序根据某种原则去暂停某个正在执行的进程,将已分配给该进程的处理机重新分配给另一进程。抢占方式的优点是,可以防止一个长进程长时间占用处理机,能为大多数进程提供更公平的服务,特别是能满足对响应时间有着较严格要求的实时任务的需求。
因为抢占式调度可能会暂停一些进程,需要记录进程的运行状态,较为复杂。轮询式只需要轮流分配资源,调度简单。


总结

提示:重要经验:

1)
2)学好oracle,操作系统,计算机网络,即使经济寒冬,整个测开offer绝对不是问题!同时也是你考公网络警察的必经之路。
3)笔试求AC,可以不考虑空间复杂度,但是面试既要考虑时间复杂度最优,也要考虑空间复杂度最优。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
"Labuladong"是一个著名的算法题解博主,他的刷题笔记非常受欢迎。他的笔记具有以下几个特点: 1. 思路清晰:Labuladong的刷题笔记总是能够很清晰地阐述解题思路。他善于将复杂的问题简化为易于理解的小问题,并通过逐步引入关键概念和方法,帮助读者理解并掌握解题思路。 2. 逻辑严谨:Labuladong的刷题笔记经过深思熟虑,逻辑严谨。他会从问题的定义开始,逐步引入相关的概念和解题思路,循序渐进地解决问题。这种严谨的逻辑结构有助于读者理解和消化算法的核心思想。 3. 举例详细:Labuladong的刷题笔记通常会通过具体的例子来说明解题思路。这种举例的方式不仅能够帮助读者更好地理解解题方法,还可以帮助读者更好地应用这些方法解决其他类似的问题。 4. 知识点整合:Labuladong的刷题笔记不仅仅是一个题解,而是将相关的算法知识点整合起来,构建出一个完整的学习体系。他会引入一些底层的算法原理,将不同的解题方法进行比较和总结。这种整合的方式能够帮助读者更好地理解和掌握算法的本质。 总之,Labuladong的刷题笔记以其思路清晰、逻辑严谨、举例详细和知识点整合等特点,为广大读者提供了一种深入学习和理解算法的有效途径。通过阅读他的刷题笔记并进行实践,读者能够提高解题能力,并在面对各种算法问题时能够找到正确、高效的解决方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冰露可乐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值