数据库原理-视图的创建与使用-

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

数据库原理-视图的创建与使用实验报告-

大学计算机科学与信息学院***软件工程系上机实验报告《数据库原理》实验报告

视图的实验六题目姓名 *** 班级 *** 日期 ***

创建与使用

实验环境:SQL Server 2000

实验内容与完成情况

一、实验目

)理解视图的概念

)掌握创建视图的方法

)掌握更改视图的方法

)掌握用视图管理数据的方法

二、实验内

创建视图是数据库应用中的常见需求,可以使用企业管理创建、管理视图,也可以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表中查询出性别为“男”的所有学生的资料。并在创建视图时使用with check option。(注:该子句用于强制视图上执行的所有修改语句必须符合由Select语句where中的条件。)

T-SQL语句为:

CREATE VIEW stuview2

AS

SELECT*

FROM Student

WHERE Ssex='男'

WITH CHECK OPTION;

②创建一个名为stuview3的视图,能检索出CS系所有女生的学号、选修的课程名及相应的成绩。

T-SQL语句为:

CREATE VIEW stuview3

AS

SELECT SC.Sno,ame,SC.Grade

FROM SC,Course

WHERE o=o

AND SC.Sno IN

(

SELECT Sno

FROM Student

WHERE Sdept='CS'AND Ssex='女');

③创建一个名为stuview4的视图,能检索出选课学生的学号、姓名、课程名、成绩。

T-SQL语句为:

CREATE VIEW stuview4(Sno,Sname,Cname,Grade)

AS

SELECT Student.Sno,Sname,Cname,Grade

FROM Student,SC,Course

WHERE Student.Sno=SC.Sno AND o=o;

④将视图stuview4删除。

T-SQL语句:

DROP VIEW stuview4;

(2)管理视图中的数据

①从视图stuview4查询出李勇选修的课程名和成绩。T-SQ语句

SELEC CnamGrad

FRO stuview

WHER Snam李;

②向视stuview中插入一行数据

200215127张萍22FL

T-SQ语句INSER stuview INT);

'FL2'200215127张萍VALUE studen表中的内容有何变化

③修改视图stuview2中的数据。

将stuview2中CS系,姓名为“李勇”同学的年龄改为22。T-SQL语句:

UPDATE stuview2

SET Sage=22

WHERE Sdept='CS'AND Sname='李勇';

表中的内容有何变化?student原

③从视图中stuview2将张立的信息删除。

T-SQL语句:

DELETE

FROM stuview2

NULLLIKno WHER Sn studen表中的内容有何变化

表中数据没有改变

三、出现的问题及其解决方案(列出遇到的问题和解决办法,列出没

有解决的问题)

问题1:在将视图stuview1中学号为“200215126”的学生姓名改为“许华”时,打开视图,没有该学号。

分析原因:在对视图studview1修改时,是修改为显示'MA'系的学生,而学号为“200215126”的学生所在系是‘FL'。

解决办法:对视图studview1进行修改,改为显示‘FL'系的学生,再将其姓名改为“许华”。

相关文档
最新文档