已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验四(1) 视图的创建与使用学号 _ 姓名_ _ 班级_专业_ _一、实验目的1)理解视图的概念。2)掌握创建视图、测试、加密视图的方法。3)掌握更改视图的方法。4)掌握用视图管理数据的方法。5)了解分区视图的实现方法。二、实验内容说明:在所有库文件名与表名取名时,请各位同学在所给定的文件名后加上下划线及学号后四位数字构成自己的实验数据库名与表名。如:XSGL1_20051101.创建视图是数据库应中的常见需求,可以使用企业管理创建、管理视图,也可以用T-SQL语言创建、管理视图。1、用创建视图向导创建视图使用视图向导创建一个名为studview的投影视图,该视图从student表中查询出班级号为“052”班的所有学生的学号,姓名,性别,班级,家庭住址,入学时间,出生年月资料。(提示:分别进入企业管理器,再分别单击“工具”、“向导”、“数据库”、“创建视图向导”,然后一步一步地创建视图。)基本步骤:1)进入企业管理器,“工具”“向导”,出现如下窗口。2)选择“数据库”“创建视图向导”,出现下图窗口。3)单击“下一步”,如下图,选择数据库“XSML_20061779”,单击“下一步”。4)在弹出的如下窗口中选择引用对象表Student,单击“下一步”。5)在弹出的如下窗口中选择列Sno,Sname,Sex,Classno,Home_addr, Entrance_date,Birth。单击“下一步”。6)定义限制“where Classno=052”,单击“下一步”。7)在弹出窗口中输入视图名称studview_20061779,单击“下一步”。8)在弹出的窗口中单击“完成”。9)点击“确定”即可。2、用企业管理器创建、管理视图(1)创建视图A、使用企业管理器在表student上创建一个能查询“051”班学生学号、姓名、家庭住址信息的投影视图。1)依次进入企业管理器、数据库、XSGL库,并用鼠标右键单击“视图”。2)在系统弹出的快捷菜单中单击“新建视图”,出现“新建视图”窗口。如图所示:3)最上面的一个窗格用于添加创建视图的基础对象,在其上按鼠标右键,单击快捷菜单中的“添加表”,将表student添加到此窗格中,上面第二个窗格用于选择进入视图的列,分别选择相应字段: Sno,Sname,Home_addr 在查询条件窗格中输入查询条件: WHERE Classno=051 ,输入where子句,最后一个窗格为视图结果窗口。4)单击工具栏,执行按钮“!”,观察执行结果是否正确。若正确,则单击“保存”按钮,输入文件名:stuview1,再单击“确定”按钮,视图创建完成。B、使用企业管理器在表student、course、sc表上创建一个能检索学生的学号、姓名、学习课程号、学习课程名及课程成绩。视图名自取。基本操作步骤:1)依次进入企业管理器、数据库、XSGL库,并用鼠标右键单击“视图”。2)在系统弹出的快捷菜单中单击“新建视图”,出现“新建视图”窗口。3)最上面的一个窗格用于添加创建视图的基础对象,在其上按鼠标右键,单击快捷菜单中的“添加表”,将表Student、Course、SC添加到此窗格中,第二个窗格用于选择进入视图的列,分别选择相应字段:表Studen中的Sno,Sname字段,表Course中Cno,Cname字段,表SC中的Grade字段。如下图:4)单击工具栏,执行按钮“!”,观察执行结果是否正确。若正确,则单击“保存”按钮,输入文件名:scview,再单击“确定”按钮,视图创建完成。(2)修改视图stuview1将视图stuview1的定义修改为查询“052”班男生学号、姓名、家庭住址信息的投影视图。(提示:修改视图:在企业管理器中选中视图后 -击右键-按设计视图-进行修改)基本操作步骤:(3)查看视图stuview1信息双击要查看的视图stuview1,可以看到视图的各种信息,可做语法检查,也可修改视图的定义,查看、设置视图的许可权限。基本操作步骤:1)双击要查看的视图stuview12)单击“检查语法”。3)可以修改文本中的代码。4)单击“权限”可以设置视图的许可权限。(4)管理视图中的数据1) 查看视图stuview1中的数据。用鼠标右键单击要管理的视图stuview1,单击“打开视图”,再单击“返回所有行”。(试运行即可,不写步骤。)2)将视图stuview1中学号为“20050003”的学生姓名由改为“许华”。(注:须按按钮“!”进行修改确认。)基本步骤:3、用T-SQL语言创建、管理视图(1)创建视图1)创建一个名为stuview2的水平视图,从数据库XSGL的student表中查询出性别为“男”的所有学生的资料。并在创建视图时使用with check option。(注:该子句用于强制视图上执行的所有修改语句必须符合由Select语句where中的条件。)T-SQL语句为:CREATE VIEW studview2AS SELECT *FROM studentWHERE Sex = 男WITH CHECK OPTION;2)创建一个名为stuview3的投影视图,从数据库XSGL的course表中查询学分大于3的所有课程的课程号、课程名、总学时。并在创建时对该视图加密。(提示:用with ENCRYPTION关键子句,加在as与视图名称之间,且sp_helptext无法看到该视图的定义脚本。)T-SQL语句为:create view studview3 with ENCRYPTION as select Cno,Cname,Total_periorfrom coursewhere credit3with check option;3)创建一个名为stuview4的视图,能检索出“052”班所有女生的学号、课程号及相应的成绩。T-SQL语句为:CREATE VIEW studview4ASSELECT Student.sno,cno ,grade FROM SC ,StudentWHERE Classno = 052 AND Sex = 女 WITH CHECK OPTION;4)创建一个名为stuview5的视图,能检索出每位选课学生的学号、姓名、课程名、总成绩。T-SQL语句为:create view studview5asselect Student.Sno,Student .Sname ,Course.Cname,SC.Grade from SC,Student ,Course where SC.Sno=Student.Sno and SC.Cno=Course.Cnowith check option;(2)查询视图的创建信息及视图中的数据1)查看视图stuview2的创建信息。方法1:(提示:sp_help)sp_help studview2方法2:(提示:select语句,查询表sysobjects)sp_helptext Stuview22)查看视图的定义脚本。方法:(提示:sp_helptext)sp_helptext studview2结果为:3)查看加密视图stuview3的定义脚本。T-SQL语句为:alter view stuview3asselect Cno,Cname,Total_periorfrom Coursewhere Credit3gosp_helptext stuview3结果为:(3)修改视图的定义1)修改视图stuview3使其从数据库XSGL的student表中查询总学时大于60的所有课程的课程号、课程名、学分。(提示:若视图原具有加密保护,修改视图时若未加with encryption子句,则修改后的视图不再加密。修改视图请查阅帮助alter view关键字。)T-SQL语句:alter view stuview3with encryptionasselect Cno,Cname,Creditfrom Coursewhere Total_perior60(4)视图的更名与删除1)将视图stuview4更名为stuv4。方法:(提示:sp_rename)sp_rename studview4,stuv4;2)将视图stuv4删除。T-SQL语句:DROP VIEW stuv4;(5)管理视图中的数据1)从视图stuview2查询出班级为“052”、姓名为“许华”的资料。T-SQL语句:SELECT *FROM studview2WHERE Classno = 052 AND Sname = 许华;2)向视图stuview2中插入一行数据。学号:20050005,姓名:赵青,班级:054,性别:男,家庭住址:南京,入学时间:2005/09/01,出生年月:1983/01/09。T-SQL语句:INSERT INTO studview2VALUES (20050005,赵青,男,1983-01-09,054,2005-09-01,南京,CS,200413);原student表中的内容有何变化?增加了一条记录。思考:如向视图stuview2中插入一行数据。学号:20050006,姓名:赵静,班级:054,性别:女,家庭住址:南京,入学时间:2005/09/01,出生年月:1983/11/09。会出现什么样的结果?原student表中的内容有何变化?试图进行的插入或更新已失败,原因是目标视图或者目标视图所跨越的某一视图指定了 WITH CHECK OPTION,而该操作的一个或多个结果行又不符合 CHECK OPTION 约束的条件。语句已终止。3)修改视图stuview2中的数据。没有变化。将stuview2中054班、姓名为“赵青”同学的家庭地址改为“扬州市”。T-SQL语句:UPDATE studview2SET Home_addr = 扬州市WHERE Classno = 054 AND Sname = 赵青;原student表中的内容有何变化?054班的赵青同学的家庭地址变为“扬州市”。4)从视图中stuview2将班级为054、姓名为“赵青”同学删除。T-SQL语句:DELETEFROM studview2WHERE Sname = 赵青 AND Classno = 054;原student表中的内容有何变化?054班赵青同学的记录
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年潇湘职业学院单招职业适应性考试必刷测试卷新版
- 2026年重庆电力高等专科学校单招职业倾向性测试必刷测试卷附答案
- 2026年吉林省通化市单招职业倾向性考试题库附答案
- 2026年广西自然资源职业技术学院单招综合素质考试题库及答案1套
- 2026年山东省泰安市单招职业倾向性考试题库及答案1套
- 2026年松原职业技术学院单招职业技能考试题库必考题
- 2026年甘肃机电职业技术学院单招职业适应性测试题库及答案1套
- 2026年杭州科技职业技术学院单招综合素质考试必刷测试卷及答案1套
- 2026年重庆电子工程职业学院单招职业适应性考试题库附答案
- 2026年湖南省益阳市单招职业适应性测试必刷测试卷新版
- 洁净煤发电技术
- 月子会所食品安全应急预案
- 骨科新进展课件
- 警察抓捕战术课件
- 2025年江苏省农垦集团有限公司人员招聘笔试备考及答案详解(各地真题)
- 电子厂安全生产知识培训课件
- 加油站监理实施细则
- 知道智慧树商业伦理与企业社会责任(太原科技大学)满分测试答案
- PE管道工程质量监理细则与验收标准
- 绵竹市属国有企业招聘考试真题2024
- 药物制剂新技术研发与应用
评论
0/150
提交评论