视图与索引作业

视图与索引作业
视图与索引作业

第一部分

创建如下表:并向每张表中添加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、名、姓及其上级的姓

8)在视图EmpHierarchy中,将雇员ID为4的雇员的姓改为”Jones”。使用修改表数

据的UPDATE语句

9)使用DROP VIEW语句将视图EmpHierarchy删除

使用pubs数据库完成:

1)在pubs数据库中,创建一个名为Sales_View的视图,其中包括titleauthor、sales和titles

表的数据。视图应包含ID为724-80-9391的作者的作者ID、标题ID、版权费(royaltyper)、存储ID(stor_id)和销售量(ytd_sales)。

2)使用pubs数据库,在titles表的title_id和pub_id列上创建一个名为nclindex_titlepub

的非聚集索引。请确保索引页留有20%的空白空间

使用玩具数据库完成:

1)设计一个视图,能显示所有的购物者的姓名和电子邮件。利用该视图添加一行记录。

2)设计一个视图,能显示各类别的编号、类别名、所拥有的玩具的平均价格。然后利用该

视图查询类别中比平均价格高的玩具。

3)需经常查询玩具名与玩具的类别名,设计索引以提高查询速度。

4)利用globaltoyz中的购物者表,为其建立“州”属性的索引

5)创建视图,包含玩具表的玩具名属性,类别表的类别名属性,商标表的商标名属性

6)创建视图,包含玩具表的类别号,类别表的类别名属性及平均价格

视图与索引作业

第一部分 创建如下表:并向每张表中添加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、名、姓及其上级的姓 8)在视图EmpHierarchy中,将雇员ID为4的雇员的姓改为”Jones”。使用修改表数 据的UPDATE语句 9)使用DROP VIEW语句将视图EmpHierarchy删除

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

西安石油大学数据库实验3索引及视图操作

实验报告 课程名称:学院名称:数据原理与应用计算机学院 专业班级:计1201 学生姓名:张文江 学号:201107010122

实验3 索引及视图操作 一、实验目的 1. 加深对索引和视图概念的理解。 2. 熟练掌握索引的创建和删除。 3. 熟练掌握视图的创建、修改和删除。 4. 熟练运用视图进行各种检索操作。 二、实验环境 硬件环境:PC机 软件环境:操作系统为Microsoft Windows 2000或以上版本。 数据库管理系统为Microsoft SQL Server 2000标准版或企业版。 三、实验内容 1. 熟悉运用SQL Server企业管理器和查询分析器进行索引的创建和删除。 2. 熟悉运用SQL Server企业管理器和查询分析器进行视图的创建、删除和修改。 四、实验步骤 1. 利用实验1已经建立并保存过的学生表、课程表,学生表按学号建立惟一索引,课程表按课程名建立惟一索引; create index S_sno on S(sno) create index C_cno on C(cno) 2. 利用实验1已经建立并保存过的学生表和选课表建立一个“网络工程”专业学生成绩视图JSGV(sno,cno,grade); create view JSGV(sno,cno,grade) as select S.sno,cno,grade from SC,S where dept='网络工程'and S.sno=SC.sno 利用视图JSGV查询“网络工程”专业的学生选课多于2门的学生学号; select distinct sno

from JSGV group by sno having (count(*)>2) 验证能否利用视图JSGV中插入一条“网络工程”专业学生选修“高等数学”课程的记录,并查询结果信息; insert into JSGV values('20080205','c03','85') 删除视图JSGV。 drop view JSGV 3. 利用实验1已经建立并保存过的学生表、课程表、选课表建立视图TOTAL(sno,sname,cname,grade); create view TOTAL(cno,sname,cname,grade) as select https://www.360docs.net/doc/fa2149868.html,o,sname,cname,grade from SC,S,C where S.sno=SC.sno and https://www.360docs.net/doc/fa2149868.html,o=https://www.360docs.net/doc/fa2149868.html,o

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

《数据库原理》实验报告 题目:实验四视图与索引学号班级日期 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中的任意一条数据的供应数量。

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

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

【实验题目】 索引、视图的定义 【实验目的】 掌握使用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数据库的《学生表》和《课程表》创建主键索引。

视图与索引作业

