实验六视图的定义及使用实验实验报告

合集下载

[高等教育]视图实验要求

[高等教育]视图实验要求

实验一:创建视图实验目的:通过创建视图,了解视图的应用。

实验步骤:第一步:通过企业管理器的Create View Wizard创建视图1、在企业管理器中,单击菜单[Tools]下面的[Wizards]2、展开[Databases]后,双击下面的[Create V iew Wizard]3、单击[Next]后,选择数据库[Northwind],单击[Next]4、选择表[Products],单击[Next]。

5、选择字段ProductID,Productname,SupplierID,CategoryID,QuantityPerUnit,UnitPrice,Discontinued。

单击[Next]6、输入条件语句WHERE SupplierID=14,单击[Next]7、输入视图名称[Products_V iew],单击[Next]。

8、查看利用视图向导生成的语句,单击[Finished]9、在企业管理器中的[Databases]→[Northwind]→[V iews]下查看视图Products_View。

10、在查询分析器中输入并执行语句USE NorthwindSELECT * FROM Products_View11、结果如何__________。

显示的字段是否为前面自己定义的字段________。

第二步:在查询分析器中创建视图1、以Sa身份登录到查询分析器2、输入并执行语句USE NorthwindIF EXISTS (SELECT * FROM information_schema.viewsWHERE table_name = 'Customers_V iew'AND table_schema = 'dbo')DROP VIEW dbo.[Customers_V iew]GOCREA TE VIEW Customers_ViewASSELECT CustomerID,CompanyName,Contactname FROM CustomersWHERE Country='USA'3、如何查看视图结果_________________。

实验六 视图的定义和使用实验(报告)

实验六   视图的定义和使用实验(报告)

实验六视图的定义和使用实验一、实验目的使学生掌握使用SQL语句创建视图方法和企业管理器中使用视图向导创建视图的方法,加深对视图作用的理解。

二、实验内容创建、查看、修改和删除视图。

三、实验步骤1. 利用SQL语句建立、删除视图(1)建立所有学生选课视图,要求包括学生学号、姓名、课程号、课程名、成绩;CREATE VIEW 所有学生选课视图ASSELECT student.sno,sname,o,cname,gradeFROM student,course,scWHERE student.sno=sc.sno AND o=o(2)查询每个同学所有课程的总分、平均分,输出姓名、总分、平均分;SELECT SNAME,SUM(GRADE),AVG( GRADE)FROM 所有学生选课视图GROUP BY SNO(3)查询有多少同学选修了“数学”课程;SELECT COUNT(Sno)FROM 所有学生选课视图WHERE cname='数学'(4)查询选修了五门或以上课程的同学名单;SELECT sno,snameFROM 所有学生选课视图GROUP BY snoHAVING COUNT(cname)>=5(5) 删除上面建立的视图。

drop VIEW 所有学生选课视图2.利用视图向导创建视图下面利用SQL Server 2000中提供的视图创建向导,来创建student_VIEW视图。

1) 打开企业管理器窗口,确认服务器,打开数据库文件夹,选中新视图所在的数据库。

2)选择菜单“工具”一“向导”。

3)在向导选择对话框中,单击数据库左边的“+”号,使之展开。

选择“创建视图向导”项,单击“确定”按钮。

4) 进入创建视图向导后,首先出现的是欢迎进入创建视图向导对话框,其中简单介绍了该向导的功能。

单击“下一步”按钮后,就会出现选择“数据库名称”对话框。

5) 在“选择数据库名称”对话框中,选择视图所属的数据库。

《数据库》实验6 视图

《数据库》实验6 视图
•使用SQL创建一个课程表视图,其数据来源于2个基本表T、C。视图名称 是VIEW_CTABLE,包含的数据有:来自视图T的字段:TN,来自表C的字段:CN。 1.修改视图的SQL语句
ALTER VIEW [ < database_name > .] [ < owner > .] view_name [ ( column [ ,...n ] ) ] AS
【实验步骤】
1.使用企业管理器把视图VIEW_S中的字段AGE删掉;
视图VIEW_S的定义
删除DEPT后的视图VIEW_S中的数据
实验6.3 修改视图
2.使用SQL给视图VIEW_CTABLE增加一个课时字段:CT TINYINT
创建视图VIEW_CABLE的SQL语句
修改后的视图数据
实验6.4 删除视图
附件:数据库jiaoxuedb
1.创建数据库jiaoxuedb。 2.在数据库jiaoxuedb中创建表Student、Teacher、Course、SC、TC,它们
的表数据如下图所示。
学生表student
教师表Teacher
附件:实验2数据库jiaoxuedb
课程表Course
选课表SC
教师任课表TC
CREATE VIEW [ < database_name > .] [ < owner > .] view_name [ ( column [ ,...n ] ) ]
AS
select_statement
[ WITH CHECK OPTION ]
实验6 视图
6.修改视图的SQL语句 ALTER VIEW [ < database_name > .] [ < owner > .] view_name [ ( column [ ,...n ] ) ] AS select_statement [ WITH CHECK OPTION ]

