数据库实验报告 索引和视图

合集下载

实验三_视图和索引

实验三_视图和索引

实验三视图和索引一、实验目的使学生掌握SQL SERVER中的视图创建、查看、修改和删除的方法;索引的创建和删除方法二、实验内容在学生-课程数据库中(1)用图形工具和T-SQL两种方法创建视图,取名为view_stu_grade,要求查看学生的学号,姓名,课程名和成绩。

(2)若发现视图定义的结构不能很好满足要求,还可以对它进行修改。

(3)删除视图(4)尝试分别为student表的每一个属性列添加一个惟一索引,将出现的现象和原因分析一下。

(5)删除索引三、实验过程要求个人填写(要求有文字描述和适当的图片辅助说明)注:图片需要上机运行SQL Server软件之后,可用QQ的抓图工具把运行窗口抓下来,粘贴在word文档中。

(1)①用图形工具创建视图:展开stud_course数据库,右键单击“视图”,在弹出的快捷菜单中有“新建视图”菜单项,单击“新建视图”,就会出现新建视图对话框,保存视图,给视图取名为view_stu_grade.②用T-SQL创建视图:查看结果:(2)若发现视图定义的结构不能很好满足要求,还可以对它进行修改。

如需要修改则点击视图选中view_stu_grade右键修改例如将视图修改为显示出计算机科学系男生的情况,并要求加密(3)删除视图①用图形工具删除视图②用T-SQL删除视图(4)①选中Student表打开索引,右键新建索引,如图操作②创建索引问题1(未选择要添加到索引键的表列)解决办法问题2(记录相同不能建立唯一索引)解决办法:不建立唯一结果(5)删除索引①图形工具删除索引单击鼠标右键要删除的索引,选择“删除”命令,然后弹出“删除对象”对话框,单击确定按钮,即可删除索引。

②用T-SQL语句删除索引四、实验总结要求个人填写(实验中发现的问题和解决的办法)本次实验练习了视图创建、查看、修改和删除的方法;索引的创建和删除方法。

通过这次实验我认识到视图的作用,能够简化用户的操作,视图使用户能以多钟角度看待同一数据,适当的利用视图可以更清晰的表达查询。

实验报告五 视图与索引

实验报告五 视图与索引

实验五视图与索引一.实验目的1.学会使用企业管理器建立视图与索引2.掌握使用SQL语句建立视图与索引二.实验内容1.使用企业管理器建立视图索引2.使用SQL语句建立视图索引三.实验准备1.复习与本次实验内容相关知识2.对本次实验中要求自己完成的部分做好准备四.实验步骤1.用企业管理器建立一个基于学生表、课程表、成绩表的视图,要求该视图显示学号、姓名、课程、成绩o启动企业管理器、注册、连接o"新建视如下图所示o在新视图窗口内的关系图窗格内右击鼠标,弹出的菜单即为视图设计菜单,执行"添加表(B)...",如下图所示再在添加表对话框中选择SCORES表,再单击添加按钮。

依此操作,分别添加STUDENT、COURSES表,单击关闭按钮。

再在关系窗格内,拖动STUDENT表的"SID"至SCORES的STUDENT_ID,拖动COURSES表的"CNO"至SCORES的COURSE_ID,再分别选中STUDENT表的"SID","NAME"列(列前的复选框),COURSES表的"COURSE"列以及SCORES表的"SCORE"列,然后单击"!"按钮,显示视图结果,如下图所示:单击保存按钮,将视图保存为V_SCORES,单击确定.2.用查询分析器建立一个基于学生表、班级表的学生视图(V_STUDENTS),包括学号、姓名、班级、系,SQL语句如下:CREATE VIEW dbo.V_STUDENTSASSELECT dbo.U_STUDENTS.ID, dbo.U_,dbo.U_CLASSES.CLASS,dbo.U_CLASSES.DEPARTMENTFROM dbo.U_STUDENTS INNER JOINdbo.U_CLASSES ON dbo.U_STUDENTS.CLASS_ID = dbo.U_CLASSES.ID3.自己写一个SQL语句建立一个基于课程表的视图(V_COURSES),要求显示课程编号.课程名、学分。

