> 教学目标1. 知识目标,今天小编就来说说关于sql数据库课程设计报告?下面更多详细答案一起来看看吧!

sql数据库课程设计报告(关系数据库标准语言SQL之视图)

sql数据库课程设计报告

> 教学目标

1. 知识目标

1) 学生能够解释视图中数据的来源以及视图的定义方式。

2) 学生能够解释更新视图的本质行为。

3) 学生能够解释视图数据库中的作用。

2. 能力目标

1)学生能够利用SQL语言在数据库管理系统中定义视图。

2)学生能够利用SQL语言完成对视图的查询和更新。

3. 素养目标

学生能够产生对数据库设计的兴趣,提升学生的专业忠诚度。

>教学内容

课程来源:关系数据理论是《数据库系统概论》(王珊版)第3章的教学内容。计划安排课时2课时。

视图是从一个或几个基本表(或视图)导出的表。它与基本表不同,是一个虚表。数据库中只存放视图的定义,而不存放视图对应的数据,这些数据仍存放在原来的基本表中。所以一旦基本表中的数据发生变化,从视图中查询出的数据也就随之改变了。从这个意义上讲,视图就像一个窗口,透过它可以看到数据库中自己感兴趣的数据及其变化。

视图一经定义,就可以和基本表一样被查询、被删除。也可以在一个视图之上再定义新的视图,但对视图的更新(增、删、改)操作则有一定限制。

教学重点:视图的定义、视图的查询、视图的更新、视图的作用

教学难点:视图的查询、视图的作用

>学情分析

学生在数据库系统概论的第二章、第三章前6节中,已经学习过有关数据库中针对基本表的数据定义、数据修改、数据查询等内容,这些内容均为本章学习的基础。

本章涉及的知识点较多,理论较为抽象,因此,激发学生的学习兴趣至为关键。同时,学生的分析和归纳能力不足,需采用启发式教学法、案例教学法,引导学生掌握知识的内在逻辑,改善学习效果。

>教学过程

一、教学目标:激发学生对视图学习的兴趣,学生能够利用SQL语言在数据库管理系统中定义视图和删除视图(15min)

1. 问题导入与旧知回顾,引导学生对数据库查询操作的思考,激发学生兴趣

Step1. 问题1:在已接触过的数据库查询操作中最为复杂的是哪一种?引导学生回顾旧知,深化后续学生对视图作用的理解。学生回答:三层嵌套的相关子查询操作。

Step2. 问题2:当某一复杂的数据查询操作频繁出现时,如何降低操作复杂度?可通过定义视图的方式解决此问题,以此引出视图。

2. 采用案例教学法,强化学生对建立视图语句的理解和运用

Step1. 介绍定义视图的语句格式:CREATE VIEW <视图名> [(<列名>…)] AS <子查询> [WITH CHECK OPTION];

Step2. 简述WITH CHECK OPTION作用与行列子集的定义,提示学生保留疑问,此问题会在稍后内容中解决。

Step3. 阐述组成视图的属性列名:全部省略或全部指定。问题3:在创建视图时若视图中的属性名全部省略,则视图中的属性名为何物?鼓励学生自由回答,并进行总结其属性名默认由子查询中SELECT目标列中的诸字段组成。进一步说明何种情况需要明确指定视图的所有列名,并逐条进行解释。进而强化学生对视图的应用能力。

Step4. 解释为何视图称为虚表,使学生能够清晰明了的解释出视图与基本表的区别。

Step5. 结合实际案例,与相关例题训练,学生完成知识的内化吸收,强化对创建视图定义语句的运用能力。

Step6. 在例3.90中提出问题4:此视图定义语句将会出现何种问题?引导学生分析讨论,将所学知识应用于对特殊视图定于语句的分析,促进学生举一反三。提示学生思考此类视图定义方式中若基本结构发生改变,视图能否使用。学生能够回答出:不可用。

3. 联系实际,采用案例教学法,阐述删除视图的语句格式。

二、教学目标:学生能够利用SQL语言完成对视图的查询和更新,并能够阐述出视图更新的本质行为。(17min)

1. 旧知回顾,通过旧知与新知对分析,学生将快速掌握对视图查询的运用。

Step1. 阐述从用户的角度来看查询视图与查询基本表在方式上没有区别。

Step2. 问题1:在数据库中对视图的查询的本质是什么?鼓励学生自由回答,并提示:视图为虚表。学生回答:本质是对表的查询。

Step3. 问题2:如何将对视图的查询转换为对表的查询呢?引出新知:关系数据库管理系统实现视图查询的方法为视图消解法。其具体内容为:(1)进行有效性检查;(2)转换成等价的对基本表的查询;(3)执行修正后的查询。

Step4. 结合实例与提问的方式,进一步强化学生对视图消解法理解和运用。

Step5. 问题2:例3.94中利用视图消解法得到查询语句是什么?问题3:此查询语句能否正确执行?学生能够正确回答出:问题2。但对问题3存在疑惑。

Step6. 针对问题3进行解释:由于where子句的作用范围与AVG(Grade)和GROUP BY Sno的作用范围冲突,因此通过视图消解法得到的查询语句无法正确执行。进而指出视图消解法存在缺陷。并指出目前多数关系数据库系统对行列子集视图的查询均能进行正确转换。但对非行列子集视图的查询(如例3.94)就不一定能做转换了。通过此例深化学生对视图的查询的理解和运用,并且学生能够解释出视图查询的本质。

2. 采用启发式教学法与案例教学法结合,介绍视图的更新方式。

Step1. 对视图的更新与对基本表的更新方式相同,但要注意带有WITH CHECK OPTION的视图。

Step2. 回顾前文所定义的视图IS_STUDENT,在此视图的定义语句中含有WITH CHECK OPTION。问题1:对IS_STUDENT视图进行更新时应该如何操作。

Step3. 给大家贴出实验图,结合具体实验说明在SQLserver中若定义视图时添加了WITH CHECK OPTION在在对视图进行增、删、改操作时则需要手动满足视图定义中的谓词条件(即子查询中的条件表达式)。以此完成学生对知识的内化吸收。

Step4. 结合案例,阐述更新视图的限制:一些视图是不可更新的,因为对这些视图的更新不能唯一地有意义地转换成对相应基本表的更新。并指出数据库管理系统允许对行列子集视图进行更新,对其他类型视图的更新不同系统有不同限制。并要求学生整理当前流行的数据库管理系统对视图更新的限制。使学生举一反三完成知识的内化。

三、教学目标:学生能够解释视图数据库中的作用。(8min)

1. 采用实例,解释视图如何使用户以多种角度看待同一数据?

结合实例STUDENT与SC关系模式进行讲解,说明sno与sname在一起表示学生信息,sno与cno在一起表示选课信息,促进学生了理解。

2. 结合实例,说明视图对重构数据库提供了一定程度的逻辑独立性。

3. 阐述视图在数据库安全性中的重要作用。

4. 说明视图可以更加清晰的表达查询。

5. 本章内容小结,并询问学生在哪些知识点上存在困难。

,