课程概述

   “数据库原理及应用”是计算机科学与技术专业、软件工程专业、网络工程等专业重要的专业基础课程。

本课程系统讲述数据库系统的基础理论、基本技术和基本方法。

本课程内容丰富全面,分为基础篇和高级篇2部分讲解

通过本课程基础篇的学习,学生可以系统地掌握数据库系统的基本原理,能熟练使用SQL语言在某一个数据库管理系统上进行数据库检索和操作,掌握数据库安全性和完整性的基本概念和基本方法。并能够在某一个数据库管理系统上进行实验。

 通过本课程高级篇的学习,学生可以系统地掌握数据库规范化理论和数据库设计的方法与步骤,具有设计和开发数据库应用系统的基本能力;掌握数据库事务处理、并发控制与恢复的基本技术、初步掌握数据库查询处理和优化的概念。并能够在某一个数据库管理系统上进行实验验证。

   本课程的知识内容和技术方法,对从事现代数据管理技术的应用、开发和研究的人员都是重要而必备的基础。

   本课程的特点是,理论联系实际。我们不仅希望学生通过阅读和书面习题掌握本课程的内容,还要求学生完成实验项目。为此我们针对课程知识点设置了相应的实验,锻炼学生实际动手能力,启发学生对理论知识的思考和理解,达到理论联系实际的教学效果。


证书要求

本课程获得通过的资格,由以下因素决定:

1. 完成课后单元测验题,得分占总评分数的20%。本课程共安排7次单元测验,具体时间会在课程公告中提前一周提醒大家;

2. 完成要求的实验题,得分占总评分的20%。本课程共安排8次实验,具体时间以及实验内容会在公告中提前通知大家;

3. 完成第一次考试,得分占总评分数的20%;

4. 完成第二次考试,得分占总评分数的20%;

5. 完成第三次考试,得分占总评分数的20%;

说明: 

  总评成绩达到85分及以上者,本课程等级为优秀;总评成绩达到60分但未达到85分者,课程等级为合格。



预备知识
  • C语言,Java语言

  • 算法与数据结构

  • 离散数学

  • 操作系统


授课大纲

基础篇

-----PART 绪论-----

1讲:初识数据库系统                         

 引言;数据库的4个基本概念;数据库技术的产生和数据库系统的特点

2讲:数据库系统的核心:数据模型

 概念模型;数据模型的组成要素;层次模型,网状模型,关系模型

3讲:数据库系统的结构            

 数据库系统的三级模式和二层映像

4讲:数据库系统的组成            

 数据库系统的组成

-----PART 关系数据库-----

5讲:关系数据结构及关系的完整性

 关系数据库与形式化定义;实体完整性、参照完整性、用户定义的完整性

6讲:关系代数--传统集合操作          

 传统的集合操作:并、差、交、笛卡尔积4种运算

7讲:关系代数--关系特有操作          

 专门的关系运算:选择、投影、连接、除运算

8讲:关系代数--综合训练                            

 关系代数的综合练习

9讲:关系演算--元组关系演算                    

 元组关系演算

10讲:关系演算--域关系演算语言QBE             

 域关系演算

-----PART  SQL-----

11讲:SQL概述与数据定义                        

 SQL的产生与发展;SQL的特点;SQL的基本概念;数据定义

12讲:数据查询--单表查询                          

 SQL语句与单表查询

13讲:数据查询--连接查询                          

 SQL语句与连接查询

14讲:数据查询--嵌套查询                          

 SQL语句与嵌套查询

15讲:数据查询--集合查询                          

 SQL语句与集合查询

16讲:数据的更新与空值的处理                

 数据的更新语句;空值的处理

17讲:视图                                                                

 视图的定义、查询、更新、作用

-----PART 数据库安全性-----

18讲:数据库安全性概述                             

 数据库安全性概述

19讲:数据库安全性控制                             

 身份鉴别、存取控制、自主存取控制;数据库角色及强制存取控制

