文档库 最新最全的文档下载
当前位置:文档库 › 实验五视图的创建与使用

实验五视图的创建与使用

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

实验五视图的创建与使用

一、实验目的:理解视图概念和方法,掌握用sql语句和对象资源管理器创建视图方法。

二、实验内容及步骤

1、创建一个名为IS_STUDENT的视图,从数据库选课系统中查询所有信息系学生记录

方法一:

use ‘选课系统’

go

Create view IS_STUDENT

As

Select * from student where sdept=’IS’

方法二:打开企业管理器SSMS,展开SQl server服务器,展开“选课系统”右击“视图”弹出快捷菜单点击“新建视图”,在“显示关系图”窗口把查询表添加进来,同时选择输出字段列,在“显示条件窗格”的“筛选条件”窗格输入筛选条件,最后查询结果将在“显示结果窗格”输出。

2、查看该视图的创建信息及视图中的数据

Sp_helptext IS_STUDENT

3、修改视图定义,将其改为查询所有信息系的女生信息

use ‘选课系统’

go

alter view IS_STUDENT

As

Select * from student where sdept=’IS’ and ssex=’女’

4、视图删除

Drop view IS_STUDENT

5、创建一个名为grade_student视图, 从数据库选课系统中查询所有学生的选课信息,包括学号,姓名,系别,课程号,课程名,成绩,学分。

方法一:

create view grade_student(sno,sname,sdept,cno,cname,grade,credit)As

Select student.sno,sname,sdept,https://www.wendangku.net/doc/ca18017215.html,o,cname,grade,credit

From student,sc,course

Where student.sno=sc.sno and https://www.wendangku.net/doc/ca18017215.html,o=https://www.wendangku.net/doc/ca18017215.html,o

方法二:打开企业管理器SSMS,展开SQl server服务器,展开“选课系统”右击“视图”弹出快捷菜单点击“新建视图”,在“显示关系图”窗口把查询表添加进来,同时选择输出字段列,在“显示条件窗格”的“筛选条件”窗格输入筛选条件,最后查询结果将在“显示结果窗格”输出

三、实验总结及心得

四、实验结果(在下一页,要求打印出来附在报告后)

实验五结果:

实验五 SQL的视图(优.选)

实验五 SQL的视图 1、实验目的 熟悉SQL支持的有关视图的操作,能够熟练使用SQL语句来创建需要的视图,对视图进行查询和取消视图。 2、实验内容 (1)定义常见的视图形式,包括: ●行列子集视图 ●WITH CHECK OPTION的视图 ●基于多个基表的视图 ●基于视图的视图 ●带表达式的视图 ●分组视图 (2)通过实验考察WITH CHECK OPTION这一语句在视图定义后产生的影响,包括对修改操作、删除操作、插入操作的影响。 (3)讨论视图的数据更新情况,对子行列视图进行数据更新。 (4)使用DROP语句删除一个视图,由该视图导出的其他视图定义仍在数据字典中,但已不能使用,必须显式删除。同样的原因,删除基表时, 由该基表导出的所有视图定义都必须显式删除。 3、实验步骤 (1)创建一个行列子集视图CS_View,给出选课成绩合格的学生的编号、教师编号、所选课程号和该课程成绩。 create view CS_View as select wjy_Sno,wjy_Tno,wjy_Cno,wjy_Score from Wangjy_Reports where wjy_Score>=60 with check option (2)创建基于多个基本表的视图SCT_View,这个视图由学生姓名和他所选修的课程名及讲授该课程的教师姓名构成。

(3)创建带表达式的视图EXP_View,由学生姓名及所选课程名和所有课程成绩都比原来多5分这几个属性组成。 (4)创建分组视图Group_View,将学生的学号及他的平均成绩定义为一个视图。