视图与索引作业 -标准化文件发布号:(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、名、姓及其上级的 姓

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

索引 --为表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)

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

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

SQL基本表查询基本表、索引与视图的定义、删除和修改

数据库实验报告 实验二 实验题目:SQL基本表查询基本表、索引与视图的定义、 删除和修改 实验类型:验证 实验地点:软件实验室二 指导老师:*** 专业班级:计算机科学与技术系网络工程方向***班姓名:***

2013年9月29日实验类型:验证实验地点:软件实验室二 一、实验题目 SQL 基本表查询基本表、索引与视图的定义、删除和修改 二、实验目的和要求 使学生熟悉SQL Server的企业管理器的用法,初步了解SQL Server查询分析器的使用方法,熟悉SQL SERVER的常用数据类型,加深对SQL和SQL语言的查询语句的理解。 熟练掌握简单表、索引与视图的创建与修改。 三、实验内容 1. 基本表的建立: a)建立一个“学生表student”,它由学号xh、姓名xm、性别xb、 年龄nl、所在系xi五个属性组成,其中学号属性为主属性,并 且其值是唯一的。 b)建立“课程course”包括课程号kch,课程名称kcmc,先修课程 xxkc,学分xf,要求建立主键课程号 c)建立“选课表sc”包括学号xh,课程号kch,成绩grade,要求 建立主键及与student及sc表联接的外键 2. 基本表的修改: d)在选课表中增加一列“任课教师rkjs” e)删除选课表中rkjs一列 f)将student表的xm一列允许空值的属性更改成不允许为空,将 列xm的长度由char(8)改为char(10) g)建立一个临时表,再将其删除 3. 索引的建立与删除: a) 在学生表中以学生的姓名建立降序索引 b) 在课程表中以课程名建立升序,以学分建立降序索引 c) 删除以上索引 4. 建立、删除和更新视图: a) 建立数学系学生的视图,并要求进行修改和插入操作时仍需保证 该视图只有数学系的学生,视图的属性名为Sno,Sname,Sage,Sdept。 CREATE VIEW C_Student AS SELECT Sno, Sname, Sage, Sdept FROM Students WHERE Sdept=’数学’ WITH CHECK OPTION b) 删除视图 在数学系的学生视图C_Student中找出年龄(Sage)小于20岁的学

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

实验五视图、索引及数据更新 一、实验目的: 熟练掌握索引的建立与删除的方法,熟练掌握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)。

实验三 索引和视图

实验三索引和视图 一、实验目的 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(学号)升序建唯一索引

视图与索引

判断题 1、为了提高数据库的检索和更新速度,最好在数据表的每个字段都建立索引。(错) 2、聚集索引一定是唯一性索引,非聚集索引一定是非唯一性索引。(错) 3、视图一旦创建,就存储了数据。(错) 4、视图只能用来查看数据,不能在视图上进行数据更新。(错) 5、视图只能用来查看一个基本表的数据,相当于在一个基本表上的投影与选择。(错) 6、当用户删除一个表后,基于该表建立的视图也不存在了。(错) 7、主键索引必然是唯一索引。(对) 填空题 8、在聚集索引中,表中各行的物理顺序和键值的逻辑顺序相同。 9、运用索引可以使数据库程序迅速找到表中的数据,而不必扫描整个数据库,从而提 高工作效率。 10、数据库通常被划分为用户视图和物理视图。 11、数据库中只存放视图的定义。 单选题 12、下面关于视图的表述中,不正确的是(D)。 A、视图是虚表 B、使用视图可以简化查询语句的编写 C、视图是外模式 D、使用视图可以加快查询语句的执行速度 13、视图是从一个表或多个表导出的(D) A、基表 B、索引 C、记录 D、虚表 14、如果数据表中记录的物理存储顺序与索引顺序一致,则称此索引为(A)。 A、聚集索引 B、唯一索引 C、非聚集索引 D、非唯一索引 15、下列对索引的描述,正确的是(C) A、索引使用drop view 语句创建 B、一个表只允许有一个索引 C、索引是描述表中记录存储位置的指针 D、索引使用create view语句创建

