《2022年数据库知识点--详细.docx》由会员分享,可在线阅读,更多相关《2022年数据库知识点--详细.docx(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选学习资料 - - - - - - - - - 学习必备 欢迎下载一、数据库基础信息:客观世界在人脑中的反应,是实物运动状态或者存在方式的表征;数据:信息的载体;是描述事物的符号记录;信息是数据内容;数据治理:分类、组织、编码、储备、检索、保护;数据治理技术的进展:1.人工治理:(程序和数据混为一体)A. 数据长期储存在运算机中,用完就删除;B. 应用程序治理数据,程序和数据一体;C.数据不共享,数据是面对程序的;(一组数据对应一个程序)2.文件系统阶段: (硬件有了磁盘,磁鼓)A. 数据以文件形式储存在运算机中;(对信息的表述)B. 程序和数据间有了肯定的独立性,一个文件可以被多个应用程序
2、共享;C.数据文件彼此独立,不能反映数据间的联系,存在大量的数据冗余;3.数据库系统阶段 A. 数据结构化 B. 数据共享性高,冗余度低,易扩充;C.数据独立性强;D. 数据由数据库治理系统统一治理和掌握;数据库治理系统 DBMS :(实际上有 6 个功能)1.数据定义功能 DDL Data-Definition Language 2.数据操纵功能 DML Data-Manipulation Language 3.数据库的运行治理 完整性约束检查、拜访掌握、并发掌握、故障复原 数据库系统 DBS 数据库 +数据库治理系统 +开发工具 +数据库应用程序 +数据库治理员 +用户程序 集中式,分布式
3、,并行式,CS 式, BS 式 数据字典 DD 数据库系统中,存放三级结构定义的数据库称为数据字典;数据字典是指对数据的数据项、数据结构、数据流、数据储备、处理规律、外部实体等进行定义和描述,其目的是对数据流程图中的各个元素做出具体的说明;数据模型1. 结构数据模型(基本数据模型)-系统的观点-便于 DBMS 的实现A.层次模型 hierarchical model 1. 只能表示 1:N 联系 ,M:N 联系表示复杂 2. 层次次序严格复杂,查询更新复杂,应用程序编写复杂;名师归纳总结 - - - - - - -第 1 页,共 9 页精选学习资料 - - - - - - - - - 学习必备
4、 欢迎下载B.网状模型 network model 1.查询效率高 2.数据结构复杂、编程复杂;C.关系模型 relational model- 二维表格表达实体集实体间的联系 三要素: 1.数据结构 、 2.关系操作 、3.关系的完整性 1.数据结构基本数据结构 :表格(关系模型)关系模型 是由如干 关系模式 组成的集合 关系模式 :行定义,如表 studentname,id,age,class 元组 :行记录的值 相当于表格中一条记录 关系 是由如干元组组成的集合 关系 :关系模型 码/关键字: 唯独标识元组的属性 集 候选码 关键字 :一个表中存在的多个能唯独标识元组的属性 集(不含非主
5、码)主码 :从候选关键字中指定 外键 :在别人表的是关键字的属性,在本表里不是关键字,称为本表的外键;记录间的联系通过键来实现 2.关系操作 :两部分 其基础是 关系代数 与 DBMS 实现并不完全一样 操作的对象和结果都是 集合或者“ 关系” 关系模型中,存取路径对用户是隐藏的;用户只需指出干什么而不用考虑怎么做 I. 查询操作 query A. 挑选 select B. 投影 project C. 连接 join D. 除divide E. 并 union F. 交intersection G. 差 difference II. 更新操作 A. 增加 insert B. 删除 delete
6、 C. 修改 update III. 关系代数运算: (请去做习题)3.关系的完整性 A. 实体完整性 entity integrity rule -主键不为空 B. 参照完整性 reference integrity rule- 外键引用必需存在C. 用户自定义完整性约束user-defined integrity rule 依据应用领域来D.面对对象模型 Object oriented model 2. 概念数据模型- 用户的观点-便于用户懂得E-R 模型 1.E-R 图名师归纳总结 - - - - - - -第 2 页,共 9 页精选学习资料 - - - - - - - - - 学习必备
7、 欢迎下载A.实体型 B.属性 C.联系 菱形表示 可以有属性 2.E-R 模型的三种冲突:A. 命名冲突 重复、冲突 、B. 结构冲突 实体在各个局部抽象程度不同,属性个数、次序不同 、C. 属性冲突 类型 ,取值范畴 数据库的体系结构三层模式 1.外模式 子模式或者用户模式 - 局部 A. 一个数据库可以有多个外模式;B. 每一个外模式都是为了不同的应用而建立的数据视图(用户只能看到和拜访外模式中的数据, 数据库的其余数据是不行见的,保证了数据库的安全,以及 数据的规律独立性)2.模式 规律模式 - 整体 A. 数据库全体数据的规律视图;B. 一个数据库对应一个 规律 模式;C. 模式不涉
8、及储备细节和应用程序 3.内模式 储备模式 - 物理 A. 一个数据库只有一个内模式 B. 数据的物理结构、储备方式、存取策略 C. 保证了数据的物理独立性(外模式 -视图; 模式 -基本表;内模式 -索引)两级映像1.外模式 -模式映像存在于外模式的描述中映像可以有多个 数据库结构 如表结构 发生转变时, DBA 只需要对 各个外模式 -模式 映像做相应的调 整,使外模式保持不变; (应用程序是基于外模式编写的)2.模式 -内模式映像 1:1 存在 全局规律结构和物理结构的对应关系 数据库内模式发生转变时 如储备设备的变更 ,由于 模式 -内模式 映像,数据的 规律 模式保持不变,应用程序不
9、变;保证了程序和数据的物理独立性;数据库独立性:数据库有保持数据的独立性,所谓 数据独立 ,是指储备在 数据库中的数据 独立于 处 理数据的全部应用程序 而存在; 也就是说, 数据是客观实体的符号化标识,它就是一个客观 存在,不会由于某一项应用的需要而转变它的结构,因此是独立于应用而存在着的客观实 体;而某一项应用是处理数据猎取信息的过程,也就是应用程序只能依据客观存在着的数 据来设计所需要的数据处理方法,而不会去转变客观存在着的数据本身;SQL structured query language 名师归纳总结 依据标准, SQL 语句按其功能的不同可以分为以下6 大类:,DDL);第 3 页
10、,共 9 页数据定义语句(Data-Definition Language- - - - - - -精选学习资料 - - - - - - - - - 数据查询语句(学习必备欢迎下载,DQL);Data-Query Language数据操作语句(Data-Manipulation Language,DML);数据掌握语句(Data-Control Language,DCL);操作治理语句(Transaction-Management Language,TML);游标掌握语句(Cursor-Control Language,CCL);DDL :(数据库 SQL 模式、表格、视图、索引)CREATE
11、 DATABASE - 创建新数据库ALTER DATABASE - 修改数据库CREATE TABLE - 创建新表ALTER TABLE - 变更(转变)数据库表DROP TABLE - 删除表CREATE INDEX - 创建索引(搜寻键)DROP INDEX - 删除索引DQL+DML 又称为 DML (数据操纵)DQL :selectdistinct/all from where group byhaving;DML :增加元组: insert into values;修改数据: update set= where;删除元组: delete from where;sno 学号 Cln
12、o 班级号 Cno 课程号DCL :(拜访掌握 & 数据掌握)包含事务掌握语句?拜访掌握所掌握的是权限(创建、撤销、查询、增、删、改的权限)授权:;拜访掌握主要包括授权和检查权限两部分;GRANT ON 对象类型 对象名 TO 用户 WHERE GRANT OPTION REVOKE ON 对象类型 对象名 FROM 用户常常考到:视图的用法、动态 SQL 视图:一个视图是从一个或多个关系(基本表或已有视图)导出的关系;导出后,数据库中只存有此视图的定义(在数据字典中),但并没有实际生成此关系,视图是虚表;SQL 一般不供应修改视图定义的语句;对视图数据更新有限制;名师归纳总结 - - - -
13、 - - -第 4 页,共 9 页精选学习资料 - - - - - - - - - 学习必备 欢迎下载动态 SQL:关系数据理论(关于 “ 关系数据库的规律设计”问题)(排除操作反常、冗余等问题)1.数据依靠 FD (数据模式设计的核心)A. 函数依靠概述B. 函数依靠分类a. 平凡和非平凡函数依靠b. 完全函数依靠和部分函数依靠c. 传递函数依靠X -Y , 当 Y .-X 且 Y 不是 X 子集时,如有 Y-Z ,就 Z 传递函数依靠于 X d. 多值依靠关系 RU 的属性集 X,Y,Z ,存在 Y=U-X-Y ,RU 上任意关系 r 相当于元组 ,给定一组值 x,z对应一组 y 值,但是
14、 y 仅仅由 x 打算 即对于不同的 y 值 x 不变 ,与 z 无关,那么就有 X -Y.Y 多值依靠于 X2.范式 NF 关系数据库的规范化 依据属性间的依靠情形来划分关系规范化的程度 A. 第一范式 1NF 满意 1NF 的关系成为规范化的关系 关系中 每一个 属性都不行分;例子:关系 模式 :同学 1学号,姓名,性别,家庭成员 此时“同学 1”不满意 1NF, 由于“ 家庭成员” 可以再分解决方法:把“ 家庭成员” 单独作为一个关系B. 其次范式 2NF模式 ,而不是当属性关系中 每一个 非主属性完全依靠于关键字;(1NF 的基础上)例子:选课 1学号,课程号,系部代码,成果 此时“
15、选课 1” 不满意 2NF,由于 学号 ,课程号 - 成果,但是 学号 - 系部代码; 存在某些属性部分函数依靠于关键字的子集 解决方法:(分解上述关系为多个关系-投影分解)即:选课 1学号,课程号,成果 ;同学 学号,系部代码 C. 第三范式 3NF任意一个 非主属性 都不传递依靠于候选码关键字集合 1NF 的基础上)例子:同学 2学号,姓名,性别,系名,入学时间,系宿舍楼 此时“ 同学 2” 不满意 3NF,由于“ 系宿舍楼” 完全依靠于“ 学号”, 即 “ 学号”- “ 系宿舍楼”,但同时“ 学号”- “ 系名”- “ 系宿舍楼”亦即,存在非主属性传递依靠于关键字;解决方法:(仍是把 1
16、 个关系分解为俩关系,把“ 问题属性” 拿出去)即 同学 2学号,姓名,性别,系名,入学时间 宿舍楼 系名,宿舍楼 名师归纳总结 - - - - - - -第 5 页,共 9 页精选学习资料 - - - - - - - - - D. 扩充的第三范式学习必备欢迎下载BCNF- 巴克斯范式赖;3NF 的基础上 排除 主属性 任何候选码中都有的属性 对码的部分函数依靠、传递函数依通俗懂得: 每一个打算因素 中要有码 关键字 例子:教学 同学,老师,课程 一个关系表述了 2 件事 :同学选老师 先不涉及同学选课 ,老师任课;可能有问题 每个老师教一门课;每门课由多名老师教;同学选定一门儿课就选定了老师
17、 此时“ 教学” 不满意 BCNF ,由于1.从主属性对码的传递性依靠上看:(打算因素确定后,后面的属性就确定了)同学, 老师 -课程 ,但是 同学, 课程 - 老师 ,即:同学 - 课程 - 老师;主属性“ 同学” 对 候选 码“ 老师” 存在传递函数依靠即存在关键字打算关键字的情形2.从主属性对码的部分依靠上看同学 ,老师 - 老师,以及上面得出的 同学 - 老师 . 即主属性“ 老师” 部分依靠于候选码 同学,老师 3.从每一个打算因素 中要有码 关键字 上看同学, 课程 - 老师, 不含有有 关键字 同学,老师 即打算因素“同学,课程 ” 中不含有关键字唯独确定一组元组的解决方法:(把
18、事儿分开)选老师 同学,老师 任课 老师,课程 E. 第四范式 4NF每一个非平凡多值依靠 X-YY .-X 且 Y 不是 X 的子集 ,X 都含有关键字;例子:授课 课程,老师,参考书 每位老师可以交多门课,每门课可以选多门参考书,每门课可以由多个老师教授;非平凡多值函数依靠:课程 - 老师课程 - 参考书而打算因素“ 课程” 不是关键字,这里的关键字唯独打算元组 是“课程,老师 ”解决方法:任课 课程,老师 教参 课程,参考书 3.规范化 模式设计方法 规范化过程: 把低一级的关系模式分解为如干个高一级的关系模式 通过对 关系模式的分解 来实现的;单一化:逐步排除数据依靠中不合适的部分,使
19、关系模式达到“ 一个关系表示一事”规范化过程 单一化过程 排除非主属性的非平凡函数依靠的过程-A - 1NF - B- - 2NF- -C- 3NF - D - BCNF - E- 4NF - 过程:A :无重复列(属性不行再分)名师归纳总结 - - - - - - -第 6 页,共 9 页精选学习资料 - - - - - - - - - 学习必备 欢迎下载B:排除非主属性对码的部分函数依靠;C:排除 非主属性 对码的传递函数依靠;D:排除 主属性 对码的部分函数依靠、传递函数依靠;(从 2FN 到 BCNF ,相当于,排除 E:排除 非平凡多值函数依靠全部属性 对码的部分函数依靠、传递依靠)
20、(小结:只要一个关系里面包含了多件事儿,就可能有问题,不符合某个范式)数据库设计6 个阶段:1需求分析收集和分析猎取用户对数据库的 分析方法:信息 数据 要求 、处理要求 、安全性完整性要求数据业务流程分析-数据流图数据分析统计 - 输入、储备、输出分别统计数据的各种处理功能- 系统功能结构图阶段性成果:系统需求说明书包括 数据流图、数据字典、系统功能结构图 2概念结构设计(视图模式化;视图分析和汇总)E-R 概念设计步骤:设计局部E-R 模型,设计全局E-R 模型,全局E-R 模型优化3规律结构设计(模式初始设计;子模式设计;应用程序设计;模式评判;模式求精(转化规章、 DBMS 特性,规范
21、化) )规律结构设计的步骤:A. 将概念模型转化为关系模型B.将关系模型转化为特定的 C.对数据模型进行优化 阶段性成果:规律设计说明书RDBMS 的数据模型4物理结构设计(运算机硬件及 DBMS 文件组织特性)5数据库实施 6数据库运行和保护案例:(看几个例题,然而自己做几题)事务治理事务治理的概念: (数据库操作序列,数据库中不行分割的规律工作单位)应用程序将一系列的数据库操作组合在一起,作为一个整体执行;以保证数据库处于一样正确状态(要么全做,要么全不做)事务治理的性质: (ACID )名师归纳总结 - - - - - - -第 7 页,共 9 页精选学习资料 - - - - - - -
22、 - - 学习必备 欢迎下载原子性 Atomicity :事务中的操作,要不全部执行并正常终止;要不什么都不做 一样性 Consistency : 事务执行结果必需是使数据库从一个一样性状态转变到另一个一样性状态 隔离性 Isolation : 多个事务可以同时执行,但必需保证一个事务的执行不能被其他事务干扰 长久性 Durability : 事务一旦提交,它对数据库的转变是长久的,如是数据库损坏也能复原;SQL 对事务治理的支持- 定义事务开头:begin transaction - 使事务胜利地终止:commit transaction - 回滚: rollback transaction
23、 事务的运行过程中发生了某种故障,事务不能连续执行 并发掌握(主要技术:封锁)并发操作:多用户或者应用程序同时对同一数据进行操作 . 并发操作的好处:提高系统的资源利用率;改善短事务的响应时间并发操作的坏处:数据的不一样性丢失更新,不行重复读,读脏数据 缘由:事务的并发操作破坏了事务的隔离性;一个事务未执行完,开头了另一个 封锁:X 锁写锁 & 排他锁 Y 锁读锁 & 共享锁 三级封锁协议:(1)一级:修改数据前,加上X 锁,直至事务终止释放(2)二级:一级封锁,读取(不修改)数据前,必需加上 S 锁,读完后释放(3)三级:一级封锁,读取(不修改)数据前,加上 活锁:S,并到事务终止释放事务
24、T 申请对数据 R 进行封锁,由于加锁恳求挑选策略的问题而导致事务 T 长时间甚至永久处于等待状态,这就是活锁;挑选策略为随机挑选,长时间或可能永久不能选中;申请后挑选,永久不能选中;死锁:挑选策略合理, 仍不能选中的封锁;预防死锁: 一次加锁法; 次序加锁法;解决死锁:超时法,规定最大时间,超过就为死锁;等待图法两段封锁协议:获得锁阶段,也称为扩展阶段;释放锁阶段, 也称为收缩阶段;两段封锁协议与防止死锁的一次封锁法不同;一次封锁法符合两段封锁协议,但两段封锁协议不要求一次封锁法;意向锁:所以,遵守两段封锁协议的事务也有可能发生死锁;意向共享锁、意向排它锁、共享意向排它锁;故障与复原故障的种
25、类:事物内部故障;系统故障(突然停电,CPU 故障,操作系统故障 .);介质故障(磁盘损坏、磁场干扰);运算机病毒故障复原手段:建立冗余数据复原数据库(1)数据库转存法:静态转储、动态转储(2)日志文件法:每次对数据库的更新都必需写入日志文件,一次更新一条记录;先把日志记录在日志文件中在执行操作;名师归纳总结 - - - - - - -第 8 页,共 9 页精选学习资料 - - - - - - - - - 学习必备 欢迎下载如何复原系统故障:(1)从日志文件中找到最终一次检查点记录,把该记录中记录的全部正 在进行的事务全部列入撤销队列(2)从最终一个检查点开头,正向扫描日志文件,直至故障发生时刻;(遇到开头记录,移到 UNDO 队列;遇到正常终止记录,移到 REDO 队 UNDO 队列)列;遇到非正常终止记录,移到(3)再次从最终检查点开头正向扫描日志文件,遇到 REDO 队列中任何事务的每个更新记录,重新执行该记录的操作(更新后的新值写入数据库)(4)反向扫描日志文件, 遇到 UNDO 队列中的任何事务的每个更新记录,执行一次逆操作(更新前的旧值写入数据库)名师归纳总结 - - - - - - -第 9 页,共 9 页
限制150内