(5)创建一个基于视图的视图,基于(1)中建立的视图,定义一个包括学生编号、学生所选课程数目和平均成绩的视图VV_View。 create view VV_View select wjy_Sno,wjy_Cno,AVG(wjy_Score)AVG_Score from CS_View group by wjy_Sno,wjy_Cno having AVG(wjy_Score)>= 60 (6)查询所有选修课程“数据库原理及其应用”的学生姓名。 select wjy_Sname from Wangjy_Students where wjy_Sno in (select wjy_Sno from Wangjy_Reports where wjy_Cno in

SQL-Serve实验5-索引和视图-

SQL-Serve实验5-索引和视图-

实验5 索引和视图 1.实验目的 (1)掌握使用SQL Server管理平台和Transact-SQL语句CREATE INDEX创建索引的方法。 (2)掌握使用SQL Server管理平台查看索引的方法。(3)掌握使用SQL Server管理平台和Transact-SQL语句DROP INDEX删除索引的方法。 (4)掌握使用SQL Server管理平台和Transact-SQL语句CREATE VIEW创建视图的用法。 (5)了解索引和视图更名的系统存储过程sp_rename的用法。 (6)掌握使用Transact-SQL语句ALTER VIEW修改视图的方法。 (7)了解删除视图的Transact-SQL语句DROP VIEW的用法。 2.实验内容及步骤 (1)分别使用SQL Server管理平台和Transact-SQL语句为studentsdb数据库的student_info表和curriculum表创建主键索引。 使用SQL Server管理平台:

a. b. c. d.

e. 使用Transact-SQL语句: (2)使用SQL Server管理平台按curriculum表的课程编号列创建唯一性索引。

(3)分别使用SQL Server管理平台和Transact-SQL语句为studentsdb数据库的grade表的“分数”字段创建一个非聚集索引,命名为grade_index。 使用SQL Server管理平台: 使用SQL语句: use studentsdb go create index grade_index on grade (分数) (4)为studentsdb数据库的grade表的“学号”和“课程编号”字段创建一个复合唯一索引,命名为grade_id_c_ind。 create index grade_id_c_ind on grade (学号,课程编号)

实验5 索引和视图

数据库技术与应用 实验报告 实验名称:实验五:索引和视图 系(科):信息系电子信息工程 班级: 180932 学号: 18093207 姓名:陶赛年 完成时间: 2012-4-28 南京师范大学中北学院

一、实验目的 1.学会使用SQL Server管理平台和Transact-SQL语句CREATE INDEX创建索引。 2.学会使用SQL Server管理平台查看索引。 3.学会使用SQL Server管理平台和Transact-SQL语句DROP INDEX删除索引。 4.掌握使用SQL Server管理平台、向导等创建、管理和删除全文索引,并使用全文索引查询信息的方法。 5. 掌握使用SQL Server管理平台和Transact-SQL语句CREATE VIEW创建视图的用法。 6.掌握系统存储过程sp_rename的用法。 7.掌握使用Transact-SQL语句ALTER VIEW修改视图的方法。 二、实验准备 1.了解聚集索引和非聚集索引的概念。 2.了解使用Transact-SQL语句CREATE INDEX创建索引的语法。 3.了解使用SQL Server管理平台创建索引的步骤。 4.了解Transact-SQL语句DROP INDEX删除索引的用法。 5.了解创建视图的Transact-SQL语句CREATE VIEW的语法格式及用法。 6.了解修改视图的Transact-SQL语句ALTER VIEW的语法格式。 7.了解视图更名的系统存储过程sp_rename的用法。 8.了解删除视图的Transact-SQL语句DROP VIEW的用法。 三、实验内容 1.分别使用SQL Server管理平台和Transact-SQL语句为studentsdb数据库的《学生表》和《课程表》创建主键索引。 (1) 使用SQL Server管理平台为studentsdb数据库的《学生表》和《课程表》创建主键索引。

实验五 视图

实验五视图、索引与数据库关系图 1、实验目的 掌握SQL Server中的视图创建、查看、修改和删除的方法;索引的创建和删除的方法;数据库关系图的实现方法。加深对视图和SQL Server数据库关系图作用的理解。 2、实验内容 (1)创建、查看、修改和删除视图 (2)创建、删除索引文件 (3)创建数据库关系图 3、实验步骤 1)视图操作 (1)创建视图 使用SQL Server Management Studio直接创建,步骤如下: ①单击数据库前面的+号,然后再单击“学生选课”数据库前面的+号,右击“视图”,在弹出的快捷菜单中选择“新建视图”命令,弹出“添加表”对话框。 ②在“添加表”对话框中,添加视图数据来源的表,这里添加三张表,分别是student、course和SC表。添加表后,单击添加表对话框中的“关闭”按钮,出现创建视图界面。 ③如果要在视图中显示某张表的某个字段,只需单击其字段前的复选框即可,同时在中间列中会显示该字段,在代码区中会看到具体实现的代码。 ④如果要查看视图,单击常用工具栏中的“执行”按钮,就可以看到视图的数据显示。 ⑤在创建视图中还可以为字段添加列名、进行排序、添加多个筛选条件。 ⑥单击常用工具栏中的“保存”按钮,就可以弹出保存视图提示对话框,输入视图名字即可,如view_stu_grade。 请尝试使用T-SQL语句创建该视图。 (2)修改视图 视图创建好,就可以利用它进行查询信息了。如果发现视图的结构不能很好地满足要求,还可以对它进行修改。可利用SQL Server Management Studio直接修改,也可用T-SQL语句进行修改。 请用T-SQL语句写出“修改视图view_stu_grade,使之只显示成绩>80的记录” (3)删除视图 使用SQL Server Management Studio直接删除或用T-SQL语句删除视图。 2)索引文件的创建与删除 索引是一个单独的、物理的数据库结构,是为了加速对表中数据行的查询而创建的一种分散的存储结构。 (1)创建索引文件。 使用SQL Server Management Studio直接创建索引文件,步骤如下: ①单击数据库前面的+号,然后再单击表前面的+号,就可以看到已存在的表了。 ②选点要添加索引的表,如数据表student。右击,在弹出的快捷菜单中选择“修改”命令。 ③右击任一个字段,在弹出的快捷菜单中选择“索引/键”命令,弹出对话框。

