1 计算机组成

1.1 计算机 组成与分类

1.1.1 计算机的组成

计算机硬件由五个基本部分组成:

  • 控制器:分析和执行指令的部件;
  • 运算器:用于逻辑运算,简称ALU(逻辑运算单元);
  • 内存储器:用于存储运算中间结果;
  • 外存储器:用于存储数据;
  • 输入输出设备:数据输入输出的桥梁;

控制器与运算器结合称为中央处理器 (CPU)

1.1.2 计算机的分类

  1. Flynn分类法

    1. 单指令流单数据流(SISD)
    2. 单指令流多数据流(SIMD)
    3. 多指令流单数据流(MISD)
    4. 多指令流多数据流(MIMD):SMP对称处理与MPP海量并行处理结构均属于MIMD
  2. 冯氏分类法
  3. Handler分类法

1.2 多级存储体系

存储器种类:

  • 顺序存储:按顺序进行存储操作,磁带存储器;
  • 直接存储:根据唯一地址标识直接找到存储块进行操作,磁盘存储器;
  • 随机存储:通过地址随机存储,主存储器(内存)采用方式;
  • 相联存储:通过内容随机存储,缓存采用方式;

1.2.1 主存储器(内存)

  • RAM 随机存取存储器:可写可读断电不保存数据, RAM 又分为 DRAM(动态 RAM,随时间 推移而消失 )和 SRAM(静态 RAM,断电前一直保存) ,容量小价格高
  • ROM 只读存储器:一般用于 BIOS的存储
  • PROM可编程 ROM:只能写入一次
  • EPROM可擦除的 ROM:需要紫外线照射 15-20 分钟可擦除
  • E2PROM电可擦除 ROM
  • 闪速存储区:闪存如 U 盘 7
  • CAM 相联存储器:基于内存进行访问,如 cache

1.2.2 辅助存储器(外存磁盘如硬盘)

  • 磁带存储器:软盘
  • 磁盘存储器:就是分区的圆柱体同心圆,每个面上有磁道与扇区,有多个盘面组成的柱性磁盘组 磁盘总容量 =盘面数 * 每面磁道数 * 每道扇区数 *每个扇区字节数 磁盘的数据传输速率 =磁道上字节数 / 每转 1 圈时间
  • RAID 存储:磁盘冗余阵列,分为 8 个级别分别为 :
    • RAID0,无冗余无校验
    • RAID1,磁盘镜像阵列
    • RAID2,采用纠错海明码的磁盘阵列
    • RAID(3.4),采用独立校验盘,进行奇偶校验码的磁盘阵列
    • RAID5,分布式奇偶校验码的磁盘阵列
    • RAID6,独立数据硬盘,与双独立分布式校验方案
    • RAID7,高异步 I/O,高速传输阵列
    • RAID10,综合多个 RAID等级组成,目前该等级被广泛使用
  • 光盘存储器, CD.CD-ROM制度压缩盘 ,DVD数字视频光盘等

1.2.3 Cache缓存

  1. 缓存原理:CPU使用的数据先从缓存中查找,如果有则直接调用(访问命中),如果没有则从内存中读取,读取完再送回 CPU与Cache中。

    系统平均周期 =缓存周期 * 缓存命中率 +内存周期 *( 1-缓存命中率) // 由于缓存中未命中的概率就是在内存中取值的概率

    内存的单位换算

1Byte=8bits
1 汉子 =2B(字节) =16b
1024B=1KB
1024KB=1MB
1024MB=1GB
1024GB=1TB
1024TB=1PB
  1. 映射机制

    存储容量与存储地址的关系:容量的大小转换为 2 的 n 次幂,则地址就用 n 位表示

    如: 128*4096B=2 的 19 次幂,就是需要 19 位的内存地址

    • 直接映射:Cache将主存中的信息地址映射到Cache中,主存与Cache分成容量相同的块,然后将一个主存的块映射到Cache的特定位置上(特定位置指:将主存地址拆分后四位为Cache块内存地址,中间10位是cache块号)
    • 全相关映射:主存的页对应 Cache的页,淘汰可替换
    • 组相联映射:块大小相同,组数相同
  2. 淘汰算法

    先进先出 FIFL

    最近最少使用的淘汰算法 LRU

  3. 写操作

    写直达,写入 Cache 时同时写入内存

    写回,写入 Cache 时先不写入内存,等在缓存中失效时再写入内存

    标记法,标记在 Cache 中修改的信息,读取的时候通过标识位判断

1.3 输入输出接口

