SCAU期末笔记 - 数据库系统概念

我校使用Database System Concepts,9-12章不考所以跳过,因为课都逃了所以复习很仓促,只准备过一下每一章最后的概念辨析,我也不知道有没有用

第1章 引言

  • 数据库管理系统(DBMS) 由一个互相关联的数据的集合和一组用以访问这些数据的程序组成。
  • 数据库系统应用:①高价值;②庞大;③多用户访问。
  • 联机事务处理即大量的用户使用数据库,每个用户检索相对少量的数据,进行小的更新。
  • 数据分析即审阅数据,给出结论,并推导出规则或决策程序。
  • 文件处理系统将数据永久存储在不同的文件中的管理方式。
  • 数据不一致性 ,即同一数据的不同副本不一致(文件处理系统的弊端,说人话就是改了一个忘了改别的)。
  • 一致性约束 ,就是同一类数据是否合法的自动判断(文件处理系统的弊端)。
  • 数据抽象
    • 物理层详细描述复杂的底层数据结构。
    • 逻辑层 描述数据库中存储什么数据以及这些数据间存在什么联系。
    • 视图层一个数据库内有多个,使用户和系统的交互更简单。
  • 实例(instance) :特定时刻存储在数据库中的信息的集合。
  • 模式(schema) :数据库的总体设计。
    • 物理模式在物理层描述数据库的设计。
    • 逻辑模式在逻辑层描述数据库的设计。
    • 子模式 :描述数据库的不同视图
  • 物理数据独立性 :在数据抽象的不同层级都不需要掌握其他层级的结构。
  • 数据模型
    • 关系模型用表的集合来表示数据和数据间的联系。
    • 实体-联系模型 使用称作实体的基本对象的集合,以及这些对象间的联系。
    • 半结构化数据模型允许在其数据定义中某些相同类型的数据项含有不同的属性集。
    • 基于对象的数据模型可以看成对关系模型进行扩展,增加了封装、方法和对象标识等概念。
  • 数据库语言
    • 数据定义语言(DDL) 定义数据库模式。
    • 数据操纵语言(DML) 表达数据库的查询和更新。
      • 过程化DML 要求用户指定需要什么数据以及如何获得这些数据。
      • 声明式DML (也称为非过程化DML )只要求用户指定需要什么数据,而不必指明如何获得这些数据。
      • 查询语言:DML中涉及信息检索的部分。
  • 数据定义语言
    • 域约束指的就是数据类型。
    • 引用完整性确保一个关系中的取值在另一个关系中也出现
    • 授权
      • 读权限:可读不能改
      • 插入权限:可加新数据不可改已有的
      • 更新权限:可改不能删
      • 删除权限
  • 元数据(metadata) 是关于数据的数据,说人话就是预处理出来的一个方便后续操作的类似目录的东西。
  • 应用程序就是用来以SQL查询来访问数据库中的数据这种方式与数据库进行交互的程序。
  • 数据库设计
    • 概念设计 涉及决定数据库中应该包括哪些属性,以及如何组织这些属性到各个表中。
    • 规范化 将所有属性集作为输入,生成一组关系表的算法(见第8章)。
    • 功能需求说明,用户描述将在数据之上执行的各种操作(或事务)。
    • 物理设计阶段,在这个阶段中说明数据库的物理特性,包括文件组织的形式和内部的存储结构。
  • 数据库引擎
    • 存储管理器 是数据库系统中负责在数据库中存储的低层数据与应用程序以及向系统提交的查询之间提供借口的部件。
      • 权限及完整性管理器检测是否满足完整性约束,并检查视图访问数据的用户的权限。
      • 事务管理器保证即使系统发生了故障,数据库也保持在一致的(正确的)状态,并保证并发事务的执行不发生冲突。
      • 文件管理器管理磁盘存储空间的分配,管理用于表示磁盘上所存储信息的数据结构。
      • 缓冲区管理器负责将数据从磁盘上取到内存中,并决定那些数据应被缓冲存储在内存中。
      • 数据文件存储数据库自身。
      • 数据字典存储关于数据库结构的元数据,特别是数据库模式。
      • 索引提供对数据项的快速访问,就相当于很多现成能用的指针。
    • 查询处理器
      • DDL解释器解释DDL语句并将这些定义记录在数据字典中。
      • DML编译器 将查询语言中的DML语句翻译为包括一系列查询执行引擎能理解的低级指令的执行方案。
      • 查询优化就是从几个候选执行计划中选出代价最小的那个执行计划。
      • 查询执行引擎 执行由DML编译器产生的低级指令。
    • 事务 是数据库应用中完成单一逻辑功能的操作集合。
      • 原子性:要么都发生,要么都不发生
      • 一致性:数据变化前后的正确性
      • 持久性:完成后就不会自己回退
      • 恢复管理器:保证原子性和持久性
      • 故障恢复:为保证原子性,失败要回退
      • 并发控制管理器:控制并发事物间的影响
  • 数据库体系结构
    • 集中式的:所有数据集中存储在一个中心节点,便于管理和维护,但可能受限于单个节点的性能和容量。
    • 并行的:利用多个CPU协同工作,提高数据处理能力和系统吞吐量,适用于大规模数据处理和高性能需求。
    • 分布式的:数据分散存储在多个节点上,实现跨地域的数据共享和访问,具有高可用性和易于扩展的特点。
  • 数据库应用体系结构
    • 两层的:应用程序驻留在客户机上,通过查询语言语句调用数据库功能。
    • 三层的:客户机仅作为一个前端,没有任何直接的数据库调用。
    • 应用服务器:计算在何种条件下做出何种反应。
  • 数据库管理员(DBA) 是对系统进行集中控制的人。

第2章 关系模型介绍

  • 表(table) :就是表格呗
  • 关系(relation) :表在关系模型中的高级表述
  • 元组(tuple) :行在关系模型中的高级表述
  • 属性(attribute) :列在关系模型中的高级表述
  • 关系实例(relation instance) :指代一个关系的特定实例(也就是选中某一行)
  • 域(domain) :对于关系的每个属性存在的一个允许取值的集合
  • 原子域(atomic domain) :不可再分的单元组成的域
  • 空值(null value) 是一个特殊的值,表示值未知或不存在。
  • 数据库模式(database schema) 指数据库的逻辑设计。
相关推荐
Pandaconda几秒前
【Golang 面试题】每日 3 题(三十九)
开发语言·经验分享·笔记·后端·面试·golang·go
l1x1n013 分钟前
No.35 笔记 | Python学习之旅:基础语法与实践作业总结
笔记·python·学习
摘星怪sec19 分钟前
【漏洞复现】|方正畅享全媒体新闻采编系统reportCenter.do/screen.do存在SQL注入
数据库·sql·web安全·媒体·漏洞复现
基哥的奋斗历程28 分钟前
学到一些小知识关于Maven 与 logback 与 jpa 日志
java·数据库·maven
十二同学啊32 分钟前
JSqlParser:Java SQL 解析利器
java·开发语言·sql
莫名有雪35 分钟前
BUUCTF_Web([RCTF2015]EasySQL)二次注入+报错注入
sql
苏-言35 分钟前
MyBatis最佳实践:提升数据库交互效率的秘密武器
数据库·mybatis
gyeolhada1 小时前
计算机组成原理(计算机系统3)--实验八:处理器结构拓展实验
java·前端·数据库·嵌入式硬件
码农丁丁1 小时前
为什么数据库不应该使用外键
数据库·mysql·oracle·数据库设计·外键
随心Coding3 小时前
【MySQL】存储引擎有哪些?区别是什么?
数据库·mysql