0%

数据库

关系模型相关概念

  • 目或者度: 关系模式种属性的个数
  • 候选键、候选码,唯一表述元组,且无冗余,类似 学号与身份证号
  • 主键:从候选键从任意挑一个
  • 主属性与非主属性: 组成候选键的属性为主属性,其余为非助兴
  • 外键、外码: 其他实体的主键在本实体的属性
  • 全码: 所有的属性都是候选键

完整性约束

  • 实体完整性约束: 主属性唯一且不能为空
  • 参照完整性约束:关系与关系之间的引用,主要是外键,要么是其他实体的主键,要么是空值
  • 用户自定义完整性约束: 应用环境决定,比如 性别:要么0 要么 1

逻辑结构设计

ER图向关系模式的转换

  • 实体向关系模式的转换,实体一定是一个关系模式
  • 联系向关系模式的转换

关系模式的规范化

确定完整性约束(保证数据的正确性)

用户视图的确定(提高数据的安全性和独立性)

  • 根据数据流图确定处理过程使用的视图
  • 根据用户类别确定不同用户使用的视图

应用程序设计

联系类型

  • 1对1
  • 1对多
  • 多对多

关系代数

S1 01 02 03
S2 01 04 05

交集

S1 ∩ S2 = 01

并集

S1 ∪ S2 = 01 02 03 04 05

差集

S1 - S2 = 02 03

差集

S2 - S1 = 04 05

笛卡尔积

S1 X S2 = 01 01 04 05 02 01 04 05 03 01 04 05
可以异构
列数为两者之和
行数为两者乘积
列号一版从1开始

投影

Π,派
Πsno,sname(S1) ,表示展示表 sno,sname 这两列的所有记录或元组
选择属性列
会改变表的结构

选择

σ ,sigma
σ sno=No00003(S1) ,表示选择表名为S1,列明 sno 为 No00003 的记录或元组
选择符合的行数

自然连接

S1 ⋈ S2 join
列数为两者之和减去重复的
行数为两个表里面所有的同名属性列取值相等的行数
可以从 笛卡尔积-> 选择->投影的方式转换而来
性能优于笛卡尔积

进程状态

三态模型

运行

CPU正在执行该线程,一个CPU同时只能执行一个线程,多余的线程会进入就绪或者等待状态,运行状态的线程可以转换为就绪状态,与等待状态

就绪

所有资源准备就绪,进入等待队列,有计算资源就可以进入运行状态。

等待

运行时发生了需要等待的事情,这时候CPU会被阻塞,例如IO事件,即使CPU分配给该进程也无法使用,等待的事件发生后,仅需就绪状态,不可以直接运行

进程调度算法

时间分片

每个进程均匀按固定的时间片执行

先来先到

谁先排队,谁先执行

短作业优先

执行时间段的先执行,部分长作业可能会一直无法执行

优先级执行

设定好进程的优先级,分为动态和静态。

响应比优先

计算进程的等待时间与进程的来到时间,综合了先来先到与短作业优先的算法,高响应比的优先执行

抢占式 & 非抢占式

如果高优先级的进程到了,抢占式会踢出现在执行的进程,交给高优先级的进程。非抢占式则不会

操作系统原语 PV操作

信号量

当前资源的数量,全局的,原子性的

P操作

申请资源,信号量减1,如果信号量小于0,代表没有资源,需要进入阻塞队列进行等待

V操作

释放资源,信号量加1,判断信号量是否小于等于0,如果小于等于0,意味着有队列在排队,将阻塞队列里面最先进入的进程放到就绪队列

操作系统

人机接口
应用软件与硬件的接口
控制程序运行
管理软件硬件数据资源
为应用程序提供一个高效率的开发平台

主要管理资源

进程管理
存储管理
文件管理
作业管理
设备管理

总线

分时共享的半双工 传送线路

可以同时接收数据,但是发送只能分时发送

通过总线复用可以减少信号线数量,用较少的信号线传输更多的数据

芯片内总线

系统总线(数据总线、控制总线、地址总线)

传输方式

并行传输

短距离

串行传输

长距离,多种传输方式,可以调整比特率,正确方式靠校验码完成

计算机传输方式

