软件学院《数据库系统设计》教学大纲课程编号:(统一编)课程名称:数据库系统设计英文名称:Database System Design学时:48(+32实验)学分:4(+1实验)适用专业:软件工程专业课程性质:必修先修课程:高等数学、数据结构、高级程序设计一、课程教学目标数据库系统设计课程是四年制软件工程专业的必修专业课程之一。
通过数据库系统设计课程的学习,要求学生系统掌握数据库的基本理论和数据库设计的理论知识以及设计数据库的方法,并能使用理论解决实际问题。
同时,通过本课程的学习使学生了解数据库技术发展的最新技术以及主要的发展方向。
二、教学内容及基本要求课堂教学部分:第一部分背景知识∙重点了解数据库管理的概念。
主要阐述了早期各种系统,如基于文件的系统之不足及数据库方法所具备的优势。
∙总览数据库环境。
重点讨论了三层ANSI-SPARC体系结构的优点,介绍目前最通用的数据模型,列出多用户DBMS应提供的各种功能.同时还分析DBMS的基本软件体系结构,这一部分内容在数据库管理初级课程中可以略去。
第二部分关系模型和语言∙介绍关系模型,包括术语并说明其与数学上的关系的联系,然后重点讨论关系完整性规则、实体完整性和引用完整性。
难点是说明其与数学上的关系的联系。
∙重点介绍关系演算和关系代数,并用示例加以说明(这部分内容在数据库管理初级课程中可以略去)。
∙重点了解SQL的数据操作语句:SELECT,INSERT,UPDATE和DELETE。
介绍SQL的数据类型、数据定义语句、完整性增强特性(IEF)和数据定义语句中更高级的特性,包括访问控制语句GRANT和REVOKE。
难点是如何正确使用。
∙重点了解交互式查询语言QBE,这种语言被誉为非技术型的计算机用户访问数据库信息最容易的方法。
∙通过介绍Oracle这种典型的商业关系DBMS来结束本书的第二部分。
在后续的讲授中,我们将查看该DBMS如何实现各种数据库机制,如安全和查询处理等。
第三部分数据库分析与设计技术∙特别强调数据库设计的重要性并说明这个过程如何被分为三个阶段:概念、逻辑和物理数据库设计。
此外,还将描述应用程序的设计(功能方面)对数据库设计(数据方面)的影响。
数据库应用生命周期的关键阶段是选择合适的DBMS。
同时讨论对DBMS的选择过程,提供了一系列方针和建议。
最后讨论数据管理和数据库管理的重要性。
∙重点讨论数据库开发者何时使用实况发现技术及捕获何种类型的实况(可跳过该节)。
∙重点介绍实体联系模型和扩展的实体联系模型(EER),难点是在扩展的实体联系模型中,如何使用更多、更高级的数据建模技术。
如子类、超类和分类。
∙重点阐述规范化背后的概念,它是逻辑数据库设计方法学中另一项重要技术。
通过从一个完整的案例中抽取的几个有效部分,说明如何从一种范式转换到另一种范式(难点),以及使数据库逻辑设计转换为某一更高范式(至第五范式)的优点。
第四部分方法学∙为概念数据库设计给出逐步指导的方法学。
重点说明如何将设计分解成多个基于各自视图的易于管理的部分,难点是给出识别实体、属性、联系和关键字的方法。
∙重点是为关系模型的逻辑数据库设计给出逐步指导的方法学。
难点是阐述如何将概念数据模型映射到逻辑数据模型,以及如何针对所需的事务使用规范化技术来验证逻辑数据模型。
∙重点是为关系系统的物理数据库设计给出逐步指导的方法学。
难点是阐述如何将逻辑数据库设计阶段开发的全局数据模型转换成某关系系统的一个物理设计。
第五部分可选的数据库专题∙重点讨论数据库的安全问题。
这里将通过检查Oracle提供的一些安全保障,阐述在Web环境下的一些安全问题,并给出克服这些问题的方法(难点)。
∙重点讨论数据库管理系统应该提供的三种功能,即事务管理、并发控制及故障恢复。
难点是如何使这些技术用于确保当多个用户访问数据库时或出现硬件/软件组件错误时数据库是可靠且一致的。
∙重点阐述查询过程和查询优化。
难点是讨论查询优化的两种主要技术:一种是使用启发式规则排序查询中的操作,另一种是通过比较不同策略的相对代价选择资源耗费最少的策略。
通过介绍Oracle中的查询处理来进行具体描述。
∙借助C语言示例程序说明嵌入式和动态SQL(重点)。
难点是介绍开放数据库互连(ODBC),这一标准现在已经成为访问异构SQL数据库的业界标准。
第六部分当前趋势∙重点讨论分布式DBMS的概念与问题。
用户可以通过分布式DBMS访问位于本结点的数据库及存储在远程结点上的数据∙重点阐述与分布式DBMS相关的各个高级概念。
具体地说,重点阐述与分布式事务管理、并发控制、死锁管理以及数据库恢复相关的协议。
此外,还讨论X/Open分布事务处理(DTP)协议,利用复制服务器替代分布式DBMS的方案。
最后分析Oracle中的数据分布和复制机制。
∙前面的内容都基于关系模型和关系系统。
其原因在于该类系统在当前传统的商业数据库应用中占主导地位。
不过,关系系统并不是没有缺陷,而面向对象DBMS就是数据库系统中试图克服这些缺陷的一个主要发展方向。
∙作为面向对象DBMS的引言,首先归类已出现的各种新兴的数据库应用,说明关系数据模型因其种种弱点对这些新兴的数据库应用无能为力。
此外,重点介绍面向对象的一些主要概念及在关系数据库中如何存储对象。
∙阐述面向对象DBMS。
首先重点介绍面向对象数据模型及持久性编程语言。
分析通常DBMS所用的两层存储模型与面向对象DBMS所用的单层存储模型的区别及对数据访问的影响。
同时,还讨论提供编程语言持久性的不同方法、指针混写的不同技术、版本控制、模式进化和面向对象DBMS体系结构等问题(难点)。
最后,简要介绍如何将第四部分介绍的方法学推广到面向对象DBMS中∙重点介绍面向对象管理组推荐的新的对象模型,这一模型已成为面向对象DBMS的事实标准。
∙重点介绍对象关系DBMS,并对添加到SQL新标准—SQL3中的各种对象管理特性进行详细描述。
同时,还讨论如何扩展查询处理和查询优化机制,以高效处理扩展数据类型(难点)。
最后通过检查Oracle中对象关系特性来进行具体描述。
第七部分新兴研究方向∙重点阐述将DBMS集成到Web环境的问题。
首先简单介绍Internet和Web技术,然后说明Web作为数据库应用平台的适宜性,并讨论这种方法的优缺点。
讨论将DBMS集成到Web环境的几种不同方法,包括脚本语言、CGI、服务器扩展、Java、ASP和Oracle的InternetcPlatform(难点)。
∙重点阐述半结构化数据并讨论XML及XML如何成为Web上数据表示和交换的流行标准。
讨论XML相关技术如名字空间、XSL、XPath、XPointer和XLink。
A同时,还阐述怎样用XML模式定义XML文档的内容模型,以及怎样用资源描述框架(RDF)为元数据交换提供框架(难点)。
∙重点讨论数据仓库,包括它的定义、进化过程及潜在优缺点。
阐述数据仓库的体系结构、主要组成部分和相关工具与技术。
同时,还讨论数据集市及其开发和管理的有关问题。
最后分析DBMS中的数据仓库机制。
∙提供为决策支持所用数据仓库和数据集市中数据库的设计方法。
重点描述维度建模技术的基本概念并将其与传统的实体联系(ER)模型技术做比较。
关于数据仓库的设计,给出逐步指导的方法学并通过扩展的案例说明如何实际使用该方法学(难点)。
最后说明如何用Oracle的Warehouse Builder设计数据仓库。
∙重点了解联机分析处理(OLAP)和数据挖掘。
首先讨论多维数据库的相关概念,重点分析三类主要的OLAP工具:多维OLAP(MOLAP)、关系OLAP(ROLAP)和可管理查询环境(MQE)。
此外,通过实例,分析如何扩展SQL用于提供复杂的数据分析功能。
这里也给出与数据挖掘有关的概念,指出数据挖掘的操作、技术和工具的主要特点,以及数据挖掘与数据仓库的联系(难点)。
说明参考所推荐的教材,该课程基本涵盖了数据库系统设计的所有概念,内容全面且丰富,要想在48个课时中讲述教材中的所有内容,会有很大的难度,而效果也只是‘走马观花’,因此,在课程安排时,需要对授课内容进行节选,使学生掌握其中最主要的也是最适用的知识。
实验部分:见数据库系统设计实验教学大纲四、考核方式期末闭卷考试、课程实验、听课情况。
五、推荐教材及参考资料教材:[英]Thomas Connolly & Carolyn begg著Database System: A Practical Approach to Design ,Implementation ,and Management(Third Edition) 电子工业出版社参考书:[1] Peter Rob & Carlos Coronel著,陈立军等译,数据库系统设计、实现与管理,电子工业出版社,2004年3月[2] Abraham Silberschatz Henry Ekorth S.Sudarshan著数据库系统概念杨冬青唐世渭译机械工业出版社。