实验四 索引和视图参考答案

索引 --为表student中SName属性建立惟一索引 create unique index snameindex on student(SName) --为teacher中的tname属性建立惟一聚集索引。 由于sqlserver2005在主键和具有unique约束的属性上自动建立了索引,且在主键上自动建立了聚集索引,因此必须移除主键(或其它聚集索引),然后才能在tname上建立聚集索引create unique clustered index tnameindex on teacher(tname) 移除主键

然后还原Tno为teacher表的主键 --利用系统存储过程sp_helpindex查看表student上的所有索引。

exec sp_helpindex student --利用系统存储过程sp_rename将表student上的索引改名。 exec sp_helpindex student exec sp_rename 'student.snameindex','snameindex2' --删除表student中的惟一索引。(注意,sqlserver2005在主键和具有unique约束的属性上自动建立了索引,要删除这些索引,必须先取消这些属性的主键或unique性质(通过修改表),才能删除索引,不能直接删除索引) drop index student.snameindex2 --视图 --建立视图teacherview1(无check option选项),只显示教师表中姓张的教师的教师编号、教师姓名、所在系。 create view teacherview1 as select Tno, TName, DepID from teacher where TName like '张%' --建立视图teacherview2(带check option选项),只显示教师表中姓张的教师的教师编号、教师姓名、所在系。 create view teacherview2 as select Tno, TName, DepID from teacher where TName like '张%' with check option --建立视图teacherview3(带encryption选项),只显示教师表中姓张的教师的教师编号、教师姓名、所在系。 create view teacherview3 with encryption as select Tno, TName, DepID from teacher where TName like '张%' --分别向teacherview2、teacherview1中插入记录(’866’,’杨志’,3),体会with check option选项的作用。 insert into teacherview1 values('866','杨志',3) insert into teacherview2 values('867','王五',3)

第五章 视图的创建和使用

第五章视图的创建和使用 5.1 视图概述 5.1.1 视图的基本概念 ?视图是数据库中一个“不可见的表”,视图是一种基于表的关于数据库数据的查询,其内容由 查询的结果来定义。 ?对于数据库用户来说,视图似乎是一个真实的表,它具有一组命名的数据列和行。但是,与 真实的表不同,在视图中没有存储任何数据,仅仅是一种较简单的访问数据库里其他表中数据的方式,因此称它为“虚表”。而数据的物理存储位置仍然在表中,这些表称作视图的基表。 ?一个视图可以派生于一个或多个基表,也可以从其他视图中派生。视图只能建立在当前正在 使用的数据库中。 ?视图被引用时,其数据是动态生成的。 ?视图是一种SQL查询,在数据库中存储的是视图的定义,而不是查询的数据。 5.1.2 视图的用途 ?视点集中:视图集中即是使用户只关心它感兴趣的某些特定数据和他们所负责的特定任务。 这样通过只允许用户看到视图中所定义的数据而不是视图引用表中的数据而提高了数据的安全性。 ?简化操作:视图大大简化了用户对数据的操作。因为在定义视图时,若视图本身就是一个复 杂查询的结果集,这样在每一次执行相同的查询时,不必重新写这些复杂的查询语句,只要一条简单的查询视图语句即可。可见视图向用户隐藏了表与表之间的复杂的连接操作。 ?定制数据:视图能够实现让不同的用户以不同的方式看到不同或相同的数据集。因此,当有 许多不同水平的用户共用同一数据库时,这显得极为重要。 ?合并分割数据:在有些情况下,由于表中数据量太大,故在表的设计时常将表进行水平分割 或垂直分割,但表的结构的变化却对应用程序产生不良的影响。如果使用视图就可以重新保持原有的结构关系,从而使外模式保持不变,原有的应用程序仍可以通过视图来重载数据。 ?安全性:视图可以作为一种安全机制。通过视图用户只能查看和修改他们所能看到的数据。 其它数据库或表既不可见也不可以访问。如果某一用户想要访问视图的结果集,必须授予其访问权限。视图所引用表的访问权限与视图权限的设置互不影响。 5.1.3 视图的缺点 ?性能:对试图的查询,SQL Server必须转化成对基本表的查询,这时因为视图本身并不存储数据,其 中的数据来自它所引用的基表。如果这个视图是由一个复杂的多表查询所构成,那么,即使是对视图的一个简单查询,SQL也将把它变成一个复杂的结合体,这需要花费一定的时间。 ?修改的限制:对视图进行修改,SQL必须把它转化为对与视图引用基表对应的数据修改。对于简单视 图来说,这是很方便的,但是,对于比较复杂的视图,可能是不可修改的。

