实验四(1) 视图的创建与使用
数据库实验四创建和使用视图

数据库实验四创建和使⽤视图实验四创建和使⽤视图1.实验⽬的掌握使⽤Management studio和SQL命令进⾏视图的创建、修改和删除。
掌握使⽤SQL命令对视图访问数据。
2.实验内容创建⼀个简单的视图,查询课程号101的不及格的学⽣信息。
修改简单视图,查询课程号107成绩介于70-90的学⽣信息。
使⽤视图访问数据。
删除所创建的视图。
创建⼀个简单视图,查询“计算机系”学⽣的信息创建⼀个简单视图,统计每门课程的选课⼈数和最⾼分。
创建⼀个复杂视图,查询与“俞奇军”住在同⼀寝室的学⽣信息,即其联系电话相同。
创建⼀个复杂视图,查询选修了课程的同学的姓名,课程名及成绩。
具体代码:创建⼀个简单的视图,查询课程号101的不及格的学⽣信息。
CREATE VIEW学⽣信息ASSELECT*FROM XSQKWHERE学号IN(SELECT学号FROM XS_KCWHERE课程号='101'AND成绩<60)修改简单视图,查询课程号107成绩介于70-90的学⽣信息。
ALTER VIEW学⽣信息ASSELECT*FROM XSQKWHERE学号IN (SELECT学号FROM XS_KCWHERE课程号='107'AND (成绩BETWEEN70AND90))使⽤视图访问数据。
SELECT*FROM学⽣信息删除所创建的视图。
DROP VIEW学⽣信息创建⼀个简单视图,查询“计算机系”学⽣的信息CREATE VIEW计算机系学⽣信息ASSELECT*FROM XSQKWHERE所在系='计算机'创建⼀个简单视图,统计每门课程的选课⼈数和最⾼分。
CREATE VIEW每门课程的选课⼈数和最⾼分AS(SELECT课程号 ,COUNT(学号) AS选课⼈数 , MAX(成绩) AS最⾼分FROM XS_KCGROUP BY课程号)创建⼀个复杂视图,查询与“俞奇军”住在同⼀寝室的学⽣信息,即其联系电话相同。
实习4 视图和查询的创建与使用

实习4 视图和查询的创建与使用一.实习目的1.掌握创建单表视图和多表视图的方法,能够创建视图,并利用视图更新表中的数据。
2.掌握创建单表查询和多表查询的方法,能够创建并使用单表查询和多表查询。
二.实习要求1.创建一个单表视图。
2.创建一个多表视图。
3.利用视图更新表中的数据。
4.创建一个单表查询。
5.创建一个多表查询。
三.实习内容实习4-1 根据“学生表”创建一个单位表视图,视图文件名为“学生”。
操作步骤如下:1.打开“河南工程学院数据库”,打开“数据库设计器”窗口,如图所示。
2.在“数据库设计器”窗口中,选择“文件”菜单中的“新建”命令,打开“新建”对话框。
3.在“新建”对话框中选择“视图”,然后单击“新建文件”按钮,打开“添加表或视图”对话框,如下图所示。
4.在“添加表或视图”对话框中,把建立视图所需的表添加到“视图设计器”中,单击“关闭”按钮,打开“视图设计器”窗口,如下图所示。
5.在“视图设计器”窗口中,在“可用字段”列表框中,逐个双击可用的字段,将其添加到“选定字段”列表框中,如下图所示。
6.选择“文件”菜单中的“保存”命令,打开“保存”对话框,输入视图名“学生”,单击“确定”按钮,视图文件建立完成并被存放在打开的数据库中。
如下图所示。
7.在“数据库”菜单中选择“浏览”命令,打开“浏览”窗口,浏览视图中的数据,如下图所示。
实习4-2 根据“学院表”、“系表”、“班级表”、“学生表”、“课程表”、“成绩表”这个表创建一个多表视图,视力文件名为“学院系班级学生成绩”。
操作步骤如下:1.打开“河南工程学院数据库”,打开“数据库设计器”窗口,如图所示。
2.在“数据库设计器”窗口中,选择“文件”菜单中的“新建”命令,打开“新建”对话框。
3.在“新建”对话框中选择“视图”,然后单击“新建文件”按钮,打开“添加表或视图”对话框,如下图所示。
4.在“添加表或视图”对话框中,把建立视图所需的表添加到“视图设计器”中,单击“关闭”按钮,打开“视图设计器”窗口,如下图所示。
数据库实验四.视图创建和查询

