数据库期末复习总结

第一章 绪论

  1. DBMS(数据库管理系统)是介于用户和操作系统之间的一层数据管理软件。

  2. 数据库系统包含DBMS包含DB

  3. 数据模型三要素

    • 数据结构:描述系统的静态特性;面向数据之间联系的对象
    • 数据操作:描述系统的动态特征
    • 完整性约束:实体完整性、参照完整性、用户自定义完整性
  4. 常见的数据模型:①层次模型②网状模型③关系模型④面向对象模型

  5. 数据库系统结构:三级模式二级映射(很重要)

  6. 其中一些概念需要知道:

    • 模式:也称为概念模式,是数据库全体数据的全局逻辑结构和特征的描述
    • 外模式:是关于用户数据的局部逻辑结构和特征的描述,是模式的逻辑子集
    • 内模式:是数据库数据的物理结构和存储结构的描述
    • 模式/内模式映像:该映象存在于模式与内模式之间,用于定义模式与内模式之间的对应性。本映象一般在内模式中描述
    • 外模式/模式映像:该映象存在于外模式与模式之间,用于定义外模式和模式之间的对应性。本映象一般在外模式中描述
  7. 物理独立性:在数据库系统的三级模式结构中,存在模式/内模式的映 象,当内模式发生变化时,只要修改模式/内模式的映象,就可以保持模式不变,从而保证程序与数据的物理独立性。

  8. 逻辑独立性:在数据库系统的三级模式结构中,存在外模式/模式的映象,当模式发生变化时,只要修改外模式/模式的映象,即可保持外模式不变,从而保证程序和数据的逻辑独立性。

  9. DBMS的功能:数据库管理系统(DBMS)是数据库系统的核心软件,其主要目标是使数据成为方便用户使用的资源,易于为各种用户所共享,并增强数据的安全性、完整性和可用性。

这一章会考一道E-R关系的大题。大家做E-R大题的时候,首先确定好有几个实体集以及对应的关系。其次注意实体集和关系的属性都有什么。具体习题可以参见我之后给你们发的word文档

第二章 关系数据库

  1. 几个码的区分:

    • 候选码:唯一表示一个元组的属性组(一个候选码可以包含多个属性),且不含多余属性,称该属性组为候选码
    • 主码:一个关系中有多个候选码时,选其中一个作为主码(也就是码)。如果候选码只有一个,那么候选码就是主码
    • 外部码:一个关系R中的某个属性或属性组X不是关系R的主码,但是其他关系的主码,则称X是R的外部码
    • 主属性:构成候选码的属性
  2. 元组:数据库表中的一行就是一个元组

  3. 关系:就是一张数据库表

  4. 对于一个关系模式,我们严格定义是
    R(U,D,DOM,F)R(U,D,DOM,F) R(U,D,DOM,F)
    但是其中的D,DOM和F几乎对做题没有帮助,我们就简记为
    R(U)————R(Sno‾,Sname,Sage,Sdept)其中R为关系名,U为属性集R(U)————R(\underline{Sno},Sname,Sage,Sdept)\\ 其中R为关系名,U为属性集 R(U)————R(Sno​,Sname,Sage,Sdept)其中R为关系名,U为属性集

  5. 象集:一张图就明白了

  6. 选择、投影、连接大题应该会考

  7. 等值连接就是将两表中属性值相等的元组结合在一起

  8. 自然连接就是不仅要求属性值相等,属性也必须相同

  9. 左外连接就是如果A 左连接 B,那么如果A的元组x1x_1x1​在B中找不到匹配的元组y1y_1y1​,那么就给x1x_1x1​匹配一个null,而x1x_1x1​在结果中得以保留。

  10. 右外连接类似,不再赘述

  11. 全外连接就是既允许x1x_1x1​没有匹配的y1y_1y1​(保留x1x_1x1​),也允许y1y_1y1​没有匹配的x1x_1x1​(保留y1y_1y1​)。也就是左右两边都可以出现NULL

  12. 除运算就是现在有一个条件C,让你在R中求出满足条件C的元组。

    举个例子:让你查询选修了全部课程的学生学号

    首先我们需要知道全部课程是哪些课程,所以我们先要选择出全部课程
    πCno(Course)\pi _{Cno}(Course) πCno​(Course)
    再得出选择全部课程的学生的学号
    πSno,Cno(SC)÷πCno(Course)\pi_{{Sno},{Cno}}(SC) {\div} \pi _{Cno}(Course) πSno,Cno​(SC)÷πCno​(Course)
    在SC中,会保留所有满足πCno(Course)\pi _{Cno}(Course)πCno​(Course)结果的Sno。就好比我们现在按照Sno将SC表给分组,相同Sno为一组,然后看看哪个Sno选的课跟πCno(Course)\pi _{Cno}(Course)πCno​(Course)相同。

  13. 关系演算是以数理逻辑中的谓词演算为基础的。按谓词变元的不同,关系演算可分为元组关系演算(以元组为对象)和域关系演算(以元组变量的分量为对象)。QBE不考,只靠ALPHA