程序查询

分为全量发送与程序查询,会一直占用CPU,无法做别的事情,实现简单,硬件开销小,CPU利用率低,IO效率低。

中断方式

相比于程序查询,使用CPU中断的方式可以减轻CPU的压力,IO传输完成后,CPU再恢复现场,继续执行后面的步骤。CPU跟IO可以同步执行,一般类似键盘鼠标

DMA

CPU与IO之间增加一个DMA控制器,IO不直接与CPU打交道,而是跟主存,CPU跟IO可以同步执行,极大提高了效率,一般认为硬盘是DMA的方式

CPU 处理器结构

冯诺依曼结构,指令与数据不区分,用同样的总线,一般的通用电脑

哈佛结构,区分指令与数据,使用4条总线,可以并行传输,较高的数据吞吐率,主要用于嵌入式。DSP

指令集

复杂指令集

数量多,可变长格式,使用微码控制,支持多种寻址方式,代表为X86

精简指令集

数量少,定长格式,使用硬件电路实现,适合流水线,增加了通用寄存器,比较少的寻址方式,大部分为单周期操作,代表为arm

操作系统分类

批处理系统

单道批,多道批,输入一个或多个文档,宏观上可以并行,围观是穿行

分时操作系统

CPU事件分片的方式去运行,每个用户感觉自己都拥有完整的操作系统

实时操作系统

高可靠的系统,一般用于嵌入式,需要在规定事件内相应

网络操作系统

linux、windows server,在网络上共享内容的操作系统

分布式操作系统

网络操作系统的进阶,透明、高可靠、高性能

微机操作系统

windows、linux,多进行、多用户、多CPU的操作系统

嵌入式操作系统

高可靠,可移植性,硬件定制

进程

程序块、数据块、PCB(进程信息)
表舒服、状态、等一列东西

电子政务

电子政务的主体主要有 政府(Govment),企事业单位(Business),民众(Citizen),公务员(Emplyee) ,确认一下单词拼写是否有错误

一些特殊情况,比如人口信息,地理信息等,基本都为政府与政府。其他情况,要看谁是主动方

G2G: 政府对政府,主要业务可能会涉及到人口信息,地理信息采集等
G2B: 发放各种证照,例如营业执照,许可证
B2G: 缴税,向政府提供服务等
G2E: 政府内部系统
G2C: 发放各种执照,提供公共信息,比如天气
C2G: 公民对政府,主要是纳税,报警灯

第二版

电子政务的主体有:政府(Government)、企事业单位(Business)、公民(Citizen)、公务员(Employee)

除了人口信息与地理信息外,对应关系主要看谁是主体
G2E: 政府对公务员,主要是政府内部系统
G2G: 政府对政府,主要是基础信息采集,比如人口信息,地理信息。各级政府之间的决策与汇报
G2B: 政府对企业,发放各种证照,比如营业执照,各类许可证
B2G: 企业对政府,缴税、承接政府工程、向政府提建议、申诉
G2C: 政府对公民,提供社区公安,水、火、天灾等信息,发放各类牌照,比如户口,驾驶证(信息主要是公共安全信息,包括水、火、天灾等)
C2G: 公民对政府,向政府纳税与各类费用,向政府提建议,报警等

专家系统(ES)

人工智能的一个分支,录入专家的知识与经验,处理该领域的问题,并决策。

专家系统可以自己做决策
与一般通用系统不一样的地方在于,不仅可以处理字符还能处理符号,结果一些非结构性问题。因知识库的不同,解决的问题领域也不同。

核心

知识库:存储该领域的知识与经验
推理机: 推理系统,主要用于规则解释
综合数据库:辅助功能,主要解决一些中间状态,比如推理过程中的结果
知识获取:知识库通过知识获取功能得到专家的知识与经验
解释器:主要面向人机接口

第二遍

专家系统是一个具有专家知识和经验的人工只能系统,可以帮助用户决策并解决问题

与通用系统不一样的点

该系统不光可以解决问题,而且可以还可以分析结果,并做决策

除了数字还可以分析符号

不光解决结构化问题,有可以解决非结构化问题,且能解决不确定的问题