数据库实验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”的学生信息,并查询结果。 5. 要通过视图V_S_C_G,将学号为“S12”的姓名改为“S12_MMM”,是否可以实现?并说明原因。 6. 要通过视图V_A VG_S_G,将学号为“S1”的平均成绩改为90分,是否可以实现?并说明原因。 二、数据库安全性控制 1.在企业管理器中为所属的SQL服务器设置Windows NT安全认证模式。 2.在企业管理器中为自己建立一个服务器用户、数据库用户和数据库角色。并将自己创建的学生库所有操作权赋予它们,将自设计的数据库的操作权赋予新建的数据库用户。

实验三 索引和视图

实验三索引和视图 一、实验目的 1.掌握利用SSMS和T—SQL语句创建和删除索引的两种方法。 2.掌握利用SSMS和T—SQL语句创建、查询、更新及删除视图的方法。 ssex char(3)constraint ssex_ch check (ssex in('男','女')), sage int not null constraint sage_ch check (sage between 15 and 30), sdept char(10))

values('C02','数据结构','C05',2) insert into course values('C03','数据库','C02',2) insert into course

values('C04','DB_设计','C03',3) insert into course values('C05','C++',null,3) insert into course values('C06','网络原理','C07',3) create table sc(sno char(5)not null, cno char(5)not null, grade int constraint grade_ch check(grade between 0 and 100), primary key(sno,cno),

constraint fk_sno foreign key (sno)references student(sno), constraint fk_cno foreign key (cno)references course(cno)) insert into sc values('S01','C01',92) insert into sc values('S01','C03',84) insert into sc values('S02','C01',90) insert into sc values('S02','C02',94) insert into sc values('S02','C03',82) insert into sc values('S03','C01',72) insert into sc values('S03','C02',90) insert into sc values('S04','C03',75) 2.索引的建立、删除 ①用SSMS的方式为Student表按Sno(学号)升序建唯一索引

数据库原理视图的创建与使用实验报告

***大学计算机科学与信息学院软件工程系上机实验报告

显示结果: 2、用企业管理器创建、管理视图 (1)创建视图 A、使用企业管理器在表teacher上创建一职称为副教授的教师视图teacherview视图,该视图中需包 括以下信息:姓名,系别,职称,工资。 1)依次进入企业管理器、数据库、XSGL库,并用鼠标右键单击“视图”。 2)在系统弹出的快捷菜单中单击“新建视图”,出现“新建视图”窗口。

B、使用企业管理器在表student、course、sc表上创建一个能查询学生的学号、姓名、课程名及课程成绩的视图,视图名为S_C_VIEW。 (2)修改视图stuview1 将视图studview1的定义修改为从student表中查询出MA系学生的学号,姓名,系别。 (提示:修改视图:在企业管理器中选中视图后->击右键->按设计视图->进行修改) (3)管理视图中的数据 1)查看视图stuview1中的数据。 (提示:用鼠标右键单击要管理的视图stuview1,单击“打开视图”,再单击“返回所有行”。)