这一章会和SQL出一个大题,分值很高。希望大家能够重视

第三章 SQL语言

这章推荐大家多去尝试,可以去力扣网站上做一些sql的题目来检验自己的水平。

  1. 消除重复的行:DISTINCT

  2. 使用转义符escape:Where cname LIKE '%\_%' escape '\'

  3. 空值的判断使用IS NULL和NULL

  4. 使用组函数COUNT,SUM之类的,通常需要GROUP BY分组。

  5. HAVING语句是对分组后的结果进行筛选,筛选条件中可以出现组函数。而WHERE语句是对分组前的结果进行筛选,决定哪些元组被选择参加运算。

    举个例子:求选修课程在5门以上且都及格的学生号及总平均分

    SELECT Sno,AVG(Grade)AS 总平均分
    FROM SC
    GROUP BY Sno
    HAVING COUNT(Cno)>=5 AND MIN(Grade)>='60';
    
  6. DESC是降序排列,ASC是升序排列。默认是ASC

  7. 当一次查询中你需要对同一个表进行多次查询,你就需要对表起别名了

    举个例子:求每门课的间接先修课(即先修课的先修课)

    select first.Cno,third.Cname
    from C first,C second,C third
    where first.PCno=second.Cno and second.PCno=third.Cno
    
  8. select的结果可以作为返回结果进行判断(嵌套查询)

  9. 嵌套查询中,ANY表示任意一个;ALL表示所有

  10. 带exists子查询比较抽象,之后会给大家将两道例题

  11. 需要会写insert、delete、update、create table、drop table、alter table、create index、drop index

  12. 授权和收回最好也会一下吧,背一下即可

  13. 视图是一个虚表。在数据库中只存放视图的定义。随着表中数据的变化,视图的数据也随之变化。视图的查询跟基本表一样

  14. 创建视图的时候with check option语句会限制视图的更新

  15. 视图消解:在对视图进行查询时,DBMS将进行有效性检查(表及视图)。若存在,则从数据字典中取出视图定义,并把定义中的子查询与用户查询结合起来转换为等价的对基本表的查询,然后在执行修正后的查询

第四章 关系系统及查询优化

  1. 关系系统:支持关系模型关系数据库管理系统简称关系系统

    • 表式系统
    • (最小)关系系统
    • 关系完备系统
    • 全关系系统
  2. 实际系统的查询优化步骤

    • 将查询转换成某种内部表示,通常是语法树
    • 根据一定的等价变换规则把语法树转换成标准形式
    • 选择代价小的执行算法
    • 生成查询计划
  3. 查询优化的一般准则

    • 选择运算尽量先做
    • 连接前先进行投影以减少连接条件
    • 投影和选择运算同时做
  4. 关系代数优化的步骤

    这章考点比较少,考试形式有局限性,所以大家不必花太多精力

第五章 关系数据理论

