中山大学信息科学和技术学院计算机科学系数据库系统概论教学大纲文档格式.docx
- 文档编号:21355717
- 上传时间:2023-01-29
- 格式:DOCX
- 页数:12
- 大小:29.23KB
中山大学信息科学和技术学院计算机科学系数据库系统概论教学大纲文档格式.docx
《中山大学信息科学和技术学院计算机科学系数据库系统概论教学大纲文档格式.docx》由会员分享,可在线阅读,更多相关《中山大学信息科学和技术学院计算机科学系数据库系统概论教学大纲文档格式.docx(12页珍藏版)》请在冰豆网上搜索。
2.开发、调试能力:
能够动手设计和开发成功的数据库应用系统。
包括单机环境和网络环境的系统开发,网络环境又包括B/S和C/S体系下的开发。
3.系统集成能力:
数据库与其他部分,数据库与数据库之间,异构环境和系统之间,如达到全局优化,要能把握较复杂较系统的整体结构。
4.自学和外语阅读能力:
数据库软件很多、技术发展快,要求学生具有良好的自学和新技术的跟踪能力。
而且大多数参考文献是英文版,要掌握较新技术,应能直接读原文,快速获取知识和信息。
总之,教学应理论联系实际,理论指导实践,通过规范地完成一系列数据库系统原理实验进一步巩固所学的相关书本知识,提供学生动手能力和实际解决问题的能力。
二、教材选择
1、教学内容概述
●课堂内容
应包括四部分内容:
1.数据库系统的基本概念,基本构成。
包括数据管理技术发展的过程,数据库系统的基本概念、体系结构和全局结构。
2.通过研究关系代数、关系演算、函数依赖、多值依赖,Armstrong公理,关系模式的分解,关系模式的规范化让学生建立扎实的关系数据库理论基础;
3.结合目前信息系统建设的实际全面讲授关系数据库标准语言--SQL、关系数据库设计过程方法,使学生掌握现代信息系统中数据库开发技术;
4.在数据库基本理论的基础上,讲授恢复技术、并发控制技术,数据库实现基本技术以及数据库安全性和完整性控制,使学生掌握DBMS的工作机理以及数据库系统的维护和管理;
●自学内容
由于在课堂内无法达成所有教学目标,所以需要学生在课后研习相关教学内容,特别是能力1和2的培养需要学生自学相关书籍,具体的内容包括:
1.某数据库产品(建议以SQLServer作为入门学习)的安装和使用方法。
2.采用某种语言进行数据库编程。
3.如何开发C/S结构和B/S结构的信息系统
2.教材分析
图书市场上数据库教材的建设非常活跃,经典教材非常多,更新速度很快,所以可供挑选的书籍相当多。
初步分来,不外以下几类:
一是以导论和概论为主的综合类,适合低年级计算机本科的入门教育;
二是较为深入的数据库实现技术介绍,适合高年级本科和低年级研究生的提高教育;
三是面向某些数据库专门技术的专深内容的讲解,适合数据库研究方向的高年级研究生使用。
从本科数据库教学的内容来看,国内教材,国外教材的特点是更新速度快,能快速地结合当前数据库领域新技术和热点技术来介绍和讨论,叙述内容全面,观点阐述深刻,但缺点是书非常厚,不利于学生抓住重点,所以这类书籍非常适合作为教学参考书。
推荐教材中列的6本和教学大纲内容吻合度较高,适合作为教材。
推荐教材1是一本学习、设计及使用关系数据库人员的一本经典教材,是在马萨诸塞大学数据库入门和提高等一系列教材的基础上形成的。
此书的作者是在数据库界工作30多年的资深专家,富于教学和实践经验。
书籍从理论和实践两方面对数据库设计和编程均做了严谨的表述,每一部分均从基本原理出发,再用实际系统中的实例来说明,力图将数据库领域各不相同的思想和趋势提供给读者一个统一的观点。
同时此书重点突出,没有走其他国外教材大而全的路线,非常适宜做本科第一门数据库课程的教材。
推荐教材2由斯坦福大学知名计算机科学家JeffreyD.Ullman和JenniferWidom合作编写,是斯坦福大学数据库系列课程中第一门课程的指定教材。
作者采用一种易于理解的、面向用户的方式介绍了数据库系统,主要侧重于介绍数据库的设计与使用以及实际数据库应用的实现。
推荐教材3可以用在两种不同的入门级课程中。
(1)侧重应用的课程:
涵盖了数据库系统的原理,侧重于应用开发。
书中两章关于数据库的应用与开发(一章是关于数据库后台应用,另一章是关于Java和Internet应用架构),书还提供实际问题和充足的联机资料(例如,SQL查询和Java应用的代码,联机数据库和解决方案),使讲授这类侧重应用的课程更加容易。
(2)侧重系统的课程:
侧重于有关系统的知识,要求学生具有良好的C和C++的编程经验。
Minibase软件可以用作学生实现关系DBMS课程作业的软件基础。
该软件的几个核心模块(例如,堆文件、缓冲区管理器、B+树、哈希索引、各种连接算法、并发控制和恢复算法)在文中都有详细的描述,从而使得学生能够使用给定的类接口(C++)来完成项目。
推荐教材3在国外著名大学的使用率相当高,哈佛大学、哥伦比亚大学、康奈尔大学、加州伯克利分校等都采用此书作为第一门课程的教材
而推荐教材中罗列的其他教材[4-6]是国内数据库专家撰写的数据库教材的代表之作。
教材[5]表述不但清晰,而且加入了很多数据库新技术的介绍,如面向对象以及web数据库等。
教材[6]在内容选取上比较有特色,除了理论讲述外还将很多学习数据库所关心的实践问题作了阐述,例如如何选取数据库产品等等。
3.教材与参考书推荐
说明:
数据库图书市场上既有大量外文影印书籍,又有与其对应的翻译版本,在此为避免重复同时说明对应关系,在此将外文影印版本和翻译版本罗列在一起,翻译版本以黑体字列在影印版本之后。
)
■推荐教材
[1]PatrickO’Neil,ElizabethO’Neil.Database:
Principles,ProgrammingandPerformance,2nded.(数据库——原理、编程与性能).MorganKaufmannPublishers.2000(北京:
高等教育出版社.2001,5)
周傲英等译,数据库原理、编程与性能,机械工业出版社.
[2]JeffreyD.Ullman,JenniferWidom,AFirstCourseinDatabaseSystems,SecondEdition.PrenticeHall/Pearson
机械工业出版社
史嘉权等译,数据库系统基础教程,清华大学出版社
[3]RaghuRamakrishnan,JohannesGehrke,DatabaseManagementSystems,3rdEdition,清华大学出版社
周立柱等译.数据库管理系统原理与设计(第3版).清华大学出版社,2004
[4]萨师煊,王珊,数据库系统概论,高等教育出版社.
[5]施伯乐,丁宝康,汪卫编著,数据库系统教程(第2版),高等教育出版社.2003年
[6]汤庸等,数据库理论及应用基础,清华大学出版社,2004年
■主要参考书
[1]AbrahamSilberschatz,HenryF.Korth,S.Sudarshan,DATABASESYSTEMCONCEPTS(第四版影印版),高等教育出版社
杨冬青等译,数据库系统概念(第四版),机械工业出版社.2003年
【图书参考特点】被国际上许多著名大学采用,包括斯坦福大学、德克萨斯大学、印度理工学院等。
文献注解中指出了首先发表各个研究结果的文章,并列出了进一步阅读的参考文献。
本书中的概念都以直观的方式加以描述,其中的许多概念基于银行运行示例,另外,书中省略了形式化证明而采用图表和示例来描述概念及预期结果,增强了本书的易读性。
另外一个特色就是专门用三章来介绍特定的商品化数据库系统Oracle、MicrosoftSQLServer和IBMDB2的细节。
此书是一本大而全的书籍。
这本书内容的丰富及其自身所具备深度使得这本书不太适合初学者。
[2]DateCJ,AnIntroductiontoDatabaseSystem(Ed.7),Addison-Wesley,2000
孟小峰、王珊,数据库系统导论,机械工业出版社,2000
【图书参考特点】除了对参考书目的翔实的注释之外,作者对该领域的深入洞察、对深奥理论的浅显的解释、对一些有争论问题的开放式讨论、以及书中有关前沿的、最新的内容等,都使得该书在近二十多年中成为了数据库领域中最受欢迎的书。
特点为:
第一,注重基础知识的讲解。
C.J.戴特博士一贯认为关系数据模型是现代数据库技术的基础,它使这一领域具有了科学性。
本书用长达五章篇幅来详细介绍关系模型的有关概念。
第二,注重用全新的观点和视角认识新旧问题。
比如,关系模型不是一个静态的事物,理解这一点是非常重要的--过去几年里它不断发展和进化,未来将仍然如此。
作者用他在《对象关系数据库基础:
第三次宣言》(1998)中的观点,重新解释关系模型的含义,并与传统定义相对比。
特别的,书中有关类型(域),关系值和关系变量,完整性,谓词和视图的部分都有大量新的观点。
基于新的解释,作者对视图更新这一传统难题给予了更为清晰的解释,在教与学两个环节上都更便于把握。
再比如对传统的规范化理论,增加了新的关系值的属性,逆规范化(denormalization),正交设计(orthogonaldesign)和语义模型等有关内容(包括"
商业规则"
)。
第三,注重分析问题的本质,带给读者思考的空间。
比如第十八章信息空缺,先描述空值和3VL的基本思想,然后讨论了这些思想所带来的一些严重后果,以此来证明空值和3VL是非常严重的错误,在关系模型这样清晰规范的系统中应该没有它们的位置。
但作者认为对空值和3VL不加介绍是不合适的,通过分析批判,能给读者更大的认识空间。
同样对"
对象数据库/对象关系数据库"
为什么不能取代关系数据库这一问题,作者用大量的分析比较,论述的十分精彩,特别是"
对象DBMS还是一个DBMS吗?
"
一语道破对象数据库的本质。
第四,注重反映数据库新的技术。
最后,提供丰富详实的参考文献和注释,是本书一贯的风格和传统。
它几乎成为一种书写体例为大家所接受。
这些参考书目反映了以前和现在该领域的研究状况,而且对有兴趣的读者还提供了好的信息资源。
当要查找一个经典文献的出处时,最先想到的就是C.J.戴特的这本书。
同样这本书内容的丰富及其自身所具备深度使得这本书不太适合初学者。
[3]DavidM.Kroenke,DatabaseProcessing:
Fundamentals,Design,andImplemention,TenthEdition
PrenticeHall/Pearson,电子工业出版社
施伯乐,顾宁等译.数据库处理--基础、设计与实现(第10版).电子工业出版社,2006
【图书参考特点】不同于以前的数据库处理,现在学生已经很容易得到数据建模和DBMS产品。
所以现在的学生也没有耐心在课程的一开始就学习冗长的有关数据库设计和建模的基本概念,他们希望动手做一些事,然后看到结果,取得反馈。
而且在现有的经济环境下,学生需要确信他们学到的是有用的技术。
作者为了适应教学环境的最新变化,突破了传统数据库教材“从数据模型讲授数据库设计”的陈规,强调学习过程中的乐趣,让读者从一开始就能把所学的知识用于解决具体的应用实例。
而且本书其中一个最大的特色在于:
并不是只从数据模型讲授数据库设计,而是针对数据库的三种不同来源,讲三遍数据库设计,没有一遍对应这三种来源。
学习指导书
[1]丁宝康,曾宇昆,乔健.数据库教程习题解答及上机辅导.电子工业出版社,2004
[2]李春葆.数据库原理习题解答与分析(第2版).清华大学出版社,2004
三、教学基本要求
“数据库系统原理”课程的教学应该注意两个层面的交叉线索。
从数据库原理的特性出发,第一条线索是介绍基础理论知识、数据模型、数据库系统构成、关系数据库、关系系统及查询优化、关系数据理论、数据库保护和数据库设计,第二条线索是从实际工程角度介绍应用数据库设计技术、规范化理论、E-R图、SQL语言等技术设计和解决数据库应用管理系统方面的问题的过程与方法。
两条线索相辅相成,理论主线为应用主线提供严格的理论支持,应用主线为理论主线的提出和完善提供素材,两条线索在关系模型系统处实现合一。
这样一种内容设计上的安排,既让学生扎实地掌握数据库的基本理论,又使学生全面掌握数据库的实际应用,可以迅速投入实际工作。
教师在讲授本课程时应注意以下两点:
1.在学时安排允许的情况下尽量安排实验教学环节。
(每周至少2学时)
2.应注意加强与计算机学科其他课程之间的联系。
教师除了对先修课程的主要知识点有深入了解外,还应该深入了解一种主流的数据库产品(DB2/ORACLE/SQLSERVER/SYBASE/INFORMIX/MYSQL/POSTGRES中的一个),另外为更好地讲授数据库在计算机学科其他课程中的应用,还应该对面向对象的编程、web编程等内容有一定程度的了解。
四、相关课程
1、先修课程
本课程的综合性较强,,先修课程有《程序设计》、《数据结构》、《操作系统》、《离散数学》等课程,以上课程的所涉及的一些理论、算法、思想和方法是本课程的重要基础。
课程讲授时要将先修课程钟的众多知识点融合在本课程的教学中,表1为在先修课程中要重点掌握的知识点。
表一:
先修课程中要重点掌握的知识点
先修课程
重点要掌握的知识点
数据结构
树、图、文件及其索引
操作系统
进程控制、并发控制、输入输出管理、文件系统等方面的基础知识
离散数学
集合论、数理逻辑
2、后续课程
后继的选修课程可以包括:
1.数据库系统实现。
数据库系统中的核心软件是数据库管理系统(DBMS)。
DBMS是当前最复杂的系统软件之一。
要深入掌握数据库系统的原理和技术,进而从事数据库管理软件和工具的开发,必须学习和研究数据库管理系统实现技术。
要深入了解数据库系统的内部结构,以开发出高效的数据库应用系统,也需要学习和研究数据库管理系统实现技术。
将数据库的学习分为两门课程的好处是,不打算致力于DBMS研究的学生可以仅学习第一门课程,然后可以将数据库技术应用于他们所进入的计算机科学的任何分支。
2.高级数据库课程:
可以包括以下内容,但可以由授课老师根据具体情况选择。
数据库技术的新进展和新一代数据库系统,包括Web数据应用技术、分布式数据库、对象数据库、时态数据库、主动数据库、数据仓库等,反映数据库发展的最新潮流。
数据库的物理设计。
数据库的系统调优等。
3.专门领域课程:
针对数据库领域中一些专门技术的专深内容的讲解,可以根据研究热点、新方向调整、增加和删除课程的设置。
包括:
●数据仓库与数据挖掘
●XML基础与应用
●时态数据库
●分布式数据库等等
3、平行课程
《编译原理》和《软件工程》。
信息系统的核心是数据库,而信息系统的开发要用到软件工程方法和软件开发工具。
所以《软件工程》与《数据库系统概论》这两门课程有着相当密切的联系,并且是以后开发应用系统的基础。
数据库设计作为整个系统分析设计中的一环,可以考虑将数据库设计部分的实践环节和软件工程的实践环节结合起来进行。
而对编译原理的了解有助于理解存储过程、查询分析器和查询优化的工作原理等。
其原理和思想对于更深层次地理解DBMS工作的的机理并进行系统优化有着很深远的影响。
五、教学内容与学时分配
1、绪论(3学时)
通过此章节的学习,对数据库、数据库管理系统和数据库系统、数据库产品有粗浅、感性和宏观的认识。
【基本知识点】
数据、数据库、数据库管理系统和数据库系统。
数据管理技术发展的各阶段以及特点。
数据库系统的特点。
数据库系统的组成。
数据模型:
数据模型的组成要素。
数据库系统的三级模式结构。
数据库管理系统的组成。
数据库管理系统的工作过程。
【可选知识点】
目前主流的数据库产品及特点。
2、关系数据模型(6学时)
从数据模型的3要素入手,了解关系数据模型的三要素,即数据结构、完整性约束以及数据操作。
关系模型:
关系数据模型的基本原则、定义及其相关术语;
关系数据结构及形式化定义:
域、笛卡尔积、元组(记录)、字段(属性)、关系(表)、侯选码(候选键)、主码(主键)、外码(外键)、关系模式、关系数据库。
关系的完整性:
实体完整性、参照完整性、用户定义的完整性。
关系代数:
并、差、交、广义笛卡尔积等传统的集合运算;
选择、投影、连接、除等专门的关系运算。
连接又包括连接,自然连接,外连接、左外连接和右外连接
关系演算:
元组关系演算;
域关系演算。
【教学提示】在讲授关系代数时是从运算规则入手,了解运算符号书写格式、运算结果(包括结果的表结构和数据内容)但更多地是为引导了解每种运算能够表达的语义,为SQL语言的学习打下良好的基础。
【作业安排】可以安排一次作业。
内容包括关系代数的运算和用关系代数完成指定的操作。
3、SQL语言(9学时)
SQL的特点及SQL语言的基本概念。
SQL语言的四大功能。
数据定义:
定义表、删除表、修改表。
单表查询:
选择表中的若干列、选择表中的若干元组、查询结果排序、分组。
NULL值的处理。
连接查询:
等值连接、自身连接、外连接、复合条件连接。
嵌套查询:
带IN谓词的子查询;
带比较运算符的子查询,带谓词的子查询,相关子查询的执行方法和不相关子查询的执行方法。
数据更新:
插入、删除、修改。
视图:
定义视图、查询视图、更新视图、删除视图。
嵌入式SQL;
面向对象的关系数据库查询初步
【教学提示】可以通过讲解关系代数和SQL语言的对应关系来帮助学生进一步掌握关系代数和SQL语言。
另本章节的难点在嵌套查询部分,可以通过分析嵌套查询和非嵌套查询的等价表达方式,三种嵌套之间等价的表达方式,来进一步分析分析非嵌套查询以及嵌套查询三种表达方式能够表达的语义集合,以及语义集合之间的关系。
【作业安排】可以布置2-3次作业。
作业内容也可以是上机实践的内容,可以以实验报告的形式返回作业。
如果没有另外安排和组织集中上机,也可以交由学生自行上机实践完成。
4、关系数据理论(5学时)
函数依赖:
函数依赖的定义以及现实世界的语义表达,关系的码和外码。
关系模式设计:
可能出现的问题;
问题产生的根源;
解决的途径;
模式分解的原则;
分解的方法;
1NF、2NF、3NF、BCNF范式。
函数依赖的Armstrong公理系统:
属性集闭包、关系码、极小函数依赖集的求解算法。
多值依赖:
多值依赖的定义;
4NF范式;
分解成4NF范式的方法。
反规范化的定义和应用。
【教学提示】教学重点应该放在:
一般的数据库设计应该达到什么样的规范程度,如何分析一个模式是否规范以及如果不规范应该如何进行分解。
可以引导学生思考如何从任何一个不规范的状态规范到3NF或BCNF的过程,而不一定要拘泥于从1NF分解到2NF,再分解到3NF以及BCNF。
并分析规范化带来的利和弊,分析一个关系模式的设计应当达到什么范式由实际需要而定,不宜一味最求高范式。
【作业安排】可结合第5部分的内容进行一个信息系统的数据库设计以及规范化。
5、数据库设计(6学时)
数据库设计的特点、方法和基本步骤。
需求分析:
需求分析的任务、方法和数据字典。
概念结构设计:
介绍ER模型的表示方法。
概念结构设计的基本方法与步骤。
逻辑结构设计:
E-R图向关系模型的转换,数据模型的优化。
物理设计:
数据库物理设计的内容和方法,关系模式存取方法选择,数据库存储结构的确定,物理结构的评价。
数据库的实施、运行和维护。
UML的表示方法和使用方法;
OO模型的主要概念,(如:
对象结构、对象类、继承、多重继承、永久对象、对象标识、对象包含等);
【作业安排】要求学生能够按照本章的内容完成一个实际的具体的管理信息系统的项目开发,如学生学籍管理系统、图书档案管理信息系统等。
学会在关系数据库设计中如何使用约束,如何运用关系数据库设计理论,包括规范化和数据依赖等,并通过分析应用类型和用户需求,如何使关系达到一个合理的范式。
6、数据库恢复技术(4学时)
事务的基本概念和基本特征。
数据库系统故障的种类。
数据库恢复的实现技术:
数据转储、登记日志文件。
恢复策略:
事务故障的恢复、系统故障的恢复、介质故障的恢复。
两种恢复优化技术:
具有检查点的恢复技术,数据库镜像的功能和作用。
Oracle的恢复技术,以及和SQLServer恢复机制的差异
【教学提示】注意分析和对比三种故障恢复的方法有什么异同,用户需要参与的部分有哪些。
日志文件的时序性,写日志文件、写数据文件以及提交事务的先后次序,并阐述日志文件在大多数情况下是要尽早写磁盘的(这样事务才能提交,锁等资源才能尽早释放),而数据是尽量推迟写磁盘这样的观点。
两种优化技术分别适用于哪种故障。
并分析检查点技术带来的好处和问题所在,使学生明白如何进行权衡设置检查点。
【作业安排】可以安排上机实践作业,上机实践作业内容可以实践数据备份和数据恢复的过程,设置检查点的频率等
7、并发控制(5学时)
并发操作可能带来的数据不一致现象。
封锁、封锁协议、死锁的概念,监测和处理。
并发调度的可串行性。
两段锁协议。
隔离级别:
定义和原理,各隔离级别下可能会出现的不一致现象。
封锁的粒度:
多粒度封锁、意向锁。
不加锁的并发控制机制,多版本控制协议,多版本二段式锁协议。
Oracle数据库的并发控制机制。
【教学提示】隔离级别是本章的一个难点和重点(要编写一个支持多用户并发的系统一定要了解各隔离级别的含义以及在各隔离级别下可能会出现的不一致现象)。
Oracle的并发机制和其他所有数据库产品相比是比较特殊的,最好能加以说明。
【作业安排】可以安排上机实践作业,上机实践作业内容可以包括:
各隔离级别下可能会出现的不一致现象验证。
如何通过在程序中编码防范默认隔离级别下的不一致现象。
察看死锁和解锁。
Oracle和其他产品并发控制差异的验证(此实验可选)
8、数据库安全性(4学时)
数据库安全性的基本概念。
可信计算机系统评测标准。
数据库安全性控制:
用户标识与鉴别、自主存取控制、强制存取控制、视图机制、审计、数据加密。
统计数据库安全性:
统计数据库安全性控制策略。
组和角色。
了解基于角色的权限管理;
了解固定数据库角色;
Oracle数据库的安全性措施。
【教学提示】注意分析表和视图权限的差异性。
【作业安排】
可以安排上机实践作业,上机实践作业内容可以包括:
掌握如何添
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 中山大学 信息科学 技术学院 计算机科学 系数 系统 概论 教学大纲