实验五__视图的创建与使用
数据库实验五:视图的应用
数据库实验五:视图的应用数据库实验五:视图的应用一、实验目的与要求:1.实验目的(1)理解视图的概念;(2)掌握视图的使用方法。
(3)理解视图和基本表的异同之处。
2.实验要求(1)参照实验五中完成的查询,按如下要求设计和建立视图:1)基于单个表按投影操作定义视图。
2)基于单个表按选择操作定义视图。
3)基于单个表按选择和投影操作定义视图。
4)基于多个表根据连接操作定义视图。
5)基于多个表根据嵌套操作定义视图。
6)定义含有虚字段的视图。
(2)分别在定义的视图设计一些查询(包括基于视图和基本表的连接或嵌套查询)。
(3)在定义的视图上进行插入、更新和删除操作,分情况讨论哪些操作可以成功完成,哪些操作不能完成,并分析原因。
(4)在实验报告中要给出具体的视图定义要求和操作要求,并针对各种情况做出具体的分析和讨论。
二、实验内容1、实验原理(1)视图是用SQL SELECT查询定义的,创建视图命令格式如下:CREATE VIEW <视图名> AS(2)删除视图的命令格式如下:DROP VIEW <视图名>2、实验步骤与结果(1)调出SQL Server2005软件的用户界面,进入SQL SERVERMANAGEMENTSTUDIO。
(2)输入自己编好的程序。
(3)检查已输入的程序正确与否。
(4)运行程序,并分析运行结果是否合理和正确。
在运行时要注意当输入不同的数据时所得到的结果是否正确。
(5)输出程序清单和运行结果。
(1)参照实验五中完成的查询,按如下要求设计和建立视图:1)基于单个表按投影操作定义视图。
create view v asselect教师编号,姓名from教师2)基于单个表按选择操作定义视图。
create view v_order asselect*from教师where职称='教授'3)基于单个表按选择和投影操作定义视图。
create view v_cuss asselect教师编号,姓名,职称from教师where职称='教授'4)基于多个表根据连接操作定义视图。
数据库实验5 视图操作
实验五视图操作(2学时)【实验目的】1. 学会使用SQL语句创建和使用视图,加深对视图和SQL Server基表作用的理解。
2. 了解数据库安全控制的机制,以及自主存取控制方法。
【实验要求】1.掌握创建、修改视图的SQL语句的用法。
2.掌握使用企业管管理器创建、修改视图的方法。
3.掌握查看视图的系统存储过程的用法。
4.掌握视图的使用方法。
5.掌握SQL有关用户、角色及操作权限的管理方法。
【实验内容】一、视图操作(一)定义视图以Student 、Course表为基础完成以下视图定义。
1.定义计算机系学生基本情况视图V_Computer。
2.将Student Course 和Student_course表中学生的学号,姓名,课程号,课程名,成绩定义为视图V_S_C_G。
3.将各系学生人数,平均年龄定义为视图V_NUM_AVG。
4.定义一个反映学生出生年份的视图V_YEAR。
5.将各位学生选修课程的门数及平均成绩定义为视图V_A VG_S_G。
6.将各门课程的选修人数及平均成绩定义为视图V_A VG_C_G。
(二)使用视图1. 查询以上所建的视图结果。
2. 查询平均成绩为90分以上的学生学号、姓名和成绩。
3. 查询各课成绩均大于平均成绩的学生学号、姓名、课程和成绩。
4. 按系统计各系平均成绩在80分以上的人数,结果按降序排列。
(三)修改视图1. 通过视图V_IS,分别将学号为“S1”和“S4”的学生姓名更改为“S1_MMM”,”S4_MMM” 并查询结果。
2. 通过视图V_IS,新增加一个学生记录('S12','YAN XI',19,'IS'),并查询结果。
3. 通过视图V_IS,新增加一个学生记录('S13','YAN XI',19,'MA'),并查询结果。
4. 通过视图V_IS,删除学号为“S12”和“S3”的学生信息,并查询结果。
视图和索引的创建和使用实验报告
信息工程学院实验报告课程名称:《数据库原理》Array实验项目名称:视图和索引的创建和使用一、实验目的:(1)掌握创建视图的SQL语句的用法。
(2)掌握修改视图的方法。
(3)熟悉视图更新与基本表更新的区别与联系;认识视图的作用。
(4)熟悉索引的作用,以及不同类型索引的区别。
(5)学会用T-SQL语句对表创建和删除索引二、实验设备与器件Win7 +Sql server 2008三、实验内容与步骤利用备份文件school,还原数据库,然后完成以下实验内容:(1)用T-SQL语句,定义信息系学生基本情况视图V_IS。
(2)用T-SQL语句,将Student,Course 和SC表中学生的学号,姓名,课程号,课程名,成绩定义为视图V_S_C_G。
(3)用T-SQL语句,将各系学生人数,平均年龄定义为视图V_NUM_AVG。
(4)用T-SQL语句,定义一个反映学生出生年份的视图V_YEAR。
(5)用T-SQL语句,将各位学生学号、选修课程的门数及平均成绩定义为视图V_AVG_S_G。
(6)用T-SQL语句,将各门课程的课程号、选修人数及平均成绩定义为视图V_AVG_C_G。
(7)用T-SQL语句完成以下视图操作,查看结果,并分析原因。
①通过视图V_IS,将学号为“200215125”的学生姓名更改为“张小立”,并查看结果;②通过视图V_IS,新增加一个学生记录 ('200215126','黄笑',19, '男','IS'),并查看结果。
③通过视图V_IS,新增加一个学生记录 ('200215127','李霞',19, '女','MA'),并查看结果。
④通过视图V_IS,删除学号为“200215126”的学生信息,并查看结果。
⑤通过视图V_S_C_G,将学号“200215122”的姓名改为“刘晓晨”,能否实现?若无法实现说明原因。
实验五:查询与视图的创建
安康学院电子与信息工程系实验报告
1.实验目的:(5分)
(1)掌握查询设计器的使用。
(2)掌握查询向导的使用。
(3)掌握视图设计器的使用。
2.实验内容:(15分)
(1)利用查询向导创建一个查询cx,查询学生表中女生的所有学生信息。
(2)对数据库“教学管理.dbc”使用查询设计器创建一个查询xscj,按系查询学生的成绩及学分,要求包含字段:学号、姓名、性别、系、课程名称、学分和成绩,并将查询保存到xscj.dbf表中。
(3)对数据库“教学管理.dbc”使用查询设计器创建一个查询,查询所有教师教学情况,要求包含字段:教师编号、教师姓名、课程编号、课程名称,并将查询结果保存在teacher.dbf表中。
(4)对数据库“教学管理.dbc”使用视图设计器创建一个视图,包含字段:学号、姓名、课程名称、学分、成绩,按成绩由低到高排序,并将该视图命名为view3。
(5)对数据库“教学管理.dbc”进行如下操作:
使用视图设计器创建一个视图,其内容包含所有选“数据结构”课程的学生学号、姓名和成绩,要求其结果按“成绩”降序排序且允许修改表“选课.dbf”中的成绩,并将视图命名为view4;在视图view4中修改某学生的成绩,然后在“选课.dbf”中验证其更新数据表的功能。
3.实验过程:(60分)
4.实验总结:(20分)。
实验五__视图的创建与使用
视图的创建与使用一、实验目的(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.熟练使用INSERT/DELETE/UPDATE语句进行表的更新操作。
2. 理解视图的定义、视图的优点与视图的工作原理。
掌握在企业管理器和查询分析器中创建、修改及删除视图。
能够熟练掌握利用视图向表中插入、删除和修改数据。
二、实验原理1.数据更新操作只能针对一个表进行,即每次只能在一个表中插入、删除和修改数据。
用INSERT语句可以通过使用V ALUES关键字一次只向一个表插入一条记录,也可以通过子查询向一个表中插入若干条记录;当使用DELETE和UPDATE语句实现表的删除和更改时,若题目中涉及多个表的信息,可以使用子查询来挑选出部分数据,以作为删除或更改的条件,也可以在语句中用FROM 子句给出题目中涉及的所有表,而在WHERE子句中给出多个表之间的连接条件。
2. 利用CREATE VIEW、ALTER VIEW 、DROP VIEW语句创建、修改及删除视图。
由于视图是虚表,通过视图向表中添加数据时必须满足一定的条件。
如果视图引用了多个数据表,那么在通过视图向数据表中添加数据时,这个语句只能指定同一个表中的字段。
如果通过一个引用了多个数据表的视图向这些数据表中添加数据时,必须书写多个INSERT语句。
通过使用多个表的视图对数据表进行更新也需要书写多个UPDATE语句,另外适用于INSERT操作的许多限制同UPDATE操作。
使用DELETE语句可以通过视图将数据表中的数据删除。
但如果视图应用了两个或两个以上的数据表,则不允许删除视图中的数据。
另外,通过视图删除的记录,不能违背视图定义的WHERE子句中的条件限制。
三、实验设备安装有SQL SERVER 2005的计算机。
四、实验内容凡是能用多种方法实现的,请用多种方法实现。
1、为各表添加若干条记录,必须符合实验二中设定的各种约束。
2、将每个员工的薪水上调10%。
3、删除sales表中作废的订单(其发票号码为‘I000000004’),其订货明细表中的数据也一并删除。
视图的创建和使用实验报告
测试过程:(实验中出现的问题、错误、解决方法)建立视图的时候发现不会使用SQL语句建立,就只能直接建立了,但建立过程中条件控制不得当,导致视图建立出错,后来在同学的帮助下成功建立视图。
实验总结:经过这次数据库系统基础课程设计,我们不仅及时巩固的了数据库以及软件工程的知识,并对数据库以及软件工程提供的开发流程和工具对于实现特定功能程序的重要意义签名某某某2011年12 月27 日评语与成绩:教师签名:年月日洛阳师范学院信息技术学院软件实验报告专业:软件工程课程:数据库学号:1234567890 姓名:某某某班级:10软件工程实验名称视图的创建和使用实验类型验证性实验时间2011年12月27日实验环境Microsoft SQL Server 2005实验目的与要求:1.理解SQL的视图以及与基本表的区别;2.掌握SQL视图的定义、查询、更新。
实验内容:对学生数据库,应用SQL语句实现以下要求:1)建立男学生的视图(Male_Student),属性包括学号、姓名、选修课程名和成绩。
2)在男学生视图中查询平均成绩大于80分的学生学号与姓名。
3)对男学生视图的数据进行修改。
将“95001”学号的学生姓名改为“李咏”;将“95001”学生选修“数据库”的成绩改为“95”;4)统计每个学生有成绩的课程门数、平均成绩。
实验步骤:(算法描述、源程序、操作步骤和方法)1.建立男学生的视图(Male_Student)2.在男学生视图中查询平均成绩大于80分的学生学号与姓名select studentname,studentnofrom Male_Studentwhere score>803.对男学生视图的数据进行修改将“95001”学号的学生姓名改为“李咏”将“95001”学生选修“数据库”的成绩改为“95”update Male_Student set studentname='李咏'实验步骤:(算法描述、源程序、操作步骤和方法)where studentno='95001'update Male_Studentset score='95'where studentno='95001' and coursename='数据库'4.统计每个学生有成绩的课程门数、平均成绩select studentno as 学号,count(*) as 课程门数,avg(score)as 平均成绩from scorewhere score is not nullgroup by studentno。
实验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所示的结果。
数据库SQL视图的创建及使用实验报告(共5篇)[修改版]
第一篇:数据库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更新视图。
第5章_视图的创建与使用
5.1.2 视图的优点
简化数据操作:视图可以简化用户处理数据的方式。 着重于特定数据:不必要的数据或敏感数据可以不出 现在视图中。 视图提供了一个简单而有效的安全机制,可以定制不 同用户对数据的访问权限。 提供向后兼容性:视图使用户能够在表的架构更改时 为表创建向后兼容接口。 自定义数据:视图允许用户以不同方式查看数据。 导出和导入数据:可使用视图将数据导出到其他应用 程序。
5.2.2使用Transact-SQL语句创建视图
使用Transact-SQL语言中的CREATE VIEW语 句创建视图,其语法形式如下: CREATE VIEW [ schema_name . ] view_name [ (column [ ,...n ] ) ] [ WITH ENCRYPTION ] AS select_statement [ WITH CHECK OPTION ] [ ; ]
例2 建立一个只包括教师号、姓名和年龄的 视图TeacherView。 CREATE VIEW TeacherView AS SELECT tno,tname,tage FROM teachers
视图创建总是包括一个查询语句SELECT。 可以利用SELECT语句从一个表中选取所需 要的行或列(使用查询条件WHERE 子句) 构成视图,也可以从几个表中选取所需要 的行或列(使用子查询和链接技术)构成 视图。但要注意,在视图定义中不能包含 ORDER BY子句,除非有T <视图名>{ CASCADE | RESTRICT } 例4 删除视图GRADE_TABLE DROP VIEW GRADE_TABLE RESTRICT
5.2 创建视图
在SQL Server 2005中创建视图主要有两种方法: 使 用 SQL Server 管 理 控 制 台 和 使 用 TransactSQL语句中的CREATE VIEW命令。创建视图之 前,应考虑以下基本原则: 只能在当前数据库中创建视图。 视图名称必须遵循标识符的规则,且对每个架 构都必须唯一。 必须获取由数据库所有者授予的创建视图的权 限。
数据库实验——视图的创建与使用
数据库实验——视图的创建与使用数据库是一种利用计算机系统来管理、存储、处理数据的技术,视图则是在数据库中使用的一种技术。
视图是一种虚拟表,实际上并不存储数据,而是使用查询语句从一个或多个表中提取所需的数据。
在本次实验中,将学习视图的创建和使用。
一、实验目的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.创建视图(1) 创建一个视图stu_info,用于查看学生学号、姓名和性别信息,并修改其字段定义别名。
create view stu_info(学号,姓名,性别)asselect studentID,studentname,sexfrom studentgo(2) 创建计算机专业学生基本信息视图:stu_计算机,包括学生的学号、姓名及年龄,并要求进行修改和插入操作时仍需保证该视图只有计算机专业的学生create view stu_计算机asselect studentID,studentname,age,majorfrom studentwhere major='计算机'with check optiongo(3) 建立计算机专业选修了计算机基础课程的学生视图:stu_计算机_计算机基础create view stu_计算机_计算机基础asselect student.studentID, sex,coursename,gradefrom student,course,scorewhere student.studentID=score.studentid and score.courseid=course.courseid and coursename='计算机基础'and major='计算机'(4) 建立计算机专业选修了计算机基础课程且成绩在80分以上的学生的视图v_gradecreate view v_gradeasselect student.studentID,coursename,gradefrom student,course,scorewhere student.studentID=score.studentid andscore.courseid=course.courseid and coursename='计算机基础'and major='计算机'and grade>80(5) 创建一个名为View_Student的视图,包含计算机专业所有女生的学号、课程号及相应的成绩。
视图创建和使用
实训四视图[实验目的]:•掌握视图的定义与删除;•灵活查询与更新视图。
[实验要求]:利用实验一中创建的六个基本表 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”的学生删除。
数据库实验——视图的创建与使用
数据库原理与应用实验报告题目:视图的创建与使用学号:_________________姓名:_________________ 教师:_________________实验题目视图的创建与使用1、实验内容视图的创建与使用2、实验目的与要求1、理解视图的概念。
2、掌握视图创建的方法。
3、掌握更改视图的方法。
3、实验环境已安装SQL Server 2008 企业版的计算机;具有局域网环境,有固定IP;4、实验结果与分析1创建教材的三个数据表Student、Course及SC。
CREATE TABLE Student(Sno CHAR(9),Sname CHAR(20),Ssex CHAR(20),Sage SMALLINT,Sdept CHAR(20));CREATE TABLE SC(Sno CHAR(9),Cno CHAR(4),Grade SMALLINT,);CREATE TABLE Course(Cno CHAR(4),Cname CHAR(40),Cpno CHAR(4),Ccredit SMALLINT,);2向三个表中插入教材中的数据。
INSERT INTO Student values(‘200215121’,’李勇’,’男’,20,’CS’); INSERT INTO Student values(‘200215122’,’刘晨’,’女’,19,’CS’);INSERT INTO Student values(‘200215121’,’王敏’,’女’,18,’MA’);INSERT INTO Student values(‘200215121’,’张立’,’男’,19,’IS’);INSERT INTO Course values(‘1’,’数据库’,’5’,4);INSERT INTO Course(Cno,Cname,Credit) values(‘2’,’数学’,2);INSERT INTO Course values(‘3’,’信息系统’,’1’,4);INSERT INTO Course values(‘4’,’操作系统’,’6’,3);INSERT INTO Course values(‘5’,’数据结构’,’7’,4);INSERT INTO Course (Cno,Cname,Credit) values(‘6’,’数据处理’,2);INSERT INTO Course values(‘7’,’PASCAL语言’,’6’,4);INSERT INTO SC V ALUES (‘200215121’, ‘1’, 92);INSERT INTO SC V ALUES (‘200215121’, ‘2’, 85);INSERT INTO SC V ALUES (‘200215121’, ‘3’, 88);INSERT INTO SC V ALUES (‘200215122’, ‘2’, 90);INSERT INTO SC V ALUES (‘200215122’, ‘3’, 80);3、创建一个名为View_Male_Student的视图,从表Student中查询出性别为男的所有学生的资料。
数据库视图创建学习
数据库视图创建学习实验5 视图的创建及应⽤1、实验⽬的(1)掌握使⽤T-SQL语⾔创建、修改视图;(2)掌握使⽤T-SQL语句删除、重命名视图;(3)掌握使⽤T-SQL语句,通过视图对基本表进⾏数据操作;(4)掌握使⽤界⾯操作的⽅式创建、修改、删除和重命名视图,以及通过视图对基本表进⾏数据操作的⽅法。
2、实验类型验证型、设计型。
3、相关知识视图是⼀种数据库对象,是关系数据库系统提供给⽤户以多种⾓度观察数据库中数据的重要机制。
视图是从⼀个或者多个数据表或视图中导出的虚表,视图的结构和数据是对数据表进⾏查询的结果。
(1)使⽤T-SQL语句创建视图的语法格式CREATE VIEW [ < owner > .] view_name [ ( column_name [ ,...n ] ) ][WITH ENCRYPTION]ASselect_statementFROM table_name WHERE search_condition[WITH CHECK OPTION]其中:n view_name:为新创建的视图指定的名字,视图名称必须符合标识符规则。
n column_name:在视图中包含的列名,也可以在SELECT 语句中指定列名。
n table_name:视图基表的名字。
n select_statement:选择哪些列进⼊视图的SELECT语句。
n WHERE search_condition:基表数据进⼊视图所应满⾜的条件n WITH CHECK OPTION:迫使通过视图执⾏的所有数据修改语句必须符合视图定义中设置的条件。
n WITH ENCRYPTION:对视图的定义进⾏加密。
创建视图时的注意事项:在CREATE VIEW语句中,不能包括ORDER BY、COMPUTE或者COMPUTE BY ⼦句,也不能出现INTO关键字。
创建视图所参考基表的列数最多为1024列。
创建视图不能参考临时表。
视图的使用实验报告参考模板
实验报告课程名称数据库原理实验项目名称实验5:试图的使用班级与班级代码12计算机实验室名称(或课室)专业计算机科学与技术任课教师学号:姓名:实验日期:2014 年05 月13日广东财经大学教务处制姓名实验报告成绩指导教师(签名)2014年月日说明:指导教师评分后,实验报告交院(系)办公室保存。
1.实验目的与要求:1.1实验目的:通过视图的创建过程,理解视图的概念和意义,掌握视图的基本使用方法;1.2 通过视图的设计和定义,掌握建立视图的基本方法,包括通过单张表建立视图和通过多张表建立视图;通过在定义的视图上进行查询、插入、更新和删除操作,理解视图的概念,掌握简单视图查询方法。
2.实验环境与实验器材:计算机,网络环境,投影设备。
实验相关软件:Window xp、SQL Server 2000。
3. 实验内容与步骤本实验通过使用Transact-SQL语句和“企业管理器”两种方法进行视图操作。
3.1 基于单张表投影的视图编写Transact-SQL语句;建立一个基于“课程信息表”,按照投影操作定义的视图---“课程信息简表”,使之仅包括课程名称和课程ID,具体操作步骤如下:首先,进入“SQL查询分析器”界面,然后在“教学管理”数据库下编写如下Transact-SQL语句:create view 课程信息简表asselect 课程ID,课程名称from 课程信息表然后单击系统中“运行”按钮,得到如下的系统窗口,如下图所示:3.2 基于单张表选择的视图编写Transact-SQL语句;建立一个基于“课程信息表”,按照选择操作定义的视图---“管理学课程信息简表”,使之仅显示“管理学”这门课程在课程信息表里的所有信息,具体操作步骤如下: 首先,进入“SQL查询分析器”界面,然后在“教学管理”数据库下编写如下Transact-SQL语句:create view 管理学课程信息简表asselect *from 课程信息表where 课程名称='管理学'然后单击系统中“运行”按钮(绿色的小三角形),得到如下的系统窗口,如下图所示:3.3 基于单张表选择和投影混合的视图编写Transact-SQL语句;建立一个基于“课程信息表”,按照选择和投影操作定义的视图---“管理学课程信息简表”,使之包括课程名称、课程ID、课程类别和学分字段。
实验5 视图的创建与使用分析
XX实验报告学号 :系别专业班级姓名课程名称课程类型学时数实验名称视图的创建和使用实验目的:使用SQL Server Mangement Studio创建视图。
使用Transcat-sql创建视图。
查询视图了解创建和查询视图的方法。
实验要求:据库设计确定要创建的视图。
之前已经完成了其他实验,成功创建了stu中的各个表。
了解创建和查询视图的方法实验内容:要点:视图是从一个表或者几个基本表导出的表。
他与基本表不同,是一个虚表。
数据库只存放视图的定义,而不存放对应的数据,这些数据仍然存放在原来的基本表中,所以一旦基本表的数据发生改变,先从视图中查出的信息也就发生改变,从这个意义上来讲,视图就像一个窗口。
视图一经定义,就可以和基本表一样被查询,被删除,也可以在一个视图上在定义另一个视图,但对视图的(增,删,改)操作有一定的限制。
1. 打开SQL Server2008 ->SQL Server Mangenent Studio命令,弹出连接到服务器的对话框。
2. 在“连接到服务器”的对话框中,单击”连接“按钮。
3. 在“对象资源管理器中”依次展开“数据库“,stu,和视图。
4. 右击视图,然后选择”新建视图“的命令。
5. 在”添加表“对话框中选择student(students)表中的sno,sname,ssex,sage,sdept。
6.sdept的输出选项不可选,在筛选器一栏输入”is“,具体设置如图所示。
7. 将视图的架构属性设置为students。
8. 选择文件进行保存,输入名称”StudentISView“,然后单击确定。
实验结果:视图的创建:建立信息系学生的视图,并要求进行修改和插入操作认保持该视图只有信息系的学生:信息系学生的视图进行更新操作:更新操作后将姓名改变为‘刘晨’,如图所示:对新建的S_G视图进行删除操作;如图所示:将删除在视图中学号为201315127的学生信息。
对新建的F_Student视图进行查询操作:即选择F_Student视图中姓名为:宋敏的同学所有的信息如图所示:实验总结:通过本次实验对SQL-Server语言有了更深入的理解,并且掌握了使用SQL Server Mangement Studio创建视图。
实验五视图的创建和使用
实验五视图的创立和使用5.1概述5.1.1任务一理解视图的概念视图是一个虚拟表,其内容由查询定义。
同真实的表一样,视图包含一系列带有名称的列和行数据。
但是,视图并不在数据库中以存储的数据集合形式存在。
行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。
对其中所引用的基表来说,视图的作用类似于挑选。
定义视图的挑选可以来自当前或其他数据库的一个或多个表,或者其他视图。
视图被定义后便存放在数据库中,对视图中的数据的操作与对表的操作一样,可以对其进展查询、修改和删除,但对数据的操作要满足一定的条件。
当对视图所看到的数据进展修改时,相应的基表的数据也会发生变化,同时,假设基表的数据发生变化,这种变化也会自动地反映到视图中。
5.1.2任务二理解视图的优点用户可以根据自己的实际需要创立视图,使用视图有很多优点,主要有以下几点:1、简单性视图可以屏蔽数据的复杂性,简化用户对数据库的操作。
使用视图,用户可以不必理解数据库的构造,就可以方便地使用和管理数据。
那些被经常使用的查询可以被定义为视图,从而使得用户不必为以后的操作每次指定全部的条件。
2、逻辑数据独立性视图可以使应用程序和数据库表在一定程度上独立。
假设没有视图,应用一定是建立在表上的。
有了视图之后,程序可以建立在视图之上,从而程序与数据库表被视图分割开来。
3、平安性通过视图用户只能查询和修改他们所能见到的数据。
数据库中的其他数据那么既看不见也取不到。
5.2创立视图创立视图的方法有三种:在创立视图前请考虑如下原那么:➢只能在当前数据库中创立视图.➢视图名称必须遵循标识符的规那么,且对每个用户必须为唯一.此外,该名称不得与该用户拥有的任何表的名称一样.➢可在其他视图和引用视图的过程之上建立视图.SQLServer 2000允许嵌套多达32级视图➢假设要创立视图,数据库所有者必须授予用户创立视图的权限,并且用户对视图定义中所引用的表或视图要有适当的权限5.2.1任务一使用企业管理器创立视图使用企业管理器创立视图的详细操作步骤如下:1、翻开企业管理器窗口,翻开“新建视图〞对话框。
实验五:视图的创建与使用
1、 建立索引 1. 选择要创建索引的数据库文件夹, 如“S_C”文件夹,并在右边的对象窗口中选 择并打开其中的“表”对象。 2. 选择所要创建索引的表,如“Student”表, 并从“操作”菜单中选择“所有任务”子菜单 下的“管理索引”命令,打开SQL Server 的 索引管理器窗口。 3. 单击其中的“新建”按钮,创建新的索引,并 为其设置相应的属性。 4. 为Student 表创建一个基于“Sname”列 和“Sdept”列的索引IX_Student,其中 Sname列按升序排列,Sdept列按降序排列。
后单击“确定”按钮,关闭视图设计窗口,完成视图
的创建。
7) 创建一个简单视图,统计每门课程的选课人数和最高
分。
实验结
果(结 论及
成功建立了试验所要求的视图
分析)
教师
评语
2、 建立视图并利用视图查询数据 1) 启动SQL Server企业管理器,打开“SQL Server
Enterprise Manager”窗口。 2) 选择要创建视图的数据库文件夹,如“S_C”文件
夹,并在右边的对象窗口中选择其中的“视令,打开SQL Server的视图设计窗口。 4) 在“数据源关系图窗口”中单击鼠标右键,打开“添 加表”窗口,添加XSQK表和Student表。 5) 选择Student表的学号和姓名列,选择Student表的 sno,sname和ssex列,作为视图的显示列。
指导教师 黄川林
实验室 G108
实验日期
分组 情况
何威、李苗苗、杨德龙、孟炜 东、杨琦
成
绩
1、 建立索引 1. 选择要创建索引的数据库文件夹, 如“S_C”文件夹,并在右边的对象窗口中选 择并打开其中的“表”对象。 2. 选择所要创建索引的表,如“Student”表, 并从“操作”菜单中选择“所有任务”子菜单 下的“管理索引”命令,打开SQL Server 的 索引管理器窗口。 3. 单击其中的“新建”按钮,创建新的索引,并 为其设置相应的属性。 4. 为Student 表创建一个基于“Sname”列 和“Sdept”列的索引IX_Student,其中 Sname列按升序排列,Sdept列按降序排列。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
视图的创建与使用
一、实验目的
(1)理解视图的概念。
(2)掌握创建视图、测试、加密视图的方法。
(3)掌握更改视图的方法。
(4)掌握用视图管理数据的方法。
二、实验容
1.创建视图
(1)创建一个名为stuview2的水平视图,从数据库Student_info的Student表中查询出性别为“男”的所有学生的资料。
并在创建视图时使用with check option。
(注:该子句用于强制视图上执行的所有修改语句必须符合由Select语句where中的条件。
)
create view stuview2
as
select*from Student
where Sex='男'
with check option
查看视图:
select*from stuview2
(2)创建一个名为stuview3的投影视图,从数据库Student_info的Course表中查询学分大于3的所有课程的课程号、课程名、总学时。
并在创建时对该视图加密。
(提示:用with ENCRYPTION关键子句)
create view stuview3
with ENCRYPTION
as
select Cno,Cname,Total_perior from Course
where Credit>3
查看视图:
select*from stuview3
(3)创建一个名为stuview4的视图,能检索出“051”班所有女生的学号、课程号及相应的成绩。
create view stuview4
as
select*from SC
where Sno=(
select Sno from Student
where Classno='051'and Sex='女')
查看视图:
select*from stuview4
(4)创建一个名为stuview5的视图,能检索出每位选课学生的学号、、总成绩。
create view stuview5
as
select Student.Sno学号,Sname,Grade成绩
from Student,SC
where Student.Sno=SC.Sno
查看视图:
select*from stuview5
若出现如上图所示情况,
单击“查询”→IntelliSense→刷新本地缓存然后就解决了。
2.查询视图的创建信息及视图中的数据
(1)查看视图stuview2的创建信息。
a.通过系统存储过程sp_help查看
b.通过查询表sysobjectsa、sp_help stuview2
b、
select ,,sc.colid, from sysobjects so,syscolumns sc,systypes st where SO.id=SC.id
and SO.xtype='V'
and SO.status>= 0
and SC.xtype=ST.xusertype
and ='stuview2'
order by ,SC.colorder
(2) 通过查看视图的定义脚本。
a.通过系统存储过程sp_helptext
sp_helptext stuview2
b.通过查询表sysobjects和表syscomments
(提示:视图的名称保存在表sysobjects的name列,定义脚本保存在表syscomments的text列)
select ,SC.text
from sysobjects SO,syscomments SC
where SO.id=SC.id
and SO.xtype='V'
and SO.status>= 0
and ='stuview2'
3)查看加密视图stuview3的定义脚本。
sp_helptext stuview3
3.修改视图的定义
(1)修改视图stuview3使其从数据库Student_info的Student表中查询总学时大于60的所有课程的课程号、课程名、学分。
(提示:若视图原具有加密保护,修改视图时若未加
with encryption子句,则修改后的视图不再加密。
)
alter view stuview3
with encryption
as
select Cno,Cname,Credit from Course
where Total_perior>60
查看视图:
select*from stuview3
4.视图的更名与删除
1)用系统存储过程sp_rename将视图stuview4更名为stuv4。
sp_rename stuview4,stuv4
2)将视图stuv4删除。
drop view stuv4
5.管理视图中的数据
1)从视图stuview2查询出班级为“051”、为“虹”的资料。
select*from stuview2
where Classno='051'and Sname='虹'
2)向视图stuview2中插入一行数据,容为:
学号班级性别家庭住址入学时间出生年月
20110005 小林 054 男 2011/09/01 1993/01/09 insert into stuview2
values('20110005','小林','男','1993/01/09','054','2011/09/01', '','CH','201111')
查看视图:
select*from stuview2
3)查询student,查看表中的容有何变化。
Student 表中已有“小林”的信息
select*from Student
4)向视图stuview2中插入一行数据,容为:
学号班级性别家庭住址入学时间出生年月
20110006 静 054 女 2011/09/01 1993/11/09 能成功插入吗?原因何在?
不能插入,原因是目标视图或者目标视图所跨越的某一视图指定了WITH CHECK OPTION,而该操作的一个或多个结果行又不符合CHECK OPTION 约束。
insert into stuview2
values('20110006','静','女','1993/01/09','054','2011/09/01',
'','CH','201111')
5)修改视图stuview2中的数据。
a.将stuview2中054班、为“小林”同学的家庭地址改为“市”。
update stuview2
set Home_addr='市'
where Home_addr=''and Sname='小林'and Classno='054'
查看视图:
select*from stuview2
b.查询student,查看表中的容有何变化
student 表中的小林的家庭住址已发生了改变
select*from Student
6)从视图stuview1中将班级为054、为“小林”同学删除。
delete from stuview2
where Sname='小林'
查看视图:。