数据库系统

数据库系统

数据库系统的体系结构

视图

数据库视图:它一个虚拟表(逻辑上的表),其内容由查询定义(仅保存SQL查询语句)。同真实的表一样,视图包含一系列带有名称的列和行数据。但是视图并没有真正存储这些数据,而是通过查询原始表动态生成所需要的数据。

视图的优点:

  1. 视图能简化用户操作
  2. 视图使用户能以多种角度看待同一数据
  3. 视图对重构数据库提供了一定成都的逻辑独立性
  4. 视图可以对机密数据提供安全保护

物化视图:他不是传统意义上的虚拟视图,是实体化视图,其本身会存储数据。同时当原始表中的数据更新时,物化视图也会更新。

分布式数据库

分布式数据库
  • 分片透明:是指用户不必关心数据是如何分片的,它们对数据的操作在全局关系上进行,即如何分片对用户是透明的。
  • 复制透明:用户不用关心数据库在网络中各个节点的复制情况,被复制的数据的更新都由系统自动完成。
  • 位置透明:是指用户不必知道所操作的数据放在何处,即数据分配到哪个或哪些站点存储对用户是透明的。
  • 局部映像透明性(逻辑透明):是最低层次的透明性,该透明性提供数据到局部数据库的映像,即用户不必关心局部DBMS支持哪种数据模型、使用哪种数据操纵语言、数据模型和操纵语言的转换是由系统完成的。因此,局部映像透明性对异构型和同构异质的分布式数据库系统是非常重要的。

试题

分布式数据库系统除了包含集中式数据库系统的模式结构之外,还增加了几个模式级别,其中( )定义分布式数据库中数据的整体逻辑结构,使得数据使用方便,如同没有分布一样。

数据仓库与数据挖掘

数据仓库特点:

  • 面向主题:数据按主题组织。
  • 集成的:消除了源数据中的不一致性。
  • 相对稳定的(非易失的):主要进行查询操作,只有少量的修改和删除操作(或是不删除)。
  • 反映历史变化(随着时间变化):记录了企业从过去某一时刻到当前各个阶段的信息,可对发展历程和未来趋势做定量分析和预测。
数据仓库与数据挖掘

试题

数据挖掘是从数据库的大量数据中揭示出隐含的、先前未知的、并有潜在价值的

数据库设计过程

数据库设计过程

试题

在数据库设计的( )阶段进行关系规范化。 在数据库设计的需求分析阶段应完成包括( )在内的文档。

概念结构设计

概念结构设计
概念结构设计2
  • 集成的方法:
    • 多个局部E-R图一次集成。
    • 逐步集成,用累加的方式一次集成两个局部E-R。
  • 集成产生的冲突及解决办法:
    • 属性冲突:包括属性域冲突和属性取值冲突。
    • 命名冲突:包括同名异议和异名同异。
    • 结构冲突:包括同一对象在不同应用中具有不同的抽象,以及同一实体在不同局部E-R图中所包含的属性个数和属性排列次序不完全相同。

关系模型相关概念

  • 目或度:关系模式中属性的个数。
  • 候选码(候选键)
  • 主码(主键)
  • 主属性或非主属性:组成候选码的属性就是主属性,其它的就是非主属性。
  • 外码(外键)
  • 全码(ALL-Key):关系模式的所有属性组是这个关系的候选码。
关系模型相关概念

关系的3中类型

  • 基本关系
  • 查询表
  • 视图表

完整性约束

  • 实体完整性约束
  • 参考完整性约束
  • 用户自定义完整性约束

触发器

关系数据模型要素三 关系完整性约束

试题

某数据库中有员工关系E(员工号,姓名,部门,职称,月薪);产品关系P(产品号,产品名称,型号,尺寸,颜色);仓库关系W(仓库号,仓库名称,地址,负责人);库存关系I(仓库号,产品号,产品数量)。

规范化理论

函数依赖

函数依赖

求候选键

  • 将关系模式的函数依赖关系用“有向图”的方式表示
  • 找入度为0的属性,并以该属性集合为起点,尝试遍历有向图,若能正常遍历图中的所有节点,则该属性集即为关系模式的候选键。
  • 若入度为0的属性集不能遍历图中所有节点,则需要尝试性的将一些中间节点(既有入度,也有出度的节点)并入入度为0的属性集中,直至该集合能遍历所有结点,集合为候选键。

求候选键实例

例1:给定关系R(A1, A2, A3, A4)上的函数依赖集F

范式

范式

无损分解

什么是有损,什么又是无损?

  • 有损:不能还原。
  • 无损:可以还原。

无损联接分解:指将一个关系模式分解成若干个关系模式后,通过自然联接和投影等运算仍能还原到原来的关系模式。

并发控制

基本概念

并发控制-基本概念

封锁协议

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

基本的封锁类型有两种:排它锁(X锁)和共享锁(S锁)。

所谓X锁,是事务T对数据A加上X锁时,只允许事务T读取和修改数据A。 所谓S锁,是事务T对数据A加上S锁时,其他事务只能再对数据A加S锁,而不能加X锁,直到T释放A上的S锁。

若事务T对数据对象A加了S锁,则T就可以对A进行读取,但不能进行更新(S锁因此又称为读锁),在T释放A上的S锁以前,其他事务可以再对A加S锁,但不能加X锁,从而可以读取A,但不能更新A。

数据库的S锁和X锁,两段锁协议

数据库安全性

数据库安全性

数据备份

  • 冷备份也称为静态备份,是将数据库正常关闭,在停止状态下,将数据库的文件全部备份(复制)下来。
  • 热备份也称为动态备份,是利用备份软件,在数据库正常运行的状态下,将数据库中的数据文件备份出来。
数据库备份
  • 完全备份:备份所有数据
  • 差量备份:仅备份上一次完全备份之后变化的数据
  • 增量备份:备份上一次备份之后变化的数据

日志文件:事务日志是针对数据库改变所做的记录,他可以记录针对数据库的任何操作,并将记录结果保存在独立的文件中。

试题

假设某证券公司的股票交易系统中有正在运行的事务,此时,若要转储改交易系统数据中的全部数据,则应采用()方式。

数据库故障与恢复

数据库故障与恢复

数据库系统
https://realwujing.github.io/architect/数据库系统/
作者
Wu Jing
发布于
2023年4月21日
许可协议