一 绪论

数据管理技术的3个阶段

人工管理、文件系统和数据库管理系统

数据模型的分类

概念模型:E-R模型、OO模型

逻辑模型:层次模型、网状模型、关系模型

物理模型:用来描述数据的物理存储结构和存储方式

数据模型的三要素

数据结构、数据操作、数据完整性约束

数据库的三级模式与两层映像

内模式:对应于物理层数据抽象,它是数据的物理结构和存储方式的描述,是数据在数据库内部的表示方式。

模式:对应于逻辑层数据抽象,它是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。

外模式:对应于视图层数据抽象,它是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述。

两层映像

为了能够在系统内部实现3个抽象层次的数据之间的联系和转换,数据库管理系统提出了两层映像:外模式/模式映像,模式/内模式映像。正是这两层映像保证了数据库中的数据具有较高的逻辑独立性和物理独立性。

数据库系统的组成

数据库、数据库管理系统(DBMS)、应用程序、数据库管理员(DBA)、最终用户

二 关系模型与关系代数

基本的关系代数运算

并、差、笛卡尔积、选择、投影

关系模型的完整性约束

实体完整性约束、参照完整性约束、用户自定义完整性约束

三 SQL查询语言

四 数据库建模

五 数据关系理论与模式求精

一个 “ 好 ” 的关系模式应该是数据冗余应尽可能少,且不会发生插入异常、删除异常、更新异常等问题。而且,当为减少冗余进行模式分解时,应考虑分解后的模式是否满足无损连接和保持依赖等特性。

函数依赖包括完全函数依赖,部分函数依赖,传递依赖等。

范式

第一范式:每个属性对应的域值都是不可分的。

第二范式:在第一范式的基础上,消除了非主属性对候选码的部分依赖。

第三范式:在第二范式的基础上,消除了非主属性对候选码的传递依赖。

BCNF: 在第三范式的基础上,消除了主属性对候选码的部分依赖和传递依赖。

无损连接分解和保持依赖分解

闭包和逻辑蕴涵

六 数据库完整性和安全性

游标:若要对SELECT语句返回的结果值进行逐行处理,必须使用游标。

触发器:是用户定义在关系表上的一类由事件驱动的特殊过程,其不仅可以用于数据库完整性检查,也可以用来实现数据库的其他功能,包括数据库安全性,以及一些业务流程和控制流程。

触发器的事件可以是插入、删除、修改操作。因此,触发器有3种类型。

存储过程:为了完成特定功能汇聚而成的一组命名了的SQL语句集合,该集合编译后存放在数据库中,可根据实际需求重新编译。

存储过程的优点:1.将业务操作封装; 2. 便于事务管理; 3.实现一定程度的安全性保护; 4.特别适合统计和查询操作; 5.减少网络通信量。

实现数据库安全的技术:自主存取控制、视图和审计技术。

自主存取控制(Discretionary Access Control,DAC):SQL通过授权GRANT和回收权限REVOKE两条命令来实现安全性,授权分为数据库级、表级和列级权限的授予,也可以分为命令级和对象级权限的授予。

强制存取控制(Mandatory Access Control,MAC):每一个数据库对象被标以一定的密级,每一个用户也被授予某一个级别的许可证。对于任意一个对象,只有具有合法许可证的用户才可以存取。较为严格。

视图:从一个基本表或多个基本表导出的表。在数据库中仅存放视图的定义,不存放视图对应的数据;当基本表中的数据发生变化时,从视图中查询的数据也随之变化。视图实现了数据库管理系统三级模式的外模式。

审计:把用户对数据库的所有操作自动记录下来存入审计日记,数据库管理员可以利用审计跟踪信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。

七 事务管理与恢复

并发控制

事务:是具有完整逻辑意义的数据库操作系列的集合,这些操作是一个不可分割的逻辑工作单元,要么全做,要么全不做。

事务的特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持续性(Durability),简称ACID。

1.原子性:事务是数据库的逻辑工作单位,事务中包括的操作要么都做,要么都不做

2.一致性:事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。事务执行过程中出现故障则称这时的数据库处于不一致性状态。

3.隔离性:一个事务的执行不能被其他事务干扰,并发执行的各个事务之间不能互相干扰

4.持续性(永久性):一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。