数据库之 索引和视图

数据库之 索引和视图
主要内容
1、索引的概念 2、索引的创建与管理 3、视图的概念 4、视图的创建与管理

1、索引的概念

索引是为了加速对表中数据行的检索而创建的一种分散的 存储结构,索引是针对一个表而建立的。 数据库中的索引是一个列表,在这个列表中包含了某个表 中一列或者若干列值的集合,以及这些值的记录在表中存 储位置的物理地址。
CREATE VIEW <视图名>[ ( <字段名1> , <字段名2>[ , … n ] ) ] AS <查询语句> [ WITH CHECK OPTION ]
参数说明:

字段名:视图中包含的列,可以有多个列名;若使用与源表或视图中相 同的列名时,则不必给出列名。 查询语句:用来创建视图的SELECT语句。可在SELECT语句中查询多 个表或视图,以表明新创建的视图所参照的表或视图,但对SELECT语 句有以下的限制:
(1)创建聚簇索引
(2)创建非聚簇索引
(3)创建惟一索引
(4)创建复合索引
2.4 使用企业管理器删除索引
3、视图的概念


视图可以看作是从一个或多个表(或视图)导出的表。 视图与表(有时为了与视图区别,也称表为基本表)不同, 视图是一个虚表,即视图所对应的数据不进行实际存储。数 据库中只存储视图的定义,对视图的数据进行操作时,系统 根据视图的定义去操作与视图相关联的基本表。 视图一经定义后,就可以像表一样被查询、修改、删除和更 新。
(2)使用视图的注意事项



只有在当前数据库中才能创建视图。 视图的命名必须遵循标识符命名规则,不能与表同名;而 且某一数据库中的视图名是惟一的,即使是以不同的用户 名义创建的。 不能把规则、默认值或触发器与视图相关联。 不能在视图上建立任何索引,包括全文索引。

数据库设计实训6 索引和视图

数据库设计实训6 索引和视图
USE XK
GO
CREATE VIEW xk_view
(学号,姓名,年龄,课程,成绩,教师)
AS
SELECT dbo.student.SNO AS学号, dbo.student.SNAME AS姓名, dbo.student.SAGE AS年龄, AME AS课程, dbo.cj.GRADE AS成绩, dbo.teacher.TNAME AS教师
实验实训内容、操作规程及注意事项
备注
(1)创建、使用与删除索引
①对XK数据库中的student(学生表)中的sage字段降序建立非聚集索引Sage_index。
CREATE NONCLUSTERED INDEX Sage_index
ON student sage DESC
②修改非聚集索引Sage_index,使其对sage字段升序建立。
GO
③通过xk_view,查询学生“徐军”的信息,试试能通过视图xk_view实现对数据更新操作吗?
SELECT *
FROM XK_VIEW
WHERE姓名='徐军'
GO
由于该视图数据来源于多个表,因此不能进行数据更新操作。
④删除视图xk_view。
DROP VIEW XK_VIEW
GO
FROM dbo.student INNER JOIN
dbo.cj ON dbo.student.SNO = dbo.cj.SNO INNER JOIN
dbo.course ON O = O INNER JOIN
dbo.teacher ON dbo.course.TNO = dbo.teacher.TNO
GO
②修改已创建的视图xk_view,使其包含学生所在班级的信息。

实验三 索引和视图

实验三 索引和视图

实验三索引和视图
一实验目的
1、掌握创建视图的T-SQL语句的用法
2、掌握使用SQL Server Management Studio 创建视图和索引的方

