2013~2014学年第2学期 《数据库原理与技术》课程教学实施方案 罗可 一、 课程概况 【课程名称】数据库原理与技术。 【课程性质】必修课 【教学对象】网络工程四年制大二本科生。 【教学总学时】48学时。 【前修课程】《数据结构》、《程序设计语言》、《离散数学》。 【后续课程】《数据库课程设计》、《大型数据库设计》、《分布式数据库管理》、《软件工程》、《数据挖掘》、计算机综合训练、毕业设计以及研究生阶段高级数据库课程等 二、教学地位与作用及主要教学目的 数据库技术和系统已经成为信息基础设施的核心技术和重要基础。数据库技术作为数据管理的最有效的手段,极大的促进了计算机应用的发展。本课程系统讲述数据库系统的基础理论、基本技术和基本方法。内容包括:数据库系统的基本概念、数据模型、关系数据库及其标准语言SQL、数据库安全性和完整性的概念和方法、关系规范化理论、数据库设计方法和步骤,数据库恢复和并发控制等事务管理基础知识,关系查询处理和查询优化等。通过本课程学习,使学生系统地掌握数据库系统的基本原理和基本技术。要求在掌握数据库系统基本概念的基础上,能熟练使用SQL语言在某一个数据库管理系统上进行数据库操作;掌握数据库设计方法和步骤,具有设计数据库模式以及开发数据库应用系统的基本能力,能够从事数据库系统的设计,开发,研究和应用工作。 三、本课程的基本要求 通过本课程的学习,要求达到全面掌握数据库系统的基本理论、基本知识和基本技术,包括:数据库系统的构成、关系数据库系统的理论和基本概念、结构化查询语言SQL、数据模型的概念、数据库设计方法、数据库体系结构的特点和区别等。要求全面了解数据库系统的基本概念,能够熟练运用所学知识进行数据库设计,掌握数据库应用开发的方法。 通过课程学习和上机实验,达到以下目的: 1.掌握数据库技术的基本理论、基本知识和基本技术,包括:数据模型、关系数据库的基本概念、数据库概念模型的设计方法(E-R图)、完整性和一致性控制、数据安全性控制、事务处理、并发控制、封锁机制、备份与恢复等。 2.熟练掌握结构化查询语言SQL,包括:CREATE 、INSERT 、UPDATE、DELETE、DROP、GRANT、REVOKE等等。能够在实际业务工作中,熟练地利用SQL语言完成各种信息处理任务。 3.具备数据库设计的能力,能够针对实际应用环境建立数据模型,完成建立数据库、定义表结构、定义用户视图和索引的操作。 4.了解数据库系统的新发展,通晓客户机/服务器体系、分布式数据库、Web数据库等新知识。 四、 课程选用教材 【使用教材】王珊,萨师煊. 《数据库系统概论(第四版) 》,高教 2006.5 【选用依据】本书系统全面地阐述数据库系统的基础理论、基本技术和基本方法。本书第1版、第2版和第3版分别于1983年、1991年、2000年出版。第4版是“十五”国家级规划教材与国家精品教材建设的成果。本书第1版于1988年获国家级优秀教材奖,第3版于2002年获全国普通高等学校优秀教材一等奖。 【参考教材】 1.数据库系统概论 (database system concepts Third Edition ) (美)Abraham silberschatz Henry F.Korth 著 杨冬青 等译 机械工业出版社 2.数据库系统导论(An Introduction to Database Systems )(Seventh Edition ) (美)C.J.Date著 孟小峰等译 机械工业出版社 3.数据库原理 郑若忠 宁洪等编著 国防科技大学出版社 4.数据库原理与设计 张龙祥 黄正瑞 龙军 编著 人民邮电出版社 5.SQL Server 2000数据库简明教程 李存斌 著 水利出版社 五、 教学手段和方法 1、 本课程具有知识点较多、是一门理论性和实践性都较强的课程,在教学形式以讲授方式为主。 2、 在讲授过程中,考虑到该课程特点,遵循深入浅出的原则,由主讲教师自己动手,结合教材及教学大纲制作多媒体课件,以新的更加生动的方式讲述数据库原理与技术的全部内容。对概念、原理的解释和描述尽可能地以日常生活所接触到的实际例子和图示加以对比说明,。 3、 在教学过程中,应注重学生对基本理论的认识能力培养和分析、解决实际问题能力的培养,既要重视基础理论、基础知识的教学,又要重视课堂实例与实践教学环节。 4、 对关键性概念、整体实现思想方面的问题可辅以课堂讨论的形式。 5、 积极采用案例教学方法,逐步建立以学生为主体的互动式教学模式。 六、 教学特点 本课程概念较多,因此教学形式以讲授方式为主。 为加强和落实动手能力的培养,每章课后安排作业,对课程中关键性概念、设计思想方面的问题可辅以课堂讨论的形式和案例教学。采用课堂教学(多媒体平台)与课外实践相结合的教学方法。 七、 各章节教学重点与难点 第一章 绪论 1、 内容概述 阐述数据库的基本概念,介绍数据管理技术的进展情况、数据库技术产生和发展的背景,数据模型的基本概念、组成要素和主要的数据模型,概念模型的基本概念及ER方法,数据库系统的3级模式结构以及数据库系统的组成。 2、 本章目标 本章讲解的数据库基本概念和基本知识是学习后续各个章节的基础。学习本章的目的在于了解基本知识,掌握基本概念,为以后的学习打好扎实的基础。 重点和难点 重点:牢固掌握概念模型的基本概念及其主要建模方法ER方法;掌握关系数据模型的相关概念、数据库系统三级模式和两层映像的体系结构、数据库系统的逻辑独立性和物理独立性等;对于如何通过ER方法描述现实世界的概念模型要做到能够举一反三的程度。 难点:本章的难点是需要掌握数据库领域大量的基本概念。有些概念一开始接触会感到比较抽象,但不要紧,随着学习的逐渐推进,在后续章节中,这些抽象的概念会逐渐变得清晰具体起来。此外,数据模型及数据库系统的体系结构也是本章的难点。 第二章 关系数据库 1、 内容概述 系统地讲解关系数据库的重要概念,并着重对关系模型进行讲解。关系模型包括关系数据结构、关系操作集合、以及关系完整性约束三个组成部分。讲解关系代数、元组关系演算和域关系演算。从具体到抽象,先讲解实际的语言ALPHA(元组关系演算语言)和QBE(域关系演算语言),然后讲解抽象的元组关系演算。 2、 本章目标 掌握关系模型的三个组成部分及各部分所包括的主要内容;牢固掌握关系数据结构及其定义;关系的三类完整性约束的概念。为学习后面关系数据库系统打好基础。 3、重点和难点 重点:掌握关系数据结构及其定义;关系的三类完整性约束的概念。需要举一反三的是:关系代数(包括抽象的语言及具体的语言);关系代数中的各种运算(包括并、交、差、选择、投影、连接、除、及广义笛卡尔积等)、元组关系演算语言ALPHA及域关系演算语言QBE等,能够使用这些语言完成各种数据操纵。 难点:由于关系代数较为抽象,因此在学习的过程中一定要结合具体的实例进行学习。同时,要注意把握由具体语言到抽象语言的原则,即通过对具体语言如ALPHA和QBE的学习过渡到对抽象的关系演算的把握。 第三章 关系数据库标准语言SQL 1、内容概述 详细介绍关系数据库语言SQL。SQL是关系数据库的标准语言。它内容十分丰富,功能非常强大。因为关系数据库系统的主要功能是通过SQL来实现的,因此讲解SQL的同时要进一步讲述关系数据库的基本概念。 2、本章目标 牢固掌握SQL,达到举一反三的掌握SQL的功能。同时通过实践,体会面向过程的语言和SQL的区别和优点。体会关系数据库系统为数据库应用系统的开发提供良好环境,减轻用户负担,提高用户生产率的原因。 3、重点和难点 重点:关系模型和关系数据库是《数据库系统概论》课程的重点,第3章又是重点中的重点。要熟练正确的使用SQL完成对数据库的查询、插入、删除、更新操作。在使用具体的SQL时,能有意识地和关系代数、关系演算等语言进行比较,了解他们各自的特点。 难点:用SQL语言正确完成复杂查询,掌握SQL语言强大的查询功能。因此在学习过程中一定要多练习,要在安装好的数据库系统上进行实际操作,检查你的答案,你查询的结果是否正确。只有通过大量练习才能真正达到举一反三的熟练程度。 4、实验内容 实验1 学习安装SQL SERVER 2000系统,初步了解DBMS的工作环境和系统构架,熟悉对DBMS的安装,为后面的实验做准备 实验2,3 在安装好的数据库系统下创建数据库、创建表、创建索引;使用SQL对数据库进行各类查询操作(单表查询,连接查询,嵌套查询,集合查询)和更新操作(插入数据,修改数据,删除数据)。练习数据定义操作,包括基本表的创建、修改及删除;索引的创建和删除;视图的创建和删除。对视图的查询,更新(注意更新的条件)。完成书后作业的SQL练习。 第四章 数据库安全性 1、内容概述 介绍计算机以及信息安全技术标准的进展。详细讲解数据库安全性问题和实现技术。RDBMS实现数据库系统安全性的技术和方法有多种,本章讲解最重要的存取控制技术、视图技术和审计技术。讲解存取控制机制中用户权限的授权与回收,合法权限检查。数据库角色的概念和定义等。 2、本章目标 掌握什么是数据库的安全性问题,牢固掌握数据库管理系统实现数据库安全性控制的常用方法和技术。 3、重点和难点 重点:使用SQL中的GRANT 语句和 REVOKE 语句来实现数据库的实现自主存取控制功能。使用SQL中CREATE? ROLE语句创建角色,用GRANT 语句给角色授权。掌握视图机制在数据库安全保护中的作用。 难点:强制存取控制(MAC)机制中确定主体能否存取客体的存取规则,同学们要理解并掌握存取规则为什么要这样规定。 4、实验内容 实验4 在安装好的数据库系统下对已经建立的数据库创建用户、角色、视图;使用SQL对数据进行安全性控制,包括:授权和权力回收。操作完成后看看已授权的用户是否真正具有授予的数据操作的权力了;权力收回操作之后的用户是否确实丧失了收回的数据操作的权力 第五章 数据库完整性 1、内容概述 详细讲解数据库的完整性概念。包括,什么是数据库的完整性,数据库的完整性概念与数据库的安全性概念的区别和联系,RDBMS的数据库完整性实现机制,包括实体完整性、参照完整性和用户自己定义的完整性约束的定义机制、完整性检查机制和违背完整性约束条件时RDBMS采取的预防措施。触发器的概念和在数据库完整性检查中的应用。 2、本章目标 掌握什么是数据库的完整性,掌握用SQL语言定义关系模式的完整性约束条件。 3、重点和难点 重点:牢固掌握DBMS完整性控制机制的三个方面,即完整性约束条件的定义、完整性约束条件的检查和违约反应。需要举一反三的:用SQL语言定义关系模式的完整性约束条件。包括定义每个模式的主码;定义参照完整性;定义与应用有关的完整性。 难点:RDBMS如何实现完整性的策略,即当操作违反实体完整性、参照完整性和用户定义的完整性约束条件时,RDBMS如何进行处理,以确保数据的正确与有效。其中比较复杂的是参照完整性的实现机制。 4、实验内容 实验5 在安装好的数据库系统下对已经建立的数据库使用SQL对数据进行完整性控制(三类完整性、CHECK短语、CONSTRAIN子句、触发器)。进行违约操作,用实验证实,当操作违反了完整性约束条件时,系统是如何进行违约处理的 第六章 关系数据理论 1、内容概述 详细讲解关系数据理论,主要是关系数据库规范化理论。包括关系数据库逻辑设计可能出现的问题,数据依赖的基本概念(包括,函数依赖、平凡函数依赖、非平凡的函数依赖、部分函数依赖、完全函数依赖、传递函数依赖的概念;码、候选码、外码的概念和定义;多值依赖的概念),范式的概念、1NF、2NF、3NF、BCNF、4NF的概念和判定方法。 2、本章目标 关系数据理论既是关系数据库的重要理论基础也是数据库逻辑设计的理论指南和有力工具。要掌握规范化理论和优化数据库模式设计的方法。 3、重点和难点 重点:了解什么是一个"不好"的数据库模式。什么是模式的插入异常和删除异常。规范化理论的重要意义。牢固掌握数据依赖的基本概念,范式的概念,从1NF到4NF的定义,规范化的含义和作用。需要举一反三的:四个范式的理解与应用,各个级别范式中存在的问题(插入异常、删除异常、数据冗余)和解决方法。 难点:能够根据应用语义,完整地写出关系模式的数据依赖集合,并能根据数据依赖分析某一个关系模式属于第几范式。 本章内容的理论性较强。要通过具体例子和习题练习理解和掌握理论知识。 第七章 数据库设计 1、内容概述 讲解数据库设计方法和技术。数据库设计的特点,数据库设计的基本步骤,数据库设计过程中数据字典的内容,数据库设计各个阶段的设计目标、具体设计内容、设计描述、设计方法等。本章内容的实践性较强,教师可以少讲,让学生多读书并进行实践。 2、本章目标 了解数据库设计的重要性和数据库设计在信息系统开发和建设中的核心地位。掌握数据库设计方法和步骤,使学生具有设计数据库模式以及开发数据库应用系统的基本能力,能在实际工作中运用这些知识、技术和方法,设计符合应用需求的数据库及其应用系统。 3、重点和难点 重点:掌握数据库设计步骤和数据库设计过程中的各级模式设计方法。特别是数据库概念结构的设计和逻辑结构的设计,这是数据库设计过程中最重要的两个环节。牢固掌握用E-R图来表示概念模型的方法,掌握E-R图的设计,E-R图向关系模型的转换。 难点: 技术上的难点是E-R图的设计和数据模型的优化,包括对现实世界进行抽象的能力,提取实体、属性、实体型之间的联系,正确划分实体与属性的能力。真正的难点是理论与实际的结合。同学们一般缺乏实际经验,缺乏对实际问题解决的能力。特别是缺乏应用领域的知识。而数据库设计需要设计人员对应用环境、专业业务有具体深入的了解,这样才能设计出符合具体领域要求的数据库及其应用系统。 第八章 数据库编程 1、内容概述 讲解嵌入式SQL,ODBC编程,在数据库应用系统的开发中常常使用编程方法对数据库进行操纵。本章讲解这些编程技术涉及的概念和使用的方法。主要包括嵌入式SQL、游标的概念;SQL的过程化扩展PL/SQL和存储过程;使用ODBC设计开发数据库应用程序的方法。 因为JDBC编程、OLEDB编程与ODBC编程的思路基本相同,限于篇幅本章就不讲解JDBC和OLEDB编程,学生可以通过上机实验了解这些技术。本章内容的实践性较强,教师可以少讲,让学生多读书并进行实践。 2、本章目标 本章的目的是希望学生掌握在应用系统中使用编程方法对数据库进行操作的技术,掌握开发数据库应用系统的各种编程方法,具有正确选择不同的方法和技术开发应用程序的能力。 3、重点和难点 重点:了解SQL编程技术可以有效克服SQL实现复杂应用方面的不足,提高应用系统和RDBMS间的互操作性。掌握嵌入SQL中游标的概念和使用方法;掌握PL/SQL和存储过程的基本概念,基本结构,语句语法和用法。了解使用ODBC开发应用系统的体系结构,掌握ODBC API和ODBC的应用程序的工作流程。 难点:理论联系实际,能够在实际安装的RDBMS上通过编程的方式开发应用程序,完成对数据库的各种操作。能够使用ODBC来进行数据库应用程序的设计,使设计的应用系统可移植性好,并且能同时访问不同的数据库,共享数据资源。 第九章 关系查询处理和查询优化 1、内容概述 通过实例讲解关系数据库查询优化的重要性和可能性。讲解RDBMS的查询处理步骤,即查询分析、查询检查、查询优化和查询执行;查询优化的基本概念,查询优化包括代数优化和物理优化;代数优化是指关系代数表达式的优化;物理优化则是指存取路径和底层操作算法的选择,所以先讲解实现查询操作的主要算法,主要是选择操作和连接操作的主要算法思想,然后讲解关系代数表达式等价变换规则,关系代数表达式的优化,物理优化方法 2、本章目标 本章并不要求学生掌握RDBMS查询处理和查询优化的内部实现技术,因此没有详细讲解技术细节。 本章的目的是希望学生了解RDBMS查询处理的基本步骤,查询优化的概念、基本方法和技术,为数据库应用开发中利用查询优化技术提高查询效率和系统性能打下基础。 3、重点和难点 重点:了解关系数据库查询优化的重要性。掌握查询处理各个步骤的主要功能。能够把SQL语句转换成查询树,对查询树进行代数优化,转换成优化的查询树。掌握物理优化的基本方法。 难点:能运用本章学习的查询优化知识,对于比较复杂的查询,尤其是涉及连接和嵌套的查询,写出适合RDBMS自动优化的SQL语句。对于RDBMS不能优化的查询需要重写查询语句,进行手工调整以优化性能。不要把优化的任务全部放在RDBMS上 第十章 数据库恢复技术 1、内容概述 事务处理技术主要包括数据库恢复技术和并发控制技术。因为事务是数据库恢复和并发控制的基本单位,所以首先讲解事务的基本概念和事务的ACID性质。本章讲解数据库恢复技术。包括数据库运行中可能发生的故障类型,数据库恢复中最经常使用的技术—数据转储和登录日志文件。讲解日志文件的内容及作用,登记日志文件所要遵循的原则,针对事务故障、系统故障和介质故障等不同故障的恢复策略和恢复方法。具有检查点的恢复技术。数据库镜像功能。 2、本章目标 掌握事务的基本概念和事务的ACID性质。了解数据库恢复技术的重要性,针对不同的故障类型,掌握恢复数据库的策略和方法。 3、重点和难点 重点:牢固掌握事务的基本概念和事务的ACID性质。要掌握数据库故障恢复的策略和方法。数据库恢复的基本原理是数据备份,它貌似简单,实际却很复杂。数据库的事务管理策略(不仅有数据库恢复策略,还有并发控制策略)和DBMS缓冲区管理策略、事务一致性级别密切相关,同学们要在学习完这些知识后把这些问题联系起来,提升对这些技术的理解和掌握。 难点:对于刚刚学习数据库的学生来讲并不体会数据库故障恢复的复杂性和重要性。掌握日志文件的使用,系统故障、介质故障的恢复方法。在实际工作中,则必须正确了解所用的DBMS产品提供的恢复技术和恢复方法,并且能够根据这些机制正确制定系统的恢复策略,以保证数据库系统7*24小时正确运行。保证数据库系统在遇到故障时能及时恢复正常运行,提高抗故障抗灾难的能力。 4、实验内容 实验6 理解数据库的故障种类,掌握数据库的备份与还原的方法 第十一章 并发控制 1、内容概述 数据库管理系统必须提供并发控制机制来协调并发用户的并发操作以保证并发事务的隔离性和一致性,保证数据库的一致性。本章讨论数据库并发控制的基本概念和实现技术。包括封锁技术、封锁协议、活锁和死锁的概念、并发调度的可串行性、冲突可串行化调度、两段锁协议、封锁的粒度、意向锁。 2、本章目标 了解的数据库并发控制技术的必要性和重要性。牢固掌握并发控制的基本概念。 3、重点和难点 重点:掌握并发操作产生的数据不一致性(丢失修改、不可重复读、读“脏数据”)的确切含义。封锁协议与数据一致性的关系;并发调度的可串行性概念。 难点:两段锁协议与串行性的关系、与死锁的关系。具有意向锁的多粒度封锁方法的封锁过程。 本章内容有一定的深度和难度,可以通过对实例的学习和习题的练习来正确理解和掌握基本概念。 重点和难点的解决方法: 1、重点、难点内容细致讲解,并将教学中具有普遍意义的问题和疑难点整理出来,设计多媒体课件,学生掌握了课件中的内容,即可起到触类旁通、举一反三的作用。例如结合SQL语句介绍关系运算,结合实例介绍模式设计理论和数据库设计理论。 2、在数据库教学过程中,对传统的、单纯课堂讲授的教学模式进行了大的改革,将任务驱动教学法、案例教学、研究性学习、合作学习等多种教学方法相结合,针对不同学习环境,灵活应用这几种方法,达到互相取长补短的目的。从典型数据库实例分析入手,提出基本概念和基本原理,并组织有效的课堂讨论,开展学生讲评,引导学生思考。 3、加强实践教学,充分利用演示、实验及多媒体教学手段,展示数据库系统的结构、特点和数据库系统的设计过程,阐述基本概念,帮助学生加深理解,掌握应用。引导学生投入时间与精力,查资料、选方案,将设计文档交实验指导教师审阅。实验时,动手又动脑,不断完善方案,使问题得以解决。课堂上检查、督促,实验后总结、讲评,下次实验前抽查、学生讲评,使学生尽快掌握。 八、 课程形式 六、 主课 习题课 课堂讨论 作业 上机实验 九、 学习要求 •课前预习教材 •按时上课,认真听讲 •研读参考书和参考网站 •整理笔记,认真思考,积极讨论,善于发现问题、提出问题并努力寻求问题的答案 •结合数据库专题学习网站丰富的教学资源,努力寻求问题的答案,掌握基本原理,拓展知识,延伸视野,提高分析问题和解决问题的能力, 并在课外阅读相关内容。 十、 考试及成绩 十一、 •考试: 期末闭卷考试(笔试) •总评成绩: 课外作业、平时测验及学习态度、实验占20% 期末闭卷考试占80%; 十一、教学辅导和作业安排 每周安排一次,答疑地点:理科楼B-111,时间:周二 16:30-17:30 作业安排:每周布置一次作业,作业内容与形式根据教学大纲及教材内容确定。 十二、教学反馈 电子邮件、电话联系。 Tel:13908485640 E-mail:luok@csust.edu.cn 十三、教学进度 教学总学时数为48学时,其中授课时间为36学时,实验课时为12学时。 章节 讲授课时 实验课时 1.绪论 4 2.关系数据库系统 6 3.SQL语言 8 6 4.数据库安全性 2 2 5.数据库完整性 2 2 6.关系数据理论 4 7.数据库设计 4 8.数据库编程 1 9.关系查询处理和查询优化 1 10.数据库恢复技术 2 2 11.并发控制 2 36 12 制定人:罗可 审核人: 批准人: 2014年2月制定