1.3.1 输入输出方式

  1. 程序控制方式:通过程序指令控制 I/O 输入输出,这个方式需要程序时刻去查询 I/O 设备的状态确认设备输入输出是否完成

  2. 程序中断方式:CPU不必去监控 I/O 设备完成情况,I/O 设备完成数据传输后会发出中断信号,通知 CPU,然后 CPU 再进行信息处理

  3. DMA 工作方式:DMAC(DMA 控制器 ),CPU与 DMAC 共享总线, DMA 时 CPU暂时放弃系统 总线控制交给 DMAC 控制

  4. 通道方式:采用通道程序

  5. 输入输出处理机:专用处理机,用于大型高效计算机

1.3.2 总线和接口

总线的定义:是一组进行交连和传输信息(指令、数据、地址)的信号线,是计算机内部各个部件链接的桥梁

  • 总线分类

    • 按位置分:CPU 内部的总线叫内部总线,CPU 与内存的总线叫外部总线
    • 按总线功能分:地址总线(传地址)、数据总线(传数据)、控制总线(传控制信号)
    • 按总线在系统中的位置分:机内总线( IDE 链接硬盘的、SCSI小型计算机系统接口)、机外总线( USB可用于链接外部设备)
    • 按用途分:局部总线、系统总线、通信总线
  • 总线标准:IEEE
  • 接口分类:串行接口(一次传 1 位信息)、并行接口(一次传送多位信息)
  • 常见接口:
    • ESDI(加强型小型设备接口)
    • IDE(磁盘接口)
    • SCSI(大容量存储设备、光驱接口)
    • PCMCIA(笔记本内存卡接口)
    • IEEE-1394(数码相机、摄像机接口标准 )
    • USB串行总线式接口, USB1.0速度 12Mbps,USB2.0 速度 480Mbps,USB3.0 速度 4.8Gbps

1.4 体系结构

  1. 复杂指令系统计算机( CISC):指令多、各个指令使用频率悬殊、长度不固定
  2. 精简指令系统计算机( RISC):指令少、寻址方式少、长度固定,采用 Cache方案提高指令 获取速度

1.4.2 流水线技术

  1. 参数计算

    1 个任务分成 n 个子任务,每个子任务需要时间 t,则完成这个任务需要 nt 时间

    k 个任务顺序执行需要 knt 时间

    k 个任务使用流水线则需要 : nt+(k-1)t=(n+k-1)t

    如果分解的子任务用时不同则 t 取用时最长的子任务时间:

    (t1+t2+tn)+(k-1)tmax

    用时 =完成一个任务的时间 +剩余任务数( k-1)* 最长子任务时间

    吞吐率:单位时间内完成的任务数(秒 s) 1s=10的9次幂ns

    加速比:不适用流水线用时/流水线用时

  2. 影响流水线运行的因素

    转移指令,流水线无法重叠执行破坏流水线机理

    共享资源访问冲突,子任务间存在资源冲突,会破坏流水线

    响应中断,执行一半中断

  3. 非线性流水线

    并行流水线:

    ​ 公式:任务数 /并行流水线的数量

    ​ 说明:3 条并行流水线同时执行,假设每条流水线任务数相同,则只用执行 1/3 的任务的时间

  4. 并行处理

    1. 超级标量处理机

    2. 超级流水线处理机

    3. 超长指令字处理机

    4. 向量处理机

    5. 多处理机系统

    6. 大规模并行处理机, MPP

    7. 对称多处理机, SMP

  5. 互联网络

2 操作系统

2.1 操作系统的类型和结构

2.1.1 操作系统类型

  1. 批处理
  2. 分时
  3. 实时
  4. 网络
  5. 分布式

操作系统基本功能:

处理机管理 /进程管理

存储管理

设备管理

文件管理

作业管理

2.1.2 操作系统结构

  1. 无序结构,模块化,模块间通过接口调用

  2. 层次结构,分多层,层次见单向依赖

  3. 面向对象,基于面向对象思想

  4. 对称多处理,多处理机共享内存

  5. 微内核,微内核就是抽象层,将操作系统的功能抽象出来基础功能,一般用于嵌入式操作 系统 cpu-寄存器 -一级缓存 -二级缓存 /三级缓存 -内存 -二级存储(外存,外部存储如硬盘)

2.2 处理器管理

2.2.1 进程状态

进程是动态概念,程序是静态概念,进程是程序的动态运行,需要各种资源如 CPU,内存等 进程由程序、数据、进程控制块(PCB)组成

  1. 三态模型

    运行,得到资源并进行计算

    就绪,得到资源,等待执行

    等待,等待资源或人工干预

  2. 五态模型

    静止就绪,就绪队列中已有就绪任务,多余的就绪任务短期不能调用,放到二级存储中

    静止阻塞,阻塞队列中已有阻塞任务,多余的短期不能调用,放到二级存储中

    活跃就绪,内存中没有活跃就绪状态的任务时,到静止就绪中获取

    活跃阻塞,内存中没有活跃阻塞状态的任务时,到静止阻塞中获取

    运行,得到时间片,满足资源要求,在 CPU中处理

