《数据库系统概论》课程指南

《数据库系统概论》课程指南

课程目标

知识:掌握数据库系统的组成、关系数据库理论、数据库设计以及数据库编程、查询优化等方面的知识

能力

具备分析问题并能进行数据库设计的能力

熟练掌握SQL编程技术,具备数据库编程的能力

能够使用ODBC或者JDBC来进行数据库应用程序的设计的能力

技能:熟练运用关系数据库理论进行数据库设计和数据库编程的技能

教学理念

     自我探索,深度引导,理论严密,训练充分,注重学习过程

学习方法

本课程的学习方法是基于上述理念设计的:

自我探索:根据按周进度拟定的计划,每位同学在上课之前必须认真预习内容,可以看书、观看电子课件或视频(先在网站http://abook.hep.com.cn/187532上注册、登录并绑定课程),并积极思考,提出问题并试图回答。在学习的同时,有意识地提高自己的自学能力。

深度引导:在每周开始时,教师将围绕指定的内容,通过提出启发性的问题并进行必要分析的方式进行引导。教师讲解的内容与相应的课堂幻灯片均是在重点引导的思想下设计的。

理论严密:基于数学的思维与推理是贯穿在整个课程的学习要求中的。

训练充分:在课后指定了必须完成的课外作业。同学必须以积极的态度独立完成规定的作业。不允许抄袭,切记!

注重学习过程:学习过程分三个阶段:课前预习内容、课上听课讨论、课后复习。课前预习内容要求自行观看预习内容视频,带着问题来听课;课堂上会通过几个简单的问题检查预习内容的情况,然后在课堂授课中会有互动的习题检查听课效果,期间还会有课堂讨论;课后完成作业。每章结束后会有单元测验,期中会有期中测验,考试前会有模拟测验,目的是注重学习的每个过程和环节,让知识和能力的培养落实到平时的积累上,而不是考试前的临时抱佛脚。最终成绩的计算如下:

最终成绩=平时成绩*0.3+实验成绩*0.2+期末考试成绩*0.5

平时成绩=考勤成绩*0.2+课堂表现成绩*0.2+单元测验成绩*0.2+期中考试成绩*0.4

学习周历

第一周:(2月27日—3月5日)第一章 数据库绪论

学习目的

理解数据库系统的基本概念;

理解数据模型及数据模型的组成要素;

理解系统的三级模式结构;

理解数据库系统的组成。

学习重点与难点:

重点:

概念模型的基本概念及其主要建模方法E-R方法

关系数据模型的相关概念

数据库系统三级模式和两层映像的体系结构

数据库系统的逻辑独立性和物理独立性

预习内容:1章 数据库绪论课本、电子课件或者视频

引导要点:数据模型是数据库系统的核心和基础

第二周(3月6日—3月12日)第2章 关系数据库 2.1—2.3

学习目的

理解关系模型的概念;

掌握关系数据结构及形式化定义;

掌握关系的完整性约束的概念。

学习重点与难点

重点:

关系数据结构及其定义;

关系的三类完整性约束的概念。

预习内容:2章 关系数据库课本、电子课件或者视频

引导要点:关系模型的三类完整性的重要性。

第三周(3月13日—3月19日)第2章 关系数据库 2.4关系代数

                                                        3章关系数据库标准语言SQL 3.1--3.4

学习目的

掌握关系代数;

了解SQL 概述;

掌握SQL的数据定义;

掌握SQL的查询;

学习重点与难点

重点:

关系代数中的各种运算(包括并、交、差、选择、投影、连接、除、及广义笛卡尔积等)

DDL语言中的表创建语句;

要熟练正确的使用SQL完成对数据库的查询。

难点:

   SQL语言正确完成复杂查询,掌握SQL语言强大的查询功能。

预习内容:

   2章和第3章相应章节的课本、电子课件或者视频

引导要点:SQL的数据查询功能是最丰富的。

第四周(3月20日—3月26日)第3章关系数据库标准语言SQL 3.5--3.7

学习目的

掌握SQL的数据更新;

掌握SQL的视图。

学习重点与难点

重点:

要熟练正确的使用SQL完成对数据库的插入、删除、更新操作

理解索引和视图。

预习内容: 3章相应章节的课本、电子课件或者视频

引导要点:SQL的视图的作用以及与基本表的区别。

第五周(3月27日—4月2日)实验一:数据查询语句

                                                      实验二:数据更新及视图

实验目的

SQL语句进行单表的简单查询和涉及多表的连接查询和带聚合运算的查询;

SQL语句向各表中添加数据,并做适当的修改与更新;创建视图,对视图进行查询。

第六周(4月3日—4月9日)第4章 数据库的安全性

                                                    5章 数据库的完整性

学习目的

了解计算机安全性的概念;

理解统计数据库安全性;

掌握数据库安全性控制;

掌握数据库的完整性概念,了解数据库的完整性约束条件;

掌握数据库的完整性概念与数据库的安全性概念的区别和联系

掌握数据库完整性控制机制;

掌握RDBMS的数据库完整性实现机制,包括实体完整性、参照完整性和用户自己定义的完整性约束的定义机制、完整性检查机制和违背完整性约束条件时RDBMS采取的预防措施

了解触发器的概念和在数据库完整性检查中的应用。

学习重点与难点

重点:

存取控制技术、视图技术和审计技术使用SQL中的GRANT 语句和 REVOKE 语句来实现数据库的实现自主存取控制功能

存取控制机制中用户权限的授权与回收,合法权限检查

数据库角色的概念和定义用GRANT 语句给角色授权使用SQLCREATE ROLE语句创建角色

掌握视图机制在数据库安全保护中的作用

掌握RDBMS完整性控制机制的三个方面,即完整性约束条件的定义、完整性约束条件的检查和违约反应。

      难点

  强制存取控制(MAC)机制中确定主体能否存取客体的存取规则

  RDBMS如何实现完整性的策略,即当操作违反实体完整性、参照完整性和用户定义的完整性约束条件时,RDBMS如何进行处理,以确保数据的正确与有效。其中比较复杂的是参照完整性的实现机制

预习内容: 4章和第5章相应章节的课本、电子课件或者视频

引导要点: 数据库的安全性和完整性的重要性。

第七周(4月10日—4月16日) 6章 关系数据库理论 6.1--6.2

学习目的

了解规范化问题的提出原因;

掌握关系数据库的规范化理论,包括关系数据库逻辑设计可能出现的问题

掌握数据依赖的基本概念(包括函数依赖、平凡函数依赖、非平凡的函数依赖、部分函数依赖、完全函数依赖、传递函数依赖的概念;码、候选码、外码的概念和定义;多值依赖的概念),范式的概念、1NF2NF3NFBCNF4NF的概念和判定方法

掌握数据依赖的公理系统;数据依赖的Armstrong公理系统。

学习重点与难点

重点:

理解模式的插入异常和删除异常。

理解规范化理论的重要意义。牢固掌握数据依赖的基本概念,范式的概念,从1NF4NF的定义,规范化的含义和作用。

理解各个级别范式中存在的问题(插入异常、删除异常、数据冗余)和解决方法。

难点:

能够根据应用语义,完整地写出关系模式的数据依赖集合,并能根据数据依赖分析某一个关系模式属于第几范式。各个级别范式的关系及其证明。

预习内容: 6章相应章节的课本、电子课件或者视频

引导要点:规范化理论为数据库设计提供了理论的指南和工具

第八周(4月17日—4月23日) 7章 数据库设计

学习目的

了解数据库设计的概念、数据库设计方法和技术

掌握数据库的概念结构设计;

掌握数据库的逻辑结构设计;

了解数据库的物理设计;

了解数据库的实施和维护。

学习重点与难点

重点:

掌握数据库设计步骤和数据库设计过程中的各级模式设计方法。特别是数据库概念结构的设计和逻辑结构的设计,这是数据库设计过程中最重要的两个环节。

牢固掌握用E-R图来表示概念模型的方法,掌握E-R图的设计

牢固掌握E-R图向关系模型的转换的方法

难点:

E-R图的设计和数据模型的优化,包括对现实世界进行抽象的能力,提取实体、属性、实体型之间的联系,正确划分实体与属性的能力。

真正的难点是理论与实际的结合,应通过诸多实例进行实践。

预习内容: 7章 的课本、电子课件或者视频

引导要点:在实际项目中设计出符合应用需求的数据库模式和数据库应用系统。

第九周(4月24日—4月30日) 8章 数据库编程

学习目的

了解嵌入式SQL的概念;

理解存储过程的概念,存储过程的编程;

掌握ODBC编程;

掌握JDBC编程。

学习重点与难点

重点:

掌握嵌入SQL中游标的概念和使用方法;

掌握PL/SQL和存储过程的基本概念,基本结构,语句语法和用法。

ODBCJDBC编程

难点:

理论联系实际,能够在实际安装的RDBMS上通过编程的方式开发应用程序,完成对数据库的各种操作。

能够使用ODBCJDBC来进行数据库应用程序的设计,使设计的应用系统可移植性好,并且能同时访问不同的数据库,共享数据资源。

预习内容: 8章 的课本、电子课件或者视频

引导要点:使用ODBC或JDBC设计数据库应用程序。

第十周(5月1日—5月7日)实验三:数据库的安全性和完整性

                                                   实验四:编写存储过程访问数据库

实验目的:

学习自主控制的授权及回收;

学习完整性的建立,以及违反实体完整性的结果;

使用存储过程进行数据库应用程序的设计。

第十一周(5月8日—5月14日) 9章 关系查询处理和查询优化

                                                            10章 数据库恢复技术

学习目的

了解关系数据库查询优化的重要性

掌握RDBMS的查询优化方法,能够把SQL语句转换成查询树

了解物理优化的方法;

掌握事务的基本概念;

了解数据库恢复的概念;

掌握日志文件的使用,系统故障、介质故障的恢复方法

了解常用的恢复的实现技术及恢复策略;

了解具有检查点的恢复技术;

了解数据库镜像。

学习重点与难点

重点:

对查询树进行代数优化,转换成优化的查询树

牢固掌握事务的基本概念和事务的ACID性质。

难点:

能运用本章学习的查询优化知识,对于比较复杂的查询,尤其是涉及连接和嵌套的查询,写出适合RDBMS自动优化的SQL语句。

正确了解所用的DBMS产品提供的恢复技术和恢复方法,能够根据这些机制正确制定系统的恢复策略

预习内容:9章和第10章课本、电子课件或者视频

引导要点:事务的ACID特性保证了数据的一致性。

第十二周(5月15日—5月21日) 11章 并发控制

学习目的

理解并发控制的概念;

掌握封锁(Locking)的概念及其类型;

掌握封锁协议;

掌握活锁和死锁;

掌握并发调度的可串行性;

掌握两段锁协议;

了解封锁的粒度。

学习重点与难点

重点:

掌握并发操作产生的数据不一致性(丢失修改、不可重复读、读脏数据)的确切含义。

封锁协议与数据一致性的关系;

并发调度的可串行性概念。

难点:

两段锁协议与串行性的关系、与死锁的关系。

具有意向锁的多粒度封锁方法的封锁过程。

预习内容:11章 并发控制课本、电子课件或者视频

引导要点: 并发控制机制的作用是协调并发用户的并发操作以保证并发事务的隔离性和一致性,保证数据库的一致性。

课程大作业

     设计基于数据库的信息管理系统,如:图书管理系统、教务管理系统、学生管理系统等等。

  目的:

 理解数据库的基本概念和数据库设计的方法以及数据库编程的语言,使

  之由抽象到具体;

 通过课程设计加强学生的实验手段与实践技能,培养学生独立分析问题、

   解决问题、应用知识的能力和团队合作精神、创新精神。

 真正培养学生的实践动手能力,全面提高学生的综合素质。

  要求:

 明确课题的设计需求(需求分析,讨论决定);

 概念模型设计,画出总体和局部E-R图;  

 逻辑模型设计,将E-R图转换成数据库的关系模式;

 SQL SERVER中建立数据库,写出建立数据库的SQL语句;

 建立和管理基本表;写出相关的SQL语句;

 建立和管理视图;写出相关的SQL语句;

 建立和管理索引;写出相关的SQL语句;  

 给出部分测试数据,根据应用需求设计若干条用户可能进行的访问数据

  库要求,给出具体操作要求和相应的SQL语句(多样化)或者存储过程;

 分析设计应用系统功能需求,进行应用系统开发(开发工具自选)

 

 

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章