实验五 视图、索引使用
SQL Server 视图及索引的创建及使用

实验五SQL Server 视图及索引的创建及使用
实验目的:通过企业管理器和Transact_SQL语句对视图进行创建、修改和删除通过企业管理器:
创建步骤:
最后保存该视图即可。
修改步骤:
进入该界面重新修改该视图即可。
删除步骤:
通过Transact_SQL语句:
创建:create view 视图名
[with encryption]
as select_statement [with check option] 修改:利用 alter view 视图名删除:利用 drop view 视图名
1.通过Transact_SQL语句创建一个视图,计算各个班级的各门课程的平均分。
2. 通过Transact_SQL语句创建一个视图,显示‘高等数学’未过的学生的信息。
3.通过Transact_SQL语句创建一个视图,查询的数据为99521班学生的考试成绩。
3.如何通过企业管理器创建索引?步骤:
点击‘新建’按钮
点击‘确定’
点击‘关闭’
4.如何删除索引?
选中该索引点击‘删除’即可
或
利用 drop index 表名. 索引名完成删除。
实验五 视图的创建和使用

实验五视图的创建和使用5.1概述5.1.1任务一理解视图的概念视图是一个虚拟表,其内容由查询定义。
同真实的表一样,视图包含一系列带有名称的列和行数据。
但是,视图并不在数据库中以存储的数据集合形式存在。
行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。
对其中所引用的基表来说,视图的作用类似于筛选。
定义视图的筛选可以来自当前或其他数据库的一个或多个表,或者其他视图。
视图被定义后便存放在数据库中,对视图中的数据的操作与对表的操作一样,可以对其进行查询、修改和删除,但对数据的操作要满足一定的条件。
当对视图所看到的数据进行修改时,相应的基表的数据也会发生变化,同时,若基表的数据发生变化,这种变化也会自动地反映到视图中。
5.1.2任务二理解视图的优点用户可以根据自己的实际需要创建视图,使用视图有很多优点,主要有以下几点:1、简单性视图可以屏蔽数据的复杂性,简化用户对数据库的操作。
使用视图,用户可以不必了解数据库的结构,就可以方便地使用和管理数据。
那些被经常使用的查询可以被定义为视图,从而使得用户不必为以后的操作每次指定全部的条件。
2、逻辑数据独立性视图可以使应用程序和数据库表在一定程度上独立。
如果没有视图,应用一定是建立在表上的。
有了视图之后,程序可以建立在视图之上,从而程序与数据库表被视图分割开来。
3、安全性通过视图用户只能查询和修改他们所能见到的数据。
数据库中的其他数据则既看不见也取不到。
5.2创建视图创建视图的方法有三种:在创建视图前请考虑如下原则:只能在当前数据库中创建视图.视图名称必须遵循标识符的规则,且对每个用户必须为唯一.此外,该名称不得与该用户拥有的任何表的名称相同.可在其他视图和引用视图的过程之上建立视图.SQLServer 2000允许嵌套多达32级视图若要创建视图,数据库所有者必须授予用户创建视图的权限,并且用户对视图定义中所引用的表或视图要有适当的权限5.2.1任务一使用企业管理器创建视图使用企业管理器创建视图的具体操作步骤如下:1、打开企业管理器窗口,打开“新建视图”对话框。
实验5 视图、索引

实验5 视图、索引5.1实验目的(1)掌握SQL Server中的视图创建、查看、修改和删除的方法。
(2)掌握索引的创建和删除的方法。
5.2实验内容(1)创建、查看、修改和删除视图。
(2)创建、删除索引文件。
5.3实验步骤5.3.1视图操作5.3.1.1 创建视图◆使用SQL Server Management Studio(1)单击“学生选课”数据库前面的+号,右击“视图”,选择“新建视图”命令,弹出“添加表”对话框。
(2)在“添加表”对话框中,添加视图数据来源的表,这里添加三张表,分别是student、course和SC表。
添加表后,单击添加表对话框中的“关闭”按钮,出现创建视图界面。
(3)如果要在视图中显示某张表的某个字段,只需单击其字段前的复选框即可,同时在中间列中会显示该字段,在代码区中会看到具体实现的代码。
(4)如果要查看视图,单击常用工具栏中的“执行”按钮,就可以看到视图的数据显示。
(5)在创建视图中还可以为字段添加列名、进行排序、添加多个筛选条件。
(6)单击常用工具栏中的“保存”按钮,就可以弹出保存视图提示对话框,输入视图名字即可,如view_stu_grade。
◆使用Transact-SQL语句语法格式:create view view_name as select_statement例5.1:在三个表student、course、SC的基础上建立一个视图,取名为view_stu_grade。
create view view_stu_gradeas select student.sno,sname,cname,gradefrom student,sc,coursewhere student.sno=sc.sno and o=o5.3.1.2 修改视图◆使用SQL Server Management Studio视图创建好,就可以利用它进行查询信息了。
如果发现视图的结构不能很好地满足要求,还可以对它进行修改。
实验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中插入一行数据,看看会发生什么情况。
实验五数据库的索引和视图

