实验五 视图的规划与操作

合集下载

视图的使用---实验报告5

视图的使用---实验报告5
as
select学生档案.学号,姓名,性别,专业,班级,学生成绩表.课程ID,总成绩
from学生档案,学生成绩表
where学生档案.学号=学生成绩表.学号and学生档案.学号in(
select学号
from学生成绩表
where总成绩>=85)
运行结果如图所示:
五、教师评语பைடு நூலகம்
set课程名称='逻辑学'
where课程ID='RX0002'
运行结果如图所示:
6_4_10视图的删除
drop view管理学课程信息简表
运行结果如图所示:
6_4_11使用“企业管理器”创建视图
运行结果如图所示:
四、出现的问题及解决方案
在基于多张表嵌套查询的视图中,要对“学生成绩优秀表”进行查询,按书本上代码进行查询时出错,代码为:
6_4_4基于多张表连接的视图
create view学生课程成绩表
as
select学生档案.学号,姓名,性别,专业,班级,学生成绩表.课程ID,总成绩
from学生档案,学生成绩表
where学生档案.学号=学生成绩表.学号
运行结果如图所示:
6_4_5基于多张表嵌套查询的视图
create view学生成绩优秀表
as
select学生档案.学号,姓名,性别,专业,班级,学生成绩表.课程ID,总成绩
from学生档案,学生成绩表
where学生档案.学号in(
select学号
from学生成绩表
where总成绩>=85)
运行结果如图所示:
6_4_6含有虚字段的视图
create view学生期末平均成绩表

实验五 图

实验五 图

实验五、图一、实验项目名称图的存储遍历二、实验目的(1)了解熟知图的定义和图的基本术语,掌握图的几种存储结构。

(2)掌握灵界矩阵和邻接表定义的特点,并通过实例解析掌握邻接矩阵和邻接表的类型定义。

(3)掌握图的遍历定义、复杂性分析及应用,并掌握图的遍历方法及其基本思想。

三、实验要求(1)认真阅读和掌握和本实验相关的教材内容。

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

(3)掌握图的深度优先搜索和广度优先搜索方法。

四、实验原理C/C++程序设计基本原理五、实验内容(1)建立无向图的邻接矩阵或邻接表。

(2)图的深度优先搜索。

(3)图的广度优先搜索。

(4)编写测试主函数并上机运行。

打印出运行结果,并结合程序运行结果进行分析。

Part1:邻接表存储及遍历(侧重)1.邻接表的定义2.准备一个重要工具—定位函数:返回顶点在图中位置3.邻接表的创建4.图的深度优先遍历算法(DFS)5.图的广度优先遍历算法6.打印邻接表代码测试与结果:通过主函数,建立如有所示的有向图,并调用以上所有函数,测试其正确性并分析程序的运行结果。

主函数测试:PartII:图的邻接矩阵存储和遍历1.邻接矩阵的类型2.遍历矩阵要用的数据容器3.创建邻接矩阵4.深度优先遍历5.广度优先遍历代码测试与结果:通过主函数,建立如有所示的有向图,并调用以上所有函数,测试其正确性并分析程序的运行结果。

六、实验心得本次图上机实习,因为深度优先遍历与广度优先遍历用到了队列和栈,复习了原来的知识,同时也尝试将这两类基础函数作为头文件使用,收货颇丰。

同时在写线索二叉树时,遇到了一些理解困难,因为上课时这个知识点没怎么听,意识到了上课认真听讲的重要性,同时也要加强动手实践,拓宽知识面。

面对困难,比如说比较难懂的知识点,不要灰心,要坚持,在坚持不住时再坚持一下,你便做到了常人不能做到的事情,这才是成功者该有的品质。

我觉得自己要多努力,要见贤思齐,见不贤而内自省,才能让自己不再是井底之蛙,才能使自己的大学生活变得更充实。

实验五 视图的应用

实验五 视图的应用

