
数据库原理课程大纲与教学实施方案
数据库原理是计算机科学与技术专业、软件工程专业主干课程之一。系统地学习数据库原理,掌握数据库系统技术,从而能够适应从事复杂数据库系统研究、设计、开发与应用工作的需求,是对本计算机相关专业学生的基本要求。
数据库是数据管理的最新技术,是计算机软件与理论学科的一个重要分支,是近年来计算机应用学科中一个非常活跃、发展迅速、应用广泛的领域。随着计算机应用的发展,数据库应用领域已从数据处理、信息管理、事务处理扩大到计算机辅助设计、人工智能、办公信息系统等新的应用领域。对于一个国家来说,数据库的建设规模、数据库信息量的大小和使用频度已经成为衡量这个国家信息化程度的重要标志。因此,数据库技术越来越受到人们的关注。
一、基本描述
课程名称:数据库原理,或称作数据库系统原理,这些课程设置的基本知识单元大致是相同的,只是在侧重点和深度上有所不同。
课程性质:本课程是计算机科学与技术专业和软件工程专业的专业基础核心课程,面向实际应用,它研究如何存储、使用和管理数据,有较强的理论性和实用性。随着计算机应用的发展,数据库应用领域已从数据处理、信息管理、事务处理扩大到计算机辅助设计、人工智能、办公信息系统等新的应用领域。同时,数据库应用渗透到工农业生产、商业、行政管理、科学研究、国防建设、工程技术等各个领域。
基础知识:数据库原理课程与计算机组成原理、数据结构等前修课程有密切联系,更是数据库系统及应用,综合实训,毕业设计等后续课程的基础。数据库系统原理将涉及到计算机许多领域的知识和相关的应用,数据库原理课程与信息类相关课程有着极为紧密的关系,它是一门承前启后的课程。
学时安排:本课程的讲授共52学时,两周的课程设计。由于本课程强调工程实践教学实施,可以考虑在两周的课程设计中以一个完整的软件项目开发过程来组织该课程的训练内容。
教学定位:本课程工程型教学定位包括两个方面:一是从数据库系统外部结构的角度讲解数据库的基本概念、基本原理和基本方法;二是从数据库系统内部部结构的角度讲解数据库的运行机制和DBMS的工作原理。
能力培养:该课程是理论与实践并重的课程,主要培养学生如下几方面的能力。
基础知识与技能:深入、透彻地领悟数据库系统的基本原理、基本方法、实现技术和应用技术,从而利用数据库完成复杂信息系统的设计和开发。
团队协作的能力:充分理解数据库设计和开发中团队合作的重要性,具备个人工作能力和团队协作的能力,以便开发高质量的数据库应用程序。
分析问题和解决问题的能力:通过实践课程的学习,了解各种数据库的设计方法以及解决应用领域中特定问题的方法,熟悉数据库设计各个阶段的任务,熟练进行需求分析、概念结构设计、逻辑结构设计、物理机构设计、数据库实施和运行和维护,从而展示自己的数据库设计和应用能力。
谈判与沟通能力:采用口头、书面以及图形等方式进行有效的沟通,清楚的表达技术问题以及其解决方法,具备倾听、说服和协商的能力。
创新与发展能力:充分理解数据库技术的不断发展,积极探索新概念、新技术和新方法,并坚持不断的学习,了解数据库业界的最新技术和方法,使自己的专业能力与发展同步。
主要特点:数据库原理课程具有抽象、复杂性等特征。为使学生深刻领会和理解数据库原理和设计的思想和方法,在教学中应该创造条件引入实际案例,将复杂抽象的概念用具体生动的开发案例进行诠释。
此外,数据库是一门新技术和新方法不断涌现的新兴学科,在讲解基本概念、基本原理和基本方法的同时,还应该讲授一些新技术和新方法,使学生在有限的学时内掌握比较先进实用的知识,这样既有助于开拓学生视野和培养创新意识,也可以很好地适应现代IT行业发展的需要。
2.内容矩阵
数据库原理内容矩阵如下表所示。
数据库原理内容矩阵
| 知识领域 | 知识点 | 掌握程度 | 讲授学时(52) |
数据库系统 | 数据 | 了解 | 4学时 |
| 数据库 | 理解 | ||
| 数据库管理系统 | 理解 | ||
| 数据库管理技术发生和发展 | 了解 | ||
| 数据库系统特点 | 理解 | ||
数据模型 | 数据模型要素 | 了解 | 4学时 |
| 概念模型 | 理解 | ||
| 层次模型 | 理解 | ||
| 网状模型 | 掌握 | ||
| 关系模型 | 掌握 | ||
| 数据库系统结构 | 数据库系统结构分类 | 了解 | 4学时 |
| 数据库系统模式 | 掌握 | ||
| 三级模式 | 掌握 | ||
| 二级映射 | 理解 | ||
| 数据库系统组成 | 掌握 | ||
| 关系数据库 | 关系 | 理解 | 4学时 |
| 关系数据库 | 掌握 | ||
| 关系操作 | 掌握 | ||
| 关系完整性 | 掌握 | ||
| 关系代数 | 掌握 | ||
| 关系演算 | 了解 |
关系数据库标准
| 语言SQL | SQL基本概念 | 理解 | 8学时 |
| 数据定义 | 掌握 | ||
| 数据查询 | 掌握 | ||
| 数据更新 | 理解 | ||
| 视图 | 掌握 | ||
数据库安全性 | 安全标准 | 了解 | 4学时 |
| 安全性控制 | 掌握 | ||
| 审计 | 了解 | ||
| 数据加密 | 了解 | ||
| 数据库安全 | 理解 | ||
| 数据库完整性 | 实体完整性 | 掌握 | 4学时 |
| 参照完整性 | 掌握 | ||
| 用户定义的完整性 | 掌握 | ||
关系数据理论 | 规范化 | 理解 | 4学时 |
| 数据依赖公理系统 | 了解 | ||
| 模式分解 | 理解 | ||
数据库设计 | 数据库设计方法 | 了解 | 4学时 |
| 需求分析 | 理解 | ||
| 概念结构设计 | 掌握 | ||
| 逻辑结构设计 | 掌握 | ||
| 物理结构设计 | 掌握 | ||
| 数据库实施 | 理解 | ||
| 运行和维护 | 理解 |
| 数据库编程 | 嵌入式SQL | 理解 | 2学时 |
| 存储过程 | 掌握 | ||
| ODBC/JDBC编程 | 理解 | ||
| 查询优化 | 了解 | ||
| 关系查询和优化 | 查询处理步骤 | 理解 | 2学时 |
| 选择操作实现 | 掌握 | ||
| 连接操作实现 | 掌握 | ||
| 数据库恢复技术 | 事务处理 | 掌握 | 4学时 |
| 故障种类 | 理解 | ||
| 恢复的实现计数 | 理解 | ||
| 恢复策略 | 理解 | ||
| 数据库并发控制 | 调度 | 掌握 | 4学时 |
| 锁 | 理解 | ||
| 封锁的粒度 | 理解 |
(计算机科学与技术、软件工程专业本科适用)
学时:52 学分:3 课程编号:0706310
一、课程的性质、目标和任务:
《数据库系统原理及应用》是数据管理的最新技术,是计算机科学的重要分支,它为计算机专业、管理专业等众多学科提供利用计算机技术进行数据管理的基本理论知识,是计算机专业、管理专业等学科的专业必修课。
本课程主要介绍数据库的基本理论和应用方法。本课程的任务是通过各个教学环节,运用各种教学手段和方法,使学生在掌握数据模型、数据库管理系统、数据库语言及数据库设计理论等基本理论知识的基础上,逐步具有开发和设计数据库的能力,为进一步开发和设计大型信息系统打下坚实基础。
二、课程教学内容、教学形式和教学要求
1、理论教学大纲内容:
第一章 绪论
(一)课程内容
1、数据库系统概述
2 、数据模型
3 、数据库系统结构
4 、数据库管理系统
5 、据库技术的研究领域
(二)学习目的和要求
本章阐述了数据库的基本概念,介绍了数据库管理技术的进展情况、数据库技术产生和发展的背景、数据库系统的组成以及数据库技术的主要研究领域。
学习本章的重点在于将注意力放在基本概念和基本知识的把握方面,从而为以后的学习打好扎实的基础。
第二章 关系数据库
(一)课程内容
1 、关系模型
2 、关系数据结构
3 、关系的完整性
4、 关系代数
(二)学习目的和要求
1、需要了解的:产系统数据库理论产生和发展的过程,关系数据库产品的发展沿革;关系演算的概念;
2、需要牢固掌握的:关系模型的三个组成部分及各部分所包括的主要内容;牢固关系数据结构及其形化定义;关系的三类完整性约束的概念。
3、需要举一反三的:关系代数;关系代数中的各种运算、元组关系演算语言PLPHA及域关系演算语言QBE等,能够使用这些语言完成各种数据操纵。
4、难点:本章的难点在于关系代数。由于关系代数较为抽象,因此在学习的过程中一定要结合具体的实例进行学习。同时,要注意把握由具体语言到抽象语言的原则,即通过对具体语言如ALPHA和QBE的学习过渡到对抽象的关系演算的把握。
第三章 关系数据库标准语言SQL
(一)课程内容
1、 SQL概述
2 、数据定义
3 、查询
4 、数据更新
5、 视图
6、数据控制
(二)学习目的和要求
1、需要了解的:SQL语言发展的过程,从而进一步了解关系数据库技术和RDBMS产品的发展过程。
2、需要牢固掌握的:掌握SQL语言的特点、SQL语言与非关系模型数据语言的不同,从而体会SQL语言之所以能够为用户和业界所接受并成为国际标准的原因;体会面向过程的语言和SQL语言的区别和优点;体会关系数据库系统为数据库应用系统的开发提供良好的环境、减轻用户负担、提高用户生产率的原因。
3、需要举一反三的:熟练而正确的使用SQL语言完成对数据库的查询、插入、删除、更新操作,特别是各种各样的查询,掌握SQL语言强大的查询功能。
4、难点:本章的难点在于用SQL语言正确的完成复杂查询。因此在教学过程中一定求学生多加练习,要在某一个RDBMS产品上进行实际运行,检查查询的结果是否正确。
第四章 关系统及其查询优化
(一)课程内容
1、关系系统
2、关系数据库系统查询优化
(二)学习目的和要求
为了提高关系数据库的系统执行效率,RDBMS必须进行查询优化;由于关系查询语言具有较高的语义层次,使RDBMS可以进行查询优化。这就是RDBMS查询优化的的必要性和可能性。
1、需要了解的:关系系统的定义和分类;全关系系统的十二条准则。
2、需要牢固掌握的:最小关系的系统、关系上的完备的系统和全关系型的关系系统等基本概念;什么是关系系统的查询优化。
3、需要举一反三的:能够画一个查询的语法树以及优化后的语法树
4、难点:本章的难点在于优化算法,包括代数优化算法和物理优化算法。
第五章 关系数据理论
(一)课程内容
1、基本概念
2、范式
3、关系模式的规范化
(二)学习目的和要求
1、需要了解的:什么是一个“不好”的数据库模式;什么是模式的插入异常和删除异常;规范化理论的重要意义。
2、需要牢固掌握的:关系的形式化定义;数据依赖的基本概念、范式的概念;从1NF到4NF的定义;规范化的含义和作用。
3、需要举一反三的:四个范式的理解与应用,各个级别范式中存在的问题和解决方法;能够根据应用语义,完整地写出关系模式的数据依赖集合,并能根据数据依赖分析某一个关系模式属于第几范式。
4、难点:各个级别范式的关系及其证明。
第六章 数据库设计
(一)课程内容
1、数据库设计概述
2、需求分析
3、概念结构设计
4、逻辑结构设计
5、数据库的物理设计
6、数据库实施和维护
7、数据库的运行和维护
(二)学习目的和要求
本章讲解数据库设计方法和技术,内容的实践性较强。
1、需要了解的:数据库设计的特点;数据库物理设计的内容和评价;数据库的实施和维护。
2、需要牢固掌握的:数据库设计的基本步骤;数据库设计过程中数据字典的内容;数据库设计各个阶段的具体设计内容提、设计描述、设计方法等。
3、需要举一反三的:E-R图的设计;E-R图向关系模型的转换。
4、难点:技术上的难点是E-R图的设计,数据模型的优化。真正的难点是理论与实际结合。
第七章 数据库恢复技术
(一)课程内容
1、事务处理
2、恢复策略
3、数据库镜像
(二)学习目的和要求
1、需要了解的:什么是数据库一致状态。数据库运行中可能产生的故障类型,他们如何影响事务的正常执行,如何破坏数据库数据。数据转储的概念及分类。什么是数据库镜像功能。
2、需要牢固掌握的:事务的基本概念和事务的ACID性质。数据库恢复的实现技术。
日志文件的内容及作用。登记日志文件所要遵循的原则。具有检查点的恢复技术。
3、需要举一反三的:恢复的基本原理,针对不同的故障的恢复策略和方法。
4、难点:日志文件的使用,系统故障恢复策略。
第八章 并发控制技术
(一)课程内容
1、单用户和多用户数据库系统(要求达到“理解”层次)
2、并发控制的必要性(要求达到“理解”层次)
3、基于锁的并发控制协议(要求达到“理解”层次)
4、活锁和死锁(要求达到“理解”层次)
5、并发调度的可串性(要求达到“理解”层次)
6、两段锁协议(要求达到“认识”层次)
7、封锁的粒度(要求达到“认识”层次)
(二)学习目的和要求
并发控制机制的正确性和高效性是衡量一个DBMS性能的重要标志之一。
1、需要了解的:数据库并发控制技术的必要性,活锁死锁的概念。
2、需要牢固掌握的:并发操作可能产生数据不一致性的情况及其确切含义;封锁的类型;不同封锁类型的性质和定义,相关的相容控制矩阵;封锁协议的概念;封锁粒度的概念;多粒度封锁方法;多粒度封锁协议的相容控制矩阵。
第九章 数据库的安全与保护
(一)课程内容
1、安全性概述 (要求达到“理解”层次)
2、数据库安全控制 (要求达到“理解”层次)
3、统计数据库安全性 (要求达到“认识”层次)
4、Oracle数据库安全性 (要求达到“认识”层次)
(二)学习目的和要求
数据库安全性问题和计算机系统的安全性是紧密联系的,计算机系统的安全性问题可分技术安全类、管理安全类和法律类三大类安全性问题。我们讨论数据库的安全性,讨论数据库技术安全类问题,即从技术上如何保证数据库系统的安全性。
1、要了解的:什么是计算机系统安性问题;什么是数据库的安全性问题;统计数据库的安全性问题。
2、需要牢固掌握的:TDI/TCSEC标准的主要内容;C2级DBMS、B1级DBMS的主要特征;实现数据库安全性控制常用方法和技术有哪些;数据库中的自主存取控制方法和强制存取控制方法。
3、需要举一反三的:使用SQL语言中的GRANT语句和REVOKE语句来实现自主存取控制。
4、难点:MAC机制中确定主体能否存取客体的存取规则,读者理解并掌握存取规则为什么要这样规定,特别是规则(2)。
第十章 数据库的完整性
(一)课程内容
1、整性约束条件
2、整性控制
3、Oracle的完整性
(二)学习目的和要求
第十一章数据库技术新进展
(一)课程内容
1、数据库技术发展概述
2、数据模型及数据库系统的发展
3、数据库技术与其它相关技术相结合
4、面向应用领域的数据库新技术
(二)学习目的和要求
了解当数据库技术的进展,研究数据库发展的动向,分析各种新型数据库的特点,对数据库技术的研究和应用具有重大意义,本章以数据模型、数据库应用、数据库管理系统开发技术三个方面为主线概述数据库发展历程,展示数据库学科在理论、应用和系统开发等研究和应用领域的主要内容和发展方向,目的在于提供一个宏观的、总体的数据库学科视图,使读者即能了解数据库的新进展又能了解数据库技术的来龙去脉;即能了解新的数据库分支的基础,又能了解这些分支之间的相互联系。
第十二章.面向对象数据库系统
(一)课程内容
1、面向对象数据模型
2、面向对象数据库语言
3、面向对象数据库模式演进
(二)学习目的和要求
本章介绍面向对象数据库系统的基本概念。在介绍面向对象数据库系统之前,先简要介绍面向对象程序设计方法。
三、课程教学要求:
(1)、掌握数据库系统的基本原理,掌握数据库的实现技术
(2)、掌握并能使用5个范式设计数据库
(3)、掌握数据库的完整性、安全及并发控制等技术
(4)、了解最新的数据库技术
四、教学形式:
(1)、本课程主要以授课为主,辅以少量的上机,上机主要以掌握SQL语句为目的,根据关系型数据库的范式设计表。
(2)、作业分课堂作业和课外作业,要求学生深刻领会关系到数据库范式及数据库的设计。
(3)、学期的下半阶段给同学们一个大到作业,要求交出作品。
五、学时分配建议
建议学时分配如下:
本课程讲授总时数为52学时。
| 序号 | 内 容 | 授课 (学时) | 上机 |
| 1 | 第一章 绪论 | 4 | |
| 2 | 第二章 关系数据库 | 4 | |
| 3 | 第三章 关系数据库标准语言SQL | 8 | |
| 4 | 第四章 关系统及其查询优化 | 4 | |
| 5 | 第五章 关系数据理论 | 10 | |
| 6 | 第六章 数据库设计 | 8 | |
| 7 | 第七章 数据库恢复技术 | 2 | |
| 8 | 第八章 并发控制技术 | 4 | |
| 9 | 第九章 数据库的安全与保护 | 4 | |
| 10 | 第十章 数据库的完整性 | 4 | |
| 合计 | 52 |
课程教学要求的层次
(一)熟练掌握:
要求学生能够全面、深入理解和熟练掌握所学内容,并能够用其分析、初步设计和解答与数据库应用相关的问题,能够举一反三。
(二)掌握:
要求学生能够较好地理解和掌握,并且能够进行简单分析和判断,在实际的教学中,根据学科的发展,在学时分配、章节选择上,做小的调整。
(三)了解:
要求学生能够一般地了解的所学内容。
起草人: 专业负责人: 教学院长(主任):