研究与
探讨
评语
如图,表bb多了Bb4
5.用Create View对表Bb的Bb1和Bb4建立一个视图Viewbb,字段名为Viewbb1和Viewbb2.
如图,视图viewbb已建立
6.Drop View删除视图Viewbb.
如图,viewbb已删除
7.用Create Index对表Bb的Bb3字段建立一个升序索引,索引名Indexbb.
大学实验报告五2014年4月1日专业年级2012级信计专业1班学学号201221143025成成绩姓姓名课程名称数据库管理系统实验名称数据库的索引和视图实验目的和要求掌握查询分析器中用ddl语言进行对索引视图的增加删除和改动
大学实验报告(五)
2014年4月1日
专业年级
2012级
信计专业(1)班学号201源自21143025Varchar
20
字段1
Aa2
Int
字段2
Aa3
Dec
10,2
字段3
2.用Create Table建表bb,表结构如下所示:
字段名
类型
长度
含义
Bb1
Varchar
30
字段1
Bb2
Int
字段2
Bb3
Dec
6,2
字段3
如图,表aa bb已建立完成
3.用Drop Table删除表aa.
如图,表aa已删除
4.用Alter Table修改表bb,添加一个字段Bb4,类型Varchar,长度20.
成绩
姓名
课程名称
《数据库管理系统》
实验名称
数据库的索引和视图
实验报告五 视图与索引

实验五视图与索引一.实验目的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),要求显示课程编号.课程名、学分。
YJ5-视图及索引

实验报告课程名称______数据库_____ ______________ 实验名称视图及索引系别______电子信息科学系_ 专业班级____11级信管1班___ 指导教师________________学号__ __ 姓名__ ___ _实验日期_______ ______实验成绩________ __一、实验目的1.了解视图和索引的含义。
2.掌握创建视图和索引的方法。
二、实验环境1.硬件环境:微机2.软件环境:Windows,Sql server2000或更高版本三、实验内容及步骤题目根据要求编写以下SQL查询语句,并对运行结果截图第一题视图1.1 打开Test数据库,创建一个视图test_orders,要求从病人表中按统计每个年龄的病人数,显示的信息有病人年龄,每个年龄段的病人数。
1.2 打开Test数据库,创建一个视图test_orders1,要求从病人表中按统计每个年龄段(要求分成三个年龄段:1~60、61~80、81~100)的病人数,显示的信息有病人年龄,每个年龄段的病人数。
2.应用test_orders视图,查看的每个年龄段的病人年龄,每个年龄段的病人数。
3.用sp_helptext命令或从系统表syscomments查看视图的内容。
4.打开Test数据库,创建一个视图test_orders2,要求从病历表中,查询住院日期2008年期间的所有病人编号与病人姓名。
5.打开Test数据库,创建一个视图test_orders3,要求统计每个病人的病人编号,病人姓名以及结算总金额。
6.打开Test数据库,创建一个视图test_order4,要求从病历表中,显示结算总金额最大的前2名病人的病人编号和结算总金额。
(注:是结算总金额而不是结算金额)7.将视图test_order3进行修改,进行加密处理。
步骤1.1create view test_ordersasselect年龄,COUNT(年龄)年龄数from病人表group by年龄select*from test_orders1.2create view test_orders1(病人年龄段,每个年龄段的病人数)as select'1-60'as病人年龄段,count(年龄)as每个年龄段的病人数from病人表where年龄between 1 and 60unionselect'61-80'as病人年龄段,count(年龄)as每个年龄段的病人数from病人表where年龄between 61 and 80unionselect'81-100'as病人年龄段,count(年龄)as每个年龄段的病人数from病人表where年龄between 81 and 10select*from test_orders12.select*from test_orders3.sp_helptext test_orders14.create view test_orders2(病人编号,病人姓名)asselect病历表.病人编号,病人姓+病人名病人姓名from病历表,病人表where住院日期like'%2008%'and病历表.病人编号=病人表.病人编号5.create view test_orders3(病人编号,病人姓名,结算总金额)asselect a.病人编号,a.病人姓名,b.结算总金额from (select distinct病人编号,病人姓+病人名病人姓名from病人表)a,(select病人编号,SUM(结算金额)结算总金额from病历表group by病人编号) b where a.病人编号=b.病人编号6.create view test_orders4(病人编号,结算总金额前位)asselect top 2病人编号,结算总金额结算总金额前位from (select病人编号,SUM(结算金额)结算总金额from病历表group by病人编号) border by结算总金额desc7.第二题索引1.2.在医生备份表创建一个关于“医生编号”的唯一簇集索引,索引名为Index_DocId。
SQLServe实验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 studentsdbgocreate index grade_indexon grade (分数)(4)为studentsdb数据库的grade表的“学号”和“课程编号”字段创建一个复合唯一索引,命名为grade_id_c_ind。
create index grade_id_c_indon grade (学号,课程编号)(5)分别使用SQL Server管理平台和系统存储过程sp_helpindex查看grade表和student_info表上的索引信息。
实验五__视图的创建与使用