工程图学-实验6的实验报告

工程图学-实验6的实验报告

宁波工程学院电信学院《工程图学基础》实验报告实验名称实验六尺寸标注专业、班级姓名学号实验日期指导教师一、实验目的学会AutoCAD的尺寸标注命令。

二、实验内容1. 掌握CAD的基本标注的设置;2. 要求学生熟悉尺寸标注样式的创建、编辑、线性标注、直径标注、角度标注、对齐标注、连续标注、基线标注、快速标注等标注方式及编辑。

实验题目:1、绘制如下图6-1,并标注尺寸(绘图过程见ppt)图6-12、将实验五的图形(如图6-2)标注尺寸图6-2三、实验步骤及成果题1:绘制如下图6-1,并标注尺寸。

其步骤如下:步骤1: 绘制图6-2,按照实验四的方法绘制。

步骤2: 在图层2上,单击【标注】工具栏中的标注样式按钮,弹出“标注样式管理器”对话框。

步骤3: 在图层2上,单击【新建】,弹出【创建新标注样式】对话框,在【新样式名】文本框中输入所要创建的标准样式的名称:直线1。

步骤3: 在图层2上,单击【继续】,弹出【新建标注样式】对话框。

尺寸线的【基线间距】设为“7”,尺寸界线的【超出尺寸线】设为“2”,【符号与箭头】的【箭头大小】设为“3.5”,【文字】中【文字样式】选数字,文字高度选“3.5”,【从尺寸线偏移】选“1”。

步骤4: 在图层2上,单击【标注】工具栏中的线性和半径按钮,标注步骤1绘制出的图形的主视图,完成图形的绘制。

实验结果,如下所示:题2:将实验五的图形(如图6-2)标注尺寸,其步骤如下:步骤1: 绘制图6-2,按照实验五的方法绘制。

步骤2: 在0图层上,单击【标注】工具栏中的标注样式按钮,弹出“标注样式管理器”对话框;单击【新建】,弹出【创建新标注样式】对话框,在【新样式名】文本框中输入所要创建的标准样式的名称:直线2;单击【继续】,弹出【新建标注样式】对话框。

尺寸线的【基线间距】设为“7”,尺寸界线的【超出尺寸线】设为“2”,【符号与箭头】的【箭头大小】设为“28.5”,【文字】中【文字样式】选数字,文字高度选“28.5”,【从尺寸线偏移】选“1”。

贵州大学实验报告

贵州大学实验报告

贵州大学实验报告
学院:计算机科学与信息学院专业:计算机科学与技术班级:级计科二班姓名:杨帆学号:
实验六视图的创建与使用
一、实验目的
)理解视图的概念。

)掌握创建视图的方法。

)掌握更改视图的方法。

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

二、实验内容
、用语言创建、管理视图(以下题目需提交)
()创建视图
)创建一个名为的水平视图,从数据库的表中查询出性别为“男”的所有学生的资料。

并在创建视图时使用。

(注:该子句用于强制视图上执行的所有修改语句必须符合由语句中的条件。


语句为:
*
'男'
)创建一个名为的投影视图,从数据库的表中查询学分大于的所有课程的课程号、课程名、总学时。

语句为:
>
)创建一个名为的视图,能检索出“”班所有女生的学号、课程号及相应的成绩。

语句为:
''
)创建一个名为的视图,能检索出选课学生的学号、姓名、课程名、成绩。

语句为:
)将视图删除。

语句:
()管理视图中的数据
)从视图查询出班级为“”、姓名为“王品”的资料。

语句:
*
'' '王品'
)向视图中插入一行数据。