3、掌握查看视图和索引的系统存储过程的用法
4、掌握修改视图的方法
5、掌握创建索引的命令
二实验内容
1.建立计算机系学生视图,该视图包含学生的学号、姓名和出生日期信息并查看视图定义
2.建立学生表中全体学生年龄的视图,该视图包含学生的学号、姓名、和年龄信息
3.建立选修“数据库”的学生的视图,该视图包含学生的学号和姓名信息
4.建立学生成绩视图,该视图包含学生的学号、姓名、课程名称和成绩信息,并进行加密
5.修改题目4中的学生成绩视图,该视图包含学生的学号、姓名、课程名称、成绩和班级信息
6.在数据库中,为“课程”表创建一个基于“课程号,课程名称”组合列的非聚集、复合索引khh_kcmc_index
7.查看学生表的索引
8.建立学生表的姓名唯一性索引,并且填充因子为60%。

实验四视图和索引的使用

实验四视图和索引的使用

实验四视图和索引的使用
实验四视图和索引的使用
一、实验目的
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、理解视图的基本概念和作用4、掌握视图的创建、查看及删除操作二、学习要求:1、了解索引和视图的含义,目的和作用,索引一经建立,就由系统使用和维护,无需用户干预。

2、通过看书和网上查阅资料,想同学多问多思考。

三、学习内容:1、索引:(1)索引定义:索引就是数据表中数据和相应的存储位置的列表,利用索引可以提高在表或视图中的查找数据的速度。

(2)数据库中索引主要分为两类:聚集索引和非聚集索引。

SQL Server 2005还提供了唯一索引、索引视图、全文索引、xml索引等等。

聚集索引和非聚集索引是数据库引擎中索引的基本类型,是理解其他类型索引的基础。

聚簇索引:聚集索引是值表中数据行的物理存储顺序和索引的存储顺序完全相同。

聚集索引根据索引顺序物理地重新排列了用户插入到表中的数据,因此,每个表只能创建一个聚集索引。

聚集索引经常创建在表中经常被搜索到的列或按顺序访问的列上。

在默认情况下,主键约束自动创建聚集索引。

非聚簇索引:非聚集索引不改变表中数据列的物理存储位置,数据与索引分开存储,通过索引指向的地址与表中的数据发生关系。

非聚集索引没有改变表中物理行的位置,索引可以在以下情况下使用非聚集索引:1、如果某个字段的数据唯一性比较高2、如果查询所得到的数据量比较少其他类型索引:除了以上索引,还有以下类型索引:A、唯一索引:如果希望索引键都不同,可以创建唯一索引。

聚集索引和非聚集索引都可以是唯一索引。

B、包含新列索引:索引列的最大数量是16个,索引列的字节总数的最高值是900。

如果当多个列的字节总数大于900,切又想在这些劣种都包含索引是,可以使用包含性列索引。

C、视图索引:提供视图查询效率,可以视图的索引物理化,也就是说将结果集永久存储在索引中,可以创建视图索引。

D、XML索引:是与xml数据关联的索引形式,是XML二进制blob的已拆分持久表示形式。

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

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,包含教师编号、教师姓名、职称、课程号、课程名和任课班级。

8.利用Transact-SQL语句修改v_age的视图定义,添加WITH CHECK OPTION选项。

9.通过视图v_teacher_course将教师编号为‘t05017’的教师的职称更改为‘副教授’。

数据库实验五 索引和视图

数据库实验五 索引和视图

华中科技大学《数据库技术与应用》实验报告专业班级:学生姓名:学号:实验地点:指导教师:实验日期时间:一、实验项目名称:索引和视图二、实验学时:三、实验目的: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的用法。

四、实验工具或环境五、实验内容、步骤、代码和结果:0. 创建studentsdb数据库及其相应表,并录入数据。

在SQL Server管理平台上,点击“新建查询”打开查询编辑器窗口,复制粘贴附件“创建数据库代码”中的代码到查询编辑器窗口,运行即可生成相关数据库和表,并有相应的数据。

1.分别使用SQL Server管理平台和Transact-SQL语句为studentsdb数据库的student_info表和curriculum表创建主键索引。