状态切换的目的是协调系统资源,由于系统资源有限因此需要通过优先级或条件进行协调资源,使系统正常运行

挂起状态的进程一般被转换到二级存储中(外存) ,减少内存损耗

静止阻塞 -活跃阻塞:系统腾出资源空间并且优先级高的先被激活 挂起的进程不参与调度 必须被激活后才能调入内存中等待执行

挂起的进程只能由操作系统或父进程激活

2.2.2 信号量与PV操作

P(S) S-1 S<0 挂起

V(S) S+1 S<=0 触发 P(S)操作

  1. 互斥 S=1 PV成对出现
  2. 同步 S=0 PV多个进程中分别出现
  3. 生产消费

空闲区的空闲数量 S1=N

已填充空闲区数量 S2=0

互斥 S3=1

存货的要先判断仓库中有没有空位

如果仓库有空位就执行 P(S1)空位减少一个

如果没有空位则 S1<0存货的挂起等待

存完货后要通知取货的库中已经有一个货物了

提货的要先判断仓库里有没有货

如果没有货则挂起等待

如果有货则先 P(S2)将货物提取一个货物

提取后执行 V(S1)通知存货的已经有一个空位

不能同时放也不能同时读取因此要用互斥

2.2.3 死锁问题

  1. 死锁发生的必要条件
  • 互斥条件

  • 保持与等待条件

  • 不可抢占条件

  • 循环等待条件

  1. 银行家算法
  • 申请的总资源不能多于系统资源数

  • 可分期请求资源,请求总数不超过最大需求量

  • 可推迟分配等待资源

  • 申请后的剩余资源不能满足其他进程的总申请资源的需求,如果可以满足还要测试能满足完成条件的进程完成后释放的资源是否可以满足其他进程全部需求

  1. 解决死锁的策略
  • 死锁预防:破坏死锁发生条件,如一次性申请全部资源

  • 死锁避免:采用银行家算法

  • 死锁检测:检测是否发生死锁,发生则使用死锁接触策略处理

  • 死锁解除:剥夺发生死锁的进程,强制回收

2.2.4 管程与线程

管程就是将临界资源的调用封装起来,需要调用临界资源的进程需要进入管程操作,而管程一次只能进入一个进程进行操作达到进程互斥的目的

线程:进程申请的资源可以被线程共享使用

一个进程创建时默认创建一个线程也叫主线程, 一个进程可以创建多个线程实现多项任务并行执行,多个线程共享进程资源。

线程解决了进程的并行处理以及进程创建子进程的资源开销

2.3 文件管理

2.3.2 文件的物理组织

  • 连续文件:记录存储在硬盘上的连续的物理块中,通过起始位置及文件长度可获得文件

    • 优点:存取速度快
    • 缺点:由于需要确定长度,因此不适合经常修改的情况
  • 串联文件:物理块中存储下一个物理块的指针,形成一个类似链表的结构

    • 优点:充分利用存储空间
    • 缺点:速度慢不适用于随机存取,只使用顺序访问
  • 索引文件:将物理块的地址通过索引表管理起来

    • 优点:适合随机存取,也适应顺序存取
    • 缺点:索引表占用磁盘空间,而且需要 2 次访问磁盘( 1 次读取索引表,一次读取物理块内 容)
    • 解决方法:将索引表读入内存 UNIX 使用的是三级索引结构

2.3.3 树形目录结构

树形目录,绝对路径(唯一),相对路径(根据工作目录确定) ,工作目录(当前目录)

NTFS与 FAT32

NTFS:快,空间大,分区可达到 2T,碎片少,安全性高

FAT32:分区最大可达 32yiqG

2.3.4 存储空间管理

存储空间管理:就是管理空闲的物理块

  1. 空闲表法:将空闲的盘块及数量记录在空闲区的空闲表项中

  2. 空闲链表法: ①将空闲盘块拉成一条链表,通过增加删除操作管理空闲块 ②链表中的盘区上增加下一个空闲盘区的指针

  3. 位图法:将空闲盘块通过二进制方式 0 空闲 1 已分配来管理空闲盘区, 可将位图放到内存。

  4. 成组链接法:结合空闲表和空闲链表法,适用于大型文件

2.4 存储管理

2.4.1 地址变换

存储地址,取决于存储空间的大小,二进制或2的几次方,如 2 的 32 次方就是 32 位的,64 次方的就是 64 位