2)将视图stuview1中学号为“6”的学生姓名改为“许华”。再重新打开student表观察一下,有什么变化(注:须按按钮“!”进行修改确认。) 3、用T-SQL语言创建、管理视图 (1)创建视图 ①创建一个名为stuview2的水平视图,从数据库XSGL的student表中查询出性别为“男”的所有学生的资 料。并在创建视图时使用with check option。(注:该子句用于强制视图上执行的所有修改语句必须符合由Select语句where中的条件。) T-SQL语句为: CREATE VIEW stuview2 AS SELECT* FROM Student WHERE Ssex='男' WITH CHECK OPTION; ②创建一个名为stuview3的视图,能检索出CS系所有女生的学号、选修的课程名及相应的成绩。 T-SQL语句为: CREATE VIEW stuview3 AS SELECT,, FROM SC,Course WHERE= AND IN ( SELECT Sno FROM Student WHERE Sdept='CS'AND Ssex='女'); ③创建一个名为stuview4的视图,能检索出选课学生的学号、姓名、课程名、成绩。

SQL Serve实验5_索引和视图_

实验5 索引和视图 1.实验目的 (1)掌握使用SQL Server管理平台和Transact-SQL语句CREATE INDEX创建索引的方法。 (2)掌握使用SQL Server管理平台查看索引的方法。 (3)掌握使用SQL Server管理平台和Transact-SQL语句DROP INDEX删除索引的方法。 (4)掌握使用SQL Server管理平台和Transact-SQL语句CREATE VIEW创建视图的用法。 (5)了解索引和视图更名的系统存储过程sp_rename的用法。(6)掌握使用Transact-SQL语句ALTER VIEW修改视图的方法。 (7)了解删除视图的Transact-SQL语句DROP VIEW的用法。2.实验内容及步骤 (1)分别使用SQL Server管理平台和Transact-SQL语句为studentsdb数据库的student_info表和curriculum表创建主键索引。 使用SQL Server管理平台:

a. b. c. d.

e. 使用Transact-SQL语句: (2)使用SQL Server管理平台按curriculum表的课程编号列创建唯一性索引。

(3)分别使用SQL Server管理平台和Transact-SQL语句为studentsdb数据库的grade表的“分数”字段创建一个非聚集索引,命名为grade_index。 使用SQL Server管理平台: 使用SQL语句: use studentsdb go create index grade_index on grade (分数) (4)为studentsdb数据库的grade表的“学号”和“课程编号”字段创建一个复合唯一索引,命名为grade_id_c_ind。 create index grade_id_c_ind on grade (学号,课程编号)

data数据库实验五视图创建与使用

实验五视图的创建与使用 一、实验目的 (1)理解视图的概念。 (2)掌握创建视图、测试、加密视图的方法。 (3)掌握更改视图的方法。 (4)掌握用视图管理数据的方法。 二、实验内容 1.创建视图 (1)创建一个名为stuview2的水平视图,从数据库Student_info的Student表中查询出性别为“男”的所有学生的资料。并在创建视图时使用with check option。(注:该子句用于强制视图上执行的所有修改语句必须符合由Select语句where中的条件。) create view stuview2 as select Sno,Sname,Sex,Birth,Classno,Entrance_date,Homeaddr,Sdept,Postcode from Student_20103322 where Sex='男' with check option

(2)创建一个名为stuview3的投影视图,从数据库Student_info的Course表中查询学分大于3的所有课程的课程号、课程名、总学时,并在创建时对该视图加密。(提示:用with ENCRYPTION关键子句) create view stuview3 with ENCRYPTION as select Cno,Cname,Total_perior from Course_20103322 where Credit>3 with check option

(3)创建一个名为stuview4的视图,能检索出“051”班所有女生的学号、课程号及相应的成绩。 create view stuview4 as select Student_20103322.Sno,Cno,Grade from Student_20103322,SC_20103322 where Student_20103322.Sno=SC_20103322.Sno and Classno='051' and Sex='女'

数据库原理实验报告实验四视图与索引

数据库原理实验报告实验 四视图与索引 The Standardization Office was revised on the afternoon of December 13, 2020

一、实验内容、步骤以及结果 1.在Student数据库中,利用图形用户界面,创建一个选修了“数据库原理”课程并且是1996年出生的学生的视图,视图中包括学号,性别,成绩三个信息。(5分) 2.用两种不同的SQL语句创建第五版教材第三章第9题中要求的视图(视图名:V_SPJ)(10分,每种方法5分)。 --第一种方法 CREATE VIEW V_SPJ AS SELECT sno,pno,qty FROM SPJ WHERE jno=( SELECT jno FROM J WHERE jname ='三建' ); GO --删除建好的视图 DROP VIEW V_SPJ; GO --第二种方法 CREATE VIEW V_SPJ AS