alter table student_info alter column学号char(4)not null;alter table student_infoadd primary key(学号)alter tablecurriculum alter column课程编号char(4)not null;alter table curriculumadd primary key(课程编号)2.使用SQL Server管理平台按curriculum表的课程编号列创建唯一性索引。

实验三 索引、视图

实验三 索引、视图

实验三:索引、视图1 实验目的1.通过实验进一步理解视图的建立和更新2 实验工具SQL Server 2000利用SQL Server 2000及其交互式查询语言对数据库中的表进行熟练操作。

3 实验内容和要求实验要求建立视图,视图查询,视图更新;实验方法①将实验需求用SQL语句表示;②执行SQL语句;③查看执行结果,如果结果不正确,进行修改,直到正确为止。

实验内容1:(建立视图) 建立计算机系的学生的视图STUDENT_CS。

2:(建立视图) 建立由学号和平均成绩两个字段的视图STUDENT_GR。

3:(视图查询) 利用视图STUDENT_CS,求年龄大于19岁的学生的全部信息。

4:(视图查询) 利用视图STUDENT_GR,求平均成绩为88分以上的学生的学号和平均成绩。

5:(视图更新) 利用视图STUDENT_CS,增加学生('98004','李华','CS','02',20,'女')6:(视图更新) 利用视图STUDENT_CS,将学生年龄增加1岁。

观察其运行结果并分析原因。

7:(视图更新) 利用视图STUDENT_GR,将平均成绩增加2分。

观察其运行结果并分析原因。

8:(视图更新) 删除视图STUDENT_CS中学号为‘96002’的学生的全部数据。

9:(视图更新) 删除视图STUDENT_GR的全部数据。

10:(删除视图) 删除视图STUDENT_CS和STUDENT_GR。

11:(索引建立)为Score表按学号升序和课程号降序分别建立索引,索引名分别为SC_NDXSNO和SC_NDXCNO。

为Score表按分数降序建立索引,索引名为GRADE_NDX12:删除索引SC_NDXSNO4 实验总结①SQL语句以及执行结果;②对重点实验结果进行分析;③实验中的问题和提高;④收获与体会。

实验5索引和视图

实验5索引和视图

实验5索引和视图实验5 索引和视图⼀、实验⽬的1.掌握索引的使⽤⽅法2.掌握数据完整性的实现⽅法3.熟悉视图的概念和作⽤4.掌握视图的创建⽅法5.掌握如何查询和修改视图⼆、实验准备1.了解索引的作⽤与分类2.掌握索引的创建⽅法3.了解视图的概念4.了解创建视图的⽅法5.了解对视图的操作三、实验内容及要求1.创建索引1)在Employees表的Name列和Address列上建⽴复合索引。

2)对Departments表上的DepartmentName列建⽴唯⼀性索引。

3)使⽤CREATE INDEX语句能创建主键吗?4)向Employees表中的出⽣⽇期列添加⼀个唯⼀性索引,姓名列和性别列上添加⼀个复合索引。

5)假设Departments表中没有主键,使⽤ALTER TABLE语句将DepartmentID列设为主键。

6)添加主键和添加普通索引有什么区别?7)创建与Departments表相同结构的表Departments1,将DepartmentName设为主键,DepartmentsID上建⽴⼀个索引。

2.删除索引1)使⽤DROP INDEX语句删除表Employees上的索引depart_ind。

2)使⽤ALTER TABLE语句删除Departments上的主键和索引Dep_ind。

3.创建视图1)创建YGGL数据库上的视图DS_VIEW,视图包含Departments表的全部列。

2)创建YGGL数据库上的视图Employees_view,视图包含员⼯号码、姓名和实际收⼊。

4.查询视图1)从视图DS_VIEW中查询出部门号为3的部门名称。

2)从视图Employees_view查询出姓名为“王林”的员⼯的实际收⼊。

5.更新视图1)向视图DS_VIEW中插⼊⼀⾏数据:6,⼴告部,⼴告业务。

2)执⾏完该命令使⽤SELECT语句分别查看视图DS_VIEW和基本表Departments中发⽣的变化。