地址变换:用硬盘顶替部分内存的工作,使用户可以使用比内存地址大的地址空间来编程,因此用户使用的逻辑地址要转换为内存地址(实际地址)

转换方法:

静态重定位:在程序执行前进行地址映射,无需硬件支持,无法实现虚拟存储

动态重定位:在访问时进行地址转换,支持虚拟存储

存储最小单位是 bit(b),字节是 Byte(B),1B=8b

2.4.2 存储组织

常见虚存组织有段式,页式,段页式(最常用)

段页式组织解决逻辑地址转物理地址的方式;

段内页号对应的地址:高位是页号,低位是偏移

2.4.3 存储管理

对虚拟存储器的管理设计到的问题及策略

载入(调入):1 现用现调; 2 提前预调

放置:放到内存分区

置换:内存满了,需要将不常用的页置换到外存虚拟存储中,腾出地方给要使用的页

  1. 置换算法:

    • 最优,淘汰将来不经常使用的,该算法较难实现
    • 随机,容易误杀
    • 先进先出
    • 最近最少使用
  2. 局部性原理: 可能出现打击率的事件如下:

    • 刚访问的还能再访问;
    • 访问某位置的还会访问该位置附近的

2.5 作业管理

2.5.1 作业的状态

作业创建时会建立一个作业控制块 JCB,用于管理控制储存作业的信息

作业生命周期:

1.提交:从输入设备提交到外存,传输信息到外存

2.后备:信息传输全部传输到外存后,建立作业控制块

3.执行状态:就是进程的 5 态模型 -从外存调度进入内存执行

4.完成:作业执行完毕,资源还未回收时的状态

2.5.2 作业调度

作业调度:

1.高级调度:作业调度,用于在后备作业队列中选择一个或一组一批作业,为他们建立进程分配资源,然后执行

2.中级调度:交换调度,用于内外存间的调度,即挂起与激活的调度

3.低级调度:进程调度就是调度就绪的进程

作业调度算法:

1.先来先服务:不利于段作业

2.短作业优先:不利于长作业

3.响应比高优先:响应比 =1+等待时间 /执行时间,此算法需要计算耗用资源

4.优先级调度:优先级高先执行

2.6 设备管理

设备管理程序的功能:

1.提供进程调用设备接口

2.设备分配给进程

3.设备与 cpu 并行操作

4.缓冲区管理,解决设备与CPU内存处理速度不对称问题

2.6.1 磁盘调度算法

磁盘访问流程:寻道,等待扇区旋转,数据传输;速度取决于寻道时间

1.FCFS先来先服务,时间长

2.SSTF,最短寻道有限,容易出现无线拖延现象又叫“饥饿”

3.scan,磁头移动方向上最短时间

4.N-SCAN,分步 scan,扫描期间只接受等待服务的请求

5.C-SCAN循环扫描,磁头单向移动的 N-SCAN算法

2.6.2 虚拟设备与 SPooling技术

虚拟设备,就是实现多用户多进程访问输入输出设备

原理:通过缓冲区缓冲多个请求到队列中,通过模拟输入输出井来缓冲输入输出进程

优点: 实现虚拟设备, 多台虚拟设备共用共享一个物理设备,每个进程不会感觉到时共享设 备,而是独享设备

2.7 网络操作系统

2.8 分布式操作系统

3.数据库系统

3.1 数据库管理系统

DBMS 数据库系统

DBS包括 4 个组成部分:数据库、硬件、软件、数据库管理员( DBA)

数据库管理方式的特点 :

1.复杂的数据模型来标识数据结构

2.与应用程序的独立性,物理和逻辑上的独立

3.提供用户访问接口

4.并发控制、恢复、完整性和安全性

5.灵活性

3.2 数据库模式

  • 三级模式

外模式 -用户级,用户视图

概念模式 -DBA 视图

内模式 -物理模式,数据库文件的物理存储

  • 二级映射

1.外模式 -概念模式映射

2.概念模式 -内模式映射

  • 二级独立

1.物理独立 -用户应用于物理存储独立,各自更改不影响对方

2.逻辑独立 -用户应用独立与逻辑存储,各自修改不相互影响

三个抽象级别

用户级,用户视图,对应与外模式

概念级,DBA视图,对应概念模式

物理级,内部视图,对应与内模式

3.3 数据模型

3.3.1 关系模型分类

概念模型(用于数据库设计)包括:

E-R实体 -联系模型

基本数据模型(用于数据库建模)包括:

层次模型

网状模型

关系模型

面向对象模型

基本数据模型组成

1.数据结构 -系统静态特性

2.数据操作 -系统动态特性

3.完整性约束 -完整性规则