学号:,姓名:刘丽,班级:,性别:男,
家庭住址:南京,入学时间:2005/09/01,出生年月:1983/01/09,系别:
语句:
('','刘丽','男',1983/01/09,'',2005/09/01,'南京。

实验六 视图的定义及使用实验 实验报告

实验六  视图的定义及使用实验   实验报告

实验六视图的定义及使用实验实验报告实验任务(一)建立视图(运行并观察结果)1.建立信息系学生的视图IS_student。

CREATE VIEW IS_StudentASSELECT Sno,Sname,SageFROM StudentWHERE Sdept='IS'2.建立信息系选修了1号课程的学生的视图IS_S1。

CREATE VIEW IS_S1(Sno,Sname,Grade)ASSELECT Student.Sno,Sname,GradeFROM Student,SCWHERE Sdept='IS'ANDStudent.Sno=SC.Sno ANDo='1';3.建立信息系选修了1号课程且成绩在90分以上的学生的视图IS_S2。

CREATE VIEW IS_S2ASSELECT Sno,Sname,GradeFROM IS_S1WHERE Grade>=904.建立一个反映学生出生年份的视图BT_S。

CREATE VIEW BT_S(Sno,Sname,Sbirth)ASSELECT Sno,Sname,2004-SageFROM Student5.将学生的学号及他的平均成绩定义为一个视图S_G。

CREATE VIEW S_G(Sno,Gavg)ASSELECT Sno,AVG(Grade)FROM SCGROUP BY Sno6.将课程的课号及选修人数定义为一个视图C_XIU。

CREATE VIEW C_XIU(Cno,Scount)ASSELECT Cno,COUNT(*)FROM SCGROUP BY Cno(二)查询视图(运行并观察结果)1.在信息系学生的视图中找出年龄小于20岁的学生。

SELECT Sno,SageFROM IS_StudentWHERE Sage<202.查询信息系选修了1号课程的学生。

SELECT IS_Student.Sno,SnameFROM IS_Student,SCWHERE IS_Student.Sno=SC.Sno ANDo='1'3.在S_G中查询平均成绩在90分以上的学生的学号和平均成绩。

实验7数据库的视图定义及维护实验

实验7数据库的视图定义及维护实验

实验7 数据库的视图定义及维护实验
1.实验目的
本实验的目的是使学生掌握视图的定义与维护操作,加深对视图在关系数据库中的作用的理解。

2.实验时数2学时
[相关知识]
视图是根据子模式建立的虚拟表。

一个视图可以由一个表构造,也可以由多个表构造。

利用企业管理器和视图创建向导进行创建,查看和修改视图就如同对表的操作一样,非常容易。

3.实验容
本实验的主要容是:
1)创建和删除视图
2)查询和更新视图
具体完成以下例题。

1.建立所有女生的视图Female_student;
2.建立IS系学生视图IS_student,并保证进行修改和插入操作时仍保证该视图只有信息系
的学生;
3.建立每个学生及其选修课程的视图v_student_xk;
4.在IS_student的基础上建立信息系学生选课情况的视图;
5.v_student_xk的基础上建立信息系学生选课情况的视图;
6.在查询分析器中删除所建立的视图;
7.用查询分析器完成上面视图的建立;
在上面的视图基础上完成下列查询:
1.查询女生的人数;
2.查询信息系学生的详细记录;
3.查询信息系学生中选修了“信息系统”的学生;
4.查询选修了1号课且成绩在90分以上的学生的;
5.查询每个学生的平均成绩;
6.向信息系学生视图IS_student插入一条新的学生记录,(95005,新,男,20,IS);
7.将信息系学号为95002的学生由“晨”该为“成”;
8.删除信息系学号为95004的学生信息;
4.收获体会:。

数据库原理实验指导实验6 视图的应用

数据库原理实验指导实验6 视图的应用

