数据库原理,这门课讲的主要是原理,比起真实情况下数据库操作和设计还是有很大的区别。但这样使我们能更深入的学习数据库,然后拿本Oracle或DB2的宝典看看,才能真真理解数据库的强大和重要性。
下面总结下这门课的内容
- 数据库的发展史(人工管理->文件系统->倒排文件系统)
- 实体模型;层次模型;网状模型;关系模型;面向对象模型
- 数据库语言 DDL,DML
- 关系模型的完整性规则:实体,参照,用户定义完整性
- 关系代数:并,差,笛卡尔积,投影,选择
- 关系演算(这部分涉及到很多离散数学的知识,需要记住很多公式,这部分是考试重点,但基本没啥实用价值)
- 查询优化
- SQL(主要是查询语句别的没啥太大花样,但要注意不同数据库SQL的细微不同点)
- 范式(为了规范化设计,但不能刻意最求高等级的范式)
- ER图
- 事务(ACID 原子性,一致性,隔离性,持久性)
- 数据库的恢复和检查点机制
- 并发控制和封锁机制(X,S锁)
- SQL中的完整性约束(域约束,基本表约束,断言)也可以使用触发器主动的约束
- 数据库的安全性(视图,授权机制,加密还有就是OS级,网络级及物理级的安全性)
- 分布式数据库(物理上分布,逻辑上集中)
- 面向对象的数据库(还处于理论阶段,一般都是通过映射方式把对象映射到关系型数据库 eg,hibernate)