New-实验四_视图定义和使用

合集下载

实验四(1) 视图的创建与使用

实验四(1) 视图的创建与使用

实验四(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库,并用鼠标右键单击“视图”。

数据库实验四.视图创建和查询

数据库实验四.视图创建和查询

南昌大学实验报告
一、实验项目名称
视图创建和查询
二、实验目的
熟悉视图定义和使用视图查询
三、实验基本原理和内容
请为三建公司项目建立一个供应情况的视图,包括供应商代码,零件代码,供应数量.针对该视图完成下列查询:
(1)找出三建工程项目使用的各种零件代码及其数量
(2)找出供应商S1的供应情况
四、主要仪器设备及耗材
PC机一台
五、实验步骤及实验数据及处理结果
1、创建视图:
CREATE VIEW三建供应情况
AS
SELECT SNO,PNO,QTY
FROM SPJ
WHERE JNO=(SELECT JNO
FROM J
WHERE JNAME='三建')
2、a:找出三建工程项目使用的各种零件代码及其数量
SELECT PNO,SUM(QTY)
FROM三建供应情况
GROUP BY PNO
b:找出供应商S1的供应情况
SELECT*FROM三建供应情况
WHERE SNO='S1'
六、参考资料
卫琳《SQL SERVER 2008数据库应用与开发教程》清华大学出版社2011.6。

试验四视图一试验目的及要求熟练掌握视图的创建删除2

试验四视图一试验目的及要求熟练掌握视图的创建删除2

实验四视图一.实验目的及要求1.熟练掌握视图的创建、删除。

2.掌握视图的查询、修改。

二.实验任务1.理解视图的概念。

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

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

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

三、操作要点1.注意带有WITH CHECK OPTION的视图对数据增删改的影响。

四、注意事项1.使用Transact-SQL语句ALTER VIEW修改视图。

五、实验学时:2学时六、实验重点及难点1.视图的创建与删除。

2.WITH CHECK OPTION的用法。

七、实验步骤(1)启动SQL查询分析器;(2) 选择SQL SERVER后,按确认;(3) 选择数据库Univisity;(4) 进行以下工作:1.从Students表中建立查询所有男(女)生信息的视图STU_SEX。

视图的列名为SNO、SNAME、SSEX和SAGE。

2.从Courses表中建立查询所有课程先修课信息的视图课程Courses_PRE。

视图的列名为课程号、课程名称和先修课名称。

3.从Reports表中建立查询成绩大于等于80信息的视图STU_CJ1。

视图的列名为学号、课程号和成绩。

4.从Students、Reports和Courses三个表建立查询学生选修情况的视图STU_CJ2。

视图的列名为姓名、课程名称和成绩。

5.从Students、Reports和Courses三个表建立查询学生选修情况并且成绩小于80的视图STU_CJ3。

视图的列名为姓名、课程名称和成绩。

6.利用Transact-SQL命令修改视图STU_SEX。

把视图的列名改为学号、姓名、性别和年龄,加上“WITH CHECK OPTION”选项。

7.删除视图STU_CJ3。

8. 建立自动化系学生视图STU_Auto1,带有WITH CHECK OPTION。

9. 建立自动化系学生视图STU_Auto2。

10. 往STU_Auto1添加一行数据:学号为S15、姓名为陈婷、性别为女、年龄为21(考虑陈婷属于自动化系、以及属于计算机系两种情况) 。

视图的创建和使用

视图的创建和使用

视图的创建和管理●视图的概念●创建视图●查询视图●更新视图一.视图的概念1.基本表(Base Table):是本身独立存在的表,如:学生表,课程表2.视图(View):是从一个或者多个基本表导出的表视图的结构和数据是对数据表进行查询的结果。

视图是一种数据库对象,不是真实存在的基础表而是一个虚拟表。

用户可以像对基本表一样对它进行操作。

使用视图的优点和作用:简化数据操作,提高数据安全性。

二.创建视图1、使用企业管理器创建视图选择数据库,在“视图”上点右键,选“新建视图”->“添加表”选用户表和视图,->”关闭”。

在表格中复选框划勾,第2个窗格中,输出框选中,可以在“所在院系”准则中输入“=’计算机’”,准则对应WHERE子句。

右键窗格,选属性,选“顶端”可以限制视图最多输出多少条记录,“DISTINCT值”可以选择不输出值相同的记录,”加密浏览”对视图定义加密。

点“!”可输出视图的结果,最后保存。

2、使用企业管理器的“向导”创建视图“工具”->“向导”->“视图向导”->选数据库->选表->选字段->输入条件“WHERE 入学年份<’2006-1-1’”3、用T-SQL语句创建与管理视图1)使用CREATE VIEW 创建视图格式:CREATE VIEW <视图名>[(<字段名>[,<字段名>]….)]AS <子查询>[WITH CHECK OPTION ](1)行列子集视图-去掉了基本表的某些字段,保留了主键【例1】创建一个行列子集视图<计算机学生>CREATE VIEW 计算机学生ASSELECT 学号,姓名,年龄,性别,所在院系FROM 学生表WHERE 所在院系=’计算机’(2)建立在多个表上的视图【例2】创建计算机系中选修了“C801”课程的学生视图CREATE VIEW 选课学生(学号,姓名,性别,所在院系,课程号,成绩)ASSELECT S.学号, 姓名, 性别,所在院系, 课程号, 成绩FROM 学生表S ,成绩表CWHERE S.学号=C.学号AND 所在院系=’计算机’ AND 课程号=’C801’(3)在视图上的操作【例3】创建计算机系中选修了“C801”课程并且性别为女的学生视图CREATE VIEW 选课女学生ASSELECT *FROM 选课学生WHERE 性别=’女’2)表达式视图可以根据需要,增加一些字段列,在实际表中并不存在,称为虚拟字段,带虚拟字段的视图为带表达式的视图。