2.创建视图WY_Student,用于查询外语系学生的基本信息create view WY_Studentasselect*from Studentwhere Sdept='外国语'3.创建视图SS_Student,用于查询学生的姓名、学号和总学分信息,要求属性列中文显示create view SS_Studentasselect SC.Sno学号,Sname姓名,sum(Credit)总学分from SC,Student,Coursewhere SC.Sno=Student.Sno and o=ogroup by SC.Sno,Sname4.创建视图XS_XK,用于查询每个同学的选课信息,包括学号、姓名、课程号、课程名和成绩create view XS_XKasselect SC.Sno,Sname,o,Cname,Gradefrom Student,SC,Coursewhere Student.Sno=SC.Sno and o=ogroup by SC.Sno,Sname,o,Cname,Grade5.创建视图JS_SK,用于查询每个教师的任课情况,包括教师号、教师名、职称、所讲授课程的课程号信息,并用中文列出各属性名create view JS_SKasselect Teacher.Tno教师号,Tname教师名,Tprof职称,o课程号,Cname课程名from Teacher,SC,Coursewhere Teacher.Tno=SC.Tno and o=ogroup by Teacher.Tno,Tname,Tprof,o,Cname6.基于视图WY_Student和SC,创建视图WY_SK,用于查询外语系学生的选课情况create view WY_SKasselect WY_Student.Sno,Sname,Cnofrom WY_Student,SCwhere SC.Sno=WY_Student.Sno7.创建视图XS_NL,用于查询学生的学号、姓名和年龄create view XS_NL(Sno,Sname,Sage)asselect Sno,Sname,year(getdate())-year(Sbirth)from Student8. 创建视图XS_ZCJ,用于查询选修了课程的学生的总评成绩,包括学号、姓名、课程号,每门课程的总评成绩计算公式为:成绩*70%+30create view XS_ZCJ(Sno,Sname,Cno,总评成绩)asselect Student.Sno,Sname,Cno,Grade*70%+30from Student,SCwhere Student.Sno=SC.Sno9.创建视图JS_GZ,用于显示教师的预发工资,包括教工号、姓名、职称和按90%预发的工资额create view JS_GZ(Tno,Tname,Tprof,"预发90%的工资")asselect Tno,Tname,Tprof,Tpay*0.9from Teacher10.创建视图XS_PJCJ,用于查询选修了课程的学生的成绩,包括学号、姓名和所选课程的平均成绩create view XS_PJCJ(Sno,Sname,平均成绩)asselect SC.Sno,Sname,AVG(Grade)from SC,Studentwhere SC.Sno=Student.Snogroup by SC.Sno,Sname11.创建视图JS_RKMS,用于查询教师的任课门数,包括教工号、教师名和任课门数create view JS_RKMS(Tno,Tname,任课门数)asselect Teacher.Tno,Tname,COUNT(DISTINCT(Cno))from Teacher,SCwhere Teacher.Tno=SC.Tnogroup by Teacher.Tno,Tname12.创建视图KC_PJCJ,用于查询各门课程的平均成绩,包括课程号、课程名、选课人数、平均成绩create view KC_PJCJ(Cno,Cname,选课人数,平均成绩)asselect o,Cname,COUNT(*),AVG(Grade)from Course,SCwhere o=ogroup by o,Cname13.创建视图YX_XS,用于查询各门成绩在82分以上和平均成绩都在85分以上的学生的学号、姓名及平均成绩create view YXXSasselect distinct SC.Sno,Sname,avg(Grade)平均成绩from Student,SCwhere Student.Sno=SC.Sno and SC.Sno in(select Snofrom SCwhere Grade>=82 )and'平均成绩'>=85group by SC.Sno,Sname14.创建统计教师职称种类及人数的统计视图ZC_ZLcreate view ZC_ZL(Tprof,人数)asselect Tprof,COUNT(*)from Teachergroup by Tprof15.删除视图XS_NLdrop view XS_NL16.查询视图WY_Student,然后使用INSERT…INTO…语句更新WY_Student视图,再次查询该视图以及相关基表,检查执行结果select*from WY_Studentinsertinto WY_Student(Sno,Sname)values ('06122','王麻子')select*from WY_Studentselect*from Student17.使用UPDATE 更新视图WY_Student中的某个或某些属性值,然后再次查询该视图以并查询相关基表检查更新结果update WY_Studentset Sname='张三'where Sno='06008'select*from WY_Studentselect*from Student18.使用DELETE删除视图WY_Student中刚插入的记录,然后查询该视图和相关基本表数据deletefrom WY_Studentwhere Sname='张三'select*from WY_Studentselect*from Student19.修改视图JS_GZ,把职称为副教授的预发工资改为该视图预发工资的90%,查看执行结果update JS_GZset[预发90%工资]=[预发90%工资]*0.9where Tprof='副教授'20.修改视图YX_XS,把每个优秀学生的平均成绩都增加3分,查看执行结果update YXXSset[平均成绩]=[平均成绩]+3。

实验五:数据库的视图和图表的定义及使用

实验五:数据库的视图和图表的定义及使用
5、编辑数据库图表
在企业管理器中,展开数据库图表所属的服务器、数据库文件夹、数据库以及关系表文件夹。用鼠标右键单击要编辑的关系表,在弹出的菜单中选择“设计关系表”项,则弹出一个编辑关系表的对话框,数据库关系表中的所有操作都是在该对话框中完成的。
6、数据库图表的删除
在企业管理器中,用鼠标右键单击欲删除的数据库关系表。在弹出的菜单上选择“删除”项。在随后出现的删除对象对话框中选中关系表后,单击“删除全部”按钮,即可删除该数据库中被选中的关系表。
ifexists(select*fromsysobjectswherename='Reader')
droptableReader
go
createtableReader(
ReaderIdvarchar(50)primarykey,
Namevarchar(50),
Unitvarchar(50),
Sgenderchar(10)check(Sgender='男'orSgender='女'),
union
select'1003','200215122','2011.02.03'
union
select'1003','200215125','2011.02.03'
union
select'1006','200215126','2011.02.03'
创建视图并修改:
createviewghbas
SELECTdbo.Books.Type,Books.Press,Books.Author,Books.BookName,Books.Price,dbo.Borrow.*

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

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

数据库原理视图的创建与使用实验报告***大学计算机科学与信息学院软件工程系上机实验报告《数据库原理》实验报告题目实验六视图的创建与使用姓名*** 班级*** 日期***实验环境:SQL Server 2000实验内容与完成情况:一、实验目的1)理解视图的概念。

2)掌握创建视图的方法。

3)掌握更改视图的方法。

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

二、实验内容创建视图是数据库应用中的常见需求,可以使用企业管理创建、管理视图,也可以用T-SQL语言创建、管理视图。