实验五视图的应用5-1在实验二建立的基础表的基础上,设计和建立视图1、投影create view投影asselect教师编号,姓名from教师;2、选择create view选择asselect*from教师where职称='教授';3、投影和选择select*from投影和选择;select*from投影join选择on投影.教师编号=选择.教师编号;select*from投影where投影.教师编号in(select教师编号from虚字段where工资>=200)4、连接create view连接asselect教师编号,职称,课程编号,课程名称from教师join课程on教师.教师编号=课程编号;5、嵌套create view嵌套asselect*from教师where教师编号in(select责任教师from课程where性别='男')6、虚字段create view虚字段(教师编号,姓名,工资)asselect i.教师编号,i.姓名,i.工资from教师i,课程jwhere i.教师编号=j.责任教师;5-2分别在定义的视图上设计一些查询一般简单查询:select*from投影和选择;连接查询:select*from投影join选择on投影.教师编号=选择.教师编号;嵌套查询:select*from投影where投影.教师编号in(select教师编号from虚字段where工资>=200)^_^^_^^_^^_^^_^^_^^_^^_^^_^_^^_^宁十一^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^_^^_^^_^5-3在不同的视图上分别设计一些插入、更新和删除操作,分情况讨论哪些操作可以完成,那些操作不能完成,并分析原因1、投影insert into投影values('56','吴宁');select*from投影;update投影set姓名='王宁'where教师编号='56';select*from投影;delete投影where教师编号='56';select*from投影;2、选择insert into选择values('25','9','钱小2','女','教授','软件','10');select*from选择;select*from教师;update选择set姓名='钱小二'where教师编号='25';select*from选择;select*from教师;delete选择where教师编号='25';select*from选择;select*from教师;3、投影和选择insert into投影和选择values('13','清河');select*from投影和选择;select*from教师;update投影和选择set姓名='qh'where教师编号='19'; update投影和选择set姓名='zc';delete投影和选择where教师编号='19';delete投影和选择where教师编号='2';select*from投影和选择;4、连接insert into连接values('15','副教授','12','java'); update连接set职称='教授'where教师编号='2'; select*from连接;delete连接where教师编号='2';5、嵌套insert into嵌套values('24','2','cd','男','教授','软件','100'); select*from嵌套;select*from教师;update嵌套set姓名='dc'where教师编号='24'; select*from教师;update嵌套set姓名='dc'where教师编号='8'; select*from嵌套;select*from教师;delete嵌套where姓名='dc';select*from嵌套;select*from教师;6、虚字段insert into虚字段values('32','xx','200');select*from虚字段;select*from教师;update虚字段set姓名='b b q'where教师编号='2'; select*from虚字段;select*from教师;delete虚字段where教师编号='5';。

数据库实验报告视图

数据库实验报告视图

大连海事大学数据库原理课程实验大纲实验名称:实验五视图实验学时: 2适用专业:智能科学与技术实验环境: Microsoft SQL server 20141实验目的(1)掌握SQL视图语句的基本使用方法,如CREATE VIEW、DROP VIEW。

(2)掌握视图更新、WITH CHECK OPTION等高级功能的使用。

2实验内容2.1 掌握SQL视图语句的基本使用方法(1)创建视图(省略视图列名)。

(2)创建视图(不能省略列名的情况)。

(3)删除视图(RESTRICT / CASCADE)。

2.2 掌握视图更新和WITH CHECK OPTION的高级使用方法(1)创建视图(WITH CHECK OPTION),并利用INSERT、DELETE和UPDATE语句加以验证。

(2)创建一个行列子集可更新视图,并利用INSERT、DELETE和UPDATE语句加以验证。

(3)创建一个不可能更新的视图,并利用更新语句验证该视图不可更新。

3实验要求(1)深入复习教材第三章SQL有关视图语句。

(2)根据书上的例子,针对TPCH数据库模式设计各种视图语句,每种类型视图语句至少要设计一个,描述清楚视图要求,运行你所设计的视图语句,并截图相应的实验结果,每幅截图并要有较为详细的描述。

也可以按照附1所列示例做实验。

(3)实验步骤和实验总结中要详细描述实验过程中出现的问题、原因和解决方法。

(4)思考题:KingbaseES把视图的定义存储在那个系统表中?如何查看某个视图的定义?4实验步骤4.1 掌握SQL视图语句的基本使用方法(1)创建视图(省略视图列名)。

(2)创建视图(不能省略列名的情况)。

(3)删除视图(RESTRICT / CASCADE)。

4.2 掌握视图更新和WITH CHECK OPTION的高级使用方法(4)创建一个行列子集可更新视图,并利用INSERT、DELETE和UPDATE语句加以验证。

(5)创建视图(WITH CHECK OPTION),并利用INSERT、DELETE和UPDATE语句加以验证。

实验五__视图的创建与使用

实验五__视图的创建与使用

视图的创建与使用一、实验目的(1)理解视图的概念。