3.3.2 关系模型

关系模型基本概念:

1.域就是属性的取值范围

2.属性就是一列名称

3.元组就是一条数据

4.关系就是表与表之间的关联关系

5.主属性就是主键

6.非主属性就是非主键

7.分量就是一个元组中的一列属性值

1.关系型数据库的模型

DB={STUDENT(name,age,work,sex,birthday), TEACHER(name,age,work) }

2.关系

表与表之间的关系

3.3.3 规范化理论

  1. 存储异常问题:
  • 数据冗余,拆表,冗余的数据放到另外一张表中,进行关联

  • 修改异常,一堆多关系设置,不要把动态信息冗余到各条记录后面,防止共同属性修改导致需要修改几百条引用的信息

  • 插入异常,拆表问题

  • 删除异常,拆表问题, 冗余数据在一起, 导致删除某条数据冗余的数据同时被删除因为是一 条记录的不同属性

  1. 函数依赖

  2. 范式

  • 概念:

    • 主属性,关键属性,可唯一标识一个元组的属性组( {学号 +姓名 +性别 },{身份证号 +姓名 + 性别 +年龄 })
    • 候选码,可唯一标识一个元组的 1 个主属性(如身份证号,学号)
  • 范式:

    • 第一范式( 1NF),各个属性不可分割
    • 第二范式( 2NF),如果非主属性完全依赖候选码并且是 1NF
    • 第三范式( 3NF),满足 1NF,非主属性不依赖候选码
    • BC范式( BCNF),满足 1NF,全部属性都不依赖于候选码

3.4 数据操作

3.4.1 集合运算

交集, R∩S,共同的元素

并集, R∪S,全部元素

差, R-S(R 中有但 S中没有的元素) ,S-R(S中有 R 中没有的元素 )

笛卡尔积 (X),R×S,集合乘法例如 {a,b,c}×{1,2}={a1,a2,b1,b2,c1,c2}, 笛卡尔积后的元组数量 =R的数量 *S 的数量

3.4.2 关系运算

1.投影,取若干列

2.选择,根据条件筛选元组

3.自然连接,根据相同的键值进行关联

4.左右外链接,以哪个为主,为主的要全属性

5.完全外链接, 2 方为主的链接

3.4.3 元组演算

3.4.4 数据库访问接口

1.专用接口

2.ODBC:应用程序、驱动管理、驱动、数据源

3.JDBC:java 数据库连接

3.5 数据库的控制功能

事务 ACID特性

A:原子性,要么全做要么全不做

C:一致性,数据库状态一致性

I:隔离性,事务间互不干扰

D:持久性,事务提交后将永久改变数据,即将数据写入磁盘

事务关键事件:

开始事务 begin transaction

提交事务 commit

回滚事务 ROLLBACK

3.5.1 并发控制

  1. 并发操作的问题:

    丢失修改,同时读取,不同时提交,先提交的被后提交的覆盖。

    不可重复读,读取后有事务修改了该数据,导致再次读取时值不同

    读脏数据,修改后撤销,导致修改后撤销前读取的值成为脏数据

  2. 封锁的类型

    解决并发问题的方法:

    排它锁( X 锁),只能加 X 锁的事务读取及修改该数据

    共享锁( S锁),可共同读取但均不可修改

  3. 封锁协议:

    一级协议,加 X 锁

    二级协议,一级协议前加S锁

    三级协议,一级协议前加S锁至事务结束

    两段锁,扩展阶段是申请锁,加锁前申请锁,收缩阶段,释放锁,释放期间不允许申请锁, 容易发生死锁

    颗粒度:

    ​ 颗粒度小并发性高开销大

    ​ 颗粒度大并发性低开销小

  4. 死锁:

    资源附加多种锁,然后事务互相等待对方解锁导致死锁。

    解决方法: 预防法,顺序申请,将申请的事务排队编号,逐个申请

    解除法,需要 2 个程序,一个检测死锁程序,一个解锁程序

3.5.2 备份与恢复技术

引发系统故障原因大致如下:

事务内部的故障

系统范围内的故障,系统问题引起的故障

介质故障,硬件故障

