数据库实验报告5Word文档格式.docx
《数据库实验报告5Word文档格式.docx》由会员分享,可在线阅读,更多相关《数据库实验报告5Word文档格式.docx(18页珍藏版)》请在冰豆网上搜索。
createviewstuview1
as
SELECT[sno]
[sname]
[sex]
[birth]
[classno]
[entrance_date]
[home_addr]
[sdept]
[postcode]
FROM[20092426student].[dbo].[student]
wheresex='
男'
withcheckoption
(2)创建一个名为stuview2的投影视图,从Student_info数据库的course表中查询学分大于3的所有课程的课程号、课程名、总学时。
并在创建时对该视图加密。
(提示:
用withENCRYPTION关键子句,加在as与视图名称之间,且sp_helptext无法看到该视图的定义脚本。
)
结果
createviewstuview2
withENCRYPTION
SELECTcno,
cname,
total_perior
FROMcourse
wherecredit>
3
withcheckoption:
(3)创建一个名为stuview3的视图,能检索出“051”班所有女生的学号、课程号及相应的成绩。
createviewstuview3
SELECTstudent.sno,cno,grade
FROMstudent,sc
wherestudent.sno=sc.sno
andclassno='
051'
andsex='
女'
(4)创建一个名为stuview4的视图,能检索出每位选课学生的学号、姓名、总成绩。
createviewstuview4(sno,sname,sumgrade)
SELECTsc.sno,
sname,
sum(grade)
groupbysc.sno,sname
2.查询视图的创建信息及视图中的数据
(1)查看视图stuview1的创建信息。
方法1:
通过系统存储过程sp_help查看。
execsp_helpstuview1
方法2:
通过查询表sysobjects。
select*
fromsysobjects
wherename='
stuview1'
(2)查看视图stuview1的定义脚本。
通过系统存储过程sp_helptext查看。
execsp_helptextstuview1
通过查询表sysobjects和表syscomments。
视图的名称保存在表sysobjects的name列,定义脚本保存在表syscomments的text列。
selecttext
fromsysobjects,syscomments
andsysobjects.id=syscomments.id
(3)查看加密视图stuview2的定义脚本。
参考如上查看视图stuview1的定义脚本的两种方法,由于stuview2加密,观察显示结果。
execsp_helptextstuview2
3.修改视图的定义
修改视图stuview2,使其从数据库Student_info的student表中查询总学时大于60的所有课程的课程号、课程名、学分。
AlterVIEWstuview2
withENCRYPTION
AS
SELECTcno,cname,credit
WHEREtotal_perior>
60
4.视图的更名与删除
(1)将视图stuview4更名为stuv4。
方法:
(提示通过系统存储过程:
sp_rename)
sp_renamestuview4,stuv4
(2)将视图stuv4删除。
dropviewstuv4
5.管理视图中的数据
(1)从视图stuview1查询出班级为“051”、姓名为“张虹”的资料。
Select*
fromstuview1
whereclassno='
andsname='
张虹'
(2)向视图stuview1中插入一行数据。
学号:
20110005,姓名:
许华,班级:
054,性别:
男,家庭住址:
南京,入学时间:
2011/09/01,出生年月:
1983/01/09。
问:
原student表中的内容有何变化?
insert
intostuview1(Sno,Sname,Classno,Sex,Home_addr,Entrance_date,Birth)
values('
20110005'
'
许华'
054'
南京'
2011-09-01'
1983-01-09'
)
思考:
如向视图stuview1中插入一行数据。
20110006,姓名:
赵静,班级:
女,家庭住址:
1983/11/09。
会出现什么样的结果?
20110006'
赵静'
1983-11-09'
由于stuview1的水平视图,是从Student_info数据库的student表中查询出所有男学生的资料,所以如果插入的新数据为女生是不能被执行的!
(3)修改视图stuview1中的数据。
将stuview1中054班、姓名为“许华”同学的家庭地址改为“扬州市”。
updatestuview1
sethome_addr='
扬州市'
whereclassno='
andsname='
(4)删除视图stuview1中班级为054、姓名为“许华”的同学记录。
delete
wheresname='
实验总结
在这一个星期的学习中设计视图,简单查询向导,交叉表查询向导,引入数据等操作。
学习数据库的过程中感觉跟学习其他课程一样,也有丰富的知识。
查询的创建共有五种创建查询的方法,习惯采用的是设计查询和向导的查询。
设置查询方面的知识:
添加表/查询,更改表或查询间的关系,删除表/查询。
设置查询结果的排序,设置字段的显示属性等等。
ACCESS只是使用从基表或通过查询得到的数据来显示报表的版面。
现实的数据与报表的实际数据不符,所以要使用“打印预览”命令。
感谢这次教学实验,使我对数据库有了更深的了解,希望在以后的学习中,数据库的运用可以对我有更大的帮助。