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

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

实验五视图的创建与使用

一、实验目的

(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

006-实验六T-索引与视图(实验报告内容)

实验六索引与视图 (实验报告) 一、目的 1.掌握索引和视图的基本概念和功能。 2.掌握利用SQL Server Management Studio和Transact-SQL语句创建、维护索引的方法。 3.掌握SQL Server Management Studio和Transact-SQL语句创建、修改视图的方法。 4.掌握通过视图查看和修改基本表中的数据。 二、实验内容 (1)完成下列操作 1.利用SQL Server Management Studio为student表的classno字段创建非聚集、非唯一索引UC_classno。 2.利用Transact-SQL语句在teaching数据库中teacher表的tname列上创建非聚集唯一索引UQ_tname。若该索引已存在,则删除后重建。

3.利用SQL Server Management Studio查看索引被查询优化器使用的情况。 4.利用Transact-SQL语句修改UQ_tname的索引属性,当执行多行插入操作时出现重复键值,则忽略该记录,且设置填充因子为80%。

5.利用SQL Server Management Studio在teaching数据库中创建视图v_course_avg,查询没门课程的课程号、课程名及选修该课程的学生的期末平均成绩平均分,并且按平均分降序排列。 6.利用Transact-SQL语句,在teaching数据库中创建视图v_age,查询年龄在18岁及以上的学生的学号、姓名、性别、出生日期和班级编号。若该视图已存在,则删除后重建。

7.利用Transact-SQL语句,在teaching数据库中创建视图v_teacher_course,包含教师编号、教师姓名、职称、课程号、课程名和任课班级。

实验五 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 (学号,课程编号)

数据库原理索引、视图的定义实验报告

数据库原理实验报告 题目:索引、视图的定义院系:计算机科学与工程学院

【实验题目】 索引、视图的定义 【实验目的】 掌握使用T -SQL语句创建视图的方法,包括视图的建立、删除、修改;了解如何应用视图有选择地查看所需数据,并熟悉通过视图更改数据表中数据的方法。掌握创建索引的方法。 【实验内容】 1、据库TestDB中,基于表"项目数据表"和"员工数据表"创建视图,要求为: (1)视图名为"员工项目"。 (2)包含字段"编号"、"姓名"、"名称"和"开始日期"。 (3)字段别名分别是"员工编号"、”员工姓名"、"项目名称"、"项目开 始日期"。 2、使用企业管理器和Transact-SQL语句在实验二的数据表"员工数据表"中基于"姓名"创建索引,要求索引名为"IDX_Name",索引类型为非聚集索引。 【实现方法】 1、视图 (1)打开查询分析器。 在查询窗口书写CREATE VIEW语句创建视图,并指定字段别名: USE TestDB GO CREATE VIEW员工项目(员工编号,员工姓名,项目名称,项目开始日期) AS SELECT a·编号,a·姓名,b·名称,b·开始日期, FROM员工数据表AS a INNER JOIN项目数据表AS b ON a·编号=b·负责人 WHERE a·编号=b·负责人 GO (2)使用INSERT语句通过视图向员工数据表中添加一条记录,要求"姓名"字段值 为"马中兴"。 USETestDB GO INSERTINTO 员工项目(员工姓名) VALUES('马中兴') GO (3)使用UPPDATE语句通过视图将第二步中插入记录的员工姓名改为"马中新"。 USETestDB GO UPDATE员工项目 SET 项目负责人= '马中新’, WHERE 项目负责人=’马中兴’

实验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)

实 验 五 视图、索引与数据更新

