数据库管理与应用-实验报告4-SQL语言(3)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

浙江科技学院

实验报告课程名称:数据库原理与应用B

学院:经济管理学院

专业班:物流工程102

姓名:

学号:

指导教师:

2012年11月9 日

一、实验项目名称

SQL语言(3)

二、实验目的和要求

(一)实验目的

了解SQL语言(视图的建立与查询)。

(二)实验要求

根据学生表Student (Sno, Sname, Ssex, Sage, Sdept)、课程表Course (Cno, Cname, Cpno, Ccredit)、选课表SC (Sno, Cno, Grade)、教师表Teacher(Tno, Tname, Tsex, Tbirthday, Tdept, Tzc)。实现视图的建立与查询。

三、实验内容和原理

(一)实验内容

使用SQL语言表来完成视图的建立与查询等。

任务如下:

(1)建立教师讲课的视图V1(把没上课的教师也罗列出来,用左连接实现,要求包括工号、教师姓名、课程号、课程名、学分字段)。

(2)查询视图V1的全部信息。

(3)建立每个学生选课的总分与平均分视图V2(要求包括学号、学生姓名、总分、平均分字段)。

(4)查询视图V2的全部信息。

(5)建立选修了“数学”这门课的视图V3(要求包括学号、学生姓名、课程名字段)。

(6)查询视图V3的全部信息。

(7)建立最高分的视图V4(要求包括学号、学生姓名、课程名、最高分字段)。

(8)查询视图V4的全部信息。

(9)建立所有学生的课程编号为“1”和“2”的成绩视图V5,且需要显示学号、学生姓名、课程名、成绩字段。

(10)查询视图V5的全部信息。

(11)建立课程编号为“1”和“2”的平均成绩视图V6,且需要显示课程号、课程名、平均成绩字段。

(12)查询视图V6的全部信息。

(13)建立每一门课程的及格人数视图V7,且需要显示课程号、及格人数字段。

(14)查询视图V7的全部信息。

(15)建立出生年月为1~6月份的教师视图V8,且需要显示工号、教师姓名、出生年月

(16)查询视图V8的全部信息。

(17)建立成绩平均分在86分及以上的视图V9,且需要显示学号、姓名、平均分

(18)查询视图V9的全部信息。

(二)实验原理

SQL语言。

四、主要仪器设备

计算机、SQL Server数据库

五、操作方法与实验步骤

第一步:分析问题

第二步:打开Enterprise Manager(企业管理器)中名为“yexiaoqiang”的数据库

第三步:打开工具中的SQL查询分析器

第四步:输入命令语句,建立视图

第五步:查询并检验

第6步:截图保存。

六、试验结果与分析

(1)建立教师讲课的视图V1(把没上课的教师也罗列出来,用左连接实现,要求包括工号、教师姓名、课程号、课程名、学分字段)。

create view V1 (tno,tname,cno,cname,ccredit)

as

select teacher.tno,tname,o,cname,ccredit

from teacher left outer join

course on(teacher.tno=course.tno)

(2)查询视图V1的全部信息。

select *

from V1

(3)建立每个学生选课的总分与平均分视图V2(要求包括学号、学生姓名、总分、平均分字段)。

create view V2

as

select student.sno,student.sname,avg(grade) as avg ,sum(grade) as sum from student,sc

where student.sno=sc.sno group by student.sno,student.sname

(4)查询视图V2的全部信息。

select *

from V2

(5)建立选修了“数学”这门课的视图V3(要求包括学号、学生姓名、课程名字段)。

create view V3

as

select student.sno,student.sname,ame

from student,sc,course

where o=2 and sc.sno=student.sno and o=o

(6)查询视图V3的全部信息。

select *

from V3

(7)建立最高分的视图V4(要求包括学号、学生姓名、课程名、最高分字段)。

create view V4 as

SELECT student.sno, student.sname,sc.grade,ame FROM sc,student,course

WHERE sc.grade=(select MAX(grade) from sc)

and student.sno=sc.sno

and o=o

(8)查询视图V4的全部信息。

select *

from V4

(9)建立所有学生的课程编号为“1”和“2”的成绩视图V5,且需要显示学号、学生姓名、课程名、成绩字段。

create view v5

as

select student.sno,student.sname,ame,sc.grade

from student,sc,course

where student.sno=sc.sno and o=o and (o=1 or o=2)

(10)查询视图V5的全部信息。

select *

from V5

相关文档
最新文档