大题 | 题目类型 | 分值 |
---|---|---|
一、 | 多选(数据库发展历史、概念) | 15 |
二、 | 关系数据库操作(关系代数、SQL查询语句) | 35 |
三、 | 事务(并行控制) | 15 |
四、 | 关系数据库理论(函数依赖、范式、闭包、正则覆盖) | 15 |
五、 | 数据库设计(E-R图) | 20 |
章节 | 知识点 |
---|---|
一 | 发展历程 |
二 | 关系代数(选择、投影、并、差、笛卡尔积)、关系操作(查询、插入、删除、修改)、关系模型的完整性约束(实体、参照、用户定义) |
三 | SQL(数据定义 数据查询 数据操作 数据控制)、视图(虚拟表,其内容由查询定义)、索引(加快存取速度) |
四 | Advanced SQL、授权、完整性约束 |
六 | E-R模型(概念设计、逻辑设计)、关系模型的转换 |
七 | 关系数据设计、范式定义(BCNF ⊂ 3NF ⊂ 2NF ⊂ 1NF)、分解(无损分解、保持函数依赖)、三大定律(自反性、增广性、传递性)、三大拓展(合并、伪传递、分解规则)、闭包(判断超码)、正则覆盖(合并、消除无关项) |
十五 | 事务 ACID、概念(用户定义的一个数据库操作序列)(begin transaction; commit;/Rollback;) |
十六 | 并行控制(调度)(可串行性是并发事务正确调度的准则)、基锁(排它锁 共享锁) |
十七 | 可恢复性(错误的分类)、死锁 (诊断:超时法、事务等待图法)、noSQL(CAP理论、BASE理论) |
发展历程
数据管理技术经历了
人工管理
、文件系统
、数据库系统
三个阶段-
数据库系统(DBS)
由数据库(DB)
、数据库管理系统(DBMS)
、应用程序和数据库管理员(DBA)
组成.- 数据库:长期存储在计算机内,
有组织的
、可共享的
大量数据的集合 - 一般由DBMS完成从
逻辑模型
到物理模型
的转换
- 数据库:长期存储在计算机内,
DBA的主要职责:
1)决定数据库中的信息内容和结构
2)决定数据库的存储结构和存储策略
3)定义数据的安全性要求和完整性约束条件
4)监控数据库的使用和运行
5)数据库的改进和重组、重构数据库系统的特点
1)数据结构化
2)数据的共享性高、冗余度低且易扩充
3)数据独立性高(物理独立性
、逻辑独立性
)
4)数据由数据库管理系统统一管理和控制数据模型(组成要素:
数据结构
、数据操作
和数据的完整性约束条件
)
1)概念模型:E-R图
2)逻辑模型:层次模型
、网状模型
、关系模型
等
3)物理模型数据库系统三级模式结构:
1)模式(schema)
2)外模式(external schema)
3)内模式(internal schema)数据库的
完整性(integrity)
是指数据的正确性(correctness)
和相容性(compat-ability)
数据库设计方法包括
新奥尔良法
、基于E-R模型的方法
、3NF设计方法
、面向对象的设计方法
和统一建模语言UML
方法等数据库设计的基本步骤包括
需求分析
、概念结构设计
、物理结构设计
、数据库实施
、数据库运行
和维护
等
其他
用户的分类
1)偶然用户 (企业或组织机构中高级管理人员)
2)简单用户 (银行职员、前台服务员等)
3)复杂用户(工程师、科学家、科学技术工作者)数据依赖的公理系统(Armstrong‘s axiom)
1)自反律(reflexivity rule)
2)增广律(augmentation rule)
3)传递律(transitivity rule)
推理规则:
1)合并规则(union rule)
2)伪传递规则(pseudo transitivity rule)
3)分解规则(decomposition rule)事务的ACID特性
1)原子性(Atomicity)
2)一致性(Consistency)
3)隔离性(Isolation)
4)持续性 (Durability)There are two classical approaches to ensure atomicity(原子性) despite failures
- log-based recovery 基于日志的恢复
- shadow-paging 影子页面
建立冗余数据最常用的技术是
数据转储
和登记日志文件(logging)
转储状态:动态转储、静态转储
转储方式:海量转储、增量转储恢复策略:
1)事务故障
的恢复
2)系统故障(soft crash)
的恢复
3)介质故障(hard crash)
的恢复并发操作带来的数据不一致性包括
丢失修改(lost update)
、不可重复性(non-repeatable read)
和读“脏”数据(dirty read)
并发控制的主要技术有
封锁(locking)
、时间戳(timestamp)
、乐观控制法(optimistic scheduler)
和多版本并发控制(multi-version concurrency control,MVCC)
等封锁
基本的封锁类型:
1)排他锁(exclusive locks)写锁(读+写)
2)共享锁(share locks)读锁 (只读)活锁和死锁
1)T2有可能永远等待,这就是活锁的情形
2)T1在等待T2,T2又在等待T1的局面,T1和T2两个事务永远不能结束,形成死锁冲突操作是指不同事务对同一个数据的
读写操作
和写写操作
-
CAP理论:
Consistency、Availability、Partition Tolerance
BASE理论:Basically Available、Soft state、Eventual consistency
NoSQL 的优点
1)High Scalability 高可扩展性
2)Distributed Computing 分布式计算
3)Lower Cost 低耗费
4)Schema Flexibility 模式可变性
5)Semi-Structured Data 半结构化数据
6)No Complicated Relationship 无复杂关系NoSql 的缺点
1)No Standardization
2)Limited Query Capabilities
3)Eventual Consistent is not intuitive to programThe three basic steps in query processing(查询过程)
1)parsing and translation 解析
2)optimization 优化
3)evaluation 评估