计算机病毒

  1. 数据备份

    冷备份:拷贝数据库文件到磁盘,缺点需要数据库停止使用后才可以拷贝

    热备份: 通过语句导出数据, 缺点导出过程中有修改会导致备份的数据与库中的数据不一致

    增量备份:每次只备份修改的部分,加入到之前备份的数据中

  2. 日志文件

    数据库运行过程中的全部操作都记录在日志中, 包括数据备份时也叫加入日志, 防止备份过 程中的修改,通过日志可以知道备份库与现库的差异

    先修改日志原则:修改数据前要先存到日志中后再修改数据库

  3. 数据恢复

    redo 重做, undo 撤销或未做完

    1)事务故障的恢复:此过程是系统自动完成的

    步骤:

    反向扫描日志文件,查找事务的操作

    对事务的更新进行逆操作

    继续反向扫描日志文件,继续查找事务操作继续执行上述过程

    直至读到此事务的开始标记为止

    2)系统故障的恢复:在系统重启时自动完成的

    正向扫描日志文件, 找出故障发生前已经提交的事务标记入重做队列,未完成的事务标记入撤销队列,

    对撤销队列中的事务进行撤销操作,反向扫描日志文件将UNDO事务的更新操作执行逆操作

    对重做队列中的各个事务进行重做处理,正向扫描日志文件对每个 redo 事务执行日志文件 登记的操作

    3)介质故障与病毒破坏的恢复

    恢复近期数据库备份脚本

    从故障点开始反向扫描日志,将已提交的事务标记入 redo 队列

    从其实点开始正向扫描日志,将 redo 的事务重做,并恢复至故障前某一时刻的状态

    4)有检查点的恢复技术

    建立检查点,每个检查点都记录当前状态的全部事务清单

3.5.3 数据库的安全性

  1. 用户认证

    口令认证,用户名密码

    强身份认证,如证书,智能卡,指纹等

  2. 用户角色

    一般 3 类角色

    1.数据库登陆角色,只能查

    2.数据库资源管理,可以修改数据

    3.DBA,可以创建用户创建表,授权与削权

  3. 数据授权

    库级别:可访问授权库内的全部内容

    表级别:可访问授权的表

    行级别:某表的某些行

    属性级别:某些属性 静态授权:自己创建的数据自带权限

    动态授权:管理员给予的权限

  4. 数据库视图

    视图的功能:

    ①限制到行

    ②限制到列 ③多表关联

    ④统计信息,如 count(* )等

  5. 审计功能

    DBA 对数据库的时候监督,叫审计

    事后审计,事前评审

    3.5.4 数据库的完整性

  6. 完整性约束条件:

    对象是:关系,元组,列

    如:主键不能为空,外键不可以修改等

  7. 完整性控制

    分为实体完整性,参照完整性

    如:非空,大于 0 等,本表的外键值必须对应外键表的主键而且该主键必须存在

    外键级联操作,如级联删除等

  8. 触发器 triger,触发器就是在触发事件发生时必然执行结果事件 触发器有对实体完整性保护以及安全性保护

3.5.5 数据库性能

数据库性能优化

  1. sql 优化

  2. 数据库参数调优

  3. 查询优化,如大表拆小表,建立索引,少用嵌套查询,联合表查询, IN 语句中将出现频繁的字段放在前面,尽量不用 OR,用2 条语句来实现

3.6 数据库设计与建模

3.6.1 数据库设计阶段

  1. 规划

  2. 需求分析

  3. 概念设计,抽象需求中的对象

  4. 逻辑设计,建模如类图, powerdesigner 等

  5. 物理设计(建库) ,将模型创建到数据库中

3.6.2 设计约束和原则

设计约束包括如下:

查询响应时间的上限

系统破坏后的恢复时间

维护安全性和完整性必要的特殊数据

等等

3.6.3 实体联系模型

实体联系模型 E-R图

  1. 组成要素:实体(矩形) ,属性(圆形) ,联系(菱形)

  2. 实体联系类型: 1 对多, 1 对 1,多对多(联系也是可以有独立的属性的)

  3. E-R图集成

    根据模块分别进行设计后,将多个E-R图集成起来形成整体的 E-R图,可一次性集成也可逐 步集成,会出现属性冲突(相同的属性不同的类型),命名冲突(表明相同等),结构冲突(属 性与实体的变换,比如有的存的是一个属性,而有的存的是这个关联实体) 等问题需要调整

  4. E-R图转成关系模型

    就是讲 E-R图中的实体转换成数据库表

3.7 常见的关系型数据库

oracle,mysql,db2(IBM),sqlserver(MS),sybase,informix(IBM)

3.8 分布式数据库系统

分布式数据库特点:

安全性,多副本

可扩展性

降低成本

3.8.1 分布式数据库系统

  1. 分布式数据存储

    1)数据分配:

    集中式,数据都放在同一地点

    分割式,各个节点分别存储部分数据,所有节点的数据并集为全部数据

    全复制式,各个节点存全部完整数据,也就是多个备份

    混合模式,数据多块分别存储并有备份

    2)数据分片:

    存储的数据不是完整的而是一个片段,多个片段组成完整视图

    分片方式如下:

    水平,元组分片

    垂直,属性分片

    混合,元组 +属性分片

    分片原则:

    完整性

    重构条件,随时重建

    不相交条件,各个数据片段互相不重叠

  2. 分布式数据库系统体系结构

    全局外模式,用户视图

    全局概念模式,逻辑模型

    分片模式

    分布模式,处理分散的分片,完整性处理

    分布式数据库的透明性:

    分片透明性

    位置透明性

    局部数据模型透明性