视图的创建与使用一、实验目的(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.实验目的(1)理解视图的概念;(2)掌握视图的使用方法。
(3)理解视图和基本表的异同之处。
2.实验要求(1)参照实验五中完成的查询,按如下要求设计和建立视图:1)基于单个表按投影操作定义视图。
2)基于单个表按选择操作定义视图。
3)基于单个表按选择和投影操作定义视图。
4)基于多个表根据连接操作定义视图。
5)基于多个表根据嵌套操作定义视图。
6)定义含有虚字段的视图。
(2)分别在定义的视图设计一些查询(包括基于视图和基本表的连接或嵌套查询)。
(3)在定义的视图上进行插入、更新和删除操作,分情况讨论哪些操作可以成功完成,哪些操作不能完成,并分析原因。
(4)在实验报告中要给出具体的视图定义要求和操作要求,并针对各种情况做出具体的分析和讨论。
二、实验内容1、实验原理(1)视图是用SQL SELECT查询定义的,创建视图命令格式如下:CREATE VIEW <视图名> AS <SELECT-查询块>(2)删除视图的命令格式如下:DROP VIEW <视图名>2、实验步骤与结果(1)调出SQL Server2005软件的用户界面,进入SQL SERVER MANAGEMENT STUDIO。
(2)输入自己编好的程序。
(3)检查已输入的程序正确与否。
(4)运行程序,并分析运行结果是否合理和正确。
在运行时要注意当输入不同的数据时所得到的结果是否正确。
(5)输出程序清单和运行结果。
(1)参照实验五中完成的查询,按如下要求设计和建立视图:1)基于单个表按投影操作定义视图。
create view v asselect教师编号,姓名from教师create view v_order asselect*from教师where职称='教授'3)基于单个表按选择和投影操作定义视图。
create view v_cuss asselect教师编号,姓名,职称from教师where职称='教授'4)基于多个表根据连接操作定义视图。
数据库实验报告:视图 和索引

一、实验步骤(一)附加上次实验所创建的数据库“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”视图的定义信息和依赖的对象。
实验五 视图、索引使用

实验五视图、索引的使用一、实验目的:(1) 掌握视图操作。
(2) 掌握索引操作。
二、实验器材:oracle database 10g安装软件10201_database_win32。
三、实验内容及要求:1.在ORCL数据库中创建表Emp表结构如表1所示。
(1)在OEM中分别创建表在OEM目录中,选择表单击鼠标左键,在出现的界面上单击“创建”按钮,进入“表创建”界面,在各个选项卡上输入表Emp各字段信息、约束条件等,单击“确定”按钮,创建表Emp即可完成,依次完成其它表的创建。
EMP的数据表结构显示如下:Name Null? TypeEMPNO(部门号)NOT NULL NUMBER(4)ENAME(部门名称)V ARCHAR2(12)JOB(工作岗位)V ARCHAR2(10)SAL(销售产品数量)NUMBER(7,2)2. 使用PL/SQL语句向表Emp中插入三条数据记录。
EMPNO ENAME JOB SAL 1001 销售一部销售2001002 销售二部销售2401003 销售三部销售1803.视图与索引操作:(1)创建视图生成一个部门号是10的视图:CREATE VIEW D10EMPASSELECT EMPNO, ENAME, SALFROM EMPWHERE DEPTNO = 10;View created。
(2)视图应用从视图D10EMP中查询出全部信息:SELECT * FROM D10EMPORDER BY ENAME;(3)删除视图DROP VIEW D10EMP;(4)创建索引CREATE INDEX I_ENAME ON EMP(ENAME);CREATE UNIQUE INDEX I_EMPNO ON EMP(EMPNO);(5)索引应用如果查询语句如下则没有用到索引I_ENAME:SELECT ENAME,JOB,SAL FROM EMP;如果查询语句如下则用到索引I_ENAME:SELCT * FROM EMP WHERE ENAME = ‘JONES’;(6)删除索引DROP INDEX I_ENAME;。
SQLServe实验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 studentsdbgocreate index grade_indexon grade (分数)(4)为studentsdb数据库的grade表的“学号”和“课程编号”字段创建一个复合唯一索引,命名为grade_id_c_ind。
create index grade_id_c_indon grade (学号,课程编号)(5)分别使用SQL Server管理平台和系统存储过程sp_helpindex查看grade表和student_info表上的索引信息。
实验5数据库的索引和视图