实验五视图、索引及数据更新 一、实验目的: 熟练掌握索引的建立与删除的方法,熟练掌握SQL的应用, 熟练掌握数据插 入、修改和删除的使用,为后继学习作准备。 二、实验属性(验证性) 1.了解并掌握SQL查询分析器及企业管理器的使用; 2.掌握基本表的定义、删除与修改。 三、实验原理 :SQL语言应用。 四、实验步骤: (1) 启动Oracle的SQL Developer或者SQL Plus,或者SQL Server 查询分析器; (2) 对于Oracle11g的SQL Plus需要进行登录,对于Oracle11g的SQL Developer需要进行建立连接。 1 建立索引 建立唯一索引: 例3.1 为学生选课数据库中的Students,Courses,SC三个表建立索引。其中Students表按Sname升序建唯一索引,Courses表按Cname升序建唯一索引,SC表按Sno(学号)升序和Cno(课程号)号降序建唯一索引。 查看自己建立的索引:

2 删除索引 例3.2 删除基本表SC上的Rep_SCno索引。 然后查询看索引是否还存在。理解索引的意义。 例3.3 删除基本表student上的Rep_Sno索引。 3 建立视图 例3.4 建立数学系学生的视图C_Student,并要求进行修改和插入操作时仍需保证该视图只有数学系的学生,视图的属性名为Sno,Sname,Sage,Sdept。 例 3.5 建立学生的学号(Sno)、姓名(Sname)、选修课程名(Cname)及成绩(Grade)的视图Student_CR。 例 3.6定义一个反映学生出生年份的视图student_birth(sno,sname,s_birth,ssex,sdept)。

数据库实验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(学号)升序建唯一索引

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 (学号,课程编号)

视图与索引作业

视图与索引作业 -标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

第一部分 创建如下表:并向每张表中添加5条数据 学生表t_student(f_no,f_name,f_sex,f_department) 课程表(f_id,f_name) 成绩表(f_no,f_subjectid,f_score) 作业: 1、对成绩表的课程编号创建非簇索引 2、对学生表的姓名和年龄创建非簇索引 3、对学生表的学号创建唯一索引 4、创建视图统计成绩表中任何一门课程及没有及格的信息 5、创建视图查询男生的平均成绩 6、对课程表的课程编号和分数创建非簇索引 7、将上题中的非簇索引删除 8、创建视图查询C#课程不及格的女生信息 9、创建视图统计男女生的平均分信息 10、简述索引的作用和种类 11、简述视图的作用 第二部分 使用northwind数据库完成: 1)在northwind库中(products和suppliers表中)查找每个商品对应的供 应商名称建立视图my_view,并通过该视图查询数据。 2)在视图my_view中,将companyname为以tokyo开头的改为ToKyo.使 用修改表数据的UPDATE语句。 3)使用DROP VIEW语句将视图my_view删除。 4)使用Northwind数据库,在Suppliers表的Country列和city列上创建一 个名为Country_index的非聚集索引。 5)删除Country_index索引。 6)在Suppliers表的Country列和city列上创建一个名为Country_index的 非聚集索引。请确保索引页留有50%的空白空间,并且删除具有相同 名称的现有索引 7)使用CREATE VIEW语句,基于employees表创建一个名为EmpHierarchy 的视图。视图应包含有上级领导的雇员的雇员ID、名、姓及其上级的 姓

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

《数据库原理》实验报告 题目:实验四视图与索引学号班级日期 2016.10.20 一、实验内容、步骤以及结果 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 J.jno=SPJ.jno AND J.jname=''; 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中的任意一条数据的供应数量。

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

数据库原理实验报告实验 四视图与索引 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中的任意一条数据的供应数量。

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='女'

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

实验六:关系图、索引和视图的定义及维护 一、实验目的 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.360docs.net/doc/7f13595125.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.360docs.net/doc/7f13595125.html,o= '1‘AND sdept=‘CS’and grade>80