南昌大学实验报告
一、实验项目名称
视图创建和查询
二、实验目的
熟悉视图定义和使用视图查询
三、实验基本原理和内容
请为三建公司项目建立一个供应情况的视图,包括供应商代码,零件代码,供应数量.针对该视图完成下列查询:
(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

实验四视图一.实验目的及要求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)表达式视图可以根据需要,增加一些字段列,在实际表中并不存在,称为虚拟字段,带虚拟字段的视图为带表达式的视图。
数据库SQL视图的创建及使用实验报告(共5篇)[修改版]
![数据库SQL视图的创建及使用实验报告(共5篇)[修改版]](https://img.taocdn.com/s3/m/caaefa23580102020740be1e650e52ea5518ce3e.png)
第一篇:数据库SQL 视图的创建及使用实验报告《数据库基础》实验报告班级__计算机111__学号__xxxxxxxx__姓名__xxx___完成日期____6.20___实验室__理工楼310_ 指导老师xxx成绩____100______实验四、视图的创建及使用(一)实验目的(1)加深对视图的理解。
(2)掌握使用管理工具创建和使用视图的方法。
(3)掌握使用SQL创建和使用视图的方法。
(二)实验内容(1)使用“图书借阅”数据库,在管理工具中创建视图“借阅_计算机图书”,包含借阅类别为“计算机”的图书的信息:(读者编号,姓名,书号,书名,借阅日期)。
(2)直接使用SQL定义(1)中要求的视图并对其进行查询。
(3)在管理工具中建立各类视图(如单表视图、多表视图、分组视图、基于视图的视图等)。
(4)尝试使用insert、update、delete更新视图。
(三)实验具体步骤(1)使用“图书借阅”数据库,在管理工具中创建视图“借阅_计算机图书”,包含借阅类别为“计算机”的图书的信息(读者编号,姓名,书号,书名,借阅日期)。
create view 借阅_计算机图书(Duno,Duname,Shuno,Shuname,JYtime)asselect Duzhe.Duno,Duname,Tushu.Shuno,Shuname, JYtime from Tushu,Duzhe,Jieyue whereDuzhe.Duno=Jieyue.Duno and Tushu.Shuno,=Jieyue.Shuno and Liebie='计算机'(2)直接使用SQL定义(1)中要求的视图并对其进行查询。
select * from 借阅_计算机图书(3)在管理工具中建立各类视图用管理工具建立:在管理工具中,打开图书借阅数据库,右击视图,新建视图,然后依照要求建立各种视图。
《数据库基础》实验报告SQL语句:create view 单表视图asselect Shuname,Shuno,Zuozhe from Tushucreate view 多表视图asselect Shuname,Shuno,Zuozhefrom Tushu,Jieyuewhere Tushu.Shuno,=Jieyue.Shunocreate view 分组视图(Shuno,Duno)asselect Shuno,Duno from Jieyue group by Shunocreate view 基于视图的视图asselect Duno,Duname,Danwei from 单表视图where Sex = '男'(4)尝试使用insert、update、delete更新视图。
数据库实验——视图的创建与使用

数据库实验——视图的创建与使用数据库是一种利用计算机系统来管理、存储、处理数据的技术,视图则是在数据库中使用的一种技术。
视图是一种虚拟表,实际上并不存储数据,而是使用查询语句从一个或多个表中提取所需的数据。
在本次实验中,将学习视图的创建和使用。
一、实验目的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)保护数据安全例如,可以创建只包含学生姓名和学号的视图,而不包含其他敏感数据,以确保保护学生的隐私。
实验四视图和索引的使用

实验四视图和索引的使用
实验四视图和索引的使用
一、实验目的
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、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验四(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字段。
如下图:输入文件名: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 studview2ASSELECT*FROM studentWHERE Sex='男'WITH CHECK OPTION;2)创建一个名为stuview3的投影视图,从数据库XSGL的course表中查询学分大于3的所有课程的课程号、课程名、总学时。
并在创建时对该视图加密。
(提示:用with ENCRYPTION关键子句,加在as与视图名称之间,且sp_helptext无法看到该视图的定义脚本。
)T-SQL语句为:create view studview3with ENCRYPTIONas select Cno,Cname,Total_periorfrom coursewhere credit>3with check option;3)创建一个名为stuview4的视图,能检索出“052”班所有女生的学号、课程号及相应的成绩。
T-SQL语句为:CREATE VIEW studview4ASSELECT Student.sno,cno,gradeFROM SC,StudentWHERE Classno='052'AND Sex='女'WITH CHECK OPTION;4)创建一个名为stuview5的视图,能检索出每位选课学生的学号、姓名、课程名、总成绩。
T-SQL语句为:create view studview5asselect Student.Sno,Student.Sname,ame,SC.Gradefrom SC,Student,Coursewhere SC.Sno=Student.Sno and o=owith 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 Credit>3gosp_helptext stuview3结果为:(3)修改视图的定义1)修改视图stuview3使其从数据库XSGL的student表中查询总学时大于60的所有课程的课程号、课程名、学分。
(提示:若视图原具有加密保护,修改视图时若未加with encryption子句,则修改后的视图不再加密。
修改视图请查阅帮助alter view关键字。
)T-SQL语句:alter view stuview3with encryptionasselect Cno,Cname,Creditfrom Coursewhere Total_perior>60(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语句:INSERTINTO 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班赵青同学的记录被删除。