课程概况
“数据库系统概论”是计算机、软件工程、信息系统和信息管理等专业的核心课程,也是非计算机专业学生的信息技术必选课程。本课程系统全面地讲述数据库系统的基础理论、基本技术和基本方法。本课程的知识内容和技术方法,对从事现代大数据管理技术的应用、开发和研究的人员都是重要而必备的基础。课程又分为“基础篇”和“高级篇”两门课程。
通过“基础篇”的学习,学员可以系统地掌握数据库系统的基本原理,能熟练使用SQL语言在某一个数据库管理系统上进行数据库检索和操作,掌握数据库安全性和完整性的基本概念和基本方法,并能够在某一个数据库管理系统上进行实验,培养学员熟练使用数据库的能力。
通过“高级篇”的学习,学员可以系统地掌握数据库规范化理论和数据库设计的方法与步骤,具有设计和开发数据库应用系统的基本能力;初步掌握数据库查询处理和优化的概念、掌握数据库事务处理、并发控制与恢复的基本技术,培养学员管理、维护和优化大型数据库系统的能力。
本课程(高级篇)从应用或使用数据库,从管理DBMS的角度来讲解关系数据理论、数据库设计方法、数据库编程和DBMS中有关查询处理、事务管理的基本概念和基本技术。课程分为数据库设计与应用开发、DBMS系统两大部分。前者讲解在开发应用系统中如何在已经选定的DBMS基础上设计数据库,如何基于数据库系统编程。作为数据库设计的重要指南,在这一部分开始,首先讲解了关系数据理论。后者则从使用和管理DBMS的角度,讨论DBMS的查询处理,事务管理,数据库恢复和并发控制等基本概念和基本技术,没有涉及具体的实现技术细节。
课程大纲
-----PART 1 绪论&关系数据理论------
第1讲 《数据库系统概论(高级篇)》前言
介绍数据库学科体系以及《基础篇》《高级篇》的课程安排。
第2讲 关系数据理论
讲解为什么要学习关系数据理论,什么是数据依赖。关系数据理论是关系数据库的重要理论基础也是数据库设计的有力工具。
第3讲 函数依赖及范式的概念
讲解什么是函数依赖,关系范式的概念及规范化的基本思想。
第4讲 函数依赖公理系统
简单介绍函数依赖推理规则和最小覆盖的概念,关系模式分解的准则。
------PART 2 数据库设计------
第5讲 数据库设计
讲解数据库设计的方法和基本步骤。
第6讲 数据库设计之需求分析
讨论需求分析的步骤和重要性,需求分析中的数据字典。
第7讲 E-R模型及设计
讲解概念模型的主要方法—E-R模型,如何从应用语义抽象出E-R图,如何完成概念结构的设计。
第8讲 数据库逻辑设计
讨论如何把E-R图转换为关系模型的方法。
第9讲 数据库物理设计
数据库物理设计的主要内容和方法。
第10讲 数据库的实施和维护
简单介绍数据库实施建设过程和运维工作的主要内容。
-----PART 3 数据库编程------
第11讲 数据库编程之嵌入式SQL部分
突破SQL语言的限制,介绍从高级语言中如何访问和管理数据库中数据的方法。
第12讲 数据库编程之过程化SQL
介绍将一些过程化语句引入SQL语言,从而扩展SQL语言表达能力的方法,包括存储过程和函数等。
第13讲 数据库编程之ODBC
介绍ODBC编程的概念与方法,包括ODBC概念,ODBC API,ODBC工作流程以及实例等。
-----PART 4 关系查询处理和查询优化------
第14讲 关系查询处理
通过一个例子介绍数据库管理系统在接收到一个SQL语句后,如何对其进行处理的完整的过程。包括对选择和连接两个原子操作的实现算法的介绍。
第15讲 关系查询优化
通过一个例子介绍查询优化的概念以及查询优化的重要性,讲解代数优化和物理优化方法。
-----PART 5 数据库恢复技术------
第16讲 事务的基本概念以及数据库恢复概述
介绍什么是事务,事务的基本性质,什么是数据库的恢复技术。
第17讲 故障的种类
介绍各种常见的故障以及各类故障的恢复原理。
第18讲 恢复技术
讲解恢复的实现技术,包括转储和登记日志文件。讨论各类故障的具体恢复策略、具有检查点的恢复技术。
第19讲 数据库镜像
简单介绍如何用数据库镜像应对介质故障。
-----PART 6 并发控制------
第20讲 并发控制概述
讨论并发操作带来的数据不一致性,包括丢失修改、不可重复读和读“脏”数据。
第21讲 封锁
介绍两类基本锁,包括共享锁和排他锁;讲解三级封锁协议;讨论什么是活锁和死锁以及如何解决活锁和死锁问题。
第22讲 并发调度的可串行性
介绍什么是可串行化调度,什么是冲突可串行化调度;讲解两段锁协议。
第23讲 多粒度封锁
介绍什么是封锁的粒度,什么是多粒度封锁;讲解意向锁及其相容矩阵、具有意向锁的多粒度封锁方法。
预备知识
* 某一种计算机程序设计方法和语言
* 数据结构
* 离散数学
* 操作系统
* 数据库系统概论(基础篇)
证书或学分
1. 完成课后单元测验题,得20分。
本课程共安排4次单元测验,具体时间会在课程公告中提前一周提醒大家。
2. 完成要求的实践开发题,得分10分。
本课程共安排1次数据库应用系统开发的作业,具体时间和要求会在公告中提前通知大家。
3. 参加一定次数的课堂交流讨论,得20分。
4. 完成期末考试,得50分。
说明:
总评成绩达到80分及以上者,可以获得本课程的优秀证书;
总评成绩达到60分但未达到80分者,可以获得本课程的合格证书。
参考资料
1.王珊,萨师煊.《数据库系统概论(第5版)》,高等教育出版社,2014.9
2.王珊,张俊.《数据库系统概论(第5版)习题解析与实验指导》,高等教育出版社,2015.7
3 上机软件:金仓数据库KingBaseES,可以在http://www.Kingbase.com.cn/ 网站上下载
4. 中国人民大学 数据库系统概论精品课程网站: http://chinadb.ruc.edu.cn/