由于硕士复试原因,要把数据库知识捡起来。现在把个人总结发出来分享下,帮助下有相同需求的童鞋。
- 数据库系统
数据模型三要素(数据结构、操作集合、完整性约束)
概念模型(对信息世界建模 E-R图)
三种主要数据库模型(格式化(层次、网状)、关系、面向对象)
三级模式两层映象 逻辑物理独立性
数据独立性(物理独立性、逻辑独立性)
DBMS提供的数据控制功能(安全性 完整性 并发控制 恢复)
- 关系模型
关系模型要素(数据结构、操作、完整性约束)
域、笛卡尔积、关系、元组、属性
主码、候选码、外部码
关系模式、关系、关系数据库
E-R图(会画)
E-R图之间冲突主要有(属性 命名 结构)
五中基本关系运算(并 差 笛卡尔积 选择 投影)
平凡函数依赖(不跨表依赖)
关系代数中专门关系运算(选择 投影 连接 除)
关系操作的特点是集合操作
- SQL
创建表 ((主键 外键 约束 AUTO_INCREMENT))
修改表
删除表
建索引
单表查询 连接查询 嵌套查询 集合查询
创建视图
视图与基本表区别(1导出的虚表 2只存定义不存数据 基本表改视图改 3可以和基本表一样操作,可以在视图上建表 但更新有限制)
存储过程(一般考试不要求)
- 规范化
函数依赖(某列数据随另列数据改变而改变,标记T.x->T.y(y依赖于x) )
部分函数依赖(非主键的列依赖于组合主键某的部分,但不是完全依赖组合主键)
传递函数依赖(任何非键列和另个非键列有关联)
1NF-4NF
不符合2NF导致的问题(数据冗余 插入 删除 修改异常)
- 数据保护
ACID
用户创建
设置密码
授权(GRANT <动作> ON <表名> TO <username...> [WITH GRANT OPTION])
撤销授权(REVOKE <动作> ON <表名> FROM <username...> [CASCADE|RESTRICT(如果有传递授权就失败)])
排他锁(X 写锁)共享锁(S 读锁)
- 数据恢复
事物内部故障(反向扫描日志,查找事物更新操作;逆操作更新;直到读到事物开始标志)
系统故障(正向扫描日志,找出已提交(包含begin transaction与commit),将其记入redo队列;同时找出未完成事物,记入undo队列;反向撤销undo;正向redo)
介质故障(装入数据库副本和转储开始时刻的日志文件副本;装入转储结束时刻日志文件副本)
病毒