设为首页 |加入收藏 | 返回申报网站
    首 页 学习指南 课程建设 教师队伍 电子教材 教学课件 授课录像 实践教学 习题试题 学习参考 技术前沿 在线答疑
  数据库技术与应用  
     
教学大纲
课程简介
课程历史沿革
课程特色
课程体系
教学大纲
授课计划
教材资料
友情链接
 
您所在的位置: 首页 > 学习指南 > 教学大纲 > 详细信息

第三章 关系数据库标准语言SQL

课时分配:10课时

(一)教学要求

关系模型和关系数据库是《概论》的重点,第三章又是重点中的重点。是全书中篇幅最大的一章。因为关系数据库系统的主要功能是通过SQL语言来实现的。本章系统而详尽地讲解了关系数据库语言的工业标准——SQL语言。SQL是关系数据库语言的工业标准。各个数据库厂商支持的SQL语言在遵循标准的基础上常常作不同的扩充或修改。本章介绍的是标准SQL,因此,本章的绝大部分例子应能在不同的系统如OracleSybaseDB2InformixSQL ServerEasybaseOpenbaseDM2Cobase等众多系统上运行,也许有的例子在某些系统上需要稍作修改后才能运行。

SQL语言可以分为数据定义、数据查询、数据更新、数据控制四大部分,有时人们把数据更新称为数据操纵,或把数据查询与数据更新合称为数据操纵。本章用很大的篇幅介绍了四部分的内容。

在讲解了SQL语言的同时进一步讲解了关系数据库系统的基本概念,使这些概念更加具体、更加丰富。  

视图是关系数据库系统中的重要概念,这是因为合理使用视图具有许多优点。以及嵌入式SQL语句的应用。学习这一章应重点学会并能够熟练使用自含式SQL语言进行对关系数据库的各类查询,对于嵌入式SQL语言也要熟悉和了解。   SQL语言的数据查询功能是最丰富,也是最复杂的,读者应加强练习。

1)需要了解的内容:SQL语言的发展的过程,从而进一步了解关系数据库技术和RDBMS产品的发展过程。
  (2)需要掌握的内容:掌握SQL语言的特点,掌握SQL语言与非关系模型(层次模型、网状模型)数据语言的不同,从而体会SQL语言之所以能够为用户和业界所接受,并成为国际标准的原因。体会面向过程的语言和SQL语言的区别和优点。体会关系数据库系统为数据库应用系统的开发提供良好环境,减轻了用户负担,提高用户生产率的原因。
  (3)需要举一反三的内容:熟练正确的使用SQL语言完成对数据库的查询、插入、删除、更新操作,特别是各种各样的查询,掌握SQL语言强大的查询功能。
  在完成具体的SQL语句时,希望读者能有意识地和关系代数、关系演算等语言进行比较,了解他们各自的特点。

4)重点内容:数据库的定义、删除和修改;数据库索引的建立和删除;数据的单表查询、连接查询、嵌套查询、集合查询和SELECT语句的格式和用法;数据的插入、修改和删除;视图的定义、查询和更新;数据控制:权限的授权和收回。
  (5)难点内容:本章的难点在于用SQL语言正确完成复杂查询:模糊查询、自身连接查询、外连接、嵌套查询和视图更新。因此在学习的过程中要多练习,要在某一个RDBMS产品上进行实际运行,检查查询的结果是否正确。只要通过大量练习才能真正达到举一反三的熟练程度。

(二) 课程内容

3.1 SQL概述

1SQL标准及特点:简略介绍SQL标准的发展过程及特点(综合统一、非过程化、面向集合的操作、语言简洁易学等)。

教学方法:简单介绍SQL的发展历程,重点介绍SQL的特点。

3.2 数据定义

1)表的定义:包括表的创建、修改和删除,达到简单应用层次。

教学方法:重点介绍CREATE TABLEALTER TABLEDROP TABLE的使用格式,并举例说明。此外,应指出不同的数据库可能支持不同的数据类型。

2)索引:索引的意义,创建和删除索引的命令格式,达到简单应用层次,唯一索引和聚簇索引的概念,达到领会层次。

教学方法:强调索引的作用,详细介绍CREATE INDEX使用格式,并举例说明。

3.3 查询

1)基本查询语句:介绍基于单表的简单SELECT语句,包括选择表中的若干列和选择表中的若干元组的查询,其中IN谓词、BETWEENAND谓词、LIKE谓词等要详细举例说明。