3)尝试向视图Employees_view中插⼊⼀⾏数据,看看会发⽣什么情况。

数据库实验报告:视图 和索引

数据库实验报告:视图 和索引

一、实验步骤(一)附加上次实验所创建的数据库“db_Library”,并回顾该数据库的数据表信息。

(二)练习创建和管理视图1、使用管理控制台创建一个名为“计算机系借阅信息_VIEW”的视图,要求显示计算机系读者2011-1-1以后借阅的图书信息,包括“读者姓名”、“图书编号”和“借阅日期”三个字段。

打开sql server管理控制台窗口,打开新建视图对话框。

在添加表中添加tb_borrow和tb_reader表,在选中输出复选框中选中:读者编号,图书编号,借阅日期。

use db_library goselect * from 读者借阅信息_VIEWwhere 所在系='计算机'and 借阅日期>'2011_1_1'2、使用T-SQL语句创建一个名为“读者借阅信息_VIEW”的视图,要求显示所有的读者借阅信息,包括“读者编号”、“姓名”、“系部”、“图书编号”、“图书名称”和“借阅日期”等字段。

use db_library gocreate view 读者借阅信息_VIEW asselect tb_readder.读者编号,tb_reader.姓名,tb_reader所在系,tb_book.图书编号,tb_book.书名,tb_borrow.借阅日期 from tb_reader,tb_borrow,tb_bookwhere tb_reader.读者编号=tb_borrow.读者编号and tb_book.图书编号=tb_borrow.图书编号Select * from读者借阅信息_VIEW3、使用管理控制台查看“读者借阅信息_VIEW”视图的定义信息和依赖的对象。

打开管理控制台,在数据库“db_Library”下的“视图”对象;在左边窗口右击“读者借阅息_VIEW”该视图,在在窗口中选中“查看依赖关系”选项。

4、使用系统存储过程查看“计算机系续借阅信息_VIEW”视图的定义信息和依赖的对象。

实验九 视图和索引及数据关系图

实验九  视图和索引及数据关系图

实验九视图和索引及数据库关系一、实验目的使学生掌握SQL Server中视图的创建、查看、修改和删除方法,掌握索引的创建和删除方法以及数据库关系图的实现方法,加深对视图和SQL Server数据库关系图作用的理解。

二、实验内容(1)创建、查看、修改、和删除视图(2)创建、删除索引文件(3)创建数据库关系图三、实验指导本部分利用数据库JXGL的表S、SC、C中的数据进行实验1.视图操作(1)创建视图。

实验9.1 使用SQL Server Management Studio 直接创建视图。

(4)查看视图,单击“常用”工具栏中的“执行”按钮,就可以看到视图的数据显示。

实验9.2 使用T-SQL语句创建和查看视图语法格式如下:CREATE VIEW view AS select_statement在数据库JXGL中3个表的基础上建立一个视图,取名为view_s_grade。

在数据库引擎查看文档中输入如下代码:(2)修改视图视图在创建好后,就可以利用它查询信息了。

如果用户发现视图的结构不能很好她满足要求,还可以对它进行修改。

实验9.3 使用SQL Server Management Studio 窗口直接修改视图。

2.索引文件的创建与删除索引是一个单独的,物理的数据库结构,是为了加速对表中数据行的查询而创建的一种分散的存储结构(1)创建索引文件实验9.5 使用SQL Server Management Studio 窗口直接创建索引文件。

1.创建索引文件IX_sdept,关键字段为sdept,升序。

在数据库引擎查询文档中输入以下代码:在S表中心字段age创建索引文件IX_age,降序。

代码如下:3.创建数据库关系图如果数据库中的表没有设置主键,那么,用户可以在关系图中先设置主键,然后再建立实体关系。

数据库关系图是数据训架构的图形描述。

实验9.7 数据库JXGL的关系图管理。

实验报告四 索引和视图

实验报告四 索引和视图

实验四索引和视图一、实验学时2学时二、实验目的(1)理解索引的概念与类型。