1、用创建视图向导创建视图使用视图向导创建一个名为studview1的投影视图,该视图从student表中查询出CS系所有学生的学号,姓名,系别。

(提示:分别进入企业管理器,再分别单击“工具”、“向导”、“数据库”、“创建视图向导”,然后一步一步地创建视图。

)创建视图:显示结果:2、用企业管理器创建、管理视图(1)创建视图A、使用企业管理器在表teacher上创建一职称为副教授的教师视图teacherview视图,该视图中需包括以下信息:姓名,系别,职称,工资。

1)依次进入企业管理器、数据库、XSGL库,并用鼠标右键单击“视图”。

2)在系统弹出的快捷菜单中单击“新建视图”,出现“新建视图”窗口。

B、使用企业管理器在表student、course、sc表上创建一个能查询学生的学号、姓名、课程名及课程成绩的视图,视图名为S_C_VIEW。

(2)修改视图stuview1将视图studview1的定义修改为从student表中查询出MA系学生的学号,姓名,系别。

(提示:修改视图:在企业管理器中选中视图后->击右键->按设计视图->进行修改)(3)管理视图中的数据1)查看视图stuview1中的数据。

(提示:用鼠标右键单击要管理的视图stuview1,单击“打开视图”,再单击“返回所有行”。

)2)将视图stuview1中学号为“*********”的学生姓名改为“许华”。

实验—视图、游标实验

实验—视图、游标实验

实验视图、游标一、实验目的1.掌握创建视图、游标方法。

2.掌握查询视图和游标的使用方法。

二、实验理论基础及教材对应关系1、实验理论基础:(1)视图;三、实验内容与步骤(一)准备工作:首先将数据库附加到服务器上,步骤如下:1、将老师传给你们的“sqlstud”和”goods”文件夹,拷贝到D盘中2、在如下的数据库图上弹鼠标右键,如下图3、在下图中,点击“添加”按钮4、在如下图的进行选择,选择“商品管理_Data.MDF”:并单击“确定”按钮5、在下图中点击“确定”按钮,将商品管理数据库附加到系统中。

5、用与上面类似的方法将“sqlstud”文件夹中的“学籍管理”数据库附加到系统中。

(二)创建视图1、在如下的图中,单击“新建查询”2、在如下的图中,相应处输入代码,并选择对应的数据库,否则出错。

3、创建一个视图,该视图是性别为“男”的学生姓名和年龄。

create view 男生视图asselect 姓名,年龄,性别from 学生where 性别='男'将上述语句运行后,查看“有无“男生视图”,如下图类似,但不同下图4.在“男生视图”上弹鼠标右键,选择“打开视图”。

结果如下所示:将实验结果截图,写入实验报告中5.用类似的方法创建一个“女生视图”,该视图是性别为“女”的学生姓名、年龄、性别。

将实验结果截图,写入实验报告中6.从货物表(编号, 名称, 产地,价格,数量),查询货物名称为“麻辣鱼”的产地和价格。

查询语句如下:use 商品管理Select 名称,产地,价格from 货物表where 名称= '麻辣鱼'参考上题的方式,创建为名称是“麻辣鱼视图”的一个视图,视图中包括名称,产地,价格将实验结果截图,写入实验报告中7.查询货物表中货物名称中以“麻辣”开头的商品名称,产地,价格。

查询语句如下:use 商品管理Select 名称,产地,价格from 货物表where 名称like '麻辣%'go参考上题的方式,创建为名称是“麻辣商品视图”的一个视图,视图中包括名称,产地,价格将实验结果截图,写入实验报告中8、从学生(学号、姓名、年龄、性别),选修(学号、课程号、成绩)中找出成绩>80的学生姓名、课程号和分数Use 学籍管理select 姓名,课程号,成绩from 学生, 选修where 学生.学号=选修.学号and 成绩>80参考上题的方式,创建为名称是“优秀学生视图”的一个视图,将实验结果截图,写入实验报告中9.视图的查看。

实验4视图的定义和使用

实验4视图的定义和使用

实验4视图的定义和使用一实验题目:视图的定义和使用二实验目的:加深对视图的理解,熟练视图的定义、查看、修改等操作三实验内容及要求:(从下面10个题目中选一个)题目一:学生(学号,年龄,性别,系名)课程(课号,课名,学分,学时)选课(学号,课号,成绩)1 根据上面基本表的信息定义视图显示每门课的课名、选课人数、平均成绩2 观察基本表数据变化时,视图中数据的变化。

3 利用视图,查询平均成绩最高的学生。

题目二:图书(书号,书名,价格,出版社)读者(卡号,姓名,年龄,所属单位)借阅(书号,卡号,借阅日期)1 根据上面基本表的信息定义视图显示每本书的书名、借阅次数2 观察基本表数据变化时,视图中数据的变化。

3利用视图,查询借阅次数最多的书。