2)组合条件查询:介绍各种常用的约束查询条件。

3)分组统计:介绍ORDER BY子句、集函数、GROUP BY子句等基本知识。

教学方法:介绍时可通过举例说明,并强调SELECT语句能够完成投影、选择和连接三种基本关系代数操作。

4)连接查询:涉及两个以上表的查询,包括自然连接、等值连接、非等值连接、自身连接、外连接和复合条件连接。对自然连接达到简单应用层次;对其他连接达到识记层次。

教学方法:重点介绍自然连接;对其他连接的介绍侧重基本使用方法和作用,介绍方法可采用举例说明。

5)嵌套查询:包括带有IN谓词、比较运算符、ANY谓词、ALL谓词和EXIST谓词的子查询,达到识记层次。

教学方法:对较难理解的谓词,应举例说明,可结合第二章的元组关系演算语言进行讲解,SQL语言中没有全称量词,注意全称量词和存在量词间的相互转换。

3.4 数据更新

1)插入数据:包括插入单个元组和插入子查询结果,重点介绍两种形式的INSERT语句的格式,注意新插入记录和属性列的对应关系。

2)修改数据:包括修改某一个元组的值、修改多个元组的值和带子查询的修改,掌握修改操作语句的一般格式。

3)删除数据:包括删除一个元组的值、删除多个元组的值、带子查询的删除以及更新操作与数据库的一致性。

教学方法:举例说明。

3.5 视图

1)定义视图:包括“虚表”的含义、建立视图(包括在基本表和视图上建立视图)、删除视图。达到简单应用层次。

教学方法:举例说明。

2)查询视图:最终转化成等价的对基本表的查询,即视图消解。

3)更新视图:最终转换为对基本表的更新。

教学方法:重点介绍查询时视图消解、视图更新的限制。

4)视图的作用:包括简化用户操作、使用户能以多种角度看待同一数据、对重构数据库提供了逻辑独立性、对机密数据具提供安全保护等作用,达到识记层次。

教学方法:重点从外模式和安全保护角度介绍。

3.6 数据控制

1)授权:介绍如何对SELECTINSERTUPDATEALTERINDEX等操作进行权限设置。介绍GRANTREVOKE语句在上述权限中的使用格式,达到简单应用层次。

教学方法:重点介绍GRANT REVOKE语句的使用格式,应举例说明。

3.7 嵌入式SQL

1)嵌入式SQL简介:包括嵌入式SQL使用格式、与主语言的通信方式、主变量和指示变量的概念、嵌入式SQL的使用技术达到识记层次,对游标概念和使用方法达到领会层次。

教学方法:强调游标的作用,举例说明。

2)不使用游标的SQL语句:说明性语句;数据定义语句;数据控制语句;查询结果为单记录的SELECT语句;非CURRENT形式的UPDATE语句;非CURRENT形式的DELETE语句;INSERT语句。

3)使用游标的SQL语句:查询结果为多条记录的SELECT语句;CURRENT形式的UPDATE语句;CURRENT形式的DELETE语句。

教学方法:讲解需要使用游标的典型场合及原因。

4)动态SQL:简略介绍其与静态SQL的区别、在什么情况下使用动态SQL和其使用形式,达到识记层次。

教学方法:重点介绍在什么情况下使用动态SQL及其基本使用形式。

(三)实践环节内容和基本要求

通过充足的上机实习,熟练掌握SQL数据定义、数据查询、数据更新视图定义、创建索引和授权等SQL语句的使用。要求在大型关系数据库管理系统上进行实验,配备相应硬件设备,特别强调应在SQL命令环境中学习和熟习SQL语句。

(四)思考题

1.试述SQL语言的特点。

2.什么是基本表?什么是视图?两者的区别和联系是什么?

3.已知学生表S和学生选课表SC。其关系模式如下:

S(SNO,SN,SD,PROV) SC (SNO,CN,GR)

其中,SNO为学号,SN为姓名,SD为系名,PROV为省区,CN为课程名,GR为分数,试用SQL语言实现下列操作:

1)查询“信息系”的学生来自哪些省区。

2)按分数降序排序,输出“英语系”选修了“计算机” 课的学生的姓名和分数。

4.试述SQL的定义功能。

5.哪类视图是可以更新的,哪类视图是不可以更新的?各举一例说明。

6.在嵌入式SQL中如何区分SQL语句和主语言语句的?


 
 
    版权所有:德州学院   技术支持:湖北华秦教育软件技术有限公司 [返回顶部]