跟通用系统不太一样的地方,因知识库的不同,针对的领域也会不同

核心

知识库:存储专家知识经验
推理机:规则解释器
综合知识库:辅助功能,比如用于存放推理过程中的状态,中间结果等
知识录入:知识库通过该接口获得专家的知识与经验,主要有内容的编辑还有自学习功能(获取,不是录入)
解释器:主要面向与人机接口

更正:知识获取,而不是知识录入。

决策支持系统 (DDS)

主要又语言系统、知识系统、问题处理系统组成,经典场景比如医院

主要特征(记忆版,有个没记住)

  • 主要资源为数据与模型,用于辅助决策
  • 主要解决的是半机构化与非结构化的问题
  • 系统主要是提高决策的有效性,而不是决策的效率
  • 主要是辅助决策,而不是代替用户做决策(这条没记住,再来一遍)

主要特征(2)

  • 主要资源是数据与模型
  • 系统主要用于辅助决策,而不是代替决策
  • 主要解决半结构化与非结构化的问题,比如,出具一些可行的选项,可能各有优劣,让用户去决定,应该使用哪种抉择
  • 该系统主要提高决策的有效性,而不是决策的效率

再次整理一遍

决策支持系统,DDS,主要由 语言系统、知识系统、问题处理系统组成,类似的如 医院的处理系统

主要特称有,数据和模型是该系统的主要资源,用于辅助用户决策,而不是代替用户做决策,主要解决半结构化问题与非结构化问题,比如系统给出解决该问题的方法可能各有优劣,用户需要找出适合当前方案的解决办法,该系统主要提高用户决策的有效性而不是决策的效率。

管理信息系统(MIS)

在基础的业务处理系统上扩展而来,跟企业信息管理有较高的关联性,高度集成化的人机系统,金字塔结构,有多个层级。
引进大量管理方法,对企业整体信息进行处理

4大部分为,信息源,信息处理器,信息用户,信息管理者(者,不是员)

是一种闭环结构

整体路径为 事件,记录,变换,存储,决策,执行,结果,评价(少了一个识别)

开环结构

整体路径为 事件,识别,记录,变化 存储,决策,执行,结果,评价

输入后除了决策,其他情况不影响本次执行结果

闭环结构

事件,识别,记录,变换,存储,决策,执行,结果,评价。

与开环结构类似,但是在决策后面的阶段(决策,执行,结果,评价)可以回到最开始的事件上,影响本次输入的执行结果。

信息系统的分类

业务处理系统(TPS)

比较早期的系统,主要处理简单的输入,与数据处理(批处理、OLTP),又叫电子数据处理系统,最低级,最基础的系统
开环结构,单向输入

管理信息系统(MIS)

高度集成化的人机系统,金字塔结构,有多个层级

决策支持系统(DSS)

由语言系统、知识系统、问题处理系统组成,用于辅助抉择

专家系统(ES)

知识+推理 = 专家系统,人工智能的一个重要分支

办公自动化系统(OAS)

将各种硬件设备与软件系统通过网络进行连接、交互,用于办公的系统,不是一个单独的系统

企业资源计划(ERP)

供应链的整合与管理,不是一个单独的系统

软件方法学是以软件开发方法为研究对象的学科。其中,()是先对最高层次中的问题进行定义、
设计、编程和测试,而将其中未解决的问题作为一个子任务放到下一层次中去解决。()是根据
系统功能要求,从具体的器件、逻辑部件或者相似系统开始,通过对其进行相互连接、修改和扩大,
构成所要求的系统。()是建立在严格数学基础上的软件开发方法。

A面向对象开发方法 (面向对象是从下向上的开发方法)
B形式化开发方法 (以数学模型为基础的开发方法)
C非形式化开发方法(没有这种发开方法)
D自顶向下开发方法(结构法也是自顶向下的开发方法之一,应该选这条)

A自底向上开发方法(面向对象的开发方法是自底向上的开发方法之一)
B形式化开发方法(以数学模型为基准的开放方法)
C非形式化开发方法
D原型开发方法(原型是明确目标的一种方法,一般是作为前置)

A自底向上开发方法
B形式化开发方法
C非形式化开发方法
D自顶向下开发方法