20讲:视图机制                                                       

 视图、审计、数据加密及其他安全性保护

-----PART 数据库完整性------

21讲:数据库的完整性                                 

 实体完整性、参照完整性和用户定义的完整性

22讲:约束命名子句及断言                         

 约束命名子句;断言

23讲:触发器                                                  

 触发器的概念、定义、执行、删除

 

高级篇

-----PART   绪论&关系数据理论------

24  《数据库系统概论(高级篇)》前言

介绍数据库学科体系以及《基础篇》《高级篇》的课程安排。

25  关系数据理论

讲解为什么要学习关系数据理论,什么是数据依赖。关系数据理论是关系数据库的重要理论基础也是数据库设计的有力工具。

26  函数依赖及范式的概念

讲解什么是函数依赖,关系范式的概念及规范化的基本思想。

27  函数依赖公理系统

简单介绍函数依赖推理规则和最小覆盖的概念,关系模式分解的准则。

 ------PART  数据库设计------

28  数据库设计

讲解数据库设计的方法和基本步骤。

29  数据库设计之需求分析

讨论需求分析的步骤和重要性,需求分析中的数据字典。

30  E-R模型及设计

讲解概念模型的主要方法—E-R模型,如何从应用语义抽象出E-R图,如何完成概念结构的设计。

31  数据库逻辑设计

讨论如何把E-R图转换为关系模型的方法。

32  数据库物理设计

数据库物理设计的主要内容和方法。

33  数据库的实施和维护

简单介绍数据库实施建设过程和运维工作的主要内容。

 -----PART  数据库编程------

34 数据库编程之嵌入式SQL部分

突破SQL语言的限制,介绍从高级语言中如何访问和管理数据库中数据的方法。

35 数据库编程之过程化SQL

介绍将一些过程化语句引入SQL语言,从而扩展SQL语言表达能力的方法,包括存储过程和函数等。

36 数据库编程之ODBC

介绍ODBC编程的概念与方法,包括ODBC概念,ODBC APIODBC工作流程以及实例等。

 -----PART  关系查询处理和查询优化------

37 关系查询处理

通过一个例子介绍数据库管理系统在接收到一个SQL语句后,如何对其进行处理的完整的过程。包括对选择和连接两个原子操作的实现算法的介绍。

38 关系查询优化

通过一个例子介绍查询优化的概念以及查询优化的重要性,讲解代数优化和物理优化方法。

 -----PART  数据库恢复技术------

39 事务的基本概念以及数据库恢复概述

介绍什么是事务,事务的基本性质,什么是数据库的恢复技术。

40 故障的种类

介绍各种常见的故障以及各类故障的恢复原理。

41 恢复技术

讲解恢复的实现技术,包括转储和登记日志文件。讨论各类故障的具体恢复策略、具有检查点的恢复技术。

42 数据库镜像

简单介绍如何用数据库镜像应对介质故障。

-----PART  并发控制------

43 并发控制概述

讨论并发操作带来的数据不一致性,包括丢失修改、不可重复读和读数据。

44 封锁

介绍两类基本锁,包括共享锁和排他锁;讲解三级封锁协议;讨论什么是活锁和死锁以及如何解决活锁和死锁问题。

45 并发调度的可串行性

介绍什么是可串行化调度,什么是冲突可串行化调度;讲解两段锁协议。

46 多粒度封锁

介绍什么是封锁的粒度,什么是多粒度封锁;讲解意向锁及其相容矩阵、具有意向锁的多粒度封锁方法。





 


参考资料
  1. 王珊,萨师煊. 《数据库系统概论(第5版)》,高等教育出版社,2014.9

  2. 王珊,张俊.《数据库系统概论(第5版)习题解析与实验指导》,高等教育出版社,2015.7

  3. 上机软件:SQL Server2008/2012数据库管理系统

  4. 中国人民大学 数据库系统概论精品课程网站:https://www.chinadb.org/