这篇博客我就是想把期末数据库复习过程中遇到的自己平时不太注意的点总结备忘下,以后用到的时候翻翻。
1:数据存储在历史演变的过程中经历了下面几个管理阶段:
- 人工管理阶段
- 文件系统管理阶段
- 数据库管理阶段
2:数据模型:对现实世界数据的抽象。
3:数据模型的三要素:数据结构,数据操作,数据的完整性。
4:关系型数据库的三级模式和两级映象。
- 外模式:外模式
- 外模式/模式印象:保证数据逻辑独立性
- 模式:全局的数据结构定义等。
- 模式/内模式印象:保证数据物理独立性
- 内模式:物理数据存储结构,数据的索引方式。
5:关系数据库的三种完整性:
- 实体完整性:主键不能为空
- 参照完整性:外键约束
- 用户定义的完整性:用户定义的
check
约束等。
6:关系代数:
- 集合运算:并、差、交、笛卡尔积
- 关系运算:选择、投影、连接、除
7:数据库范式:最简单的数据库范式教程
8:数据库系统设计
- 需求分析:得出
数据流图
和数据字典
。数据流图:数据流
用直线
表示,线上写数据名称。数据源
或者终点
用方框
表示。加工处理
用圆圈表示。文件
用双开的线表示。数据字典:数据库中定义的基础数据。 - 概念结构设计:设计出
E-R图
,找出所有关系和实体的关系。 - 逻辑结构设计:将
E-R图
设计成关系模型,比如NoSQL就支持键值对
,但是关系型数据库只支持二维表。所以我们得选择合适的模型。 - 物理物理设计:物理设计主要设计物理存储模型,数据具体在磁盘上怎样存放。
- 编码、测试:完成代码,测试。
- 数据库的维护:主要是DBA的工作。
9:数据库安全:
数据库事务四大特性(ACID):
- A :原子性:数据库中事务是一个整体,要么执行,要么不执行。
- C :一致性:数据库事务执行前后,数据库状态保持一致,即数据库中只包含成功事务的提交结果。
- I:隔离性:一个事务的执行过程不能被其它事务干扰。
- D:持久性:事务对数据库的改变是持久的。
数据库的并发操作:
如果破坏了我们前面提到的数据库的隔离性,在用户的并发操作下,就会出现一下三类问题:
- 不可重复读
- 丢失更新
- 读“脏”数据
解决的方法:封锁
- 乐观锁
- 悲观锁
两段锁协议:所有的锁在初始化的时候申请,一旦释放一个锁,就不能在加锁了。