3.8.2 分布式数据库管理系统

功能:

接受用户请求

访问网络数据字典

进行分布式处理

通信接口功能

数据迁移

组成:

LDBMS(局部 DBMS)

GDBMS(全局 DBMS)

全局数据字典,提供全局公共属性

通信管理

总结:

局部管理,场地自治

全局管理,协调全局

3.9 数据仓库

3.9.1 联机分析处理

OLAP联机分析处理,是多维分析工具

分析方法:

1.钻取,层次维度加深

2.切片和切块

3.旋转,互换维度

联机分析处理实现方式

1.ROLAP,关系型数据库为核心

2.MOLAP,多维型数据组织方式为核心

3.HOLAP,混合型

OLAP 就是多维度的方式组织数据,例如立方体,然后通过切片、切块、钻取、旋转的方式获取数组

3.9.2 数据仓库的概念

数据仓库特征:

  1. 面向主题,关系型数据库是面向事务处理及系统业务,而数据仓库是关心与某个主题相关的全部信息

  2. 集成的,业务系统的数据库是相互独立的或异构的,而数据仓库是将多个业务异构库,通 过 ETL交换到同构的库中

  3. 相对稳定,关系型库经常更新,而数据仓库要保留一切数据定期进行更新与加载

  4. 随时间变化,关系型数据库只关心某时间段的数据,而数据仓库的数据时间跨度较大,几 年或几十年,可反映历史变化的

数据仓库反映历史变化的表现

  1. 存储的数据久远

  2. 每个时间点的数据均存储,包括随时间发展的过程数据

  3. 包含时间元素如在某年发生的某时发生的或某秒发生的事件,例如,每年5月份大概率发 生的事件是什么

数据仓库的分类

  1. 企业仓库,收集各个企业应用的全部操作数据

  2. 数据集市,对特定用户相关的有用的全部数据是企业仓库的子集

  3. 虚拟仓库,是数据仓库的视图集合

数据聚集与立方体

数据仓库是多维度的,也就是说是从多角度来观察某件事

3 个维度形成的数据块叫立方体,超过 3 个维度叫超立方或超维度

优点:提高 OLAP的响应速度,减少重复计算

3.9.3 数据仓库的结构

1.参考框架

数据仓库的应用流程

业务系统 -(抽取 -数据准备区 -)ETL-数据仓库 -数据集市 /只是挖掘库 -应用工具 -用户使用

全程由管理工具进行管理

2.数据仓库体系结构

数据源

数据 ETL+组织数据集市

OLAP,对集市及数据仓库进行联机分析处理

辅助管理工具集,包括查询工具,报表工具,分析工具数据挖掘工具等

3.10 数据挖掘技术

3.10.1 数据挖掘的5 类功能

1.预测趋势和行为

2.关联分析,从一件事情联系到其他事情

3.聚类,把有共性的事件汇聚到一起

4.概念描述,对某类对象的内涵进行描述

5.偏差检测,检测与分析目标偏差较大的信息

3.10.2 数据挖掘常用技术

数据挖掘的方法

1.决策树

2.神经网络,参考人脑,采用权值分析

3.遗传算法,参考生物进化学,通过 "繁殖 "下一代找出优质的一代

4.关联挖掘,就是从一件事联系到其他事

数据挖掘分析方法分类

1.关联分析,顺藤摸瓜

2.序列分析,事件的连续性

3.聚类分析,根据共同点进行分类

4.分类分析,根据分类的方式方法进行分析,给各个对象加分类标示

5.预测

6.事件序列分析,随时间推移,找出规律及趋势来预测未来走势

3.10.3 数据挖掘的流程

数据挖掘流程

1.问题定义

2.建立数据挖掘库

3.分析数据

4.调整数据

5.模型化

6.评价和解释,对建立的模型进行评审

3.10.4 数据挖掘技术的应用

1.空间数据挖掘

2.多媒体数据挖掘

3.文本数据挖掘