16、表的主键也是表的(D) A、非聚集索引 B、非唯一索引 C、聚集索引 D、唯一索引 17、下列对索引的相关描述正确的是(D) A、有很多重复的列适合建立索引 B、是外键或主键的列不适合建立索引 C、经常被查询的列不适合建立索引 D、值域很小的字段不适合建立索引 18、建立索引的主要目的是(B) A、节省存储空间 B、提高检索速度 C、提高检索和更新速度 D、增强数据安全性 19、对于索引,以下说法正确的是(C) A、一个数据表只能有一个索引 B、一个数据表只能有一个唯一索引 C、一个数据表只能有一个聚集索引 D、一个数据表只能有一个非聚集索引 20、Create Unique Nonclustered Index writer_index On 作者信息(作者编号) 语句执行后,在作者信息表上创建了一个(D)索引。 A、唯一聚集索引 B、聚集索引 C、主键索引 D、唯一非聚集索引 21、对于视图,以下正确的说法是(A) A、视图显示的数据可以取自于多个基础表 B、视图并不存储数据,每次查看视图时,视图中的数据来源于基础表 C、可以基于一个视图,一次性地更改多个基础表的数据 D、视图存在于内存中,每次重新启动DBMS时,视图便会自动消失 22、删除视图用下面哪条语句(A) A、DROP VIEW B、DELETE VIEW C、CREMOVE VIEW D、RM VIEW 23、对所有的视图都可以进行(B)操作。 A、插入数据 B、选择数据 C、更新数据 D、删除数据 24、在视图上不能完成的操作是(C) A、更新视图 B、查询 C、在视图上定义新的表 D、在视图上定义新的视图 25、索引是对数据库表中(C)字段的值进行排序。 A、一个 B、多个 C、一个或多个 D、零个

Oracle视图中建立索引的注意事项

Oracle视图中建立索引的注意事项 在视图上创建索引需要三个条件: 一、视图必须绑定到架构。 要做到这点,在 CREATE VIEW 语句中,必须加上 WITH SCHEMABINDING,如果是使用企业管理器,则在设计界面的空白处点击右键,属性,选中“绑定到架构”。 二、索引必须是唯一索引。 要做到这点,在 CREATE INDEX 中必须指定 UNIQUE。 三、索引必须是聚集索引。 要做到这点,在 CREATE INDEX 中必须指定 CLUSTERED。 例: CREATE VIEW viewFoo WITH SCHEMABINDING AS SELECT id... CREATE UNIQUE CLUSTERED INDEX index_viewFoo ON viewFoo(id) 在视图上创建聚集索引之前,该视图必须满足下列要求: 当执行 CREATE VIEW 语句时,ANSI_NULLS 和 QUOTED_IDENTIFIER 选项必须设置为 ON。OBJECTPROPERTY 函数通 过 ExecIsAnsiNullsOn 或 ExecIsQuotedIdentOn 属性为视图报告此信息。 为执行所有 CREATE TABLE 语句以创建视图引用的表,ANSI_NULLS 选项必须设置为 ON。 视图不能引用任何其它视图,只能引用基表。 视图引用的所有基表必须与视图位于同一个数据库中,并且所有者也与视图相同。 必须使用 SCHEMABINDING 选项创建视图。SCHEMABINDING 将视图绑定到基础基表的架构。 必须已使用 SCHEMABINDING 选项创建了视图中引用的用户定义的函数。 表和用户定义的函数必须由 2 部分的名称引用。不允许使用 1 部分、3 部分和 4 部分的名称。

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

实验训练4:视图和索引的构建与使用

数据库原理实验报告-实验四-视图与索引《数据库原理》实验报告 题目:实验四 视图与索引 一、实验内容、步骤以及结果 1.在Student数据库中,利用图形用户界面,创建一个选修了“数据库原理”课程并且是1996年出生的学生的视图,视图中包括学号,性别,成绩三个信息。(5 分) 2.用两种不同的SQL语句创建第五版教材第三章第9题中要求的视图(视图名:V_SPJ)(10分,每种方法5分)。 -- 第一种方法

CREATEVIEW V_SPJ AS SELECT sno , pno , qty FROM SPJ WHERE jno =( SELECT jno FROM J WHERE jname = ' 三建 ' ); GO -- 删除建好的视图 DROPVIEW V_SPJ ; GO -- 第二种方法 CREATEVIEW 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触发器实现。

