数据库思维导图
2021-06-25 19:55:22 69 举报
AI智能生成
数据库
作者其他创作
大纲/内容
5.第五章数据库完整性
触发器
定义:用户定义在关系表上的一类由事件驱动的特殊过程
创建触发器
CREATE TRIGGER <触发器名>
{BEFORE|AFTER} <触发事件> ON <表名>
REFERENCING NEW|OLD ROW AS<变量>
FOR EACH ROW
[WITH <触发条件>] <触发动作体>
{BEFORE|AFTER} <触发事件> ON <表名>
REFERENCING NEW|OLD ROW AS<变量>
FOR EACH ROW
[WITH <触发条件>] <触发动作体>
删除触发器
DROP TRIGGER <触发器名> ON <表名>;
6.第六章关系数据理论
问题引入
关系模式存在的问题
数据冗余、更新异常、插入异常、删除异常
规范化
第一范式
每一个数据单元都是不可再分的数据项
第二范式
消除非主属性对码的部分函数依赖
第三范式
消除非主属性对码的传递函数依赖
BCNF范式
消除主属性间的部分和传递函数依赖
注:更高一级的范式都是建立在低一级的范式的基础上
7.第七章数据库设计
数据库设计方法
基于E-R模型的设计方法
3NF的设计方法
面向对象的设计方法
数据库设计的基本步骤
1.需求分析阶段
通过调查明确用户的需求
2.概念结构设计阶段
可以用E-R图来描述现实世界的概念模型
E-R图之间的冲突主要有三类:属性冲突、命名冲突、结构冲突
3.逻辑结构设计阶段
一个1:1的可以转换为一个独立的关系模式,也可以与任意一端合并
一个1:n的联系可以转化为一个独立的关系模式,也可以与n的那一端合并起来
一个m:n的联系可以转换为一个关系模式
具有相同码的关系模式可以合并
4.物理结构设计阶段
为给定的逻辑数据模型选取一个最适合应用要求的物理结构
5.数据库实施阶段
6.数据库运行和维护阶段
8.第十章数据库恢复技术
事务
事务里的代码,要么全做,要么全不做
四个特性ACID
①原子性
②一致性
③隔离性
④持续性
ACID可能遭到破坏的因素有
多个事务并行运行
事务在运行过程中被强行禁止
恢复技术
数据转储
定期的将整个数据库复制到其它地方
登记日志文件
记录事务对数据库的更新操作的文件
登记日志文件的两条规则
登记的次序严格按并发事务执行的事件次序
必须先写日志文件,后写数据库
恢复策略
事务故障的恢复
反向扫描日志文件
对事务的更新操作做逆操作
系统故障的恢复
正向扫描日志文件,找出故障发生前已经提交的事务
9.第十一章并发控制
并发控制的基本单元是事务
并发操作带来的问题
丢失修改
事务2的提交破坏了事务1的提交
不可重复读
事务一两次读取,这两次读取中间有事务2把值修改了
读脏数据
事务一对值进行了修改,事务二进行了读取,然后事务一回滚了
并发控制
主要技术
封锁
排他锁,又称为写锁
其它事务不能在其身上加任何锁
共享锁,又称为读锁
其它事务不能在其身上加写锁,只能加读锁
封锁协议
一级封锁协议
事务在修改前必须先对其加X锁(写锁)
二级封锁协议
在一级封锁协议基础上,增加事务在读取数据R
之前必须先对其加S锁(读锁)读完后可以释放S锁
之前必须先对其加S锁(读锁)读完后可以释放S锁
三级封锁协议
在一级封锁协议的基础上增加事务在读取数据
前必须先对其加S锁,直到事务结束才释放
前必须先对其加S锁,直到事务结束才释放
活锁
事务可能永久等待
解决办法:加个优先级,先来先服务
死锁
事务1封锁数据R1,事务2封锁数据R2,
T1请求封锁R2,T2请求封锁R1,两个相互等待
T1请求封锁R2,T2请求封锁R1,两个相互等待
解决办法:预防死锁的发生
或者发生了死锁,去解除它
或者发生了死锁,去解除它
时间戳
乐观控制法
多版本并发控制
封锁的粒度
封锁的对象可以是逻辑单元,也可以是物理单元
封锁的粒度越大,数据库所能封锁的数据单元越少,并发度就越小,系统开销就越小
1.第一章绪论
数据库的四个基本概念
数据
数据是数据库中存储的基本对象
数据库
数据库是长期存储在计算机内,有组织的,可共享的大量数据的集合
数据库的三个特点:永久存储,有组织,可共享
数据库管理系统
DBMS是计算机的基础软件
主要功能
数据定义功能
数据组织,存储和管理
数据操纵功能
数据库的事务管理和运行管理
数据库的建立和维护功能
数据库系统
数据库系统是由数据库、数据库管理系统、应用程序和数据管理员
2.第二章关系数据库
关系
关系模式数据结构只包含单一的数据结构-关系
笛卡尔积
码
候选码
属性组的某一个值能唯一标识一个元组,而其子集不能,就称该属性组为候选码
主码
若一个关系有多个候选码,任选其中一个作为主码
全码
关系中的所有属性都是这个关系模式的候选码
基本的操作关系
选择、投影、并、差、笛卡尔积
关系的完整性
实体完整性
不为空就是实体完整性
参照完整性
若属性F是基本关系R的外键,它与基本关系S的主键Ks相对应(基本关系R和S不一定是不同的关系),则对于R中的每个元组在F上的值必须为:
(1)空值,F的每个属性值均为空值。
(2)S中某个元组中的主键值(主码值)
(1)空值,F的每个属性值均为空值。
(2)S中某个元组中的主键值(主码值)
用户自定义完整性
由用户所设定的完整性规则
关系运算
选择、投影、连接、除运算
3.第三章sql语句
创建表
CREATE TABLE table_name(属性名 数据类型 约束条件......);
修改表
ALTER TABLE table_name [ADD <新列名><数据类型>[完整性约束]]
[ADD <表级完整性约束>]
[DROP <列名>]
[DROP CONSTRAINT <完整性约束名>]
[ALTER COLUMN <列名><数据类型>]
[ADD <表级完整性约束>]
[DROP <列名>]
[DROP CONSTRAINT <完整性约束名>]
[ALTER COLUMN <列名><数据类型>]
删除基本表
DROP TABLE <表名>;
对表的查询
单表查询
多表查询
嵌套查询
带有EXISTS谓词的子查询
数据更新
INSERT语句
INSERT INTO<表名>([属性列1,属性列2...])
VALUES(值1,值2...)
VALUES(值1,值2...)
UPDATE语句
UPDATE<表名>
SET <列名>=<表达式>...
WHERE <条件>;
SET <列名>=<表达式>...
WHERE <条件>;
DELETE语句
DELETE FROM table_name
[WHERE <条件>];
[WHERE <条件>];
视图
建立视图
CREATE VIEW <视图名>[(<列名>,...)]
AS <子查询>
[WITH CHECK OPTION];
AS <子查询>
[WITH CHECK OPTION];
删除视图
DROP VIEW <视图名>;
查询视图
将视图和表一样用
4.第四章数据库安全性
权限的设置
授予权限
GRANT <权限>
ON <对象类型> <对象名>
TO <用户>
[WITH GRANT OPTION];
ON <对象类型> <对象名>
TO <用户>
[WITH GRANT OPTION];
加了with grant option的可以把这些权限授予其它用户
收回权限
REVOKE <权限>
ON <对象类型><对象名>
FROM<用户>;
ON <对象类型><对象名>
FROM<用户>;
0 条评论
下一页