SELECT sno,pno,qty FROM SPJ,J WHERE=AND='三建'; 3.用SQL语句完成第五版教材第三章第11题中的视图查询(10分,每小题5分)。 11.请为三建工程项目建立一个供应情况的视图,包括供应商代码(SNO)、 零件代码(PNO)、供应数量(QTY)。 针对该视图VSP完成下列查询: (1)找出三建工程项目使用的各种零件代码及其数量。 (2)找出供应商S1的供应情况。

4.用SQL语句完成视图的数据更新。(15分,每题5分) (1)给视图V_SPJ中增加一条数据。 提示: -SPJ表中JNO允许为空时,数据可以插入基本表,此时JNO为NULL,由于JNO为NULL,所以视图中没有该条数据。 -SPJ表中JNO不能为空时,可以使用instead of触发器实现。 (2)修改视图V_SPJ中的任意一条数据的供应数量。

实验六:关系图、索引和视图的定义及维护

实验六:关系图、索引和视图的定义及维护 一、实验目的 1.掌握创建关系图的方法。 2.掌握创建、查看和删除索引的操作和方法。 3.理解视图的含义,能使用SQL Server企业管理器创建视图并对其进行管 理。 二、实验环境 已安装SQL Server 企业版的计算机(120台); 具有局域网环境,有固定IP; 三、实验学时 2学时 四、实验要求 1.索引和视图的创建和管理也可以用查询分析器实现,参照课本上的相关 Transact-SQL命令,写出对应的Transact-SQL实现代码。 2.将视图的创建、修改、删除过程与实验二中表的创建、修改、和删除进 行对照,看看有什么相同点和不同点。 3.完成实验报告; 五、实验内容及步骤 以系统管理员身份登录到SQL Server服务器,在SQL Server2005界面中实现第1题操作,其余题目用SQL Server2005界面及T-SQL 语句实现: 1.使用创建数据库关系图向导为学生选课数据库中的Student表,Course 表,SC表创建关系图。 2.为Student表创建一个基于Sname(姓名)的按降序排列的聚簇索引 Stusname。 CREATE CLUSTERED INDEX Stusname ON

Student(Sname DESC) 3.为学生—课程数据库中的Student,Course,SC 3 个表建立索引。其中 student按学号升序建唯一索引,course按课程号升序建唯一索引,SC 按学号升序和课程号降序建唯一索引,索引名称分别为 Stusno,Coucno,Scno。 CREATE UNIQUE INDEX Stusno ON Student(Sno); CREATE UNIQUE INDEX Coucno ON Course(Cno); CREATE UNIQUE INDEX SCno ON SC(Sno ASC,Cno DESC); 4.删除 Student表中的Stusname索引。 DROP INDEX student.Stusname 5.创建信息系男学生基本信息视图stu_is,包括学生的学号、姓名及年龄, 并要求进行修改和插入操作时仍需保证该视图只有信息系的学生。CREATE VIEW stu_is AS SELECT sno,sname, sage,ssex,sdept from student Where sdept = ‘IS’ and ssex=‘男’ WITH CHECK OPTION 6.建立信息系选修了1号课程的学生视图stu_is_c1(学号,姓名,成绩)。CREATE VIEW stu_is_c1(学号,姓名,成绩) AS SELECT Student. Sno,Sname,Grade FROM Student,SC WHERE Sdept= 'IS' AND Student.Sno=SC.Sno AND https://www.wendangku.net/doc/ca18017215.html,o= '1' 7.建立信息系男同学年龄在19岁以上学生信息的视图stu_is_age。(使用 第5题的视图) CREATE VIEW stu_is_age AS SELECT Sno,Sname,sage FROM stu_is WHERE sage>19 8.查询信息系男同学年龄在19岁以上的学生信息。 SELECT * From stu_is_age WHERE sage>=19 9.查询信息系选修了1号课程且成绩大于 80的学生成绩信息。 SELECT * FROM stu_is_c1 where grade>80 或SELECT Student.Sno,Sname ,grade FROM Student,SC WHERE Student.Sno =SC.Sno AND https://www.wendangku.net/doc/ca18017215.html,o= '1‘AND sdept=‘CS’and grade>80

实验五视图、存储过程与触发器的应用

实验五视图、存储过程与触发器的应用准备工作: 1.创建数据库Student 2.生成一个表名为student的表 3 4.用企业管理器创建教工表teacher,要求如下:

