数据库原理视图的创建与使用.docx
《数据库原理视图的创建与使用.docx》由会员分享,可在线阅读,更多相关《数据库原理视图的创建与使用.docx(12页珍藏版)》请在冰豆网上搜索。
数据库原理视图的创建与使用
数据库原理-视图的创建与使用实验报告-
大学计算机科学与信息学院***软件工程系上机实验报告《数据库原理》实验报告
视图的实验六题目姓名***班级***日期***
创建与使用
实验环境:
SQLServer2000
实验内容与完成情况
一、实验目
)理解视图的概念
)掌握创建视图的方法
)掌握更改视图的方法
)掌握用视图管理数据的方法
二、实验内
创建视图是数据库应用中的常见需求,可以使用企业管理创建、管理视图,也可以T-SQ语言创建管理视图
、用创建视图向导创建视
使用视图向导创建一个名studview的投影视图该视图studen表中查询C系所有学生的学号姓名,系别
(提示:
分别进入企业管理器,再分别单击“工具”、“向导”、“数据库”、“创建视图向导”然后一步一步地创建视图
创建视图:
显示结果
2、用企业管理器创建、管理视图
(1)创建视图
A、使用企业管理器在表teacher上创建一职称为副教授的教师视图teacherview视图,该视图中需包括以下信息:
姓名,系别,职称,工资。
1)依次进入企业管理器、数据库、XSGL库,并用鼠标右键单击“视图”。
)在系统弹出的快捷菜单中单击“新建视图”,出现“新建视图”窗口。
2.
B、使用企业管理器在表student、course、sc表上创建一个能查询学生的学号、姓名、课程名及课程成绩的视图,视图名为S_C_VIEW。
)修改视stuview1
将视studview的定义修改为studen表中查询M系学生的学号,姓名,系别
(提示:
修改视在企业管理器中选中视图-击右-按设计视-进行修改
(3)管理视图中的数据
1)查看视图stuview1中的数据。
),单击“打开视图”,再单击“返回所有行”。
stuview1(提示:
用鼠标右键单击要管理的视图
2)将视图stuview1中学号为“200215126”的学生姓名改为“许华”。
再重新打开student表观察一下,有什么变化?
(注:
须按按钮“!
”进行修改确认。
)
3、用T-SQL语言创建、管理视图
(1)创建视图
①创建一个名为stuview2的水平视图,从数据库XSGL的student表中查询出性别为“男”的所有学生的资料。
并在创建视图时使用withcheckoption。
(注:
该子句用于强制视图上执行的所有修改语句必须符合由Select语句where中的条件。
)
T-SQL语句为:
CREATEVIEWstuview2
AS
SELECT*
FROMStudent
WHERESsex='男'
WITHCHECKOPTION;
②创建一个名为stuview3的视图,能检索出CS系所有女生的学号、选修的课程名及相应的成绩。
T-SQL语句为:
CREATEVIEWstuview3
AS
SELECTSC.Sno,Course.Cname,SC.Grade
FROMSC,Course
WHERESC.Cno=Course.Cno
ANDSC.SnoIN
(
SELECTSno
FROMStudent
WHERESdept='CS'ANDSsex='女');
③创建一个名为stuview4的视图,能检索出选课学生的学号、姓名、课程名、成绩。
T-SQL语句为:
CREATEVIEWstuview4(Sno,Sname,Cname,Grade)
AS
SELECTStudent.Sno,Sname,Cname,Grade
FROMStudent,SC,Course
WHEREStudent.Sno=SC.SnoANDCourse.Cno=SC.Cno;
④将视图stuview4删除。
T-SQL语句:
DROPVIEWstuview4;
(2)管理视图中的数据
①从视图stuview4查询出李勇选修的课程名和成绩。
T-SQ语句
SELECCnamGrad
FROstuview
WHERSnam李;
②向视stuview中插入一行数据
200215127张萍22FL
T-SQ语句INSERstuviewINT);
'FL2'200215127张萍VALUEstuden表中的内容有何变化
③修改视图stuview2中的数据。
将stuview2中CS系,姓名为“李勇”同学的年龄改为22。
T-SQL语句:
UPDATEstuview2
SETSage=22
WHERESdept='CS'ANDSname='李勇';
表中的内容有何变化?
student原
③从视图中stuview2将张立的信息删除。
T-SQL语句:
DELETE
FROMstuview2
NULLLIKnoWHERSnstuden表中的内容有何变化
表中数据没有改变
三、出现的问题及其解决方案(列出遇到的问题和解决办法,列出没有解决的问题)
问题1:
在将视图stuview1中学号为“200215126”的学生姓名改为“许华”时,打开视图,没有该学号。
分析原因:
在对视图studview1修改时,是修改为显示'MA'系的学生,而学号为“200215126”的学生所在系是‘FL'。
解决办法:
对视图studview1进行修改,改为显示‘FL'系的学生,再将其姓名改为“许华”。