实验四视图和索引的使用

实验四视图和索引的使用

实验四视图和索引的使用
实验四视图和索引的使用
一、实验目的
1.掌握视图的创建、修改和删除
2.掌握通过视图修改表中的记录
3.掌握索引的创建、修改和删除
二、实验内容
根据实验二创建的表进行如下的操作:
1、对表S,创建一个专业为“计算机应用”的视图,视图名为STUDENT_SDEPT1。

2、对表S,创建一个专业为“计算机软件”的视图,视图名为STUDENT_SDEPT2。

3、建立一个视图名S_C_SC,视图里包括每个学生每一门课的成绩(学号、
姓名、课程名和成绩)。

4、删除视图STUDENT_SDEPT2。

5、通过视图STUDENT_SDEPT1,往S表中插入一条记录,内容为(“9901”,
“王套”,22“男”,“计算机应用”)。

6、对表S,按SNAME字段创建一个惟一非聚集索引,索引名为INDEX_SNO。

7、对表C,按CNAME创建一个惟一聚集索引,索引名COURSE_INDEXCNO。

8、对表S,按SEX和SNAME字段创建一个复合索引,索引名为INDEX_SEX_SNAME。

9、删除索引INDEX_SEX_SNAME、COURSE_INDEXCNO。

三、思考题:
1、视图与表的区别是什么?
2、视图的作用是什么?
3、索引的作用?
4、惟一索引的含义是什么?。

实验四 视图、索引的创建与管理

实验四  视图、索引的创建与管理

实验四视图、索引的创建与管理一、实验目的1.了解视图、索引的概念及作用。

2.掌握视图和数据表的区别。

3.掌握索引的分类。

4.掌握创建视图、索引的方法。

5.掌握查看和修改视图、索引的方法。

6.掌握删除视图、索引的方法。

二、实验内容视图实验内容:1.新建BOOKS数据库,使用管理控制台创建名称为“图书借阅信息表”的数据表,表2.在3.使用管理控制台创建一个名为“读者借阅信息_VIEW”的视图,要求显示所在部门是“计算机系”或“外语系”的读者借阅信息,包括“读者编号”、“姓名”、“所在部门”、“图书编码”和“图书状态”五个字段。

4.使用SQL语句创建一个名为“计算机系续借信息_VIEW”的视图,要求显示计算机系读者2010-10-1以后续借的图书信息,包括“姓名”、“图书编码”和“借阅日期”三个字段。

5.使用管理控制台查看“读者借阅信息_VIEW”视图的定义信息和依赖的对象。