(2)掌握使用企业管理器创建与维护索引的方法。

(3)掌握T-SQL语句创建与维护索引的方法。

(4)理解视图的概念。

(5)掌握视图创建、更改的方法。

(6)掌握用视图管理数据的方法。

三、实验要求(1)硬件设备:奔腾II或奔腾II以上计算机,局域网。

SERVER、WINDOWS7、XP、WINDOWS9X/NT、WINDOWS(2)软件环境:WINDOWSSQL SERVER 2000/2005/2008中文版企业版或标准版。

(3)实验课前预习,课后及时完成实验内容。

(4)实验过程及记录按题目格式要求填写代码清单。

四、实验内容(一)索引索引分为两种:聚簇索引和非聚簇索引。

每张表只能有一个聚簇索引。

创建索引时的缺省设置是非聚簇索引。

1.使用企业管理器创建、管理索引(1)创建索引1)为Student表创建一个以Sno为索引关键字的惟一聚簇索引。

(若原已有,请删除,索引名为Sno_index)(提示:选择表后点击鼠标右键,选“设计”,窗口空白区域点击鼠标右键,选“索引/键”)基本步骤:2)为Student表创建以Sname,Sex为索引关键字的非聚簇索引(对Sname 以升序来排列,Sex以降序排列,并设置填充因子为70%)。

索引名为:SS_index。

(提示:填充因子为索引创建时索引里的数据页被填充的数量)基本步骤:(2)重命名索引将索引文件Sno_index重新命名为Sno_index1。

基本步骤:(3)删除索引将索引文件Sno_index1删除。

基本步骤:2.使用T-SQL语句创建、管理索引(1)创建索引1)为SC表创建一个非聚集索引Grade_index,索引关键字为Grade,升序,填充因子为80%。

(提示:with fillfactor=)T-SQL语句:create nonclustered index Grade_indexon SC(Grade)with fillfactor=80;2)为SC表创建一个唯一性聚集索引SC_index,索引关键字为Sno,Cno。

实验三 索引和视图

实验三 索引和视图

实验三索引和视图一、实验目的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 coursevalues('C03','数据库','C02',2) insert into coursevalues('C04','DB_设计','C03',3)insert into coursevalues('C05','C++',null,3)insert into coursevalues('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 scvalues('S01','C01',92)insert into scvalues('S01','C03',84)insert into scvalues('S02','C01',90)insert into scvalues('S02','C02',94)insert into scvalues('S02','C03',82)insert into scvalues('S03','C01',72)insert into scvalues('S03','C02',90)insert into scvalues('S04','C03',75)2.索引的建立、删除①用SSMS的方式为Student表按Sno(学号)升序建唯一索引②用T—SQL语句为Course表按Cno(课程号)升序建唯一索引,create unique index course_cnoon course(cno asc)③用T—SQL语句为SC表按Sno(学号)升序和Cno(课程号)号降序建唯一索引。

实验报告 3(视图、索引的创建与使用)

实验报告 3(视图、索引的创建与使用)

撰写人姓名:撰写时间:审查人姓名:实验全过程记录一、实验目的1、熟练掌握视图的创建与维护操作,熟练使用视图访问数据;2、熟练掌握索引的创建与维护操作,熟练使用索引以方便查询。

二、实验内容:1、在“对象资源管理器”中使用向导和在在“查询编辑器”中使用T-SQL语句创建视图,并修改视图。

再通过视图向数据库添加、修改、删除数据。

2、使用步骤1中两种方法进行索引的创建、修改、删除操作。

三、实验用仪器设备及材料软件需求:操作系统:Windows XP或更新的版本数据库管理系统:SQL Server 2005或更新的版本硬件需求:Pentium Ⅲ1G以上的CPU处理器、256MB以上的内存、1.5G以上自由硬盘空间、打印机、打印纸、CD-ROM驱动器等。

四、实验步骤:1、在“对象资源管理器”中展开需要建立视图的“公司管理系统”数据库,用鼠标右键单击“视图”对象,选择快捷菜单“新建视图”选项,打开新建“视图”对话框,根据需要选择添加的表和视图。

现添加“职工表”、“项目表”和“客户表”。

在视图设计窗口中,创建“查询姓‘李’的职工负责的上海的项目名称”的视图。

据此设置视图的输出列、列名、表名等属性。

保存该视图并利用此视图进行查询操作。

2、选择当前数据库为“公司管理系统”数据库。

在“查询编辑器”中使用T-SQL语句创建“查询客户表中所有地址在‘北京’的客户编号和名称”的视图。

通过此视图向数据库中的表进行添加、修改、删除等更新记录操作。

3、在“对象资源管理器”中展开需要建立索引的“职工表”,选中“索引”选项并展开。

选中“索引”对象,单击鼠标右键,在快捷菜单中选择“新建索引”选项,打开“新建索引”对话框。

根据“职工表”的“出生日期”列创建一不唯一、也不是聚集的索引。

设置完毕后保存该索引并进行相应的查询输出以观察索引设置的输出效果。

4、在“查询编辑器”中使用T-SQL语句对“客户表”的“客户名称”列和“地址”列创建一不唯一的、也不是聚集的复合索引。

实验四索引与视图

实验四索引与视图

实验4 数据库的索引与视图定义实验一、实验目的本实验的目的是使学生掌握索引与视图的定义与维护操作,加深对索引与视图在关系数据库中的作用的理解。

二、实验时数2学时[相关知识]建立索引是加快查询速度的有效手段。

用户可以根据应用环境的需要,在基本表上建立一个或多个索引,以提供多个存取路径,加快查找速度。

视图是根据子模式建立的虚拟表。

一个视图可以由一个表构造,也可以由多个表构造。

查看和修改视图就如同对表的操作一样,非常容易。

三、实验内容㈠索引1.创建索引1)为PROJ表的PNAME列创建非聚集索引Pindex。