这部分很抽象,大家在复习的时候多举例子。这部分我在这里统一规定X和Y是两个属性。X可以形象为自变量,Y为因变量

  1. 数据依赖:

    • 函数依赖:X➡Y,称为X函数决定Y或Y函数依赖于X(X能推出Y,只要X相等,Y就相等。类似于单射)
    • 多值依赖:
  2. 平凡函数依赖:X➡Y且Y包含了X——(Sno,Cno)➡Sno

    非平凡函数依赖:X➡Y且Y不包含X(我们之后讨论的都是非平凡函数依赖)——(Sno,Cno)➡Grade

  3. 完全函数依赖:在关系模式R(U)中,如果X→Y,并且对于X中任何一个真子集X‘都不能推出Y,则称Y对X完全函数依赖

  4. 部分函数依赖:若X→Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖

  5. 传递函数依赖:若X→Y,但Y不完全函数依赖于X,Y→Z,且Y不包含于X,Z不包含于Y,则称Z对X传递函数依赖

  6. 第一范式1NF:每一属性值都是不能再分的元素,那么该关系是一个规范化的关系。

  7. 第二范式2NF:如果一个关系属于1NF,且每个非主属性完全函数依赖于候选码,则该关系称为2NF。

  8. 第三范式3NF:如果关系中每个非主属性不部分依赖于候选码,也不传递依赖于关键字的关系是属于3NF。

  9. BCNF范式:关系模式R〈U,F〉中,若每一个决定因素都包含码,则R〈U,F 〉∈BCNF(决定因素就是指X,也就是对于每一个X→Y的式子,X都包含主码)

  10. 多值依赖:对于关系模式R(U),X,Y,Z是U的一个子集,且Z=U-X-Y。多值依赖X→→Y成立当且仅当对R的任一关系r,r在(X,Z)上的每个值对应一组Y的值,这组值仅取决于X值而与Z值无关(感觉不是人话)

    人话就是三个集合中,X多值依赖Y等于说(X,Z)这组属性对应的Y值只会随着X改变而改变,跟Z没关系。

  11. 关系规范化原则

    • 无损分解原则
    • 函数依赖保持性
    • 从实际出发
  12. 逻辑蕴含:对于满足一组函数依赖F的关系模式R<U,F>,其任何一个关系r,若函数依赖X→Y都成立,则称F逻辑蕴含X→Y

  13. 闭包:在关系模式R<U,F>中为F所逻辑蕴含的函数依赖的全体叫做F的闭包,记作F+F^+F+

  14. 如何求闭包

  15. 如果两个函数依赖集F和G的闭包相等,则称F覆盖G或G覆盖F

  16. 如何求最小覆盖或最小依赖集

第六章 数据库设计

  1. 数据库设计步骤:

    • 需求分析
    • 概念结构设计
    • 逻辑结构设计
    • 物理结构设计
    • 数据库实施阶段
    • 数据库运行和维护阶段
  2. 数据字典是进行详细的数据收集和数据分析所获得的主要成果。数据字典是在需求分析阶段建立
  3. 逻辑结构设计:E-R图
  4. 物理结构设计:
    • 确定数据库的物理结构,在关系数据库中主要指存取方法存储结构
    • 对物理结构进行评价,重点是时间空间效率

第七章 数据库恢复技术

  1. 事务是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位

  2. begin transaction 开始事务

    commit 提交事务

    rollback 回滚(出现故障时,全部撤销已完成的操作)

  3. 事务的特性:(很有可能考)

    • 原子性
    • 一致性
    • 隔离性
    • 持续性
  4. 故障的种类:

    • 事务故障
    • 系统故障
    • 介质故障
    • 计算机病毒
  5. 数据恢复的技术:①数据转储②登记日志文件

  6. 故障的恢复策略:

第八章 数据库安全性

  1. 系统安全保护措施是否有效是数据库系统的主要指标之一
  2. 用户标识:用户名用户标识号
  3. 用户鉴别:口令、随机函数法、提问法、符号标记法、指纹、声音、视纹
  4. 自主存取控制:
    • C2级,灵活合法权限检查
    • 存取权限由数据对象操作类型组成
    • 定义方法:GRANT/REVOKE
  5. 强制存取控制
    • B1级,严格
    • DBMS所管理的全部实体分为主体和客体两大类:主体是活动实体,客体是被动实体
    • 主体的敏感度标记:许可证级别
    • 客体的敏感度标记:密级
  6. 强制存取控制规则
    • 仅当主体的许可证级别大于或等于客体的密级时,该主体才能读取相应的客体
    • 仅当主体的许可证级别小于等于客体的密级时,该主体才能写相应的客体
  7. 数据加密方法:①替换方法②置换方法③混合方法

