数据库期末——知识点总结

第一章

数据结构化时数据库主要特征之一,是数据库与文件系统的根本区别

数据库主要包括四个部分: 数据库、用户、软件、硬件

ER图组成:实体、联系、属性

数据模型三要素:数据结构、数据操作、完整性约束

基本数据模型:层次、网状、关系模型

数据库系统三级模型、两级映像:

  • 三级模式:外模式、模式、内模式
  • 两级映像:外模式/模式、模式/内模式
  • 逻辑独立性:外模式/模式映像
  • 物理独立性:模式/内模式映像

第二章:关系数据库

关系模型的语义约束:实体完整性、参照完整性、用户定义完整性

  • 实体完整性:要有属性或者属性组作为主码,主码的值不可为空或部分为空

  • 参照完整性:X是R的外部码,X是S的主码,那么R中每个X值要么为空,要么等于S中相应的X值

关系演算:

  • 关系代数
  • 元组演算、域演算

关系代数9种关系运算:

  • 常规集合运算:交、并、差、笛卡尔积
  • 特有关系运算:选择、投影、连接、自然连接、商

第三章 SQL

查询

  • 投影检索,可用DISTINCT消去重复

  • 选取检索,使用WHERE表达查询的条件

  • 排序检索,ORDER BY <列名> ASC/DESC

  • 连表检索,如果连表中有属性名相同的话用表名作为前缀区分,否则不用加表名

    • 表的自身连接,定义一个表的别名
  • 子查询嵌套检索: 使用IN 、EXISTS(😢hard)

    • 普通子查询
    • 相关子查询
  • 交、并、差检索

    • 交:INTERSECT
    • 并:UNION
    • 差:MINUS
  • 库函数检索:只能出现在SELECT子句或者HAVING子句

    • COUNT、MAX、MIN、AVG、SUM
  • 分组检索:GROUP BY <列名> <列名>

    • 条件使用HAVING,放在GROUP BY后面
  • 算数表达式检索

  • 部分匹配检索, WHERE <列名> LIKE '%xxx%'

    • % 表示0个或多个字符
    • _ 表示任意一个字符
  • 基于派生表的查询

定义基本表:

CREATE TABLE <表名> (

... ...

... ...

PRIMARY KEY

FOREIGN KEY () REFERENCES table2(table2主码)

修改基本表

ALTER TABLE <表名>

删除基本表

DROP TABLE <表名>

定义、删除索引

定义视图

create view <视图名>

as

<子查询>

删除视图

drop view <视图名>

插入、修改、删除数据

  • 插入数据:insert into <表名> 【属性列】 values 【属性值】
  • 修改数据:update <表名> set ... where ...
  • 删除数据:delete from <表名> where ...

第四章:数据库设计

需求分析

​ 数据流图和数据字典

概念结构设计

​ 形成概念模型

​ ER图:实体、属性、联系

​ 应用系统的概念结构设计方法

  • 自顶向下
  • 自底向上
  • 逐步扩张
  • 混合策略

数据抽象机制

  • 分类
  • 聚集
  • 概括

局部ER图设计

  • 选择局部应用
  • 利用数据抽象机制,建立实体模型
  • 确定实体之间的联系类型,形成分ER图

集成局部ER图的步骤

  • 合并
  • 修改和重构

ER图向关系模型转换的规则:

  • 一个实体型对应一个关系模式
  • 一个联系转换为一个关系模式
  • 三个或三个以上实体间的多元联系,转换为一个关系模式
  • 具有相同的码的关系可以合并

逻辑结构设计

物理结构设计

数据库实施

数据库运行和维护

第五章: 关系数据理论

数据依赖:

  • 函数依赖
  • 多值依赖

三种函数依赖:

  • 完全函数依赖
  • 部分函数依赖
  • 传递函数依赖

平凡/非平凡函数依赖

  • 平凡函数依赖:
  • 非平凡函数依赖:

Armstrong公理系统

  • 自反律:
  • 增广律:
  • 传递律:

三条推理规则:

  • 合并规则
  • 伪传递规则
  • 分解规则

函数依赖集的闭包:对于关系R<U,F>,能由F根据Armstrong公理导出的

Armstrong公理的有效性和完备性

  • 有效性:
  • 完备性:

求函数依赖集的闭包

函数依赖集极小化处理(🅰️已经在笔记上总结)

范式:

  • 1NF:保证每个属性不可再分

  • 2NF:消除了非主属性对码的部分函数依赖

  • 3NF:消除了非主属性对码的传递函数依赖(并没有限制主属性对码的部分或传递函数依赖)

  • BCNF:每个函数依赖都含有码

  • 4NF 4NF规范化????????

模式分解:

  • 无损连接
  • 分解保持函数依赖

达到3NF,保持函数依赖、无损分解的算法

达到BCNF无损连接的分解算法

快速求解候选码

  • 单属性依赖集求候选码:图论方法
  • 多属性依赖集求候选码:先将L类和R类放到一块,然后逐个添加LR类属性,直到其闭包为U

第六章:关系查询处理和查询优化

查询处理步骤:

  • 查询分析
  • 查询检查
  • 查询优化
  • 查询执行

查询优化:

  • 代数优化:通过对代数表达式的等价变换
  • 物理优化:改变存取路径和底层操作算法的选择

连接操作算法:

  • 嵌套循环法
  • 排序-合并法
  • 索引连接法
  • Hash Join法

第七章:事务处理技术

事务:是用户定义的数据库操作的序列,这些操作要么都做,要么都不做

事务的特性(ACID):

  • 原子性:事务中包括的操作,要么都做,要么都不做

    • 造成破坏的原因:程序故障、系统故障、介质故障
    • 技术保证:使用日志、数据转储等方法加以保护
  • 一致性:事务执行的结果必须从一个一致性状态转移到另一个一致性状态

    • 造成破坏的原因:事务的原子性被破坏
    • 技术保证:使用数据库恢复和完整性约束机制加以保护
  • 隔离性:一个事务的执行不能被其他事务干扰

    • 造成破坏的原因:事务并发造成的错误
    • 技术保证:利用数据库并发控制机制,如封锁、锁协议加以保护
  • 持久性:一个事务一旦提交之后,他对数据库的影响要是永久的

    • 造成破坏的原因:事务的原子性被破坏
    • 技术保证:数据库恢复机制

故障种类

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

数据库恢复的技术(基本原理是:冗余)

  • 数据转储
    • 静态转储
    • 动态转储
  • 日志文件
    • 以记录为单位
    • 以数据块为单位

必须先写日志文件,再写数据库

事务并发执行的优点:

  • 提高系统的吞吐量
  • 减少平均响应时间

并发操作导致的数据不一致性

  • 丢失更新
  • ‘脏’数据读出
  • 不能重复读

并发控制的主要方法:封锁机制

封锁的两种类型:

  • 排他锁:X锁
  • 共享锁:S锁

封锁协议:

  • 一级封锁协议:事务T在修改数据R之前必须对其加X锁,直到事务结束才释放
    • 可以防止丢失更改
  • 二级封锁协议:一级封锁协议加上:事务T在读取数据R之前必须对其加S锁,读完之后释放S锁
    • 可以进一步防止读‘脏’数据
  • 三级封锁协议:一级封锁协议加上:事务T在读取数据R之前必须对其加S锁,直到事务结束才释放
    • 进一步防止了不可重复读

预防死锁

  • 一次封锁
  • 顺序封锁

死锁检测:

  • 超时法
  • 等待图法

死锁恢复:

  • 选择一个处理死锁代价最小的事务,将其撤销

可串行化:多个事务并发执行正确,当且仅当其结果与某一次序串行执行结果一致

一个冲突可串行化的调度一定是可串行化调度

两段锁协议:保证事务可串行化调度

  • 扩展阶段
  • 收缩阶段

第八章: 数据库保护

数据库安全性:保护数据库防止不合法的使用造成的数据泄露、更改和破坏

  • 向授权用户提供可靠的信息
  • 拒绝对数据的非授权访问

数据安全性控制:

  • 用户标识与鉴别
    • 标识
    • 认证
  • 存取控制:用户权限定义、合法权限检查
    • 自主存取控制
    • 强制存取控制
  • 视图机制
  • 审计、数据加密

数据完整性控制:包括正确性相容性

完整性控制的对象:列、元组、关系

  • 静态约束
  • 动态约束

完整性控制三个方面的内容

  • 定义功能
  • 检查功能
  • 违约响应

完整性约束按照时机:

  • 立即执行约束
  • 延迟执行约束

SQL完整性支持

  • CREATE TABLE
  • 断言
  • 触发器

第九章:分布式数据库

分布式数据库:每个结点具有独立处理的能力(场地自治),可以执行局部应用,同时每个结点也能通过网络通信支持全局应用

分布式数据库以“数据分布”为前提,强调场地自治性(局部应用),以及自治场地之间的协作性(全局应用),二者缺一不可

分布式数据库的特点

  • 数据独立性
    • 数据的物理独立性、逻辑独立性
    • 数据的分布独立性(分布透明性)
  • 集中与自治相结合的控制结果
  • 适当增加数据冗余:在不同的结点存储同一数据的多个副本
    • 提高系统的可靠性、可用性
    • 提高系统的性能
  • 全局一致性、可串行性和可恢复性

分布式数据库系统的模式结构

全局外模式; 全局概念模式;分片模式;分布模式;局部概念模式;局部内模式

数据分片方式

  • 水平、垂直
  • 混合、导出

数据分片的约束:

  • 完全性:必须完全划分为若干片段
  • 不相交性
  • 可重构性:可以由片段重构整体关系
    • 垂直分片用连接操作
    • 水平分片用并操作

分布透明性

  • 分片透明性
  • 位置透明性
  • 局部数据模型透明性

分布式数据库管理系统DDBMS组成

  • GDBMS
  • LDBMS
  • GDD
  • CM

DDBMS的分类

1 按全局控制方式分类

  • 全局控制集中的DDBMS
  • 全局控制分散的DDBMS
  • 全局控制部分分散的DDBMS

2 按局部DDBMS类型分类

  • 同构型DDBMS
  • 异构型DDBMS

分布式查询分为三类:

  • 局部查询
  • 远程查询
  • 全局查询

分布式查询处理过程:

  • 查询分解
  • 选择操作的执行顺序
  • 选择操作的执行方法

查询优化的首要目标:使查询执行时通信代价最省

保证分布事务原子性:两段提交协议

  • 协调者,
  • 参与则

(1)协调者征求意见做出决定

(2)参与者执行决定

posted @ 2021-01-06 23:39  VanHope  阅读(1151)  评论(0编辑  收藏  举报