数据库实验-数据库索引、视图与触发器

石家庄经济学院 实验报告 学院: 信息工程学院 专业: 网络工程 信息工程学院计算机实验中心制

1.索引的建立和删除操作 2.视图的创建、修改、更新和查询操作 二实验目的 1.掌握数据库索引建立与删除操作,掌握数据库索引的分类,并了解建立数据库索引的意义、作用。 2.掌握视图的创建和查询操作,理解视图的使用,理解实图在数据库安全性中的作用。 三实验内容 1.索引的建立和删除操作 (1)在S表中,建立按照sno升序的惟一性索引snoIDX。 (2)在SC表中,建立按照学号升序和课程号降序的唯一性索引scIDX。 (3)在S表中,按照生日建立一个非聚簇索引birthdayIDX。 (4)在C表中,建立一个按照课程名升序的聚簇索引cnameIDX。 (5)删除索引cnameIDX。 2.视图的创建、修改、更新和查询操作 (1)建立一个关于所有女生信息的视图S_GIRL。 (2)将各系学生人数,平均年龄定义为视图V_NUM_A VG (3)建立一个视图反映学生所选课程的总学分情况TOTAL_CREDIT。 (4)建立一个所有学生课程成绩的视图S_GRADE,包括基本学生信息,课程信息和成绩。 (5)在视图S_GRADE基础之上,建立一个两门课以上成绩不及格的学生情况视图FAIL_GRADE。 (6)建立一个至少选修了4门课及4门课以上的学生信息的视图SC_FOUR。 (7)修改视图S_GIRL,要求只显示1997年以前出生的女生信息。 (8)在视图FAIL_GRADE查询不及格超过2门课的学生信息。 (9)删除视图S_GRADE。 (10)通过视图S_GIRL,将“王丹”的名字修改为“汪丹”,并查询结果。 (11)通过视图S_GIRL,新增一个学生信息(“刘兰兰”,“女”,“计算机学院”,1996-8-8),并查询 结果。 (12)通过视图S_GIRL,删除1995年出生的女生信息,并查询结果。 (13)通过视图S_GRADE,将“汪丹”的名字修改为“王丹”,是否可以实现,请说明原因。 (14)通过视图COMPUTE_A VG_GRADE,将“4121090301”学生的平均分改为90分,是否可以实 现,请说明原因。 四实验要求 1.要求掌握索引的类型,以及创建索引时的注意事项,例如每个表只能创建一个聚集索引,可以创建非聚集索引最多为249个,等等。 2.理解创建视图的目的和意义。掌握创建视图时需要考虑的原则:只能在当前数据库中创建视图、

视图和索引(数据库实验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.掌握创建关系图的方法。 2.掌握创建、查看和删除索引的操作和方法。 3.理解视图的含义,能使用SQL Server查询分析器器创建视图并对其进行 管理。 二、实验环境 已安装SQL Server 企业版的计算机(120台); 具有局域网环境,有固定IP; 三、实验学时 2学时 四、实验要求 1.索引和视图的创建和管理也可以用查询分析器实现,参照课本上的相关 Transact-SQL命令,写出对应的Transact-SQL实现代码。 2.将视图的创建、修改、删除过程与实验二中表的创建、修改、和删除进 行对照,看看有什么相同点和不同点。 3.完成实验报告; 五、实验内容及步骤 以系统管理员身份登录到SQL Server服务器,在SQL Server2005界面中实现第1题操作,其余题目用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 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,course,sc where sdept='is' and https://www.360docs.net/doc/fa2149868.html,o='1' 7.建立信息系男同学年龄在19岁以上学生信息的视图stu_is_age。(使用 第5题的视图) create view stu_is_age as select sno,sname,sage from student where sdept = 'IS' and ssex='男'and sage>'19' with check option 8.查询信息系男同学年龄在19岁以上的学生信息 select * from stu_is_age where sage>'19' 9.查询信息系选修了1号课程且成绩大于 80的学生成绩信息。 select distinct grade from stu_is_c1 where grade>'80'

相关文档
最新文档