(2)掌握创建视图、测试、加密视图的方法。

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

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

二、实验内容1.创建视图(1)创建一个名为stuview2的水平视图,从数据库Student_info的Student表中查询出性别为“男”的所有学生的资料。

并在创建视图时使用with check option。

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

)create view stuview2asselect*from Studentwhere Sex='男'with check option查看视图:select*from stuview2(2)创建一个名为stuview3的投影视图,从数据库Student_info的Course表中查询学分大于3的所有课程的课程号、课程名、总学时。

并在创建时对该视图加密。

(提示:用with ENCRYPTION关键子句)create view stuview3with ENCRYPTIONasselect Cno,Cname,Total_perior from Coursewhere Credit>3查看视图:select*from stuview3(3)创建一个名为stuview4的视图,能检索出“051”班所有女生的学号、课程号及相应的成绩。

create view stuview4asselect*from SCwhere Sno=(select Sno from Studentwhere Classno='051'and Sex='女')查看视图:select*from stuview4(4)创建一个名为stuview5的视图,能检索出每位选课学生的学号、姓名、总成绩。

create view stuview5asselect Student.Sno学号,Sname姓名,Grade成绩from Student,SCwhere Student.Sno=SC.Sno查看视图:select*from stuview5若出现如上图所示情况,单击“查询”→IntelliSense→刷新本地缓存然后就解决了。

实验报告五 视图与索引

实验报告五 视图与索引

实验五视图与索引一.实验目的1.学会使用企业管理器建立视图与索引2.掌握使用SQL语句建立视图与索引二.实验内容1.使用企业管理器建立视图索引2.使用SQL语句建立视图索引三.实验准备1.复习与本次实验内容相关知识2.对本次实验中要求自己完成的部分做好准备四.实验步骤1.用企业管理器建立一个基于学生表、课程表、成绩表的视图,要求该视图显示学号、姓名、课程、成绩o启动企业管理器、注册、连接o"新建视如下图所示o在新视图窗口内的关系图窗格内右击鼠标,弹出的菜单即为视图设计菜单,执行"添加表(B)...",如下图所示再在添加表对话框中选择SCORES表,再单击添加按钮。

依此操作,分别添加STUDENT、COURSES表,单击关闭按钮。

再在关系窗格内,拖动STUDENT表的"SID"至SCORES的STUDENT_ID,拖动COURSES表的"CNO"至SCORES的COURSE_ID,再分别选中STUDENT表的"SID","NAME"列(列前的复选框),COURSES表的"COURSE"列以及SCORES表的"SCORE"列,然后单击"!"按钮,显示视图结果,如下图所示:单击保存按钮,将视图保存为V_SCORES,单击确定.2.用查询分析器建立一个基于学生表、班级表的学生视图(V_STUDENTS),包括学号、姓名、班级、系,SQL语句如下:CREATE VIEW dbo.V_STUDENTSASSELECT dbo.U_STUDENTS.ID, dbo.U_,dbo.U_CLASSES.CLASS,dbo.U_CLASSES.DEPARTMENTFROM dbo.U_STUDENTS INNER JOINdbo.U_CLASSES ON dbo.U_STUDENTS.CLASS_ID = dbo.U_CLASSES.ID3.自己写一个SQL语句建立一个基于课程表的视图(V_COURSES),要求显示课程编号.课程名、学分。

实验5 视图的创建与使用

实验5 视图的创建与使用

实验5 视图的创建和使用【实验目的】掌握创建与删除视图的方法掌握更新视图的方法掌握视图的查询操作【实验内容】一、创建视图1、用企业管理器创建视图此实验中以mydb1数据库中的test01、student、course、sc表为基础创建视图。

打开企业管理器,展开左侧窗口树形结构上的数据库节点,选中要创建视图的数据库(这里是mydb1),右击数据库中的“视图”对象,选择“新建视图”命令,如图1所示,就会弹出如图2所示的视图设计器窗口。

图【1】新建视图图【2】视图设计器在视图设计器窗口中右击选择“添加表”或单击工具栏上“添加表”按钮,添加所需要的表。

如图3所示。

图【3】添加表在表窗口中各字段名的前面方框里单击,选择相应的字段,或是在下面“列”的下拉列表框中选择字段,并可在“准则”列中输入提取记录时的过滤条件,在“或”列中输入提取记录所用的附加条件,最后在上面窗口中右击,选择“运行”,则在最下面的窗口中就能看到视图的结果。