2)为DEPA表的DNAME(降序),ADDR两列创建唯一非聚集索引Dindex。

3)在PROJ表的PNAME列上创建唯一非聚集索引Pindex,若该索引已存在则删除后重建。

2.查看索引1)查看DEPA表的索引信息。

2)查看数据库COMPANY索引使用的空间信息3.索引更名1)将DEPA表的索引Dindex名更改为Dindex1。

4.删除索引1)删除DEPA表的索引Dindex1。

㈡视图1.创建视图1)创建14号部门员工的视图EMPL_14(ENO,ENAME,SALARY)。

2) 创建包含项目名与员工名及工作天数的视图Prjemp。

3)在视图EMPL_14上创建工资在3000以上的员工的视图EMPL_14H3。

4)创建每个部门的平均工资的视图E_AVG(DNO,SAVG)。

2.查询视图1)根据视图Prjemp查询做'设计系统'项目的所有员工及工作天数。

2)根据视图E_AVG查询‘客户中心’的平均工资。

3.更新视图1)在视图EMPL_14中将1042号员工的姓名改为‘李立春’。

2)向视图EMPL_14中插入一条新记录(1050,‘赵英’,3500)。

3)删除视图EMPL_14中1042号员工的记录。

4.删除视图1)删除视图Prjemp。

数据库的索引和视图实验报告