两阶段封锁协议

每个事务分两个阶段申请锁和释放锁。在增长阶段,事务可以获得锁,但不能释放锁;在缩减阶段,事务可以释放锁,但不能获得新锁。两阶段封锁协议可以保证冲突可串行化。

死锁的预防、检测和解除

死锁即两个事务互相申请对方锁住的资源导致两个事务永远不能结束。

预防策略:

(1) 一次性封锁法:一次性封锁发要求每个事务必须一次将所有要使用的数据全部加锁

缺点:势必扩大封锁的范围,从而降低了系统的并发度;

(2) 顺序封锁法:预先对数据对象规定一个封锁顺序,所有事务都按这个顺序实行封锁。

缺点;难以事先确定封锁顺序

死锁解除策略:

(1) 超时法:如果一个事务的等待时间超过了规定的时限,就认为发生了死锁;

缺点:可能误判死锁,事务因为其他原因使等待时间超过时限;若时限设置得太长,死锁发生后不能及时发现

(2) 等待图法:并发控制子系统周期性地生成事务等待图,并进行检测,如果发现图中存在回路,则发生了死锁。

如果检测到死锁,一般采用的方法是选择一个处理死锁代价较小的事务,将其撤销,释放此事务持有的所有的锁,之后对撤销的事务所执行的数据修改操作必须加以恢复。

故障与恢复

故障的分类

1.事务故障;

2.系统故障:如操作系统故障,CPU故障,系统断电;

3.介质故障:如磁盘损坏、磁头碰撞、瞬时强磁场干扰等。

故障的恢复策略

事务故障的恢复:

(1)反向扫描日志文件(即从最后向前扫描日志文件),查找该事务的更新操作

(2)对该事务的更新操作执行逆操作。(来得及或者未来得及写入数据库都没关系)

(3)继续反向扫描日志文件,查找该事务的其他更新操作,并做同样处理

(4)如此继续,直到读到该事务的开始标记

系统故障的恢复:

(1)正向扫描日志文件,找出在故障发生前已经提交的事务(这些事务既有BEGIN TRANSACTION记录,也有COMMIT记录),将其事务标记记入REDO队列;同时找出故障发生时尚未完成的事务(这些事务只有BEGIN TRANSACTION记录,无相应的COMMIT记录),将其事务标记记入UNDO队列

(2)对撤销队列中的各个事务执行UNDO操作

(3)对重做队列中的各个事务执行REDO操作

为什么要REDO?考虑已提交事务对数据库的更新可能还留在缓冲区没来得及写入数据库(磁盘)。

介质故障的恢复:

(1)装入最新的数据库后备副本,使数据库恢复到最近一次转储时的一致性状态

(2)装入相应的日志文件副本(转储结束时刻的日志文件副本),重做已完成的事务,即扫描日志文件找出需要重做和撤销的事务

日志:是DBMS记录数据库全部更新操作的序列文件。日志记录有两种类型:记录数据更新操作的日志和记录事务更新操作的日志。先写日志规则

检查点:周期性地向日志中写一条检查点记录并记录所有当前活跃的事务,为恢复管理器提供信息,以减少恢复日志的扫描开销和提交恢复效率。

参考资料:https://blog.csdn.net/qq_37205708/article/details/94194465

