实验2:SQL查询与操纵

SQL查询与操纵实验包含6个实验项目,其中5个必修实验项目,1个选修实验项目。实验3.1~实验3.5为设计性实验,实验3.6为验证性实验。

实验2.1 数据库定义

(1)实验内容和要求

理解并掌握数据定义语言DDL语法和各种参数的具体含义及使用方法,能够熟练地使用DDL语句来创建、修改和删除数据库模式和基本表,掌握DDL语句常见语法错误及其调试方法。实验过程中要注意数据完整性约束既可以在创建基本表时定义,也可以先创建表然后再定义完整性约束;由于完整性约束的限制,被引用的表要先创建。

(2)实验重点和难点

实验重点:学会创建数据库和基本表。

实验难点:创建基本表时,为不同的列选择合适的数据类型;正确创建表级和列级完整性约束,如列值是否允许为空、主码和外码等。


*实验2.2 数据基本查询

(1)实验内容和要求

掌握SQL程序设计基本规范,熟练运用SQL实现数据基本查询,包括单表查询、分组统计查询和连接查询;针对零件供应销售数据库,设计各种单表查询SQL语句、分组统计查询语句;设计单表针对自身的连接查询,设计多表的连接查询;理解和掌握SQL查询语句中各个子句的特点和作用,按照SQL程序设计规范,写出具体的SQL查询语句并调试通过。实验过程中要注意遵循SQL程序设计规范,包含SQL关键字大写,表名、属性名、存储过程名等标识符大小写混合,SQL程序书写缩进排列等编程规范。具体内容请参见参考文献。

(2)实验重点和难点

实验重点:分组统计查询、单表自身连接查询、多表连接查询。

实验难点:区分元组过滤条件和分组过滤条件;确定连接属性,正确设计连接条件。

实验2.3 数据高级查询

(1)实验内容和要求

掌握SQL嵌套查询和集合查询等各种高级查询的设计方法;正确分析用户查询要求,设计各种嵌套查询和集合查询。

(2)实验重点和难点

实验重点:掌握嵌套查询。

实验难点:掌握相关子查询、多层EXISTS嵌套查询。

实验2.4 数据更新

(1)实验内容和要求

熟悉数据库的数据更新操作,能够使用SQL语句对数据库进行数据的插入、修改、删除操作;针对零件供应商销售数据库,设计单元组插入、批量数据插入、修改数据和删除数据等SQL语句;理解和掌握INSERT、UPDATE和DELETE语法结构的各个组成部分,结合嵌套SQL子查询,分别设计几种不同形式的插入、修改和删除数据的语句,并调试成功。

(2)实验重点和难点

实验重点:设计插入、修改和删除数据的SQL语句。

实验难点:设计与嵌套SQL子查询相结合的插入、修改和删除数据的SQL语句;利用一个表的数据插入、修改和删除另外一个表的数据。

实验2.5 视图

(1)实验内容和要求

熟悉SQL有关视图的操作,能够熟悉使用SQL语句来创建需要的视图,定义数据库外模式,并能使用所创建的视图实现数据管理;针对给定的数据库模式和相应的应用需求,创建视图、创建带WITH CHECK OPTION的视图,并验证视图WITH CHECK OPTION选项的有效性;理解和掌握视图消解执行原理,掌握可更新视图和不可更新视图的区别。

(2)实验重点和难点

实验重点:创建视图。

实验难点:掌握可更新的视图和不可更新的视图之区别,以及WITH CHECK OPTION选项有效性的验证。

实验2.6 索引

(1)实验内容和要求

掌握索引的设计原则和技巧,能够创建合适的索引以提高数据库查询、统计分析效率;针对对给定的数据库模式和具体应用需求,创建唯一索引、函数索引、复合索引等,修改索引,删除索引;设计相应的SQL查询,验证索引的有效性。学习和利用EXPLAIN命令分析SQL查询是否使用了所创建的索引,并能够分析其原因,执行SQL查询并估算索引提高查询效率的百分比。要求实验数据集达到10万条记录以上的数据量,以便验证索引效果。

(2)实验重点和难点

实验重点:创建索引。

实验难点:设计SQL查询以验证索引的有效性。