6.使用系统存储过程查看“计算机系续借信息_VIEW”视图的定义信息和依赖的对象。

7.使用管理控制台修改“读者借阅信息_VIEW”视图,要求只显示计算机系男读者借阅信息,包括“读者编号”、“姓名”、“所在部门”、“图书编码”和“图书状态”五个字段。

8.使用SQL语言修改“计算机系续借信息_VIEW”视图,要求显示计算机系或外语系读者2006-1-1以后续借的图书信息,包括“姓名”、“所在部门”、“图书编码”和“借阅日期”四个字段。

9.分别使用管理控制台和SQL语言向视图“读者借阅信息_VIEW”中插入一条记录,看操作能否成功,为什么?10.使用管理控制台删除“读者借阅信息_VIEW”视图。

11.使用SQL语言删除“计算机系续借信息_VIEW”视图。

索引实验内容:12.使用管理控制台创建一个新的索引,索引名称为“IX_姓名_所在部门”,使用的数据表是“读者基本信息表”,所用的字段包括“姓名”和“所在部门”两个字段。

13.使用SQL语句创建一个新的索引,索引名称为“IX_图书状态_借阅日期”,使用的数据表是“图书借阅信息表”,所用的字段包括“图书状态”和“借阅日期”两个字段。

实验四:视图

实验四:视图[ 实验日期 ] 2010 年 12 月 9 日[ 实验目的 ]通过实验进一步理解视图的建立和更新、数据库的权限管理和事务处理功能。

[ 实验内容 ]SQL视图的定义与操纵:例4-1: (建立视图) 建立计算机系的学生的视图STUDENT_CS。

create view STUDENT_CS视图asselect a.学号,a.姓名,a.专业名,a.性别,a.出生日期,a.总学分,a.备注from xs awhere专业名='计算机'例4-2: (建立视图) 建立由学号和平均成绩两个字段的视图STUDENT_GR。

create view STUDENT_GR asselect学号,avg(成绩)as平均成绩from xs_KCgroup by学号例4-3: (视图查询) 利用视图STUDENT_CS,求年龄大于19岁的学生的全部信息。

select*from STUDENT_CS视图where datediff(yyyy,出生日期,getdate())>19例4-4: (视图查询) 利用视图STUDENT_GR,求平均成绩为88分以上的学生的学号和平均成绩。

select学号,平均成绩from STUDENT_GRwhere平均成绩> 88例4-5: (视图更新) 利用视图STUDENT_CS,增加学生( ‘96006’,‘张然’,‘CS’,‘02’,‘男’,19 )insert into STUDENT_CS视图(学号,姓名,专业名,性别,出生日期,总学分)values('96006','张然','CS','true','1980-2-10 0:00:00 ',19)例4-6: (视图更新) 利用视图STUDENT_CS,将学生年龄增加1岁。

观察其运行结果并分析原因。

update STUDENT_CS视图set datediff(yyyy,出生日期,getdate())=datediff(yyyy,出生日期,getdate())+1对视图的更新改变了基本表例4-7: (视图更新) 利用视图STUDENT_GR,将平均成绩增加2分。

视图的概念以及使用视图的好处

视图的概念以及使用视图的好处
**视图(**View)是由Select查询语句定义的一个逻辑表,只有定义而无数据,是一个“虚表”。

视图是查看和操作表中数据的一种方法。

视图是一个“存储的查询”,“虚拟的表”,创建视图时,并不将实际数据复制到任何地方,无需在表空间中为视图分配存储空间,在视图中不保存任何数据,通过视图操作的数据仍然保存在表中。

视图是一个或多个表经过Select语句裁剪后的逻辑表示,犹如基础表的一个窗口。

使用视图的优点
提供各种数据表现形式,提供某些数据的安全性,隐藏数据的复杂性,简化查询语句,执行特殊查询,保存复杂查询。

视图:
视图能够简化用户的操作;
视图使用户能以多种角度看待同一数据;
视图对重构数据库提供了一定程度的逻辑独立性;
视图能够对机密数据提供安全保护;
适当的利用视图可以更清晰的表达查询。

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