视图和索引(数据库实验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='计算机'

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

实验五视图、存储过程与触发器的应用准备工作: 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.360docs.net/doc/7f13595125.html,o=https://www.360docs.net/doc/7f13595125.html,o and sname=@sname go (2)执行cjjicx存储过程,查询“刘永辉”的学号、选修课程和课程成绩。excute cijicx @ sname =‘刘永辉’ (3)使用系统存储过程sp_helptext查看存储过程cjjicx的文本信息。Sp_helptext cijicx (4)使用STUDENT数据库中的学生表,为其创建一个加密的存储过程—jmxs。该存储过程的作用是:当执行该存储过程时,将返回计算机系学生的所有

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

广州xx学院 数据库实验报告 专业班级计算机181 实验日期2020.5.2 姓名李x 学号20181x 实验名称视图、索引与数据库关系指导教师王x (报告内容包括实验目的、实验设备及器材、实验内容、实验步骤、实验结果、实验小结等) 一、实验目的 要求学生掌握SQL server中的视图创建、查看、修改、和删除的方法;掌握索引的创建和删除的方法以及数据库关系图的实现方法;加深对视图和SQL server数据库关系图作用的理解。 二、实验设备及器材 Windows平台,SQL server 2012 三、实验内容 (1)创建、查看、修改和删除视图。 (2)创建、删除索引文件。 (3)创建数据库关系图。 四、实验步骤 1.在数据库EDUC中创建下列视图。 在EDUC数据库中以学生信息表Student、Course和SC表为基础完成下列视图的创建。 (1)创建计算机系学生基本情况视图V_Computer。 CREATE VIEW V_Computer AS SELECT* FROM Student WHERE dno='D1' D1为计算机系的编号 (2)创建Student、Course和SC表中学生的sno,sname,tcid,cname,score创建视图V_SC_G。 create view V_SC_G as select Student.sno,sname,SC.tcid,cname,SC.score

from Student,Course,SC,TC where Student.sno=SC.sno and SC.tcid=TC.tcid and https://www.360docs.net/doc/7f13595125.html,o=https://www.360docs.net/doc/7f13595125.html,o with check option; (3)将各系学生人数、平均年龄创建视图V_NUM_AVG。 create view V_NUM_AVG as select count(sno)人数,avg(YEAR(GETDATE())-YEAR(birthday))平均年龄,dname from Student,Dept where Student.dno=Dept.dno group by dname; (4)创建一个反映学生出生年份的视图V_YEAR。 create view V_YEAR as select birthday from Student (5)将各学生选修课程的门数及平均成绩创建视图V_AVG_S_G。 create view V_AVG_S_G as select SC.sno,count(https://www.360docs.net/doc/7f13595125.html,o)课程门数,avg(SC.score)平均成绩 from Student,SC,Course,TC where student.sno=sc.sno and SC.tcid=TC.tcid and https://www.360docs.net/doc/7f13595125.html,o=https://www.360docs.net/doc/7f13595125.html,o group by SC.sno; (6)将各门课程的选修人数及平均成绩创建视图V_AVG_C_G。 create view V_AVG_C_G as select https://www.360docs.net/doc/7f13595125.html,o,count(https://www.360docs.net/doc/7f13595125.html,o)课程选修人数,avg(SC.score)平均成绩 from SC,TC,Course where SC.tcid=TC.tcid and https://www.360docs.net/doc/7f13595125.html,o=https://www.360docs.net/doc/7f13595125.html,o group by https://www.360docs.net/doc/7f13595125.html,o; 2.利用视图完成下列查询。 (1)查询平均成绩为90分以上的学生的学号、姓名和成绩。 use EDUC select V_SC_G.sno,V_SC_G.sname,V_AVG_S_G.平均成绩 from V_SC_G,V_AVG_S_G where V_SC_G.sno=V_AVG_S_G.sno and平均成绩>90 (2)查询各科成绩均高于平均成绩的学生的学号、姓名、课程、和成绩。 use EDUC select sno,sname,cname,score from V_SC_G GROUP BY sno,sname,cname,score having score>avg(score) (3)按系统计各系平均成绩在80分以上的人数,结果按降序排列。

相关文档
最新文档