数据库复习

1. 数据库的三级模式和两级映像架构对数据库系统有何重要意义

三级模式

  1. 视图层/外模式
    • 把现实世界信息 按不同用户观点 抽象为多个逻辑数据结构,每个逻辑结构称为视图
    • 每个视图称为数据库的一个子模式
  2. 逻辑模式
    • 综合所有视图,把所有用户关心的现实世界抽象为逻辑模式
    • 描述 数据库中存储的数据 及 数据间的关系
  3. 物理模式/内模式
    • 描述数据实际上怎样存储的

两级映像/数据独立性

  1. 逻辑数据独立性
    • 由 视图子模式 -> 逻辑模式 的映射实现,仅需修改此映射即可
    • 数据库的视图子模式 和 应用程序 可以不改变
  2. 物理数据独立性
    • 由 逻辑模式 -> 物理模式 的映射实现,仅需修改此映射即可
    • 逻辑模式 和 应用程序 可以不改变

img

2. 设计大型关系型数据库时,遵照“概念设计->逻辑设计->物理设计”的过程有何好处

    • 概念设计能将现实世界的信息转化为概念(根据需求设计ER图);
    • 逻辑设计进一步将概念抽象为逻辑模式(ER图转化为关系, 函数依赖, 范式, 关系分解, 无损连接性, 函数依赖保持性);
    • 物理设计在此基础上,为关系模式选择合适的存储结构存取方法
  1. 分层设计能够通过两级映射实现数据独立性,即 逻辑数据独立性物理数据独立性

3. 对视图进行INSERT, UPDATE, DELETE 需要满足的条件

img

4. SQL 字符串存储空间

VARCHAR的开头需要存储字符串的长度

  • 0 < 长度 <= 255 (\(2^8-1\)),需要1个字节
  • 256 <= 长度 <= 65535 (\(2^{16}-1\)),需要2个字节

img

5. 缓冲池 和 虚拟内存 的相同点和不同点

相同点

  1. 两者都用于访问 可用内存 容纳不下的数据
  2. 两者都会在需要的时候从磁盘将页读入内存
  3. 两者都会进行页替换

不同点

  1. DBMS经常能更准确地预测页的访问顺序
    • 有助于更好地选择被替换的页
    • 有助于更准确地预取页
  2. OS不具备内存中的页强制写回磁盘的能力,DBMS必须具有强制写回的能力(force)
    • OS会将修改过的页延迟写回磁盘,若写回前发生故障,则会破坏数据一致性
    • DBMS则需要保证一致性。通过将修改过的页写回磁盘前将日志记录写入日志,保证故障恢复(Write-Ahead Logging, WAL协议)
  3. 并发控制和故障恢复使得缓冲区管理器的设计更加复杂

6. 数据库系统 和 文件系统 的比较

img
数据库的其他优点:数据独立性高、 支持复杂结构、 三种数据抽象、 正确安全可靠

7. 基于时间戳的并发控制协议的优缺点

优点

  1. 保证冲突可串行化
  2. 无死锁

缺点

  1. 一系列短事务的冲突可能引起长事务的反复重启,导致长事务饿死。
  2. 可能产生不可恢复的调度。
    例如T1需要undo,而T2使用了T1的内容且已经commit,此时T2不能undo,导致不可恢复。

8. 故障的分类

  1. 事务故障
    • 逻辑故障:事务由于某些内部条件而无法继续正常执行,如非法输入、找不到数据、溢出或超出资源限制
    • 系统错误:系统进入一种不良状态,如死锁,结果事务无法继续正常执行,但该事务可以在以后的某个时间重新执行
  2. 系统故障:硬件故障,或者数据库软件或操作系统的漏洞,导致易失性存储器内容丢失.
  3. 磁盘故障
posted @ 2023-12-25 16:05  Frank23  阅读(9)  评论(0编辑  收藏  举报