第九章 数据库完整性

  1. 数据库的完整性是指数据的正确性相容性
  2. 完整性约束条件:防止数据库中存在不符合语义的数据,防止错误信息的输入和输出,即所谓垃圾进垃圾出所造成的无效操作和错误结果。
  3. 静态约束是指数据库每一确定状态时的数据对象所应满足的约束条件,它是反映数据库状态合理性的约束,这是最重要的一类完整性约束
  4. 动态约束是指数据库从一种状态转变为另一种状态时,新、旧值之间所应满足的约束条件,它是反映数据库状态变迁的约束
  5. 完整性控制机制:
    • 定义功能:提供定义完整性约束条件的机制
    • 检查功能:检查用户发出操作请求是否违背了完整性约束条件
    • 执行功能:如果发现用户的操作请求使数据违背了完整性约束条件,则采取一定的动作来保证数据的完整性

第十章 并发控制

  1. 排它锁(X锁):事务T对A加上X锁后,只允许T读取和修改A,其他任何事务都不能对A加锁

    共享锁(S锁):事务T对A加上S锁后,T只能读而不能修改A,其他事务只能对A加S锁,不能加X锁。

  2. 事务是并发控制的基本单位

  3. 封锁协议:

    • 一级封锁协议:事务在修改数据R之前必须先对其加X锁,直到事务结束才释放(可防止丢失修改,不能保证可重复读和不读“脏”数据)
    • 二级封锁协议:事务在读取数据R之前必须先对其加S锁,读完就释放(防止读“脏”数据)
    • 三级封锁协议:事务在读取数据R之前必须先对其加S锁,直到事务结束才释放(防止不可重复读)
  4. 几个事务的并行执行是正确的,当且仅当其结果与按某一次序串行地执行它们时的结果相同。这种并行调度策略称为可串行化的调度。

  5. 可串行性是并行事务正确性的唯一准则

  6. 两段锁协议:①在对任何数据进行读、写操作之前,事务首先要获得对该数据的封锁②在释放一个封锁之后,事务不再接受任何其他封锁

  7. 两段锁的两个阶段:

    • 扩展阶段:获得封锁
    • 收缩阶段:释放封锁
  8. 两段锁协议就是获得锁和释放锁分开。在扩展阶段不能释放锁,只能获得锁;在收缩阶段不能获得锁,只能释放锁。换句话说:在你释放第一个锁之前需要把所有锁给获得,一旦你开始释放锁就不能获得锁了。但是数据的读取和修改不受该协议的影响。

给大家找了一些数据库选择题的资源,可以检验以下自己的水平。

数据库系统原理选择题

数据库原理期末考试试题及答案

希望大家数据库能考出自己理想的成绩,另附以下我比较推荐的B站网课

  • 便于形成数据库课程框架:两小时速成课
  • 生动讲解,很细节也易懂:数据库系统概论

ByLangZhiZhenBy \quad Lang Zhi Zhen ByLangZhiZhen