系统分析师-资料总结-上相关推荐

  1. 系统分析师资料_软考 系统分析师考试通过总结

    今年上半年我有幸通过了系统分析师的考试,感到很欣慰.为了给下一步的学习,工作打好基础,做一次考试的通关总结是很有必要的. 系统分析师考试被认为是中国计算机软件水平考试中最难的.那么,到底该如何准备才能 ...

  2. 系统分析师-资料总结-中

    4 嵌入式系统 4.1 嵌入式系统概论 4.1.1 嵌入式系统的特点 1.系统专用性强 2.软硬件依赖性强 3.系统实时性强 4.处理器专用 5.多种技术紧密结合 6.系统透明性 7.系统资源受限 R ...

  3. 刷个B站的功夫就能把Python学了,微软放出短视频入门课,资料登上GitHub热榜第一...

    乾明 发自 凹非寺  量子位 报道 | 公众号 QbitAI 微软,正在用力拥抱Python. 继Windows官方商店中加入了Python 3.7,支持一键安装Python之后. 这一不断为开源世界 ...

  4. 史上最全的机器学习资料(上)

    摘要: 机器学习牵涉的编程语言十分之广,包括了MATLAB.Python.Clojure.Ruby等等.为了让开发者更加广泛.深入地了解机器学习,云栖社区组织翻译了GitHub Awesome Mac ...

  5. 系统分析师资料_如何成为一名数据分析师?

    随着大数据的逐渐普及,数据分析越来越普遍应用到各个职能岗位,也就是说,不论你在哪个行业,都会需要数据分析技能.数据岗位的薪资水涨船高,成为目前最有潜力的职业选择之一. 根据猎聘发布<猎聘2019 ...

  6. 系统分析师资料_自学该如何备战系统分析师考试?

    系统分析师属于软考高级资格考试, 基本属于软考中级别最高.难度最大的一门考试,一般参加软考高级科目考试的学员,基础都不会太弱,所以大部分该阶段的考生都会考虑自学备考系统分析师考试. 跟大部分选择自习备 ...

  7. SpringBoot-项目1-用户(注册,登录,修改密码,修改个人资料,上传头像)

    1. 项目分析 在设计一款软件时,在编写代码之前,应该先分析这个项目中需要处理哪些类型的数据!例如,本项目中需要处理的数据种类有:收藏,购物车,用户,收货地址,订单,商品,商品类别. 当确定了需要处理 ...

  8. 系统分析师资料_超全的“数据分析”自学资料,数据时代必get技能!

    数据分析是当下被全球热议的话题之一,它已被用于承载很多类型的概念,包括海量数据.下一代数据管理能力.实时数据.社交媒体分析等等. 现在越来越多的朋友想学习数据分析,主要有以下情况: 1.换岗了,专门负 ...

  9. 你想找的Python资料这里全都有!没有你找不到!史上最全资料合集

    GitHub 上有一个 Awesome - XXX 系列的资源整理,资源非常丰富,涉及面非常广.awesome-python 是 vinta 发起维护的 Python 资源列表,内容包括:Web框架. ...

最新文章

  1. Swift5.1 语言参考(六) 声明
  2. python四大软件-9个使用Python的世界级软件公司
  3. jq实现div移入与移出以及获得与失去焦点
  4. VTK修炼之道8_三维场景基本要素:相机
  5. vue --- 全局配置过滤函数,使用moment函数来格式化时间
  6. gitlab或者gitee生成/添加SSH公钥的解决办法
  7. POJ3264 【RMQ基础题—ST-线段树】
  8. 中国汽车产业数字化服务商研究报告及TOP50榜单
  9. Linux select/poll/epoll
  10. 解码(四):avcodec_send_packet和avcodec_receive_frame函数讲解
  11. weblogic故障报错
  12. Java中udp/tcp的发送和接收
  13. 服务器设置客户端网页安装,网页服务器和客户端
  14. mysql binlog rotate_mysql binlog日志存储格式
  15. Latex表格宽度调整
  16. tensorflow学习笔记1:batch normalization 用法
  17. 小米安卓java模拟器手机版_Android P(9.0) 行为变更完美适配WebView(小米手机也适用)...
  18. Binder机制原理
  19. 【等保常见问题解答】等保测评机构能帮忙做等保整改吗?
  20. SQL2005数据库备份如何还原到SQL2000数据库中

热门文章

  1. 查询到全国火车票剩余票量的网址
  2. canvas初探实践-第二篇
  3. pr001 简单的图片放大动画
  4. 《Search the current site(站内搜索)》超实用的站内搜索工具
  5. 安装pandas和sklearn
  6. Swift 弹性动画教程
  7. 广告宣传配音技巧——如何自己免费制作广告配音
  8. 荔枝的Z时代经济:赋能内容创业者迎接“新生”
  9. js触发php事件,JavaScript_代码触发js事件(click、change)示例应用,Chrome , Firfox 不支持fireEvent的方 - phpStudy...
  10. CAS机制之ABA问题