《数据库系统原理》理论教学大纲(2001年制订,2004年修订)课程编号:英文名:The Fundamentals of Database System课程类别:专业主干课前置课:程序设计基础、数据结构后置课:数据库开发技术、数据挖掘学分:4学分课时:64课时(其中理论48课时,实验16课时)主讲教师:程国达等选定教材:施伯乐等.数据库系统教程. 北京:高等教育出版社,2003年课程概述:计算机系统原理可作为计算机科学与技术及相关专业的专业或选修课。
数据库系统产生于20世纪60年代末,30多年来,数据库技术得到了迅速发展,已形成为较完整的理论体系和一大批实用系统,现成为计算机软件领域的一个重要分支,其应用已经深入到工农业生产、商业、金融、行政管理、科学研究和工程技术等各个方面。
特别是进入21世纪,信息技术已成为社会生产力中的重要组成部分,而数据库的建设规模和使用水平已成为衡量一个国家信息化程度的重要标志。
因此,数据库系统原理是计算机科学与技术专业中的一门重要课程。
本课程基本概念、原理、方法以及应用等方面介绍了数据库数据库系统。
其主要内容包括:数据库的体系结构、数据模型、关系模型和关系运算理论、关系数据库的规范化设计、数据库设计、数据库的存储结构和数据库系统实现技术等。
另外,还简单地介绍了结构化查询语言SQL的主要原理及使用。
教学目的:通过学习,使学生掌握数据库系统的工作原理,为今后参与数据库系统的实际开发打下坚实的理论基础,以便能够在工作中站在更高的层面上分析和解决所遇到的实际问题。
教学方法:理论与实际相结合的方法。
在课堂上,主要是进行理论讲解,然后通过每章的思考题去巩固学生所学的知识,培养学生解决实际问题的能力。
为了避免抽象、烦琐的理论给学生的学习带来困难,尽量结合实际的问题来阐述理论。
这样不仅可以提高学生学习的效率,而且还可以提高学生学习的积极性。
为了解决有限的授课时间与丰富内容之间的矛盾,教学内容应该进行合理剪裁,突出重点、难点知识的讲解,对于其它内容则可以让同学们在课外经过自学掌握。
各章教学要求及教学要点第一章数据库概述课时分配:4课时教学要求:通过本章的学习,使学生了解数据库产生和发展的背景,了解层次数据库和网状数据库模型和系统原理,掌握关系型数据库模型。
掌握数据库的体系结构。
教学内容:第一节绪论一、数据与信息。
二、数据处理与数据管理。
第二节数据库系统的产生与发展一、人工管理阶段。
二、文件管理阶段。
三、数据库管理阶段第三节数据描述一、概念设计中的数据描述。
二、逻辑设计中的数据描述。
三、物理设计中的数据描述。
四、数据联系的描述。
第四节数据模型一、数据模型的定义。
二、实体联系模型。
三、层次模型。
四、网状模型。
五、关系模型。
六、对象模型。
第五节数据库体系结构一、数据库三级体系结构。
二、体系结构中的要素。
三、两级数据独立性。
第六节数据库管理系统一、DBMS的工作原理。
二、DBMS的主要功能。
三、DBMS的组成。
第七节数据库系统一、DBS的组成。
二、DBS的全局结构。
三、DBS结构的分类。
思考题:1.文件管理阶段的数据管理有什么缺陷,举例说明?2.数据库管理数据产生的标志有哪些?3.数据独立与数据联系这两个概念有什么区别?第二章关系模型和关系运算理论课时分配:4课时教学要求:通过本章的学习,使学生掌握关系模型的有关概念,掌握关系代数和关系演算的方法。
教学内容:第一节关系模型的基本概念一、基本术语二、关系定义及性质。
三、关系模型的完整性。
四、ER模型向关系模型的转换方法。
五、关系模型的三级体系结构。
六、关系查询语言和关系运算。
第二节关系代数一、关系代数的基本运算。
二、关系代数的组合运算。
三、关系代数的扩充运算。
第三节 关系演算一、元组关系演算。
二、域关系演算。
三、关系运算的安全约束和等价性。
第四节 关系代数表达式的优化一、关系代数表达式的优化问题。
二、关系代数表达式的等价变换规则。
三、关系代数表达式的优化算法。
思考题:1.设有关系R 和S ,如图所示。
RS ),(,,,,2,3S S R S R S R S R B ⨯⋂-⋃δπ 计算2.设有三个关系:S(S#,SNAME,AGE,SEX)SC(S#,C#,CNAME)C(C#,CNAME,TEACHER)试用关系代数表示式表示下列查询语句:(1)检索LIU 老师所授课程的课程号和课程名。
(2)检索年龄大于23岁的男学生的学号和姓名。
(3)检索学号为S3学生所学课程的课程名和授课老师姓名。
(4)检索至少选修LIU老师所授课中一门课的女学生姓名。
(5)检索W ANG同学不学的课程的课程号。
(6)检索至少选修两门课学生的学号。
(7)检索全部学生都选修的课程的课程号与课程名。
(8)检索选修课程中包含LIU老师所授全部课程的学生学号。
3.试用元组表达式表示第2题的各个查询语句。
第三章关系数据库语言SQL课时分配:8课时教学要求:通过本章的学习,使学生掌握SQL语言中表、视图、索引等的建立和撤消语句,掌握数据的查询和更新方法。
教学内容:第一节SQL的数据定义一、SQL模式的创建和撤消。
二、SQL中的基本数据类型。
三、基本表的创建、修改和撤消。
四、索引的创建和撤消。
第二节SQL的操作一、数据查询。
二、SQL中的数据更新。
三、视图的定义和操作。
四、嵌入式SQL。
思考题:1. 设数据库中有三个表:S(S#,SNAME,AGE,SEX)SC(S#,C#,GRADE)C(C#,CNAME,TEACHER)试用SQL语句查询:(1)检索LIU老师所授课程的课程号和课程名。
(2)检索年龄大于23岁的男学生的学号和姓名。
(3)检索学号为S3学生所学课程的课程名和授课老师姓名。
(4)检索至少选修LIU老师所授课中一门课的女学生姓名。
(5)检索W ANG同学不学的课程的课程号。
(6)检索至少选修两门课学生的学号。
(7)检索全部学生都选修的课程的课程号与课程名。
(8)检索选修课程中包含LIU老师所授全部课程的学生学号。
第四章关系数据库的规范化设计课时分配:8课时教学要求:通过本章的学习,使学生掌握函数依赖的推理规则和最小依赖集的计算方法,掌握模式的无损分解方法。
掌握将模式分解成3NF和BCNF范式的算法,了解多值依赖、4NF和5NEF。
教学内容:第一节关系模式的设计问题一、冗余。
二、不一致性。
第二节函数依赖一、函数依赖的定义。
二、函数依赖的逻辑蕴涵。
三、函数依赖的推理规则。
四、函数依赖和关键码的联系。
五、属性集的闭包。
六、函数依赖推理规则的完备性。
七、最小依赖集。
第三节关系模式的分解问题一、无损分解。
二、无损分解的测试方法。
三、保持函数依赖的分解。
四、模式分解与模式等价问题。
第四节关系模式的范式一、第一范式(1NF)。
二、第二范式(2NF)。
三、第三范式(3NF)。
四、BCNF。
五、分解成BCNF的算法。
六、分解成3NF的算法。
第五节多值依赖一、多值依赖的定义。
二、推理规则。
三、第四范式。
四、连接依赖和第五范式。
思考题:1.已知关系模式R(ABC),F是R上成立的FD集,F={A->B,B->C},试写出F的闭包F+。
2.设关系模式R(ABCD),F是R上成立的FD集,F={A –>B,B->C,A->D,D->C},p={AB,AC,BD}是R上的一个分解。
(1)相对于F,p是无损分解吗?为什么?(2)试求F在p的每个模式上的投影。
(3)P保持F吗?为什么?第五章数据库设计与ER模型课时分配:4课时教学要求:通过本章的学习,使学生掌握数据库设计的步骤和主要方法,掌握ER模型的建立方法和转换成关系模型的方法。
教学内容:第一节数据库设计概述一、软件工程和软件生命周期。
二、数据库工程与数据库生存周期。
三、数据库设计的输入和输出。
第二节数据库设计的主要过程一、规划。
二、需求分析。
三、概念设计。
四、逻辑设计。
五、物理设计。
六、数据库实现。
七、数据库的运行和维护。
第三节 ER模型一、ER模型的基本元素。
二、属性分类。
三、联系设计。
四、ER模型的操作。
五、采用ER方法的数据库。
六、概念设计。
第四节 ER模型到关系模型的转换一、ER图到关系模型的转换规则。
二、采用ER方法的逻辑设计步骤。
思考题:1.数据库系统的生存周期分成哪几个阶段?数据库结构设计的设计在生存期的地位如何?2.数据库设计的规划阶段应做哪些事情?3.数据库设计的需求分析阶段是如何实现的?目标是什么?4.设某商业集团数据库中有三个实体集。
一是“公司”实体集,属性有公司编号、公司名、地址等。
二是“仓库”实体集,属性有仓库编号、仓库名、地址等。
三是“职工”实体集,属性有职工编号、姓名、性别等。
公司与仓库之间存在“隶属”联系,每个公司管辖若干个仓库,每个仓库只能属于一个公司管辖;仓库与职工之间存在“聘用”联系,每个仓库可聘用多个职工,每个职工只能在一个仓库工作,仓库聘用职工有聘期和工资。
试画出ER图,并在图上注明属性、联系类型,再转换成关系模式集,指出每个关系模式的主键和外键。
第六章数据库的存储结构课时分配:4课时教学要求:通过本章的学习,使学生了解数据库中物理存储介质的性能,掌握堆文件、顺序文件、散列文件和聚集文件的结构,掌握各种索引文件的原理。
教学内容:第一节物理存储介质一、磁盘。
二、磁带。
三、光盘。
第二节文件组织一、定长记录。
二、变长记录。
第三节文件结构一、四中文件结构。
二、顺序文件。
三、聚集文件。
第四节索引技术一、索引技术的分类。
二、有序索引的分类。
三、主索引。
四、辅助索引。
五、B+树索引文件。
六、B树索引文件。
第五节散列技术一、散列机制。
二、散列索引。
三、静态散列中的问题。
四、可扩充的散列结构。
思考题:1.设关系数据库中有两个关系:COURSE(COURSE_NAME,TEACHER)ENROLLMENT(COURSE_NAME,STUDENT_NAME,GRADE)设有三门课程,五个学生,学生与课程之间有选修联系。
试用聚集文件表示这两个关系文件结构。
2.在关系数据库存储时,试说出下面每种存储技术的两个优点和两个缺点:(1)每个文件中只存储一个关系;(2)每个文件中存储多个关系(或整个数据库)。
3.设查找键值集为{2,3,5,7,11,17,19,23,29,31}。
假设初始时B+树为空,按升序次序插入键值,就下面三种情况建立三棵B+树:(1)4阶(2)6阶(3)8阶第七章系统实现技术课时分配:8课时教学要求:通过本章的学习,使学生了解数据库管理系统目录,掌握数据库系统故障恢复原理和实现方法,掌握数据库系统的并发控制原理和实现方法。
掌握数据库系统的完整性和安全性的控制原理以及实现方法。
教学内容:第一节系统目录一、关系DBMS的目录。