《数据库系统概论》期末复习速成相关推荐

  1. 数据库系统概论期末复习概要

    数据库系统概论期末复习概要 原创修改不易,转载请注明出处谢谢 基础篇 第 1 章 概论 1.1数据库系统概述 1.1.1数据库4个基本概念 数据:数据库中存储的基本对象,是描述事物的符号记录. (含义 ...

  2. 数据库系统概论期末复习【超实用】

    若对你有帮助的话,记得点赞.关注我呦! 所用教材:<数据库系统概论(第5版)>王珊 萨师煊 编著 理论与实践相结合的好书 本文大部分写自同学,本作者稍加详解.感谢该同学,这些题目做透能拿高 ...

  3. 数据库系统概论期末复习以及知识整理

    1.数据库的三级模式与二级映射: 三级模式:模式.内模式.外模式 二级映射:外模式--模式 映射(保证了数据的逻辑独立性) 模式--内模式 映射(保证了数据的物理独立性). 2.数据库的特点:①数据结 ...

  4. 数据库系统概论期末复习二、关系数据库

    前面几篇先整理一下概念,整理完之后我会引路,让各位学穿计算题!!! 冲啊各位!!!考完试就能回家了! 还有一星期不到就考数据库了,我的高中同学,各种朋友,都在朋友圈刷回家的照片,吃火锅的照片,聚会的照 ...

  5. 数据库系统原理期末复习

    数据库系统原理期末复习 这是本人整理的数据库系统原理的复习资料,按照四个课程目标所划的知识点进行复习,时间充裕的同学可对照文末各章复习知识点查漏补缺. 一.课程目标1:数据库基础知识应用 20分 数据 ...

  6. Java期末复习速成(八)

    Java期末复习速成(八) 文章目录 Java期末复习速成(八) 泛型 泛型的使用 用泛型表示类 用泛型表示接口 泛型方法 泛型通配符 反射 Class类 Field类 Method类 泛型 在Jdk ...

  7. 信息安全概论期末复习

    信息安全概论 期末复习 简答题 三个安全目标: 安全目标主要包括保密性(confidentiality).完整性(integrity) 和可用性(availability). 保密性:保密性是指信息能 ...

  8. 《数据库系统概论》复习笔记

    期末复习顺便总结下,书本为高等教育出版社的<数据库系统概论>. 第一章知识点 数据库是长期储存之计算机内的.有组织的.可共享的大量数据的集合. 1,数据库数据特点 P4 永久存储,有组织, ...

  9. 哈工大信息安全概论期末复习

    防扒链接: 何以牵尘的博客_CSDN博客-哈工大课内学习,哈工大精品课程笔记领域博主何以牵尘擅长哈工大课内学习,哈工大精品课程笔记,等方面的知识https://blog.csdn.net/m0_617 ...

  10. 旅游学概论期末复习提纲 试题(含答案)

    旅游学概论复习提纲 第一章 旅游的产生与发展 一.填空题 1.<易经>山曾有"观国之光"一语.据信,这便是后来"观光"一词的由来. 2. 就西方奴隶 ...

最新文章

  1. TensorRT5 yoloV3加速
  2. 【LeetCode从零单排】No36 Valid Sudoku
  3. WebView::drawExtras
  4. Laravel db:seed 报错 [ReflectionException] Class XXX does not exist
  5. java 代码 设置环境变量_Java 配置环境变量教程
  6. 前后端分离项目如何部署_前后端分离项目,如何解决跨域问题?
  7. spring boot——MockMvc的用法
  8. java 类变量 赋值_Java 中类变量,实例变量,局部变量的赋值
  9. C#拾遗系列(5):泛型委托
  10. 基于kl变换的人脸识别_简述几种人脸识别的主要方法
  11. Redhat_as4_oracle10g自启动脚本设置
  12. 软件工程之系统建模篇【设计接口类模型】
  13. 小米html查看器闪退,小米手机浏览器闪退解决办法
  14. 【推理加速】博客翻译:利用融合conv和bn的方法加速模型
  15. 2016年上半年系统集成中项4月6日作业
  16. redirect_uri域名与后台配置不一致
  17. Python利用Opencv读取图片
  18. 单项选择标准化考试系统
  19. EeePC各项硬件参数
  20. 20190211 模拟训练 A. 大猫咪

热门文章

  1. 利用GPU加速的软件
  2. python语言程序设计实践教程答案实验二_20184313 实验二《Python程序设计》实验报告...
  3. YUV444,YUV420P,YUV420SP,YUV422P,YUV422SP,NV12,NV21,NV16,NV61等格式区分与存储简介
  4. Matlab 2016a 安装及破解方法
  5. 基于R语言的贝叶斯网络模型的实践技术
  6. PubMed插件神器之PubMedy和Scholarscope(末尾附赠Google截屏神器)
  7. vim编辑器删除空行
  8. 【WEB】HAR文件(http archive format)的介绍和查看
  9. python组态开发_开发监控云组态软件的组成
  10. Linux和Windows文件实时同步