题目三:商品(编号,品名,进价,库存,售价,厂商编号)顾客(卡号,姓名,电话,积分)厂商(编号,厂址,名称、电话)销售(顾客卡号,商品编号,数量,日期)1 根据上面基本表的信息定义视图显示每种商品的品名、销售数量2 观察基本表数据变化时,视图中数据的变化。

3利用视图,查询销售数量最高的商品。

题目四:图书(书号,书名,作者编号,价格,出版社编号)作者(编号,姓名,电话)出版社(编号,出版社名称,地址)1 根据上面基本表的信息定义视图显示每个出版社的名称、出版书的数量2 观察基本表数据变化时,视图中数据的变化。

3利用视图,查询出版书最多的出版社题目五:零件(编号,名称,颜色,生产车间号)车间(编号,名称,人数,主任)产品(编号,名称,车间编号)使用(产品编号,使用零件编号,个数)1 根据上面基本表的信息定义视图显示每门课的课名、选课人数、平均成绩2 观察基本表数据变化时,视图中数据的变化。

3利用视图,查询选课人数最多的课。

题目六:药品(编号,名称,价格,厂商)处方(药品编号,数量,医生编号)医生(编号,姓名,科室,职称)1 根据上面基本表的信息定义视图显示每种药品的品名、销售金额2 观察基本表数据变化时,视图中数据的变化。

数据库实验五:视图的应用

数据库实验五:视图的应用

数据库实验五:视图的应用一、实验目的与要求:1.实验目的(1)理解视图的概念;(2)掌握视图的使用方法。

(3)理解视图和基本表的异同之处。

2.实验要求(1)参照实验五中完成的查询,按如下要求设计和建立视图:1)基于单个表按投影操作定义视图。

2)基于单个表按选择操作定义视图。

3)基于单个表按选择和投影操作定义视图。

4)基于多个表根据连接操作定义视图。

5)基于多个表根据嵌套操作定义视图。

6)定义含有虚字段的视图。

(2)分别在定义的视图设计一些查询(包括基于视图和基本表的连接或嵌套查询)。

(3)在定义的视图上进行插入、更新和删除操作,分情况讨论哪些操作可以成功完成,哪些操作不能完成,并分析原因。

(4)在实验报告中要给出具体的视图定义要求和操作要求,并针对各种情况做出具体的分析和讨论。

二、实验内容1、实验原理(1)视图是用SQL SELECT查询定义的,创建视图命令格式如下:CREATE VIEW <视图名> AS <SELECT-查询块>(2)删除视图的命令格式如下:DROP VIEW <视图名>2、实验步骤与结果(1)调出SQL Server2005软件的用户界面,进入SQL SERVER MANAGEMENT STUDIO。

(2)输入自己编好的程序。

(3)检查已输入的程序正确与否。

(4)运行程序,并分析运行结果是否合理和正确。

在运行时要注意当输入不同的数据时所得到的结果是否正确。

(5)输出程序清单和运行结果。

(1)参照实验五中完成的查询,按如下要求设计和建立视图:1)基于单个表按投影操作定义视图。

create view v asselect教师编号,姓名from教师create view v_order asselect*from教师where职称='教授'3)基于单个表按选择和投影操作定义视图。

create view v_cuss asselect教师编号,姓名,职称from教师where职称='教授'4)基于多个表根据连接操作定义视图。

数据库原理索引视图实验报告

数据库原理索引视图实验报告

数据库组成原理实验报告题目:索引、视图的定义院系:计算机科学与工程学院班级:姓名:学号:一、实验题目索引、视图的定义二、实验日期2014年10月25日三、实验目的及要求掌握嵌套查询语句的运用,掌握使用T -SQL语句创建视图的方法,包括视图的建立、删除、修改;了解如何应用视图有选择地查看所需数据,并熟悉通过视图更改数据表中数据的方法。

掌握创建索引的方法。

四、实验环境Sqlserver2008,windows xp。

五、实验内容在数据库TestDB中,基于表"项目数据表"和"员工数据表"创建视图,要求:(1)视图名为"员工项目"。

(2)包含字段"编号"、"姓名"、"名称"和"开始日期"。

(3)字段别名分别是"员工编号"、”员工姓名"、"项目名称"、"项目开始日期"。

六、实验步骤在数据库TestDB中,基于表"项目数据表"和"员工数据表"创建视图,要求为:(1)视图名为"员工项目"。

(2)包含字段"编号"、"姓名"、"名称"和"开始日期"。

(3)字段别名分别是"员工编号"、”员工姓名"、"项目名称"、"项目开始日期"。

(1)打开查询分析器。