一、目的与要求 1.掌握创建、修改、删除视图的SQL语句的用法。 2.掌握使用企业管管理器创建视图的方法。 3.了解存储过程基本概念和类型,掌握创建存储过程的方法和步骤。 4.掌握创建、查看、执行、修改和删除存储过程的SQL命令的用法。 5.了解触发器的基本概念和类型,掌握创建触发器的方法和步骤。 6.掌握创建查看、修改、使用和删除触发器的SQL命令的用法。 二、实验内容 视图 1. 在STUDENT库中以“student”表为基础,建立一个名为“V_经济管理系学生”的视图(注:经济管理系的系部代码为“02”)。在使用该视图时,将显示“student”表中的所有字段。 USE STUDENT GO IF EXISTS(SELECT name FROM sysobjects WHERE name=' V_经济管理系学生' AND type='V') DROP view V_经济管理系学生 GO CREATE VIEW V_经济管理系学生 AS select * from student where sdept='02' GO

2. 使用视图“V_经济管理系学生”查询经济管理系学生的信息。 Select * from V_经济管理系学生 3. 在查询分析器中使用更改视图的命令将视图“V_经济管理系学生”更名为“V_经管系男生”。 sp_rename V_经济管理系学生V_经管系男生 4. 修改“V_经管系男生”视图的内容。视图修改后,在使用该视图时,将得到经济管理系所有“男”学生的信息。 ALTER VIEW V_经管系男生 AS SELECT * FROM student where sdept='02' and sex='男' GO 5. 删除视图“V_经管系男生”。 DROP VIEW V_经济管理系男生 使用存储过程 (1)使用STUDENT数据库中的学生表student、课程信息表Course、选课成绩表Sc,创建一个带参数的存储过程: cjjicx。该存储过程的作用是:当任意输入一个学生的姓名时,将从三个表中返回该学生的学号、选修的课程名称和课程成绩。 USE STUDENT GO IF EXISTS(SELECT name FROM sysobjects WHERE name='cjjicx' AND type='P') DROP procedure cjjicx GO create procedure cjjicx @sname char(8) as select sno,cname,grade from student,course,sc where student.sno=sc.sno and https://www.wendangku.net/doc/ca18017215.html,o=https://www.wendangku.net/doc/ca18017215.html,o and sname=@sname go (2)执行cjjicx存储过程,查询“刘永辉”的学号、选修课程和课程成绩。excute cijicx @ sname =‘刘永辉’ (3)使用系统存储过程sp_helptext查看存储过程cjjicx的文本信息。Sp_helptext cijicx (4)使用STUDENT数据库中的学生表,为其创建一个加密的存储过程—jmxs。该存储过程的作用是:当执行该存储过程时,将返回计算机系学生的所有

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

视图的创建与使用 一、实验目的 (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='女')

视图和索引(数据库实验4)

. . . 数据库基础与实践实验报告实验四视图和索引 班级:惠普测试142 学号:1408090213 :闫伟明 日期:2016-11-13

1 实验目的: 1)掌握SQL进行视图创建的方法; 2)掌握SQL进行视图更新的方法,理解视图更新受限的原因; 3)掌握SQL进行索引创建及删除的方法。 2 实验平台: 操作系统:Windows xp。 实验环境:SQL Server 2000以上版本。 3 实验容与步骤 利用实验一创建的sch_id数据库完成下列实验容。 1.定义视图V_TCS(定义时不加with check option),存放全部计算机系老师的信息。 视图定义代码: CREATE VIEW V_TCS AS SELECT tno,tn,sex,age,prof,sal,comm,T.dno FROM T,D WHERE T.dno=D.dno AND D.dn='计算机' 视图查询语句与查询结果截图: SELECT*FROM V_TCS 2.定义视图V_sal,存放全体教师的教师号,教师,教师酬金(工资+岗位津贴),职称信息。视图定义代码: CREATE VIEW V_sal AS

SELECT tno教师号,tn教师,sal+comm教师酬金,prof支撑信息 FROM T 视图查询语句与查询结果截图: SELECT*FROM V_sal 3.向V_TCS中插入一条计算机专业教师的新记录,并查询V_TCS视图的全部记录。视图更新代码: INSERT INTO V_TCS SELECT'T10','良瑗','女',20,'讲师',6000,8000,D.dno FROM D WHERE D.dn='计算机'

实验 视图、索引与数据库关系图

