实验项目
实验1 实验环境与操作流程
实验2 数据定义、查询与更新
实验3 基本表的定义、删除与修改
实验4 数据的插入、修改和删除
实验5 数据的查询
实验6 数据的视图
实验7 完整性语言
实验8 触发器
实验9 存储过程与函数
实验10 SQL语句1(创建、插入、查询)
实验11 SQL语句2(查询)
实验12 SQL语句3(视图、完整性、关系代数查询)
实验6 数据的视图
一、实验目的
1. 熟练掌握数据库的视图,包括视图的定义、操作及作用等;
2. 熟练掌握数据操作中使用SELECT语句。
二、实验要求
1. 掌握视图的定义及操作;
2. 使用SELECT语句查询数据库表中数据记录的基本方法和操作流程;
3. 熟练进行数据操作。
三、实验内容
(参考课本3.7)
- 定义数据库和表:
- 创建学生-课程数据库student_course。
- 按照学生-课程数据库中的表结构,创建学生表Student、课程表Course和学生选课表SC,参考例3.5、3.6和3.7。
- 插入数据:
向Student、Course和SC表插入图3.2中学生信息、课程信息和选课信息,参考课本79和80页。
(注意:上述操作应熟练掌握,可自行通过命令完成。或为了保证数据视图的练习时间,直接导入SQL文件或备份文件)
- 建立视图:
- 建立学分为4的课程的视图Ccredit_Course(包括课程号、课程名、先行课以及学分),参考例3.84。(在单个基本表上建立视图)
- 建立学分为4,并且被计算机系学生选修过的课程的视图Ccredit_Course1(包括课程号、课程名、先行课以及学分),参考例3.86。(在多个基本表上建立视图)
- 建立学分为4,并且被计算机系学生选修过且成绩在90分以上的课程的视图Ccredit_Course2(包括课程号、课程名、先行课以及学分),参考例3.87。(在视图Ccredit_Course1上建立视图)
- 将学生的学号、最低成绩和最高成绩定义为一个视图Student_Grade,参考例3.89。
- 查询视图:
- 查询视图Ccredit_Course、Ccredit_Course1、Ccredit_Course2和Student_Grade中的信息。
- 在学分为4的课程视图Ccredit_Course中找出先行课为6的课程,参考例3.92。
- 查询选修了学分为4的课程且成绩在90分以上的课程信息,参考例3.93。
- 删除视图:
- 删除视图Student_Grade,参考例3.91。
- 删除视图Ccredit_Course,参考例3.91。
- 自主尝试更新视图操作,进一步体会“视图是虚表”,都看做是对基本表的操作。(不同系统对视图更新的规定不太一样,这里不统一练习,自己可根据课本上SQL标准语句来进行尝试)
实验指导:
- 建立视图:
- 建立学分为4的课程的视图Ccredit_Course(包括课程号、课程名、先行课以及学分),参考例3.84。(在单个基本表上建立视图)
- 建立学分为4,并且被计算机系学生选修过的课程的视图Ccredit_Course1包括课程号、课程名、先行课以及学分),参考例3.86。(在多个基本表上建立视图)
- 建立学分为4,并且被计算机系学生选修过且成绩在90分以上的课程的视图Ccredit_Course2(包括课程号、课程名、先行课以及学分),参考例3.87。(在视图Ccredit_Course1上建立视图)
- 将学生的学号、最低成绩和最高成绩定义为一个视图Student_Grade,参考例3.89。
- 查询视图:
- 查询视图Ccredit_Course、Ccredit_Course1、Ccredit_Course2和Student_Grade中的信息。
- 在学分为4的课程视图Ccredit_Course中找出先行课为6的课程,参考例3.92。
- 查询选修了学分为4的课程且成绩在90分以上的课程信息,参考例3.93。
- 删除视图:
- 删除视图Student_Grade,参考例3.91。
- 删除视图Ccredit_Course,参考例3.91。