在查询窗口书写CREATE VIEW语句创建视图,并指定字段别名:USE TestDBGOCREATE VIEW员工项目(员工编号,员工姓名,项目名称,项目开始日期) ASSELECT a·编号,a·姓名,b·名称,b·开始日期,FROM员工数据表AS a INNER JOIN项目数据表AS bON a·编号=b·负责人WHERE a·编号=b·负责人GO(2)使用INSERT语句通过视图向员工数据表中添加一条记录,要求"姓名"字段值为"马中兴"。

实验6 数据库视图

实验6 数据库视图

实验6 数据库视图一、实验目的:通过该实验掌握创建视图、使用视图的方法。

二、实验原理视图是一种虚拟存在的表,对于使用视图的用户来说基本上是透明的。

视图并不在数据库中实际存在,行和列数据来自定义视图的查询总使用的表,并且是在使用视图时动态生成的。

创建视图CREATE VIEW视图名(列1,列2...)ASSELECT (列1,列2...)FROM ...[WITH CHECK OPTION]注意1.可以通过视图插入数据,但是只能基于一个基础表进行插入,不能跨表更新数据。

2.视图不是表,不保存数据,只是一张虚拟的表,源表的数据发生变化后,视图的结果也同步发生变化。

3.一般情况下,在创建有条件限制的视图时,加上“WITH CHECK OPTION”命令。

不鼓励直接对视图进行修改(插入数据,更改数据及删除数据)三、实验内容及方法实验平台操作系统:win7,数据库管理平台:mysql5.6或者mysql8,实验用数据库:老师提供的数据库脚本TradeDBSQL.txt1.创建统计每笔订单的订购量的视图CREATE VIEW Order1_tASSELECTOrderID,Sum(ROUND(`OrderDetails`.UnitPrice*Quantity*(1-Discount))) AS SubtotalFROM OrderDetailsGROUP BY OrderID;检查视图结果mysql> select * from Order1_t;mysql> show tables;mysql>desc Order1_t;2. 创建一个视图SalesTotals调用1题的视图CREATE VIEW `SalesTotals`ASSELECTOrder1_t.Subtotal AS SaleAmount,Orders.OrderID,panyName,Orders.ShippedDateFROM CustomersJOIN Orders ON Customers.CustomerID = Orders.CustomerID JOIN Order1_t ON Orders.OrderID = Order1_t.OrderID;1)统计1997年单笔订单超过超过2500的客户公司名,订单编号及订购量提示:select * from `SalesTotals` where SaleAmount>3500 and ShippedDate BETWEEN '1997-01-01' And '1997-12-31';或者select * from `SalesTotals` where SaleAmount>3500 and year(ShippedDate)=1997;2)查询1995年单笔订单超过超过5000的客户公司名,订单编号及订购量3)统计1997年每个客户的订购量提示:group by CompanyName;3.创建视图SalesTotals1997CREATE VIEW `SalesTotals1997`ASSELECTpanyName As 公司名,sum(Order1_t.Subtotal) AS 订购量FROM Customers,orders,order1_twhere Customers.CustomerID=Orders.CustomerID and Orders.OrderID = Order1_t.OrderID AND year(Orders.ShippedDate) =1997group by panyName;4.统计1997年产品销售情况CREATE VIEW `1997年产品销售情况`ASSELECTCategories.CategoryName as 产品类别,Products.ProductName as 产品名称,Sum(ROUND(`OrderDetails`.UnitPrice*Quantity*(1-Discount))) AS 销售量FROM CategoriesJOIN Products On Categories.CategoryID = Products.CategoryIDJOIN `OrderDetails` on Products.ProductID = `OrderDetails`.ProductIDJOIN `Orders` on Orders.OrderID = `OrderDetails`.OrderIDWHERE Orders.ShippedDate BETWEEN '1997-01-01' And '1997-12-31' GROUP BY Categories.CategoryName, Products.ProductName;检查视图:select * from `1997年产品销售情况`(1) 写一个视图名为'1997年各产品类别销售情况', 要求统计1997年各产品类别销售情况提示:对于`1997年产品销售情况` 视图进行按产品类别进一步统计,group by ‘产品类别’select 产品类别, sum(销售量) as '类别销售量'from `1997年产品销售情况`group by 产品类别;(2) 将其改造为统计1995年下半年产品销售情况(3)将`1997年产品销售情况`的视图定义中的join 连接都改为等值连接,改造后的视图命名为`1997年产品销售情况2`例如:from Categories JOIN Products On Categories.CategoryID = Products.CategoryID 改为from Categories, Productswhere Categories.CategoryID = Products.CategoryID检查是否改造成功。

实验5 视图 实验报告模板

实验5 视图 实验报告模板

(数据库原理与应用)实验报告实验名称视图的应用实验地点60#504实验时间1.实验目的:掌握视图的知识,体会视图与基本表的区别。

2.实验内容:按教材P176实验5的要求。

3.实验要求:按教材P176实验5的要求。

