课程信息 实验教学 教学资料 自主学习 参考文献

课程编号:0801196

数据库原理                  

Principle of Database Systems   

                                               总学时:64

                                                         总学分:4

课程性质:专业必修

开设学期及周学时分配:4学期;4学时/

适用专业及层次:计算机科学与技术专业 软件工程 本科

相关课程计算机导论;数据结构;离散数学

教材:《数据库系统概论》(第三版),萨师煊 王珊编著,高等教育出版社,2000

推荐参考书1.《数据库系统原理教程》,王珊陈红 编著,清华大学出版社,1998

2.《数据库系统导论》,C. J. Date 编著 孟小峰 王珊 译,机械工业出版社,2000

 

一、      课程目的及要求

数据库原理是为计算机科学与技术专业双学位本科生开设的专业基础课,本课程全面介绍了数据库系统的基本概念,基本原理和基本技术,其课程目的主要是通过该课程的学习,使学生建立扎实的关系数据库理论基础,掌握数据库的开发技术和数据库系统的管理维护技术,了解目前数据库发展的前沿技术及发展方向,在理论研究和实际应用两个层面上为学生的后续发展打下坚实基础。

本课程要求学生了解数据库技术的产生和发展过程,理解关系模型的相关概念,掌握利用关系代数、元组演算,特别是关系数据库标准语言SQL完成数据库的查询、插入、修改、删除等功能的方法,掌握关系数据基本理论及数据库设计的方法和步骤,掌握数据库恢复和数据库并发控制的概念和实现技术,理解数据库安全性、完整性问题和实现技术,了解当今数据库技术的主要研究内容和发展方向。

二、      课程内容及学时分配

课程总学时:64  授课学时:48  实验学时:16

1   绪论 (4学时)

1.         数据库系统概述

2.         数据模型

3.         数据库系统结构

4.         数据库系统组成

5.         数据库技术的研究领域

2   关系数据库 (8学时)

1.         关系模型概述

2.         关系数据结构及形式化定义

3.         关系的完整性

4.         关系代数

5.         关系演算

3   关系数据库标准语言SQL(10学时)

1.         SQL概述关系数据结构及形式化定义

2.         数据定义

3.         查询

4.         数据更新

5.         视图

6.         数据控制

4   关系系统及其查询优化 (2学时)

1.         关系系统

2.         关系数据库系统的查询优化

5   关系数据理论 (4学时)

1.         问题的提出

2.         规范化

6   数据库设计 (8学时)

1.         数据库设计概述

2.         需求分析

3.         概念结构设计

4.         逻辑结构设计

5.         数据库的物理设计

6.         数据库的实施和维护

7   数据库恢复技术(4学时)

1.         事务的基本概念

2.         数据库恢复概念

3.         故障的种类

4.         恢复的实现技术

5.         恢复策略

6.         具有检查点的恢复技术

7.         数据库镜像

8.         Oracle的恢复技术

8   并发控制 (4学时)

1.         并发控制概述

2.         封锁

3.         封锁协议

4.         活锁和死锁

5.         并发调度的可串行性

6.         两段锁协议

7.         封锁的粒度

8.         Oracle的并发控制

9   数据库安全性 (2学时)

1.         计算机安全概论

2.         数据库安全性控制

3.         统计数据库安全性

10   数据库完整性 (2学时)

1.         完整性约束条件

2.         完整性控制

三、      教学重点与难点

1  绪论

重点:概念模型的基本概念及其主要建模方法——E-R方法;关系数据模型的相关概念;数据

库系统三级模式和两层映像的体系结构;数据库系统的逻辑独立性和物理独立性等。

难点:掌握数据库领域大量的基本概念;数据模型及数据库系统的体系结构。

2  关系数据库

重点:关系模型的三个组成部分及各部分所包括的主要内容;关系数据结构及其形式化定义;

关系的三类完整性约束的概念。

难点:关系代数和关系演算的使用。

3   关系数据库标准语言SQL

重点:SQL语言的特点;正确使用SQL语言完成对数据库的查询、插入、删除、更新操作,掌握SQL语言强大的查询功能。

难点:用SQL语言正确完成复杂查询。

4  关系系统及其查询优化

重点:最小关系的系统、关系上完备的系统和全关系型的关系系统等基本概念;关系系统的查询优化方法。

难点:优化算法。

5  关系数据理论

重点:关系的形式定义;数据依赖的基本概念;范式的概念;从1NF4NF的定义;规范化的含义和作用。

难点:各个级别范式的关系及其证明。

6  数据库设计

重点:数据库设计的基本步骤;数据库设计过程中数据字典的内容;数据库设计各个阶段的具体设计内容、设计描述、设计方法等。

难点:E-R图的设计;数据模型的优化;设计理论与实际应用的结合。

7  数据库恢复技术

重点:事务的基本概念和事务的性质;数据库恢复的实现技术。

难点:日志文件的使用;系统故障恢复策略。

8  并发控制

重点:并发操作可能产生数据不一致的情况及其确切含义;封锁的类型;不同封锁类型的性质和定义;封锁协议的概念;封锁粒度的概念;多粒度封锁方法;多粒度封锁协议的相容控制矩阵。

难点:两段锁协议与串行性的关系;与死锁的关系;具有意向锁的多粒度封锁方法的封锁过程。

9  数据库安全性

重点:TDI/TCSEC标准的主要内容;C2DBMSB1DBMS的主要特征;实现数据库安全性控制的常用方法和技术;数据库中的自主存取控制方法和强制存取控制方法。

难点:MAC机制中确定主体能否存取客体的存取规则,理解并掌握存取规则的规定原因。

10  数据完整性

重点:DBMS完整性控制机制的三个方面,即完整性约束条件的定义、完整性约束条件的检查和违约反应。

难点:RDBMS如何实现参照完整性的策略。

四、      主要教学方法

本课程采用理论讲授、上机实验、互动讨论三种方式进行授课,把数据库教学分成三个板块,即数据库的经典内容、主流技术和未来发展,根据数据库技术内容的特点,抓住数据模型和数据语言发展这两条主线开展教学工作,兼顾数据库技术的使用和数据库实现这两个重点,加强数据库建模和上机实习这两个实践环节,整个教学活动,围绕“提高学生的理论水平、实践技能和创新能力”展开。

五、      典型作业练习

1.         判断题(正确为A;错误为B

如一组事务是按一定顺序执行的,则称这组事务是可串行的。(B

2.         选择题

下列聚集函数中不忽略空值(NULL)的是[]

A. SUM(列名)    B. MAX(列名)    C. COUNT(*)    D. AVG(列名)

3.         简答题

什么是数据库系统的三级模式结构?

4.         求解题

在供应商、零件数据库中有以下3个关系模式:

供应商:S(SNO, SNAME, CITY, STATUS)

零件:P(PNO, PNAME, WEIGHT, COLOR, CITY)

供应货:SP(SNO, PNO, JNO)

各属性的含义可由属性名体现,供应货关系SP表示某供应商SNO,供应了PNO零件,数量为QTY

SQL语言完成以下操作:

1)        求供应红色零件的供应商名字;

2)        求北京供应商的号码、名字和状况(STATUS)

3)        求零件P2的总供应量;

4)        把零件P2的重量增加5,颜色改为黄色。

六、课程考核方式

本课程采用期末闭卷考试的方式进行考核,其中学生的平日成绩和实验报告成绩决定学生期末是否有资格参加考试。