韶关学院
学生实验报告册
实验课程名称:数据库技术与应用
实验项目名称:数据库的索引和视图
实验类型(打√):(基础☑
设计
院系:教育学院专业班级:11教育技术学姓名:学号:
指导老师:林育曼
韶关学院教务处编制
一、实验预习报告内容
二、实验原始(数据)记录实验时间:2013年11月5日(星期二第五六节)
三、实验报告内容
6.使用企业管理器的“向导”工具对grade表创建一个聚集索引和唯一索引。
根据实验指导老师要求另附相同规格的纸张并粘贴在相应的“实验报告册”中。
2、实验报告册属教学运行材料,院系(中心)应按有关规定归档保管。
实验报告 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语句对“客户表”的“客户名称”列和“地址”列创建一不唯一的、也不是聚集的复合索引。
实验五:视图的创建与使用

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列按降序排列。
实验5 索引和视图

实验5 索引和视图一、实验目的1.学会使用企业管理器和Transact-SQL语句CREATE INDEX创建索引。
2.学会使用企业管理器查看索引。
3.学会使用企业管理器和Transact-SQL语句DROP INDEX删除索引。
4.掌握使用企业管理器、向导等创建、管理和删除全文索引,并使用全文索引查询信息的方法。
5.掌握使用企业管理器和Transact-SQL语句CREATE-VIEW创建视图的用法。
6.掌握系统存储过程sp_rename的用法。
7.掌握使用Transact-SQL语句ALTER VIEW修改视图的方法。
二、实验准备1.了解聚集索引和非聚集索引的概念。
2.了解使用Transact-SQL语句CREATE INDEX创建索引的语法。
3.了解使用企业管理器创建索引的步骤。
4.了解Transact-SQL语句DROP INDEX删除索引的用法。
5.了解创建视图的Transact-SQL语句CREATE INDEX的语法格式及用法。
6.了解修改视图的Transact-SQL语句ALTER VIEW的语法格式。
7.了解视图更名的系统存储过程sp_rename的用法。
8.了解删除视图的Transact-SQL语句DROP VIEW的用法。
三、实验内容1.分别使用企业管理器和Transact-SQL语句为studentsdb数据库的student_info表格和curriculum表创建主键索引。
CREATE INDEX index1 ON student_info (学号ASC)CREATE INDEX index2 ON curriculum (课程编号ASC)2.使用企业管理器按curriculum表的课程编号列创建唯一性索引。
CREATE UNIQUE INDEX index3 ON curriculum (课程编号ASC)3.分别使用企业管理器和Transact-SQL语句为studentsdb数据库的grade表的“分数”字段创建一个非聚集索引,命名为grade_index。
视图和索引的创建和使用实验报告

信息工程学院实验报告课程名称:《数据库原理》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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验五视图、索引的使用
一、实验目的:
(1) 掌握视图操作。
(2) 掌握索引操作。
二、实验器材:
oracle database 10g安装软件10201_database_win32。
三、实验内容及要求:
1.在ORCL数据库中创建表Emp表结构如表1所示。
(1)在OEM中分别创建表
在OEM目录中,选择表单击鼠标左键,在出现的界面上单击“创建”按钮,进入“表创建”界面,在各个选项卡上输入表Emp各字段信息、约束条件等,单击“确定”按钮,创建表Emp即可完成,依次完成其它表的创建。
EMP的数据表结构显示如下:
Name Null? Type
EMPNO(部门号)NOT NULL NUMBER(4)
ENAME(部门名称)V ARCHAR2(12)
JOB(工作岗位)V ARCHAR2(10)
SAL(销售产品数量)NUMBER(7,2)
2. 使用PL/SQL语句向表Emp中插入三条数据记录。
EMPNO ENAME JOB SAL 1001 销售一部销售200
1002 销售二部销售240
1003 销售三部销售180
3.视图与索引操作:
(1)创建视图
生成一个部门号是10的视图:
CREATE VIEW D10EMP
AS
SELECT EMPNO, ENAME, SAL
FROM EMP
WHERE DEPTNO = 10;
View created。
(2)视图应用
从视图D10EMP中查询出全部信息:
SELECT * FROM D10EMP
ORDER BY ENAME;
(3)删除视图
DROP VIEW D10EMP;
(4)创建索引
CREATE INDEX I_ENAME ON EMP(ENAME);
CREATE UNIQUE INDEX I_EMPNO ON EMP(EMPNO);
(5)索引应用
如果查询语句如下则没有用到索引I_ENAME:
SELECT ENAME,JOB,SAL FROM EMP;
如果查询语句如下则用到索引I_ENAME:
SELCT * FROM EMP WHERE ENAME = ‘JONES’;(6)删除索引
DROP INDEX I_ENAME;。