实验四数据库的视图和图表的定义及使用实验课时安排:2课时一、实验目的和要求使学生掌握SQL Server中的视图创建向导和图表创建向导的使用方法,加深对视图和SQL Server图表作用的理解。

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

2 创建、编辑和删除数据库图表。

三、实验方法1 创建视图假设在图书.读者数据库中已经建立了图书、读者和借阅3个表.它们的结构为图书(书号,类别, 出版社,作者,书名,定价).借阅(书号,读者书证号,借阅日期).读者(书证号,姓名, 单位,性别,电话).如果要在上述3个表的基础上建立一个视图取名为读者--VIEW、其操作用SQL语句表示为:CREA TE VIEW 读者-VTEWAS SELECT图书.*借阅.*FROM图书,借阅,读者WHERE图书书号=借阅书号AND借阅.读者书证号=读者书证号;下面利用SQLServer2000中提供的视图创建向导,来创建读者--VIEW视图。

l)打开企业管理器窗口确认服务器,打开数据库文件夹。

选中新视图所在的数据库。

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

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

选择“建视图向导”项,单击“确定”按钮4)进入创建视图向导后,首先出现的是欢迎进入创建视图向导对话框,其中简单介绍了该向导的功能。

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

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

本例的数据库为“图书-读者”。

单击“下一步按钮,则进入选择表对话框。

6)在选择表对话框中列出了指定数据库中所有用户定义的表和视图。

用户可以从中选择构造视图所需的一个表或多个表(或视图)被选中的表成为构造视图参考表。

选择构造视图参考表的方法是:用鼠标单击表名后的“包含在视图中”列,使复选框为选中状态,本例的数据库中的3个表都应当被选中。

单而“下一步”按钮.则进入选择列对话框。

7)列选择对话框中以表格形式列出了创建视图参考表的全部属作为个属性表的一行、创建视间的参考属性可以分表格中选出、选择视图参考属性的方法是用鼠标单地属性名后边的‘选择列’.使其复选框为选中状态。

实验4视图的定义和使用

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

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

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

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

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

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

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

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

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

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

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

实验四 SQL的视图
1、实验目的
熟悉SQL支持的有关视图的操作,能够熟练使用SQL语句来创建需要的视图,对视图进行查询和取消视图。

2、实验内容
(1)定义常见的视图形式,包括:
●行列子集视图
●WITH CHECK OPTION的视图
●基于多个基表的视图
●基于视图的视图
●带表达式的视图
●分组视图
(2)通过实验考察WITH CHECK OPTION这一语句在视图定义后产生的影响,包括对修改操作、删除操作、插入操作的影响。

(3)讨论视图的数据更新情况,对子行列视图进行数据更新。

(4)使用DROP语句删除一个视图,由该视图导出的其他视图定义仍在数据字典中,但已不能使用,必须显式删除。

同样的原因,删除基表时,
由该基表导出的所有视图定义都必须显式删除。

3、实验步骤
(1)创建一个行列子集视图CS_View,给出选课成绩合格的学生的编号、教师编号、所选课程号和该课程成绩。

(2)创建基于多个基本表的视图SCT_View,这个视图由学生姓名和他所选修的课程名及讲授该课程的教师姓名构成。

(3)创建带表达式的视图EXP_View,由学生姓名及所选课程名和所有课程成绩都比原来多5分这几个属性组成。

(4)创建分组视图Group_View,将学生的学号及他的平均成绩定义为一个视图。

(5)创建一个基于视图的视图,基于(1)中建立的视图,定义一个包括学生编号、学生所选课程数目和平均成绩的视图VV_View。

(6)查询所有选修课程“数据库原理及其应用”的学生姓名。

(7)插入元组(S52,T02,C02,59)到视图CS_View中。

若是在视图的定义中存在WITH CHECK OPTION字句对插入操作由什么影响。

(8)将视图CS_View(包括定义WITH CHECK OPTION)中,所有课程编号为C01的课程的成绩都减去5分。

这个操作数据库是否会正确执
行,为什么?如果加上5分(原来95分以上的不变)呢?
(9)在视图CS_View(包括定义WITH CHECK OPTION)删除编号S03学生的记录,会产生什么结果?
(10)删除视图SCT_View和视图CS_View。

相关文档
最新文档