实验名称:实验五视图、索引与数据库关系图 班级学号姓名日期 所在院系指导老师成绩 一、试验目的 使学生掌握SQL Server中的视图创建、查看、修改和删除的方法;索引的创建和删除的方法;数据库关系图的实现方法。加深对视图和SQL Server数据库关系图的理解。 二、实验内容 (1)创建、查看、修改和删除视图。 (2)创建、删除索引文件。 (3)创建数据库关系图。 三、试验步骤 1)视图操作 (1)创建视图。 使用SQL Server Management Studio直接创建,步骤如下: 1.单击数据库前面的+号,然后再单击“学生选课”数据库前面的+号,右击“视图”,在弹出的快捷菜单中选择“新建视图”命令,弹出“添加表”对话框。如图5.1所示 图5.1 “添加表”对话框 2.在“添加表”对话框中,添加视图数据来源的表,这里添加三张表,分别是student、course和sc表。添加表后,单击添加表对话框中的“关闭”按钮,出现创建视图界面。如图5.2所示 图5.2添加字段前的效果图

3.如果要在视图中显示某些表的某个字段,只需单击其字段前的复选框即可,同时在中间列中会显示该字段,在代码区中会看到具体实现的代码。 4.如果要查看视图,单击常用工具栏中的“执行”按钮,就可以看到视图的数据显示,如由字段student.sno、sname、cname、grade生成的视图效果。如图 5.3所示 图5.3 生成视图效果图 5.在创建视图中还可以为字段添加列名、进行排序、添加多个筛选条件。 6.单击常用工具栏中的“保存”按钮,就可以弹出保存视图提示对话框,输入视图名字即可,为view_stu_grade。 (2)修改视图。 视图创建好后,就可以利用它进行查询信息了。如果发现视图的结构不能很好的满足要求,还可以对它进行修改。 使用SQL Server Management Studio直接修改,步骤如下: 1.在SQL Server Management Studio中,选择服务器、数据库、并使数据库展开,再单击“视图”前面的+,就可以看到已存在的视图了。 2.右击要修改结构的视图,在弹出的视图功能快捷菜单中选择“修改”命令,就可以直接修改了。 (3)删除视图 使用SQL Server Management Studio直接删除,步骤如下: 1.在SQL Server Management Studio中,选择服务器、数据库、并使数据库展开,再单击“视图”前面的+,就可以看到已存在的视图了。 2.右击要删除的视图,在弹出的视图功能快捷菜单中选择“删除”命令,就可以直接删除掉制定的视图。 2)索引文件的创建与删除 索引是一个单独的、物理的数据库结构,是为了加速对表中数据行的查询而创建的一种分散的存储结构。 (1)创建索引文件。 使用SQL Server Management Studio直接创建索引文件,步骤如下: 1.单击数据库前面的+号,然后再单击“学生选课”数据库前面的+号,再单击表前面的+号,就额可以看到已存在的表了, 2.选定要添加索引的表,如数据表student。右击,在弹出的快捷菜单中选择“修改”命令。

实验六 视图的创建和使用

实验六视图的创建和使用 开课实验室:指导老师: 学院:专业(班级): 姓名:学号: 一、实验目的与要求 1)理解视图的概念 2)掌握利用企业管理器和CREATE VIEW命令创建视图方法。 3)熟悉修改视图、查看视图和删除视图的方法。 4)掌握通过视图修改数据表的方法 二、实验过程设计及实验步骤 创建视图是数据库应用中的常见需求,可以使用企业管理器创建、管理视图,也可以用T-SQL语句创建、管理视图。 1)在企业管理器中创建如下视图:在XSGL数据库中使用表STUDENT和SCORE 创建视图VIEW_STUDENTSCROE,来查询每个学生的姓名和选课情况。 2)在查询分析器中创建视图:将上题用CREATE VIEW 来创建,视图名为VIEW2 程序代码: 3)查看视图信息:使用系统存储过程SP_HELP、SP_HELPTEXT、SP_DEPENDS 4)删除视图:将视图VIEW2删除. 三、SQL调试及结果 创建视图是数据库应用中的常见需求,可以使用企业管理器创建、管理视图,也可以用T-SQL语句创建、管理视图。 1)在企业管理器中创建如下视图:在XSGL数据库中使用表STUDENT和SCORE 创建视图VIEW_STUDENTSCROE,来查询每个学生的姓名和选课情况。

2)在查询分析器中创建视图:将上题用CREATE VIEW 来创建,视图名为VIEW2 程序代码: CREATE VIEW VIEW2 AS SELECT STUDENT.SNAME,https://www.wendangku.net/doc/ca18017215.html,O FROM STUDENT,SCORE 3)查看视图信息:使用系统存储过程SP_HELP、SP_HELPTEXT、SP_DEPENDS 执行代码;SP_HELPTEXT VIEW2

相关文档
相关文档 最新文档