数据库原理的知识点总结相关推荐

  1. 《数据库原理》知识点整理+习题

    目录 第1章 绪论 1.1术语 1.2重要概念 数据库管理技术的发展过程(三个阶段) 数据模型(Data Model) 逻辑模型的分类(非关系模型与关系模型) 画E-R图 数据库系统结构 第2章 关系 ...

  2. 数据库原理与应用课程知识点

    数据库原理与应用课程知识点 文章目录 数据库原理与应用课程知识点 **第一章 绪论** 数据.数据库.数据库管理系统.数据库系统的概念 数据管理技术发展的三个阶段及各阶段的优缺点 概念模型中的基本术语 ...

  3. 数据库原理归档——对于数据库原理最全的总结

    恭喜你来到新天地! 以下的笔记是我复习了三次总结出来的,属于一个归档.目前还在对以往的知识做一个更加详细地总结,所以仍在更新中.这份笔记对于新手入门数据库来说十分友好,语言通俗易懂.在数据库中,还涉及 ...

  4. 全国计算机等级考试四级数据库易错知识点

    自己做题的一些易错点收纳,红色的是错两次以上的知识点 数据库原理: 两个关系代数表达式相等的条件是 产生的结果有相同的属性集:2.相同的元组集 两个调度等价有3个条件,1.读同样的值:2.readTj ...

  5. 数据库原理及应用实验报告-实验8-参照完整性

    数据库原理及应用实验报告 实验题目  实验8参照完整性 实验目的 学习建立外键,以及利用FOREIGN KEY-REFERENCES子句以及各种约束保证参照完整性. 实验内容 为演示参照完整性,建立表 ...

  6. 从千万级数据查询来聊一聊索引结构和数据库原理

    在日常工作中我们不可避免地会遇到慢SQL问题,比如笔者在之前的公司时会定期收到DBA彪哥发来的Oracle AWR报告,并特别提示我某条sql近阶段执行明显很慢,可能要优化一下等.对于这样的问题通常大 ...

  7. 滨州学院计算机自荐考试题型,滨州学院2004—2005学年第一学期期末考试计算机科学教育专业02级《数据库原理》试题及答案(3份,另附习题集)...

    内容简介: 滨州学院2004-2005学年第一学期期末考试计算机科学教育专业02级<数据库原理>试题及答案(3份) <数据库原理>模拟试题一 一.选择题(每题1分,共5分) 1 ...

  8. 数据库原理实验二 数据库管理 实验报告

    广州大学学生实验报告实验二:数据库管理 此篇分享仅供参考学习,图文禁复制,勿作他用!谢谢配合! 数据库原理实验之实验二:数据库管理 软件:Oracle SQL Developer 今天实验才刚开始,花 ...

  9. 《数据库原理与应用(第3版)》——习题

    本节书摘来自华章出版社<数据库原理与应用(第3版)>一 书中的第2章,第2.1节,作者:何玉洁,更多章节内容可以访问云栖社区"华章计算机"公众号查看. 习题 1.?解释 ...

最新文章

  1. splay 1296 营业额统计
  2. 『SHELL』--SHELL脚本执行方式(转)
  3. 6.5 如何确定聚类数-机器学习笔记-斯坦福吴恩达教授
  4. 【实验】配置VRRP负载分担
  5. 博世应对汽车变革的“十八般兵器”
  6. Oracle开发常用知识
  7. K8s 集群搭建过程中遇到的问题的解决方法
  8. LeetCode 51. N-Queens
  9. Verilog 初学笔记--顺序操作 和 并行操作的一点思考(参考黑金教程:Verilog HDL那些事 建模篇)...
  10. JAVA 对 海康SDK二次开发
  11. 群晖DSM桌面无法删除快捷方式(无法右键)解决方法
  12. unity 暂停按钮_Unity VideoPlayer教程之 视频播放暂停切换
  13. 两个tplink路由器有线桥接_新版TP-Link路由器有线桥接怎么设置?
  14. mac中delete键的5种用法
  15. ssm培训课程管理系统的微信小程序
  16. 逐梦人工智能,普通人也能用百度AI实现梦想
  17. R语言:优雅、卓越的统计分析及绘图环境
  18. 英语翻译器-免费英语自动批量翻译器
  19. 2019年第十届蓝桥杯真题python解答(更新中)
  20. 什么是管道?(详解进程间是如何通过管道通信的)

热门文章

  1. 取消wps右键菜单_原来Office和WPS都可以这样换证件照底色!1秒红蓝白底随意切换...
  2. 领导:以后晚上和周末都要强制加班,不服试试看?
  3. Acwing-4366. 上课睡觉
  4. maven配置自动部署到服务器上,jenkins+svn+maven安装配置并自动化部署成功(超级详细)...
  5. Tomcat集群同步原理
  6. dex是什么的缩写_游戏中的STR CON、 INT、DEX是什么意思?
  7. 1412: QAQ 君临天下 || 天行九歌 [区间]
  8. 服务器信号有延迟怎么办,为什么微信接收消息有延迟?其实是因为这5个原因,不知道就太可惜了...
  9. 一对一直播软件源码开发,直播相关技术详解
  10. 天地图解析(瓦片层级、比例尺、行列号计算)