4.实验准备:认真阅读实验要求,分析各种情况作出具体分析明确要求,复习实验二、三,了解各表之间关系设计记录时要符合实际情况,注意实验二各种约束5.实验过程(含代码、实验过程、遇到的问题和解决方法等):1、建立视图单表、投影、建立视图前后对比单表、选择、建立视图前后对比单表、投影和选择、建立视图前后对比多表、连接、建立视图前后对比多表、嵌套、建立视图前后对比含虚字段的视图2、设计一些查询一般:连接:嵌套:3、1.投影:投影操作中:插入、更新、删除都正常2.选择:宁十一宁十一宁十一宁十一宁十一宁十一选择操作中:插入、更新、删除都正常投影和选择:投影和选择操作中:更新、删除可正常执行插入操作时,插入的数据没有进入视图中,而是仅仅进入视图对应的表中Select*from投影和选择/表名,可知连接:连接操作中:更新可正常执行,而使用插入、删除操作时,出现提示:不可更新,因为修改会影响多个基表嵌套:嵌套操作中:插入的数据仅仅进入视图对应的表中,没有在视图中体现;更新、删除可正常操作虚字段:虚字段操作中:插入仅仅进入表中,不进入视图中;删除时显示:不可更新,因为修改会影响多个基表更新正常6.实验总结:在SQL中,视图是基于SQL语句的结果集的可视化的表。

视图包含行和列,就像一个真实的表。

视图中的字段就是来自一个或多个数据库中的真实的表中的字段。

我们可以向视图添加SQL函数、WHERE以及JOIN语句,我们也可以提交数据,就像这些来自于某个单一的表。

视图可以快速访问两表或多表连接所组成的数据。

有时要访问表间连接所组成的数据集,可以把查询出来的数据集定义成视图,可以帮助快速访问所需的数据。

但是当用户试图修改视图的某些行时,SQL Server必须把它转化为对基本表的某些行的修改。

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

实验六视图的定义及使用实验实验报告实验任务
(一)建立视图(运行并观察结果)
1.建立信息系学生的视图IS_student。

CREATE VIEW IS_Student
AS
SELECT Sno,Sname,Sage
FROM Student
WHERE Sdept='IS'
2.建立信息系选修了1号课程的学生的视图IS_S1。

CREATE VIEW IS_S1(Sno,Sname,Grade)
AS
SELECT,Sname,Grade
FROM Student,SC
WHERE Sdept='IS'AND
=AND
='1';
3.建立信息系选修了1号课程且成绩在90分以上的学生的视图IS_S2。

CREATE VIEW IS_S2
AS
SELECT Sno,Sname,Grade
FROM IS_S1
WHERE Grade>=90
4.建立一个反映学生出生年份的视图BT_S。

CREATE VIEW BT_S(Sno,Sname,Sbirth)
AS
SELECT Sno,Sname,2004-Sage
FROM Student
5.将学生的学号及他的平均成绩定义为一个视图S_G。

CREATE VIEW S_G(Sno,Gavg)
AS
SELECT Sno,AVG(Grade)
FROM SC
GROUP BY Sno
6.将课程的课号及选修人数定义为一个视图C_XIU。

CREATE VIEW C_XIU(Cno,Scount)
AS
SELECT Cno,COUNT(*)
FROM SC
GROUP BY Cno
(二)查询视图(运行并观察结果)
1.在信息系学生的视图中找出年龄小于20岁的学生。

SELECT Sno,Sage
FROM IS_Student
WHERE Sage<20
2.查询信息系选修了1号课程的学生。

SELECT,Sname
FROM IS_Student,SC
WHERE=AND
='1'
3.在S_G中查询平均成绩在90分以上的学生的学号和平均成绩。

SELECT*
FROM S_G
WHERE Gavg>=90
4.在C_XIU中查询选修人数在2人以上的课程号。

SELECT Cno
FROM C_XIU
WHERE Scount>=2
(三)更新视图(运行并观察结果)
【注意】数据未更新前,视图IS_Student内的数据:
1.将信息系学生视图IS_Student中学号为95002的学生姓名改为’刘辰’。

UPDATE IS_Student
SET Sname='刘辰'
WHERE Sno='95002'
数据更新后,视图IS_Studnt内数据:
2.向信息系学生视图IS_S中插入一个新的学生记录,其中学号为95029,姓名为赵新,年龄为20。

INSERT
INTO Student(Sno,Sname,Sage,Sdept)
VALUES('95029','赵新',20,'IS')
3.删除信息系学生视图IS_S中学号为95029的记录。

DELETE
FROM IS_Student
WHERE Sno='95029'
(四)删除视图(运行并观察结果)
【注意】没有删除任何视图前,数据SC内所有已建立的视图:
1.删除IS_S1视图。

DROP VIEW IS_S1
2.删除BT_S视图。

DROP VIEW BT_S
将以上SQL语句存盘备查。

【实验报告结束!】。

相关文档
最新文档