实验六 视图的创建和使用
实验六创建和应用模板
![实验六创建和应用模板](https://img.taocdn.com/s3/m/5dbc210015791711cc7931b765ce050876327595.png)
实验六创建和应⽤模板实验六创建和应⽤模板【实验⽬的】1.掌握创建模板的⽅法。
2.掌握使⽤已创建的模板创建⽹页的⽅法。
【实验环境】1.⼯具软件:Dreamweaver CS62.按照本实验提供的⽹页,制作相同的⽹页。
【实验内容】1.按照本实验提供的⽹页,制作相同的⽹页。
2.练习创建模板和使⽤模板制作⽹页的⽅法。
【实验步骤】1.创建模板在使⽤模板之前,要先创建模板,创建模板步骤如下:(1)执⾏【站点】->【新建站点】命令,站点名称:mysite,本地站点⽂件夹:E:\mysite\。
(2)这⼀步有两种⽅法,⼀种⽅法是:执⾏【窗⼝】->【资源】命令,打开“资源”⾯板,选择模板图标。
在“资源”⾯板的右下⽅单击“新建模板”按钮,如图6-1所⽰,输⼊新模板的名称(myTemplate),双击打开该模板,就可以编辑该模板了;另⼀种⽅法是:先建⽴普通⽹页,再把这个⽹页另存为模板,执⾏“⽂件->另存为模板”命令,或在插⼊栏的“常⽤”选项卡中单击“模板”按钮后⾯的下拉箭头,然后在弹出的下拉列表框中选择“创建模板”选项,出现“另存模板”对话框。
图6- 1 “资源”⾯板-模板(3)在“设计”视图中,设计⽹页(⽹页中先插⼊⼀个1⾏2列的表格,然后在其下⽅再插⼊⼀个2⾏2列的表格),如图6-2所⽰。
图6-2 设计⽹页(4)在第⼆个表格的第1个单元格内定位光标。
执⾏【插⼊】->【模板对象】->【可编辑区域】命令。
或在“插⼊栏”的“常⽤”类别中,单击“模板”按钮后⾯的下拉箭头,如图6-3所⽰,并在弹出的下拉列表框中选择“可编辑区域”选项,弹出“新建可编辑区域”对话框,如图6-4所⽰。
图6-3 单击“模板:可编辑区域”按钮图6- 4 “新建可编辑区域”对话框(5)在“名称”⽂本框中输⼊⼀个名称,默认名称为“EditRegion1”。
(注意:不能对模板中的多个可编辑区域使⽤相同的名称。
)(6)单击“确定”按钮,可编辑区域“EditRegion1”创建完成,如图6-5所⽰。
MFC实验六 文档视图和单文档界面
![MFC实验六 文档视图和单文档界面](https://img.taocdn.com/s3/m/5d26711d4a7302768e9939e4.png)
实验六文档/视图和单文档界面1.创建一个单文档界面应用程序,项目名设置为wx03.2.在文档类CWx03Doc中添加数据成员用于保存应用程序的数据。
二维数组m_clrGrid用于保存每个方格的颜色,数据成员m_clrCurrentColor用于保存方格被单击时赋给方格的颜色。
3.在文档类CWx03Doc的OnNewDocument函数中对数据成员进行初始化:4.向类wx03Doc添加三个成员函数,如下:函数定义如下:GetCurrentColor、GetSquare和SetSquare作为文档和视图之间的桥梁,视图对象通过它们可以访问文档的保护成员。
5.编辑CWx03View的OnDraw函数,在视图窗口中绘制网格,并根据文档类中保存的方格颜色来设置方格的颜色。
6.在视图类CWx03View中添加消息处理函数WM_LBUTTONDOWN的处理函数:7.利用菜单编辑器编辑个添加如下菜单,各菜单的属性设置如下表:8.9.为添加的菜单项添加命令消息处理函数和用户界面更新命令处理函数。
由于这些函数都是针对文档数据的操作,因此将这些菜单命令的消息处理函数添加在文档类中。
10.编译、链接和运行程序,结果如下:11.添加序列化功能,将各个方格的颜色以及当前颜色存入文件,并允许从文件中读取。
12.编写一个SDI程序,可以用鼠标在视图窗口中划线,并能将所画的线条保存。
13.定义一个新类Cline。
14.编辑类Cline,在其中添加相应的数据成员和成员函数。
15.在文档类中添加保存线段的数组。
在头文件wx03Doc.h中添加如下的数据成员和成员函数,并包含定义类Cline的头文件和使用MFC模板类时需要的头文件:在文档类的实现文件中编写添加的成员函数:16.当在视图窗口中按下鼠标右键时开始画线,鼠标右键抬起时完成线段的绘制,在鼠标移动的过程中画橡皮筋线。
因此需要记录划线的起点和终点并设置画橡皮筋线的跟踪标志。
画橡皮筋线时,需要将原来的线条删除,重新画一条从起点到当前鼠标指针坐标的线条,最简单的办法是使用R2_NOT绘图模式反转线条。
实验六 视图的定义和使用实验(报告)
![实验六 视图的定义和使用实验(报告)](https://img.taocdn.com/s3/m/475052d85022aaea998f0fe1.png)
实验六视图的定义和使用实验一、实验目的使学生掌握使用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 视图](https://img.taocdn.com/s3/m/22f3b74c05087632311212c3.png)
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 ]
贵州大学实验报告
![贵州大学实验报告](https://img.taocdn.com/s3/m/7844b4e8195f312b3169a593.png)
贵州大学实验报告
学院:计算机科学与信息学院专业:计算机科学与技术班级:级计科二班姓名:杨帆学号:
实验六视图的创建与使用
一、实验目的
)理解视图的概念。
)掌握创建视图的方法。
)掌握更改视图的方法。
)掌握用视图管理数据的方法。
二、实验内容
、用语言创建、管理视图(以下题目需提交)
()创建视图
)创建一个名为的水平视图,从数据库的表中查询出性别为“男”的所有学生的资料。
并在创建视图时使用。
(注:该子句用于强制视图上执行的所有修改语句必须符合由语句中的条件。
)
语句为:
*
'男'
)创建一个名为的投影视图,从数据库的表中查询学分大于的所有课程的课程号、课程名、总学时。
语句为:
>
)创建一个名为的视图,能检索出“”班所有女生的学号、课程号及相应的成绩。
语句为:
''
)创建一个名为的视图,能检索出选课学生的学号、姓名、课程名、成绩。
语句为:
)将视图删除。
语句:
()管理视图中的数据
)从视图查询出班级为“”、姓名为“王品”的资料。
语句:
*
'' '王品'
)向视图中插入一行数据。
学号:,姓名:刘丽,班级:,性别:男,
家庭住址:南京,入学时间:2005/09/01,出生年月:1983/01/09,系别:
语句:
('','刘丽','男',1983/01/09,'',2005/09/01,'南京。
实验六 视图的定义及使用实验 实验报告
![实验六 视图的定义及使用实验 实验报告](https://img.taocdn.com/s3/m/5c410b82b9d528ea81c77914.png)
实验六视图的定义及使用实验实验报告实验任务(一)建立视图(运行并观察结果)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分以上的学生的学号和平均成绩。
实验六 视图的基本操作
![实验六 视图的基本操作](https://img.taocdn.com/s3/m/a55cfadf80eb6294dd886c5e.png)
实验6 SQL Server 2000的视图操作一、实验目的1.了解视图的功能。
2.掌握应用企业管理器创建和查看视图的方法。
3.掌握应用企业管理器视图修改和删除视图的方法。
4.掌握应用T-SQL创建和查看视图的方法。
5.掌握应用T-SQL修改和删除视图的方法。
二、实验要求1.创建student数据库中的相关视图。
2.保存实验结果到网络文件夹。
三、实验步骤1.在members表中创建地址为“湖南株洲”的会员的视图V_addr;create view V_addrasselect*from members where m_address='湖南株洲'with check option2.在orders表中创建购买了商品号为“0910810004”商品的视图V_buy;3.在members和orders表上创建“湖南株洲”的会员购买了商品号为“0910810004”商品的视图V_addr_buy;4.在视图V_addr上查询性别为“男”的会员信息;5.在视图V_addr中增加一条记录(内容如下),并查看members表中记录的改变情况。
记录内容如下:(T-SQL)‘fengxk’,‘冯向克’,‘男’,‘1978-06-28’,‘北京市’,5000.0,‘fxk0628’6.将视图V_addr中会员号为“liuzc518”的会员的密码修改为“liuzc0518”,并查看members中记录的改变情况;再按F5或点击工具栏上的运行按钮“”,比较运行前后的结果。
7.在V_addr中删除会员号为“fengxk”的记录,并查看members中记录的改变情况;再按F5或点击工具栏上的运行按钮“”,比较运行前后的结果。
8.删除视图V_addr_buy、V_buy和V_addr;9.将步骤1-8命令脚本(VIEW01.SQL)保存上交以备教师检查。
10.在企业管理器中完成步骤1-8,并与T-SQL操作进行比较。
实验六 视图和索引 实验指导
![实验六 视图和索引 实验指导](https://img.taocdn.com/s3/m/c68837fb9e31433238689303.png)
实验六视图和索引实验指导一、视图视图是SQL Server中重要的数据库对象。
视图常用于集中、简化和定制显示数据库的数据信息,为用户从多种角度观察数据库中的数据提方便。
为了屏蔽数据的复杂性、简化用户对数据的操作、控制用户访问数据的权限、保护数据安全,常为不同的用户创建不同的视图。
1. 视图的基本概念视图是从一个或多个表或视图导出的表;其结构和数据是建立在对表的查询基础上的。
和表一样,视图也是包括几个被定义的数据列和多个数据行。
但就本质而言,这些数据列和数据行来源于其所引用的表。
所以,视图不是真实存在的基础表,而是一张虚表。
视图所对应的数据并不实际地以视图结构存储在数据库中,而是存储在视图所引用的表中。
视图一经定义便存储在数据库中,与其相对应的数据并没有像表那样又在数据库中再存储一份。
通过视图看到的数据,只是存放在基本表中的数据。
对视图的操作与对表的操作一样,可以对其进行查询、修改(有一定的限制)、删除。
当对通过视图看到的数据进行修改时,相应的基本表的数据也要发生变化,同时若基本表的数据发生变化,则这种变化也可以自动地反映到视图中。
可以将任何符合视图创建规定的SELCT语句命名和存储为视图。
在视图中北查询的表称为基表。
视图的常见实例如下。
●一个基表的行或列的于集。
●两个或多个表的合并。
●两个或多个表的联接。
●一个基表的统计总汇。
●另外一个视图的子集。
●视图和基表的混合。
2. 创建视图在SQL Server2008中创建视图,创建者必须拥有创建视图的权限,并且对视图中引用的基表或视图有许可权。
此外,创建视图前还应该注意以下几点:●只能在当前数据库中创建视图。
如果使用分布式查询,视图所引用的基表和视图可以存在于其他数据库或其他服务器中。
●在一个视图中最多引用1024列,视图中记录的行数限制由基表中的记录数目决定。
●视图的名称必须遵循标识符的命名规则,且对每个架构都必须唯一,并且该名称不得与该架构包含的任何表的名称相同。
数据库实验——视图的创建与使用
![数据库实验——视图的创建与使用](https://img.taocdn.com/s3/m/c4fb6f11182e453610661ed9ad51f01dc381575e.png)
数据库实验——视图的创建与使用数据库是一种利用计算机系统来管理、存储、处理数据的技术,视图则是在数据库中使用的一种技术。
视图是一种虚拟表,实际上并不存储数据,而是使用查询语句从一个或多个表中提取所需的数据。
在本次实验中,将学习视图的创建和使用。
一、实验目的1. 理解视图的概念和特点;2. 掌握视图的创建和使用方法;3. 熟悉视图的应用场景。
二、实验内容1. 视图的创建方法;2. 视图的使用方法;3. 视图的实际应用。
三、实验过程1. 视图的创建方法视图的创建方法如下:CREATE VIEW [视图名称] AS [查询语句];例如,要从学生表中提取所有学生的姓名和学号,则可以使用以下语句创建视图:CREATE VIEW student_info AS SELECT sname, sno FROM student;这样,就创建了一个名为student_info的视图,其中包含学生表中的姓名和学号两列数据。
2. 视图的使用方法创建视图之后,可以像使用普通表一样使用视图。
例如,可以使用SELECT语句来查询视图中的数据,如下所示:SELECT * FROM student_info;这样就可以查询出student_info视图中的所有数据。
3. 视图的实际应用视图在实际应用中有很多用途,例如:(1)简化查询语句当数据库中有较多的关联表时,查询语句会变得非常复杂。
此时,可以使用视图来简化查询语句。
例如,以下语句查询学生所在的班级名称:SELECT s.sname, ame FROM student s INNER JOIN class c ON s.classno = c.classno;使用视图后,查询语句可以变得更简洁:CREATE VIEW student_class AS SELECT s.sname, ame FROM student s INNER JOIN class c ON s.classno = c.classno;SELECT * FROM student_class;(2)保护数据安全例如,可以创建只包含学生姓名和学号的视图,而不包含其他敏感数据,以确保保护学生的隐私。
数据库原理实验指导实验6 视图的应用
![数据库原理实验指导实验6 视图的应用](https://img.taocdn.com/s3/m/5a86db65a45177232f60a2bf.png)
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。
视图创建和使用
![视图创建和使用](https://img.taocdn.com/s3/m/bade1b82d0d233d4b14e6950.png)
实训四视图[实验目的]:•掌握视图的定义与删除;•灵活查询与更新视图。
[实验要求]:利用实验一中创建的六个基本表 s,t,c,sc,tc,d,用SQL语句完成如下操作。
[实验步骤]:一、定义与删除视图•创建一个计算机系教师情况的视图 SUB_T,视图由子查询中的三列TNO,TNAME,PROF组成;create view sub_t as select tno,tname,proffrom twhere dept=' 计算机 '•创建一个学生情况视图,包括学号、姓名、课程名及成绩;create view s_c_sc(sno,sname,cname,score)as select s.sno,sname,cname,scorefrom s,c,scwhere s.sno=sc.sno and o=o•创建一学生平均成绩视图;create view s_avg(sno,avg) as select sno,avg(score)from scgroup by sno•创建数学系学生的视图 MA_S;create view ma_s as select *from swhere dept=' 数学 '•创建数学系选修了 C1号课程的学生的视图;create view ma_c1 as select *from s,scwhere dept=' 数学 'and s.sno=sc.sno and cno='C 1'•将每门课程和它的平均成绩定义为一个视图 CNO_AVG;create view cno_avg(cno,avg_sco) as select cno,avg(score) from scgroup by cno•删除计算机系教师情况的视图。
Drop view sub_t二、查询与更新视图•查找视图 SUB_T中职称为教授的教师号和姓名;select tno,tnamefrom sub_twhere prof=' 教授 '•在视图 MA_S上查询年龄大于20岁的学生信息;select *from ma_swhere age>20•在视图 CNO_AVG中,查询平均成绩大于80分的课程号和平均成绩;select cno,avg_scofrom cno_avgwhere avg_sco>80•向计算机系教师视图 SUB_T中插入一条记录(教师号:T6,姓名:李力,职称:副教授);insert into sub_t(tno,tname,prof)values(‘T 6' ,' 李力 ',' 副教授 ')•将计算机系教师视图 SUB_T中刘伟的职称改为“副教授”;update sub_tset prof=' 副教授 'where tname=' 刘伟 '•删除计算机系教师视图 SUB_T中刘伟教师的记录;deletefrom sub_twhere tname=' 刘伟 '•在视图 MA_S上将学号为“20040102”的学生删除。
数据库实验实验6视图1
![数据库实验实验6视图1](https://img.taocdn.com/s3/m/a518d9d076a20029bd642d99.png)
实验六数据库的视图一、实验目的1.掌握创建视图的SQL语句的用法。
2.掌握使用企业管管理器创建视图的方法。
3.掌握使用创建视图向导创建视图的方法。
4.掌握修改视图的方法。
二、实验内容1、在企业管理器里创建视图以建立客户编号为‘K00201’的客户全部信息的视图KH操作为例:(1)执行‚工具—向导‛命令图7.1(2)选择表中的字段(3)‚定义限制‛对话框,限制条件图7.3 (4)查询视图所得的结果SELECT * FROM KH练习:建立关于销售情况的视图XS,包括产品名称,客户名称,订购数量并查询结果。
2. 在企业管理器里修改视图如将视图KH改为客户编号为‘XXX’ (XXX自己输入相应的值) (1)执行‚设计视图‛命令(2)选择要在视图中引用的列(3)输入指定要检索行的准则(4)执行‚运行‛命令查看结果集图7.13 3.使用T-SQL语句更新视图3. 使用企业管理器删除视图图7.15 执行“删除”命令练习:在查询分析器中用T-SQL命令完成以下操作: 建立订购数量大于200的销售情况视图XS1(利用XS) 并查询结果CREATE VIEW XS1ASSELECT *FROM XSWHERE QUANTITY >200建立各产品的订购数量的总数的视图SL,包括产品编号,订购总量并查询结果CREATE VIEW SLASSELECT PCODE,OQUANTITYFROMSALE查找订购数量=300的客户名称,(利用视图XS1)并查询结果SELECT CNAMEFROM XS1WHERE建立所在地为长沙的客户的视图KH1 CREATE VIEW KH1ASSELECT *FROM CUSTOMERWHERE通过视图KH1插入记录(‘K00203‘,’王府井’,’长沙’)并查询结果INSERTINTO KH1V AULES(‘K00203‘,’王府井’,’长沙’)INSERTINTO KH1(CNO,CNAME,SITE)V ALUES('K00204','大润发','上海')通过视图KH1插入记录(‘K00204‘,’大润发’,‘上海’)并查询结果CREATE VIEW XS1 ASSELECT *FROM XSWHERE QUANTITY >200UPDATE KH1SET C INSERTINTO KH1(CNO,CNAME,SITE)V ALUES('K00204','大润发','上海') 将SL视图中C20012产品的总量更新为30。
6视图的创建与使用汇总
![6视图的创建与使用汇总](https://img.taocdn.com/s3/m/0826a222f56527d3240c844769eae009591ba273.png)
强制视图上执行的所有 数据修改语句都必须符 合由select_statement 设置的准则
2024/7/14
15
例6.1 利用Seller表查询销售员的编号、姓名、性别、地址。 Use sales GO CREATE VIEW dbo.V_Seller (编号,姓名,性别,地址) AS SELECT SaleID, Salename, Sex, Address FROM Seller
2024/7/14
26
使用sp_depends显示视图对表的依赖关系和引用的 字段
例6.7 显示视图view-stu的表依赖关系和引用的字段情况。 Use student Go sp_depends view_stu
2024/7/14
27
修改视图
ALTER VIEW [ schema_name . ] view_name [ (column [ ,...n ] ) ]
2024/7/14
22
例:Customer表的数据分布在三个服务器位置的三个成员表中: Server1 上的 Customer_33、Server2 上的 Customer_66 和 Server3 上的 Customer_99。 那么在Server1 的分区视图是通过以下方式定 义的:
CREATE VIEW view_Customer AS
2024/7/14
16
例6.2 在sales数据库中创建如下视图:利用Custmoer、Orders、OrderDetail 三个表来查询定单数量在50和100之间的客户编号、公司名称、产品编号、 定单编号,订单日期,订单数量。
CREATE VIEW V_customer AS SELECT Customer.CustomerID, panyName, OrderDetail.ProductID, Orders.OrderID AS Order_ID, Orders.OrderDate, OrderDetail.Quantity FROM Customer INNER JOIN Orders ON Customer.CustomerID = Orders.CustomerID INNER JOIN OrderDetail ON Orders.OrderID = OrderDetail.OrderID WHERE (OrderDetail.Quantity > 50) AND (OrderDetail.Quantity < 100)
6.视图的创建与使用
![6.视图的创建与使用](https://img.taocdn.com/s3/m/72f6b74677232f60ddcca1b3.png)
1. 插入数据记录
可以向视图的结果集中插入新的记录,但注意,新插入 的记录是保存在视图的数据源(表或其他视图)中。可以利 用企业管理器和t-sql语句中的insert…into命令来插入新记录, 但注意被插入的列都属于同一个数据源。
例子5-16:首先创建了一个新的视图 v_employees,该视图基 于表employees创建。
图5-38 完成创建视图向导对话框
6.2.4 查看视图信息
利用企业管理器查看视图信息
点 击 属 性
视图的权限 展 开 数 据 库
右 击 视 图
视图的查询语句
6.2.5 修改视图
1、利用企业管理器对视图进行修改 在企业管理器中,右击要进行修改的视图,从弹出的快 捷菜单中选择“设计视图”选项,则出现修改视图对话框。 2、利用ALTER命令对视图进行修改 ALTER VIEW view_name [(column[,…n])] [with encryption] AS select_statement [with check option]
Insert
into v_employees Values(001,’李力’,22,’m’,2000) Select * from v_employees
2. 更新数据记录 使用视图可以更新数据,但更新的只是数据库中基表 的数据记录。可以使用企业管理器和t_sql语句中的update …set命令来进行记录的更新。应该注意的是更新的列应属 于同一个表而且修改后的值同样会受WITH CHECK OPTION 选项限制。
选择表student和sc中的部分字段和记录创建视图, 并且限制表student中的记录只能是部系为软件学院的记 录集合,视图定义为view_part.
数据库实验6 视图创建与使用
![数据库实验6 视图创建与使用](https://img.taocdn.com/s3/m/ce31dbea0975f46527d3e1ae.png)
实验六视图的创建与使用学号 __ 姓名_ _ 班级__ _专业_ _一、实验目的1)理解视图的概念。
2)掌握创建视图的方法。
3)掌握更改视图的方法。
4)掌握用视图管理数据的方法。
二、实验内容创建视图是数据库应中的常见需求,可以使用企业管理创建、管理视图,也可以用T-SQL 语言创建、管理视图。
1、用创建视图向导创建视图使用视图向导创建一个名为studview1的视图,该视图从student表中查询出班级号为“052”班的所有学生的学号,姓名,性别,班级,家庭住址,入学时间,生日等我还资料。
(提示:分别进入企业管理器,再分别单击“工具”、“向导”、“数据库”、“创建视图向导”,然后一步一步地创建视图。
)2、用企业管理器创建、管理视图(1)创建视图A、使用企业管理器在表student上创建一个能查询“051”班学生学号、姓名、家庭住址信息的=‘051’视图,视图名为studentview2。
(提示:依次进入企业管理器、数据库、XSGL库,并用鼠标右键单击“视图”)。
B、使用企业管理器在表student、course、sc表上创建一个能检索学生的学号、姓名、学习课程号、学习课程名及课程成绩。
视图名自取。
(2)修改视图stuview1将视图stuview1的定义修改为查询“051”班男生学号、姓名、家庭住址信息的投影视图。
(提示:修改视图:在企业管理器中选中视图后->击右键->按设计视图->进行修改)(3)管理视图中的数据查看视图stuview1中的数据。
用鼠标右键单击要管理的视图stuview1,单击“打开视图”,再单击“返回所有行”。
3、用T-SQL语言创建、管理视图(1)创建视图1)创建一个名为stuview2的视图,从数据库XSGL的student表中查询出性别为“男”的所有学生的资料。
T-SQL语句为:create view stuview2asselect *from studentwhere sex='男'2)创建一个名为stuview3的视图,能检索出选课学生的学号、姓名、课程名、成绩。
实验6 创建和使用视图
![实验6 创建和使用视图](https://img.taocdn.com/s3/m/d240345d804d2b160b4ec06e.png)
实验6 创建和使用视图一、实验目的与要求掌握使用T-SQL语句创建视图的方法,了解如何应用视图有选择的察看所需数据,并熟悉通过视图更改数据表中数据的方法。
通过对视图的创建及查询、修改、删除、更新视图等应用,能体会到使用视图的优点。
二、实验准备了解视图的基本概念,视图与表的区别。
视图是数据库用户使用数据库的观点,它对相应的数据不进行实际存储,是一张虚拟表,对视图的数据进行操作时,系统根据视图的定义去操作与视图相关联的基本表。
了解视图创建的基本语法格式以及视图创建后通过视图查询、修改、删除、更新数据的语法。
三、实验内容和步骤1、在数据库TestDB中,基于表“项目数据表”和“员工数据表”创建视图,要求为:(1)视图名为“员工项目”。
(2)包含字段“编号”、“姓名”、“名称”和“开始日期”。
(3)字段别名分别为“员工编号”、“员工姓名”、“负责项目名称”、“项目开始日期”。
打开查询分析器,在查询窗口书写CREATE VIEW语句创建视图,并制定字段别名:USE TestDBGO--创建视图CREATE VIEW 员工项目(员工编号,员工姓名,负责项目名称,项目开始日期)ASSELECT a.编号,a.姓名, b.名称,b.开始日期,FROM 员工数据表AS a INNER JOIN项目数据表AS bON a. 编号=b. 负责人GO--查看视图信息EXEC sp_helptext 员工项目1、使用INSERT语句通过视图向员工数据表中添加一条记录,要求“姓名”字段值为“马中兴”USE TestDBGOINSERT INTO 员工项目(员工编号,员工姓名)V ALUES (29, '马中兴')GO2、使用UPDATE语句通过视图将员工姓名“杨亭亭”改为“杨婷婷”USE TestDBGOUPDATE 员工项目SET 员工姓名= '杨婷婷'WHERE 员工姓名= '杨亭亭'GO3、执行系统存储过程sp_rename将视图更名为“employee_project_VIEW”USE TestDBGOEXEC sp_rename '员工项目', 'employee_project_VIEW '思考与练习:(针对老师提供的实验4思考与练习的STU_COURSE数据库)1、(1)创建CS_XS视图,包括计算机专业各学生的学号、其选修的课程号及成绩。
实验6 数据库视图
![实验6 数据库视图](https://img.taocdn.com/s3/m/7114ad8976a20029bd642df5.png)
实验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检查是否改造成功。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验六视图的创建和使用
开课实验室:指导老师:
学院:专业(班级):
姓名:学号:
一、实验目的与要求
1)理解视图的概念
2)掌握利用企业管理器和CREATE VIEW命令创建视图方法。
3)熟悉修改视图、查看视图和删除视图的方法。
4)掌握通过视图修改数据表的方法
二、实验过程设计及实验步骤
创建视图是数据库应用中的常见需求,可以使用企业管理器创建、管理视图,也可以用T-SQL语句创建、管理视图。
1)在企业管理器中创建如下视图:在XSGL数据库中使用表STUDENT和SCORE 创建视图VIEW_STUDENTSCROE,来查询每个学生的姓名和选课情况。
2)在查询分析器中创建视图:将上题用CREATE VIEW 来创建,视图名为VIEW2 程序代码:
3)查看视图信息:使用系统存储过程SP_HELP、SP_HELPTEXT、SP_DEPENDS
4)删除视图:将视图VIEW2删除.
三、SQL调试及结果
创建视图是数据库应用中的常见需求,可以使用企业管理器创建、管理视图,也可以用T-SQL语句创建、管理视图。
1)在企业管理器中创建如下视图:在XSGL数据库中使用表STUDENT和SCORE 创建视图VIEW_STUDENTSCROE,来查询每个学生的姓名和选课情况。
2)在查询分析器中创建视图:将上题用CREATE VIEW 来创建,视图名为VIEW2 程序代码:
CREATE VIEW VIEW2
AS
SELECT STUDENT.SNAME,O
FROM STUDENT,SCORE
3)查看视图信息:使用系统存储过程SP_HELP、SP_HELPTEXT、SP_DEPENDS 执行代码;SP_HELPTEXT VIEW2
执行代码:SP_HELP VIEW2
执行代码:SP_DEPENDS VIEW2
4)删除视图:将视图VIEW2删除. 执行语句:
USE XSGL
DROP VIEW VIEW2
四、实验体会
通过此次学习我理解视图的概念,掌握利用企业管理器和CREATE VIEW命令创建视图方法。
熟悉修改视图、查看视图和删除视图的方法。
掌握通过视图修改数据表的方法。
虽然在实验的过程中会有很多疏忽,但我相信经过不断的学习今
后会熟练的!。