如图4所示。

图【4】选择视图内容视图设计完后,点击保存图标,在弹出的“另存为”对话框中输入视图名,此实验为score_view ,最后点击“确定”按钮。

如图5所示。

图【5】保存视图2、使用向导创建视图(略)3、用T-SQL语句创建视图格式:CREATE VIEW view_name[(column1,column2,……)] Asselect_statement[with check option]例:创建所有选课学生的信息视图,如图6所示。

(3)重命名表test001为test01。

当发现表名不恰当的时候,需要为表重新命名。

使用系统存储过程sp_rename 可以为表重新命名,语法如下:sp_rename old_table_name , new_table_name请在查询管理器中输入如下的语句:Use mydb1Gosp_rename test001 , test01 /*EXEC sp_rename test001 , test01 也可以*/Go系统执行,将返回如图6所示的结果。

数据库 实验5 视图

数据库 实验5 视图

实验5 索引和视图1.实验目的(1)掌握使用SQL Server管理平台和Transact-SQL语句CREA TE INDEX创建索引的方法。

(2)掌握使用SQL Server管理平台查看索引的方法。

(3)掌握使用SQL Server管理平台和Transact-SQL语句DROP INDEX删除索引的方法。

(4)掌握使用SQL Server管理平台和Transact-SQL语句CREA TE VIEW创建视图的用法。

(5)了解索引和视图更名的系统存储过程sp_rename的用法。

(6)掌握使用Transact-SQL语句ALTER VIEW修改视图的方法。

(7)了解删除视图的Transact-SQL语句DROP VIEW的用法。

2.实验内容及步骤说明:在SQL Server2005中,有三种视图:标准视图、索引视图和分区视图。

标准视图:组合了一个或多个表中的数据,用户可以获得使用视图的大多数好处。

包括将重点放在特定数据上以简化数据操作。

索引视图:适合聚合多行的查询,不太适合经常更新的基本数据集。

分区视图:支持大型多层网站的处理需要。

SQL Server2005提供了两种创建视图的方法。

SSMS和T-SQL语句。

create view语法形式:create view 【数据库名.】【拥有者.】视图名【(列名1,列名2【…..n】)】AS<select 语句>【with check option】其中,各参数说明如下:数据库名:当前数据库名称拥有者:当前数据库的拥有者,在绑定架构时不可缺。

视图名:用于指定包含的列名,符合标识符的命名规则。

列名:视图中包含的列名。

若使用与源表或视图中相同的列名时,则不必给出列名,如果是计算得到的值则必须指定列名。

select语句:定义视图的select语句。

在视图中可以使用的select语句有一些限制。

with check option:强制针对视图执行的所有数据修改语句都必须符合在select语句中设置的条件。

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

实验五视图的规划与操作
实验目的和任务
1)理解视图的概念
2)掌握创建视图和加密视图的方法
3)掌握视图带检查项和不带检查项的区别
4)掌握视图更新的概念和方法
实验内容
1)针对员工表创建一个视图, 取员工表的前4个属性,要求带WITH ENCRYPTION。

使用sp_helptext和在syscomments表中分别观察定义的文本。

最后利用定义的视图进行查询。

2)创建一个查询参加所有项目的员工视图“V1_视图”,包括员工号、姓名,所在部门名。

并进行查询。

3)创建只包含部门名是“人事处”的显示部门信息的视图“V2_视图”,不带WITH CHECK OPTION 。

①在该视图上分别插入部门是“办公室”和“人事处”观察执行结果。

②分别修改该视图针对部门是“办公室”和“人事处”的其他属性数据,观察执行结果。

③分别删除部门是“办公室”和“人事处”的记录,分别观察执行情况。

4)创建只包含部门名是“人事处”的显示部门信息的视图“V3_视图”,带WITH CHECK OPTION 。

①在该视图上分别插入部门是“办公室”和“人事处”的部门数据,观察执行结果。

②分别修改该视图针对部门是“办公室”和“人事处”的其他属性数据,观察执行结果。

③分别删除部门是“办公室”和“人事处”的记录,分别观察执行情况。

5)创建查询员工叫“张三”是哪个部门的视图“V4_视图”,然后在该视图里删除“张三”的所有信息,观察执行情况。

为什么是这样?
问题思考
1)向视图插入的数据能进入基本表吗?
2)修改基本表的数据能自动反映到相应的视图中去吗?。

相关文档
最新文档