导图社区 数据库考试面试
下列思维导图分支内容包括:数据库,数据库考试,数据库面试,计算机。
编辑于2021-03-17 21:27:04Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。本思维导图是对java基础知识总结,比较全面,干货,实际开发总慢慢的总结的,花费了大量的时间,希望对你有帮助!适用于java面试,软件开发,架构师,Java,互联网,程序,程序员,阿里面试的朋友。
基于哈希表的 Map 接口的实现。此实现提供所有可选的映射操作,并允许使用 null 值和 null 键。(除了非同步和允许使用 null 之外,HashMap 类与 Hashtable 大致相同。)此类不保证映射的顺序,特别是它不保证该顺序恒久不变。
下列思维导图分支内容包括:数据库,数据库考试,数据库面试,计算机。
社区模板帮助中心,点此进入>>
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。本思维导图是对java基础知识总结,比较全面,干货,实际开发总慢慢的总结的,花费了大量的时间,希望对你有帮助!适用于java面试,软件开发,架构师,Java,互联网,程序,程序员,阿里面试的朋友。
基于哈希表的 Map 接口的实现。此实现提供所有可选的映射操作,并允许使用 null 值和 null 键。(除了非同步和允许使用 null 之外,HashMap 类与 Hashtable 大致相同。)此类不保证映射的顺序,特别是它不保证该顺序恒久不变。
下列思维导图分支内容包括:数据库,数据库考试,数据库面试,计算机。
数据库系统
5.数据库的完整性
数据库完整性
数据的正确性和相容性,防止不合语义的数据进入数据库
实体完整性
属性A为关系R的主属性,A不能为空
参照完整性
关系R:F(为外码) 关系S:K(与F对应) 在R中F上的值:或者为空, 或者等于S中的主码值。
DBMS实现参照完整性措施
定于主码,外码机制
从参照表中删除某元组的外码,拒绝操作
从被参照表中修改参被照表的主码值,可以拒绝,也可以级联删除
参照表R:F(为外码) 被参照表S:K(与F对应
用户定义完整性
针对某一具体关系数据库的约束条件
完整性约束命名子句
CONSTRAINT C1 CHECK (Sno BETWEEN 10 AND 20
CONSTRAINT C2 NOT NULL
CONSTRAINT C3 CHECK(Sage<30)
CONSTRAINT C4 CHECK(Sex IN('男’,'女'))
CONSTRAINT StudentKey PRIMARY KEY(Sno)
断言
定义
CREATE ASSERTION指定更具一般性的约束 可以定义涉及多个表或聚集关系比较复杂的完整性约束
涉及任何断言的操作都会触发关系数据库管理系统对断言的检查 断言不为真的操作都会被拒绝
创建断言语句
删除断言语句
触发器
定义
激活
删除
6.关系数据库理论
数据库设计的不同阶段
概念设计
E-R图
逻辑模式
将E-R图转化为具体的数据模型
形成数据库逻辑模式
在基本表的基础上建立视图
形成数据库外模式
物理设计
进行物理存储安排,建立索引
形成数据库内模式
函数依赖
X->Y
1.R(U)是一个属性集U上的关系模式
2.X和Y是U的子集
3.r是R(U)上的任意一个关系
4.任意t,s∈r,t[X]=s[X],t[Y]=s[Y]
5.X函数决定Y,Y函数依赖于X
例:Sno->Sname,(Sno,Sname)->Grade
X->Y
Y不是X的子集
非平凡函数依赖
Y是X的子集
平凡函数依赖
X^f->Y
R(U),X->Y,X的任何一个真子集,X'->Y
Y对X完全依赖
(Sno,Cno)->Grade
X^p->Y
X->Y,Y不完全依赖X
X部分函数依赖
(Sno,Cno)->Sdept
传递函数依赖
R(U),X->Y,Y->Z(Y!->X)X->Z
Y->X,即X<-->Y,Z直接依赖于X
函数依赖与码
超码
K为R<U,F>的属性或属性组,K->U,K为R的超码(U为属性集合)
候选码
K为R<U,F>的超码,K^f->U(U完全依赖于K)
主码
有多个候选码,其中一个为主码
全码
整个属性组是码
主属性
包含在每一个候选码中的属性
非主属性
不在候选码中的属性
函数依赖的推理规则
Armstrong公理
X,Y,Z是属性集
自反律
若Y是X的子集,X->Y
增广律
若X->Y,则XZ->YZ
传递率
若X->Y,Y->Z,则X->Z
合并率
若X->Y,X->Z,则X->YZ
分解率
若X->YZ,则X->Y,X->Z
伪传递率
若X->Y,WY->Z,则WX->Z
闭包的计算
R<U,F> U=(A,B,C,G,H,I) F={A->B,A->C,CG->H,CG->I,B->H} 证明AG是码
A->B:AGB A->C->AGBC CG->:AGBCH CG->I:AGBCHI AG=AGBCHI
很简短,归纳就是刚开始就是有AG, 找有A的,然后把有A的箭头指向的 数加进来,依次如此,能找到全部就是
例题:判断等价
F={AB->E,AC->H,AD->B,B->C,C->D } ,G={AD->BEH,B->C,C->D} 判断F与G 是否等价
对于X->Y∈F,求XG+,判断Y∈XG+
ABG+=ABCDEH,E∈ABG+ . . . CG+=CD,D属于CG+
对于X->Y属于G,求XF+,判断Y∈XF+
ADF+=ABCDEH,BCH∈ADF+ BF+=BCD,C∈BF+ CF+=CD,D∈CF+
范式
1,2,3,BC,4,5NF 等级逐渐增高
1NF
关系模式R所有属性都是不可分的基本项
不满足第一范式的数据库模式不能称为关系数据库
例:(学号,课程号,成绩,住处) 成绩完全依赖于码,住处部分依赖
2NF
每一个非主属性完全依赖于码
例:(学号,课程号,成绩):码为学号,课程号 (学号,住处):码为学号
3NF
R<U,F>中不存在候选码X,属性Y及非主属性Z,X->Y,Y->Z成立Y!->X(是不存在)
SL(Sno,Sdept,Sloc)不是3NF
SD(Sno,Sdept) DL(Sdept,Sloc)
每一个非主属性既不部分依赖于候选码,也不传递函数依赖于候选码
BCNF
R<U,F>∈1NF X->Y且Y不是X的子集时X必含有码 (每一个决定因素都包含码)
消除了3NF中主属性对码的部分和传递依赖
3NF只消除了非主属性候选码传递依赖部分依赖
候选码
BCNF是3NF的充分不必要条件 R∈3NF,R只有一个候选码, BCNF是3NF的充分必要条件
4NF
消除多值依赖引起的冗余
规范化
一个低一级范式的关系模式,通过模式分解可以转化为若干个高一级范式的关系模式的集合
7.数据库设计
概述
特点
规律
三分技术
七分管理
十二分技术
方法
基本步骤
6个阶段
需求分析
概念设计
逻辑设计
物理设计
数据库实施
数据库运行和维护
设计过程中的各级模式
需求分析
任务
方法
数据字典
数据项
数据结构
数据流
数据存储
处理过程
概念结构设计
概念模型
特点
真实充分反映现实世界
易于理解
易于更改
易于关系,网状各种数据模型的转换
E-R模型
实体间的联系
一对一
一对多
把联系中的属性放到M端中,1方的主键作为外键放到m方
多对多
E-R图
实体
矩形
属性
椭圆
联系
菱形
ER图冲突
属性
结构
命名
UML
概念结构设计
逻辑结构设计
E-R图向关系模型转换
数据模型的优化
设计用户子模式
物理结构设计
设计的内容和方法
关系模式存取方法选择
B+树索引存取方法
hash索引存取方法
聚簇存取方法
确定数据库的存储结构
确定存放位置
确定系统配置
评价物理结构
数据库的实施,运行和维护
数据库的运行和维护
数据库的转储和恢复
数据库的安全性,完整性控制
数据库性能的监督,分析和改造
数据库的重组织和重构造
8.数据库编程
嵌入式SQL语句
过程化SQL
存储过程和函数
ODBC编程
10.数据库恢复技术
事务(并发控制单位)
数据库事务
概念
用户定义的一个数据库操作系列
要么全做,要么全不做
一个不可分割的工作单位
特性
原子性(Atomicity)
事务是数据库的逻辑工作单位,要么不做,要么全做
一致性(Consistency)
事务执行结果必须是数据库从一个一致性状态到另一个一致性状态
隔离性(Isolation)
一个事务不能被其他事务干扰
持续性(Durability)
永久性,事务一旦提交,对数据库中数据的改变应该是永久的, 接下来的其他操作不应该对其执行结果又任何影响
简称ACID
概述
故障的种类
事务内部的故障
系统故障
介质故障
计算机病毒
恢复实现技术
保证:原子性,一致性,持续性
基本技术
数据转储(数据库后背副本)
静态转储
动态转储
登录日志文件
原理
冗余
恢复策略
事务故障恢复
反向扫描日志文件
对事务的更新操作进行逆操作
系统故障恢复
正向扫描日志文件
反向扫描日志文件,对每个撤销事务的更新操作执行逆操作
对重做队列中的各个事务进行重做处理
介质故障恢复
装入最新的数据库后备副本
装入相应的日志文件副本
具有检查点的恢复技术
数据库镜像
11.并发控制
概述
事务可以一个一个串行执行,每个时刻只有一个事务运行
数据不一致性
丢失修改
读脏数据
不可重复读
主要技术
时间戳
乐观控制法
多版本并发控制
封锁
概念
在对某个数据对象操作之前,先向系统发出请求,对其加锁 X(排它锁,写锁) S(共享锁,读锁)
T(能读能写) X :其他事务不能加任何锁 T(能读不能写)S :其他事务只能加S锁
保证数据一致性
在修改数据前必须对他进行加锁,知道事务结束后才释放 事务在读取数据前必须先对其加共享锁,直到事务结束才释放
封锁协议
类型
一级封锁
事务T修改R之前加X锁,事务结束才释放
二级封锁
一级的基础上 加S锁,读完后立即释放
三级封锁
一级的基础上 加S锁,事务结束后释放
活锁与死锁
活锁
死锁
并发调度可串行化
可串行化调度
多个事务并发执行是正确的, 当且仅当其结果按某一次串行执行他们时的结果相同
冲突可串行化调度
两段锁协议
封锁的粒度
4.数据库的安全性
概述
不安全因素
非授权用户对数据库的恶意存取和破坏
敏感数据泄露
安全环境脆弱性
安全标准
A1
B3
B1
B2
C2
C1
D
数据库安全性控制
用户身份鉴别
静态口令鉴别
动态口令鉴别
生物特征鉴别
智能卡鉴别
存取控制
自主存取控制
强制存取控制
授权与回收
GRANT
REVOKE
数据库角色
创建
授权
授予
收回
视图机制
概念
从基本表导出来的表
审计
数据加密
存储加密
传输加密
3.关系数据库语言SQL
SQL概述
SQL的产生和发展
SQL的特点
综合统一
高度非过程化
面向集合的操作方式
以同一种语法结构提供多种使用方法
语言简洁,易学易用
SQL功能
数据定义
数据操纵
数据查询
SQL的基本概念
支持三级模式结构
数据定义
模式的定义与删除
定义模式
删除模式
基本表的定义
定义基本表
删除基本表
数据类型
模式与表
索引的建立
建立索引
修改索引
删除索引
数据字典
数据查询
单表查询
连接查询
嵌套查询
集合查询
基于派生表查询
数据更新
插入
修改
删除
空值处理
判断
IS NOLL IS NOT NULL
约束条件
NOT NULL
UNIQUE
码
视图
定义
查询
更新
视图的作用
简化用户操作
多角度看待同一数据
对重构数据库提供了一定的逻辑独立性
对机密数据提供安全保护
清晰表达查询
2.关系数据库
关系数据结构及形式化定义
关系
域
相同数据类型的值得集合 实数,整数,男女等
笛卡尔积
域的一种集合运算
关系
超码
K为R<U,F>的属性或属性组,K->U,K为R的超码(U为属性集合)
候选码
K为R<U,F>的超码,K^f->U(U完全依赖于K)
主码
有多个候选码,其中一个为主码
全码
整个属性组是码
主属性
包含在候选码中的属性
非主属性
不在候选码中的属性
关系模式
R(U,D,DOM,F)
R:关系名
U:组成该关系属性名集合
D:属性U中的属性所来自的域
DOM:属性向域的映像集合
F:属性组U上的一组数据依赖集合
关系模式简化
R(U,F)
U上一个关系r满足F时,r称为关系R(U,F)的一个关系
Student<U,F>
U={Sno,Sdept,Mname,Cname,Grade}
F{Sno->Sdept,Sdept->Mname,(Sno,Cname)->Grade}
主码:Sno,Cname 唯一标识表中的一条记录
子主题
例
学生关系
student(Sno,Sname,Sdept)
Sname=f(Sno) Sdept=f(Sno)
Sno->Sname Sno->Sdept
关系数据库
关系数据库的值是这些关系模式在某一时刻对应的关系的集合
关系模型和存储结构
关系操作
基本关系操作
查询
差
并
选择
投影
笛卡尔积
插入
删除
修改
关系数据语言的分类
关系代数语言
关系演算语言
关系的完整性
实体完整性
属性A为关系R的主属性,A不能为空
参照完整性
关系R:F(为外码) 关系S:K(与F对应) 在R中F上的值:或者为空, 或者等于S中的主码值。
DBMS实现参照完整性措施
定于主码,外码机制
从参照表中删除某元组的外码,拒绝操作
从被参照表中修改被参照表的主码值,可以拒绝,也可以级联删除
参照表R:F(为外码) 被参照表:K(与F对应
用户定义完整性
针对某一具体关系数据库的约束条件
关系代数
传统的集合运算
二目运算
并
差
交
笛卡尔积
专门的关系运算
关系演算
用谓词变元来表达查询要求
演算类型
元组关系演算
域关系演算
包括
选择
投影
连接
除
关系代数的基本运算
基本
并
差
选择
投影
笛卡尔积
其余
交
连接
除
子主题
1.绪论
数据库系统概述
数据库的4个基本概念
数据(Data)
数据库(DataBase)
数据库管理系统(DBMS)
数据库系统(DBS)
数据库
数据库管理系统
应用系统
数据库管理员
用户
数据管理技术的产生和发展
数据库的特点
数据结构化
共享性高,冗余度低,易扩充
数据独立性高
数据由DBMS统一管理和控制
数据库定义
长期存储在计算机内的有组织,可共享的数据集合
数据模型
两类数据模型
第一类
概念模型
作用
现实世界到机器世界的中间层次
数据设计人员和用户之间进行交流的语言
用于信息世界的建模
数据库设计的有力工具
表示方法
E-R(实体-联系)
第二类
逻辑模型
层次模型
网状模型
关系模型
数据结构
概念
逻辑结构中的一张二维表格,由行和列组成
关系
一个关系通常为一张表
属性
表中的一列及一个属性
域
属性的取值范围
元组
表中的一行即为一个元组
码
表中的某个属性组,它可以唯一确定一个元组
分量
元组中的一个属性值
关系模式
对关系的描述,一般表示关系名(属性一,属性二...)
关系操作集合
完整性约束
物理模型
数据模型的组成要素
数据结构
数据操作
数据的完整性约束条件
常用的数据模型
数据库系统结构
数据库系统模式概念
三级模式结构
外模式
也称子模式
数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述
是数据库用户的数据视图
模式
也称逻辑模式,数据库中全体数据的逻辑结构和特征的描述
是所用用户的公共数据视图
内模式
也称存储模式
数据在数据库内部的表示方式
数据物理结构和存储方式的描述
优点
数据抽象
数据留给DBMS管理
用户能逻辑抽象地处理数据,不必关心数据在计算机中的具体表示和存储方式
二级映像功能与独立性
外模式/模式
模式/内模式
保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性
数据库系统的组成
硬件平台数据库
软件
数据库管理系统
支持数据库操作系统
人员
数据库管理员
职责
信息内容结构
改进,重组,重构
存储结构存储策略
安全性和完整性约束
使用和运行
用户
数据库管理系统功能
数据库定义
DDL
数据定义语言,用来定义数据库模式,外模式,内模式语言
DML
数据操纵语言,用来对数据库中的数据进行查询,插入,删除和修改的语言
数据组织,存储和管理
数据操纵
事物管理和运行管理
数据库的建立和维护
码
超键
在关系中能惟一标识元组的属性集称为关系模式的超键
候选键
不含有多余属性的超键称为候选键。 也就是在候选键中,若要再删除属性就不是键了
主键
用户选作元组标识的一个候选键称为主键