数据库的索引和视图实验报告
20
Aa2
Int
Aa3
D建表bbb,表结构如下所示:
字段名
类型
长度
Bb1
Varchar
30
Bb2
Int
Bb3
Dec
6,2
结果如图:
表aaa.
表bbb:
[2]用Drop Table删除表aaa
语句:.
[3]用Alter Table修改表bbb,添加一个字段Bb4,类型Varchar,长度20.
课程名称
《数据库管理系统》
实验名称
数据库的索引和视图
实验目的
和要求
掌握查询分析器中用DDL语言进行对索引、视图的增加、删除和改动.了解嵌入式SQL语言.
实验内容
和步骤
[1]打开数据库SQL Server 2000的查询分析器,用Create Table建表aaa,结构如下所示:
字段名
类型
长度
Aa1
Varchar
用Alter Table修改表bbb,添加一个字段Bb4,类型Varchar,长度20.
语句:
结果如下:
[4]用Create View对表bbb的Bb1和Bb4建立一个视图Viewbbb,字段名为Viewbb1和Viewbb2.
语句:
结果如下:
[5]Drop View删除视图Viewbbb
语句:
结果如下:
[6].用Create Index对表Bb的Bb3字段建立一个升序索引,索引名Indexbbb
语句:
[7]用Drop Index删除索引Indexbbb.
语句:
研究与
探讨
评语
集美大学实验报告五2012年11专业年级2010信计专业1011课程名称数据库管理系统实验名称数据库的索引和视图实验目的和要求掌握查询分析器中用ddl语言进行对索引视图的增加删除和改动
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

西北师范大学计算机科学与工程学院学生实验报告
2、在student表的studentno和classno列上创建唯一索引UQ-stu,若该索引已存在,则删除后重建。

然后输出student表中的记录,查看输出结果的顺序。

SQL代码:
USE teaching
GO
IF EXISTS(SELECT name FROM sysindexes WHERE name='UQ_stu')
DROP INDEX student.UQ_stu
GO
CREATE NONCLUSTERED INDEX UQ_stu ON student(studentno,classno)
GO
SELECT*
FROM student
实验结果:
3、修改UQ-stu的索引属性,当执行多行插入操作时出现重复键值,则忽略该记录,且设置填充因子为80%
SQL代码:
USE
teaching
GO
ALTER INDEX UQ_stu ON student REBUILD
WITH(PAD_INDEX=ON,FILEFACTOR=80,IGNORE-DUP_KEY=ON)
GO
实验结果:
4、创建一个视图v-teacher,查询“计算机学院”所有教师的信息SQL代码:
USE teaching
GO
CREATE VIEW v_teacher
AS
SELECT*
FROM teacher
WHERE department='计算机学院'
GO
SELECT*
FROM v_teacher
实验结果:
5、创建一个视图v-avgstu,查询每个学生的学号、姓名及平均分,并且按照平均分降序排序
SQL代码:
USE teaching
GO
CREATE VIEW v_avgstu
AS
SELECT TOP(100)PERCENT student.studentno,studnt.sname,AVG(score.final)AS 'average'
FROM student,score
WHERE student.studentno=score.studentno
AND score.final IS NOT NULL
GROUP BY student.studentno,student.sname
ORDER BY AVG(score.final)DESC
GO
SELECT*
FROM v_avgstu
实验结果:
6、修改v-avgstu的视图定义,添加WITH CHECK OPTION选项SQL代码:
USE teaching
GO
ALTER VIEW v_avgstu
AS
SELECT*
FROM teacher
WHERE department='计算机学院'
WITH CHECK OPTION
GO
实验结果:
7、通过视图v-avgstu向基表teacher中分别插入数据(‘05039’,‘张馨月’,‘计算机应用’,‘讲师’,‘计算机学院’)和(‘06018’,‘李诚’,‘机械制造’,‘副教授’,‘机械学院’),并查看插入数据的情况
SQL代码:
USE teaching
GO
INSERT INTO v_teacher
VALUES('05039','张馨月','计算机应用','讲师','计算机学院')
INSERT INTO v_teacher
VALUES('06018','李诚','机械制造','副教授','机械学院')
SELECT*
FROM v_teacher
SELECT*
FROM teacher
实验结果:
8、通过视图v-teacher将基表teacher中教师编号为05039的教师职称修改为“副教授”
SQL代码:
USE teaching
GO
UPDATE v_teacher
SET prof='副教授'
WHERE teacherno='05039'
GO
SELECT*
FROM teacher
实验结果:
实验总结:
通过本次实验掌握了索引、统计信息和视图等数据库对象的基本概念和基本操作。

实验评语:
实验成绩教师签字。

相关文档
最新文档