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

合集下载

数据库视图和索引的创建及使用

数据库视图和索引的创建及使用

数据库视图和索引的创建及使用数据库是一个用于存储和管理数据的系统,它可以通过视图和索引来提高查询和访问数据的效率。

1.视图的创建和使用:视图是一个虚拟表,它是由一个或多个实际表的子集组成的。

可以将视图看作是从一个或多个表中选择出的行和列的集合。

创建视图可以简化复杂的查询操作,隐藏表的结构,方便用户对数据进行访问。

创建视图的语法如下:```CREATE VIEW view_name ASSELECT columnsFROM tablesWHERE conditions;```其中,view_name是视图的名称,columns是需要选择的列,tables 是需要选择列的表,conditions是筛选条件。

使用视图可以像使用实际表一样进行查询操作,例如:```SELECT*FROM view_name;```视图还支持更新操作,可以对视图进行插入、更新、删除等操作,数据库会将对视图的更新映射到实际的表上。

2.索引的创建和使用:索引是对数据库表中一列或多列的值进行排序的一种结构,它可以提高查询速度,加快数据的检索。

索引可以看作是一个目录,它包含有关表中数据的信息,使得数据库在执行查询时可以更快地找到需要的数据。

创建索引的语法如下:```CREATE INDEX index_nameON table_name (column1, column2, ...);```其中,index_name是索引的名称,table_name是需要创建索引的表名,column1、column2等是需要创建索引的列名。

使用索引可以加快查询速度,例如:```SELECT*FROM table_nameWHERE column_name = value;```如果没有索引,数据库会遍历整个表来找到与条件匹配的行,如果有索引,数据库可以利用索引的结构来快速定位符合条件的行。

需要注意的是,索引并不适合所有的列和表,创建索引会占用额外的磁盘空间,并且在插入、更新和删除操作时需要维护索引的结构,会影响到数据的修改速度。

实验三 索引和视图

实验三 索引和视图

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

数据库实验报告三索引和数据完整性的使用

数据库实验报告三索引和数据完整性的使用

XI`AN TECHNOLOGICAL UNIVERSITY实验报告实验课程名称数据库原理及应用专业:信息管理与信息系统班级: 130513姓名:贾丹丹学号: 130513117实验学时: 16学时指导教师:杨敏老师成绩:2015 年 11 月 20 日西安工业大学实验报告一、实验目的(1)掌握索引的使用方法。

(2)掌握数据完整性的实现方法。

二、实验步骤、数据记录及处理1.建立索引(1)使用CREATE INDEX 语句创建索引。

对YGGL 数据库的Employees 表中的DepartmentID 列建立索引。

在Employees 表的Name 列和Address 列上建立复合索引。

对Departments 表上的DepartmentName 列建立唯一非聚集索引。

专业 信息管理与信息系统 班级 130513 姓名 贾丹丹 学号 130513117实验课程 数据库原理及应用指导教师杨敏实验日期11.11-11.20同实验者实验项目 索引和数据完整性的使用实验设备及器材SQL Server2012环境(2)使用界面方式创建索引。

使用界面方式在Employees表的PhoneNumber列上创建索引。

2.重建索引重建表Employees中的所有索引。

3.删除索引使用DROP INDEX语句删除表Employees中的索引depart_ind。

4.UNIQUE约束(1)创建一个表Employees5,只含EmployeeID、Name、Sex和Education 列。

将Name设为主键,作为列Name的约束。

对EmployeeID列进行UNIQUE约束,并作为表的约束。

(2)删除上例中创建的UNIQUE约束。

5.CHECK约束(1)创建新表student,只考虑“号码”和“性别”两列,性别只能包含男或女。

(2)创建新表Salary2,结构与Salary相同,但Salary2表不允许OutCome 列大于Income列。

索引和视图实验报告

索引和视图实验报告

7-1编程在teaching 数据库中的student 表的sname 列上创建唯一索引IDX_sname。

USE teachingGOCREATE UNIQUE INDEX IDX_sname ON student(sname)7-2 编程在teaching数据库中的student表的studentno和classno列上创建组合索引IDX_sc。

USE teachingIF EXISTS(SELECT name FROM sysindexes WHERE name='IDX_sc')DROP INDEX student.scGOCREATE INDEX IDX_sc ON student(studentno,classno)7-3 重新组织teaching 数据库中student 表上的IDX_sc 索引。

USE teachingALTER INDEX IDX_sc ON dbo.student REORGANIZE7-4 重新生成teaching 数据库中student 表上的IDX_sname 索引,设置填充索引,将填充因子设置为80%,设置将中间排序结果存储在tempdb中。

USE teachingALTER INDEX IDX_sname ON dbo.studentREBUILD WITH(PAD_INDEX =ON,FILLFACTOR= 80,SORT_IN_TEMPDB =ON)7-5 重新生成teaching 数据库中student 表上的C_studentno 索引,将其修改为聚集唯一索引,并指定该索引的叶级页的填充度为70%。

USE teachingGOCREATE UNIQUE CLUSTERED INDEX C_studentnoON dbo.student(studentno)WITH(PAD_INDEX =ON,FILLFACTOR= 70,DROP_EXISTING =ON)7-6 删除teaching 数据库中student 表上的聚集索引C_studentno 和非聚集索引UC_classno。

实验三 索引、视图

实验三 索引、视图

实验三:索引、视图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语句以及执行结果;②对重点实验结果进行分析;③实验中的问题和提高;④收获与体会。

数据库 索引、视图的基本操作

数据库  索引、视图的基本操作
课程名称:数据库应用技术项目项目名称:索引、视图的基本操作
姓名:专业:_班级:__学号:_同组成员
一、实验预习部分:
Ⅰ.实验环境准备:
硬件环境:微型计算机
软件环境:Windows XP ,SQL Server 2005
Ⅱ.实验知识点准备:
1.聚集索引对表的数据页中的数据按列排序,然后再重新存储到磁盘
(adr)
0001
李涛
无锡市解放东路123号
0002
钱金浩
无锡市人民西路234号
0003
邓杰
无锡市惠河路270号
0004
朱海红
无锡市中山东路432号
0005
欧阳阳文
无锡市中山东路532号
表3-3报纸订阅表(CP)
顾客编号
(cno)
报纸编号
(pna)
订阅份数
(num)
0001
000001
2
0001000005的认值为1录入数据之后:
2、创建与删除索引
(1)使用T-SQL命令对DingBao数据库中PAPER表的pna字段降序建立非聚集索
引pna_index。
(2)在对象资源管理器中修改非聚集索引pna_index,使其对pna字段升序建立。
(3)使用T-SQL命令删除索引pna_index。
刷新对象资源管理器界面,pna索引消失:
3、创建视图(使用T-SQL)
(1)创建视图cp_view,用于显示pna, cno, num。
(2)修改视图cp_view,用于显示订阅份数(num)多于2份的用户的pna, cno, num。
(3)删除视图cp_view。
(4)创建一个视图paper_view,用于显示pno,pna。通过视图paper_view向PAPER表中添加一条记录(000006,’闽北日报’),再通过视图删除这条记录。

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

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

实验训练4:视图和索引的构建与使用1. 简介在数据库中,视图是一种虚拟表,它是基于查询结果动态生成的。

视图可以看作是一个预定义的查询,通过视图可以方便地访问和组织数据。

本文将介绍在数据库中如何创建和使用视图,以及如何构建索引来提高查询性能。

2. 创建视图在数据库中,可以使用CREATE VIEW语句来创建一个视图。

视图的创建需要满足以下条件:•视图的名字必须唯一。

•视图的定义必须是一个有效的SELECT语句。

下面是一个创建视图的示例:CREATE VIEW view_name AS SELECT column1, column2 FROM table_name WHERE condition;其中,view_name是视图的名称,column1和column2是视图所包含的列名,table_name是数据来自的表名,condition是过滤条件。

创建视图之后,可以使用SELECT语句来查询视图的内容,就像查询表一样。

3. 修改视图在数据库中,可以使用ALTER VIEW语句来修改一个已经存在的视图。

修改视图可以包括添加、删除和修改列。

下面是一个修改视图的示例:ALTER VIEW view_name ADD column_name datatype;其中,view_name是要修改的视图的名称,column_name 是要添加的列名,datatype是列的数据类型。

4. 删除视图在数据库中,可以使用DROP VIEW语句来删除一个已经存在的视图。

下面是一个删除视图的示例:DROP VIEW view_name;其中,view_name是要删除的视图的名称。

5. 索引的构建与使用索引是一种数据结构,可以提高数据库的查询性能。

数据库中的索引可以分为以下几种类型:•B-Tree索引:适用于等值查询和范围查询。

•哈希索引:适用于等值查询。

•全文索引:适用于关键词搜索。

在数据库中,可以使用CREATE INDEX语句来创建索引。

索引和视图实验答案

索引和视图实验答案

《索引和视图》实验一、实验目的与要求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、操作系统:Windows XP或Windows 20032、数据库管理系统:SQL Server 2005三、实验内容1.分别使用SQL Server管理平台和Transact-SQL语句为教务管理系统数据库的《学生信息》和《课程信息》创建主键索引。

(1) 使用SQL Server管理平台为教务管理系统数据库的《学生信息》和《课程信息》创建主键索引。

(2) 使用Transact-SQL语句为教务管理系统数据库的《学生信息》和《课程信息》创建主键索引。

USE教务管理系统GOcreate unique nonclustered index学生信息_idxon学生信息(学号)GOUSE教务管理系统GOcreate unique nonclustered index课程信息_idxon课程信息(课程编号)GO2.使用SQL Server管理平台按《课程信息》的课程编号列创建唯一性索引。

3.分别使用SQL Server管理平台和Transact-SQL语句为studentsdb数据库的《成绩表》的“分数”字段创建一个非聚集索引,命名为《成绩_index》。

(1)使用SQL Server管理平台为教务管理系统数据库的《成绩表》的“分数”字段创建一个非聚集索引,命名为《成绩_index》。

数据库 视图和索引的创建及使用

数据库 视图和索引的创建及使用

实验五视图和索引的创建及使用实验目的:1、理解视图和索引的概念2、学会使用企业管理器和T-SQL语句创建视图和索引3、理解视图和索引的优缺点,掌握视图和索引的管理和维护。

实验内容:一视图1、使用企业管理器建立视图,进入“添加表”对话框,选择表student,在“视图设计器”界面的表选择区中选择所有列选型,在SQL语句区,编辑并执行,查看视图显示结果。

2、保存视图名为view_student.3、建立学生学号、姓名、性别、课程号、成绩的视图v_sc,查看v_sc中的数据。

4、建立学生学号、姓名、出生年份的视图v_age查看V_age中的数据。

5、建立…JSJ‟ 系的学生学号、姓名、性别、年龄的视图v_JSJ6、建立每门课程的平均分的视图v_avggrade二索引1、使用企业管理器为学生表student创建一个以stud_id 为索引关键字的惟一聚簇索引。

2、将上一步所建立的索引名称修改为new_index。

3、将前述所建立的new_index 索引删除。

4、使用T-SQL 语句为课程表Course 创建一个名为Course_Index 的惟一非聚簇索引,索引关键字为教师编号Course_id,降序,填充因子为80%。

5、使用T-SQL 语句将课程表中的Course_Index 删除。

6、为student表创建一个基于“年龄,学号”组合列的非聚集、复合索引cj_xh_index。

7、为lesson_info 创建一个基于“课程号course_id,课程类型course_type” 组合列的惟一、聚集、复合索引kc_lx_index。

实验结果中记录结果,不能省略。

附:建立实验相关数据库与表CREATE DATABASE TESTDBON PRIMARY(NAME='TESTDB',FILENAME='d:\TESTDB.mdf',SIZE=3072KB,MAXSIZE='UNLIMITED',FILEGROWTH=1024KB)LOG ON(NAME='TESTDB_LOG',FILENAME='d:\TESTDB_LOG.ldf',SIZE=1024KB,MAXSIZE=2048GB,FILEGROWTH=10%)COLLATE Chinese_PRC_CI_ASCREATE TABLE Student(Stu_ID CHAR(12) NOT NULL PRIMARY KEY,Stu_Name VARCHAR(50),Stu_Passwd V ARCHAR(50),Ssex CHAR(2),Sage INT,Sdept V ARCHAR(50))CREATE TABLE Course(Course_ID [char](9) NOT NULL,Course_Name [varchar](50) NULL,Course_Credit [int] NULL,Course_Pro_ID [char](9) NULL,Teacher_ID [char](8) NULL,Books_ID [char](12) NULL,)use TESTDB1CREATE TABLE Stu_Course(Stu_ID CHAR(12) NOT NULL,Course_ID CHAR(9) NOT NULL,Term CHAR(6),Score DECIMAL(3,2),Credit INT,CONSTRAINT PK_Stu_Course PRIMARY KEY(Stu_ID,Course_ID))USE [TESTDB]GOINSERT INTO student V ALUES('11012901','杜月梅','147258','女',21,'物理系'); INSERT INTO student V ALUES('11012902','李建丽','258369','女',22,'物理系'); INSERT INTO student V ALUES('11012903','高勇','369789','女',23,'物理系'); INSERT INTO student V ALUES('12023001','王军雅','123456','男',20,'计算机'); INSERT INTO student V ALUES('12023002','王晓玲','456789','女',21,'计算机');INSERT INTO course V ALUES('1','高等数学',6,null,'1','1');INSERT INTO course V ALUES('2','C语言',3,null,'2','2');INSERT INTO course V ALUES('3','数据结构',2,2,'3','3');INSERT INTO Stu_Course V ALUES('11012901','1','1',82,6);INSERT INTO Stu_Course V ALUES('11012902','1','1',90,6); INSERT INTO Stu_Course V ALUES('11012903','1','1',75,6); INSERT INTO Stu_Course V ALUES('12023001','1','1',96,6); INSERT INTO Stu_Course V ALUES('12023002','1','1',90,6); INSERT INTO Stu_Course V ALUES('12023001','2','1',86,3); INSERT INTO Stu_Course V ALUES('12023002','2','1',70,3);。

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

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

实验报告课程名称:数据原理与应用学院名称:计算机学院专业班级:计 1201学生姓名:张文江学号:0122实验 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 ,cno,gradefrom SC,Swhere dept='网络工程'and =利用视图JSGV查问“网络工程”专业的学生选课多于 2 门的学生学号;select distinct snofrom JSGVgroup by sno having (count(*)>2)考证可否利用视图JSGV中插入一条“网络工程”专业学生选修“高等数学”课程的记录,并查问结果信息;insert into JSGV values (' ' ,' c03' ,' 85' )删除视图JSGV。

实验三--数据库中的数据查询及视图操作实验报告

实验三--数据库中的数据查询及视图操作实验报告
实验内容和步骤针对实验一建立的数据库的表用select语句完成如下查询操作写出select语句并给出操作结果
长春大学计算机学院科学与技术专业
数据库原理实验报告
实验名称:
实验三数据库中的数据查询及视图操作(1)
班 级:
姓 名:
学 号:
实验地点:
日 期:
一、实验目的:
1.继续熟练SQL SERVER 2005/2008系统或KingBase ES V7.0的使用;
2.掌握SELECT语句的使用。
3.掌握单表查询,多表查询以及嵌套查询。
二、实验内容、要求和环境:
【实验要求】
注:将完成的实验报告重命名为:班级+学号+姓名+(实验三),(如:041540538张三(实验三)),提交到SPOC学堂。
1.实验课要携带教材、学习辅导、老师下发的实验报告文档等。
2.课前要对实验内容和步骤部分进行预习。
创新活动
THANKS !!!
致力为企业和个人提供合同协议,策划案计划书,学习课件等等
打造全网一站式需求
欢迎您的下载,资料仅供参考
(2)求供应工程J1零件P1的供应商号码SNO;
(3)求供应工程J1零件的供应商名SNAME;
(4)求供应工程J1零件P1的供应商名SNAME;
(5)求供应工程J1零件为红色的供应商号码SNO;
(6)求没有使用天津供应商生产的红色零件的工程号JNO;
(7)求至少用了供应商S1所供应的全部零件的工程号JNO;
(8)找出使用上海产的零件的工程名称;
2.针对学生-课程数据库中的三个表,用嵌套方法查询实现如下查询:
(1)查询选修了数据库的学生姓名。
(2)查询比计算机系CS所有学生年龄都大的学生信息。

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

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

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

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

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

数据库实验报告三索引和数据完整性的使用

数据库实验报告三索引和数据完整性的使用

数据库实验报告三索引和数据完整性的使用第一部分:索引1. 索引的概念数据库中的索引指的是对数据表中一列或多列的值进行排序的结构。

其作用在于提高查询速度和数据检索的效率。

常见的索引包括主键索引、唯一索引、普通索引和全文索引等。

主键索引:用于标识数据表中每一行的唯一性,在创建表时可以定义一个主键,也可以在表创建后添加主键索引。

主键索引是数据库中一种建立索引的方式,也是性能最优的索引。

唯一索引:唯一索引是用来保证数据表中某一列的唯一性。

与主键索引不同,唯一索引列的值可以为空。

普通索引:普通索引只是按照指定的列进行排序,无特殊要求。

可以对任何列进行普通索引,但一个表中最多只能有一个主键索引,可同时创建多个普通索引。

全文索引:全文索引是基于全文搜索的索引,用于在大数据量的文本信息中进行高效率的搜索。

其搜索键值不是行而是文本字符串中的单词。

3. 索引的创建和删除索引的创建和删除操作,首先需要指定要操作的表和列名,然后通过 SQL 语句进行执行。

创建索引的语法:CREATE [UNIQUE] [CLUSTERED | NONCLUSTERED] INDEX {index_name} ON {table_name} ({column_name} [ASC | DESC]);删除索引的语法:DROP INDEX {index_name} ON {table_name};4. 索引的优缺点索引的优点在于提高查询速度和数据检索的效率,使得数据库操作更加高效。

同时,索引可以帮助数据表中的列保持唯一性,防止重复数据的插入。

索引的缺点在于占用大量的磁盘空间和增加了数据库操作的复杂度。

每个索引都需要独立占用一定的磁盘空间,如果数据表中的列较多,建立索引过程对磁盘的压力也较大。

第二部分:数据完整性的使用数据完整性是指数据库中的数据是准确、一致、合法和有效的。

数据完整性包括实体完整性、域完整性、参照完整性和用户自定义完整性等几个方面。

实验报告 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语句对“客户表”的“客户名称”列和“地址”列创建一不唯一的、也不是聚集的复合索引。

数据库实验 索引的创建与使用

数据库实验     索引的创建与使用

实验三:索引的创建与使用一、实验目的:1、理解索引的概念和索引的作用。

2、掌握创建索引的方法。

3、学会使用索引。

4、了解聚簇索引和非聚簇索引。

二、实验要求:(必做)硬件:Intel Pentium 120或以上级别的CPU,大于16MB的内存。

软件:Windows 95/98/2000操作系统,关系数据库管理系统SQL SERVER 2000。

学时:2学时三、实验内容:1、用create index在学生表student的学号sno上建立聚簇索引。

2、在学生表student中,为姓名sname建立非聚簇索引。

3、在课程表的课程号Cno上建立唯一索引。

4、在选课表的学号sno、成绩Grade上建立复合索引,要求学号为升序,学号相同时成绩为降序。

5、用drop删除学生表student的索引。

数据库设计与管理实验报告实验名称评分实验日期年月日指导教师姓名专业班级学号一、实验目的二、实验步骤及结果1、用create index在学生表student的学号sno上建立聚簇索引。

create clustered index stusno on student(sno);2、在学生表student中,为姓名sname建立非聚簇索引。

create index stusname on student(sname);3、在课程表的课程号Cno上建立唯一索引。

create unique index coucno on course(cno);4、在选课表的学号sno、成绩Grade上建立复合索引,要求学号为升序,学号相同时成绩为降序。

create unique index scng on sc(sno asc,grade desc);5、用drop删除学生表student的索引。

drop index student.stusno,student.stusname;三、程序调试及问题分析1、用create index在学生表student的学号sno上建立聚簇索引。

实验三 索引和视图讲解

实验三 索引和视图讲解

实验三索引和视图一、实验目的1.掌握利用SSMS和T—SQL语句创建和删除索引的两种方法。

2.掌握利用SSMS和T—SQL语句创建、查询、更新及删除视图的方法。

)insert into Student values('S01','王建平','男','21','自动化') insert into Student values('S02','刘华','女','19','自动化') insert into Student values('S03','范林军','女','18','计算机') insert into Student values('S04','李伟','男','19','数学') insert into Student values('S05','黄河','男','18','数学') insert into Student values('S06','长江','男','20','数学')(Cno char(4)primary key, Cname char(10)not null,Cpno char(10),Credit char(2),)insert into Course values('C01','英语',NULL,'4') insert into Course 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') insert into Course values('C07','操作系统','C05','3')2.索引的建立、删除①用SSMS的方式为Student表按Sno(学号)升序建唯一索引②用T—SQL语句为Course表按Cno(课程号)升序建唯一索引,create unique index课程号on Course (Cno ASC)③用T—SQL语句为SC表按Sno(学号)升序和Cno(课程号)号降序建唯一索引。

索引、视图的定义实验报告

索引、视图的定义实验报告

数据库实验报告题目:索引、视图的定义院系:计算机科学与工程学院班级:120404姓名:张杨学号:20124270第九周周六56节【实验设计】使用企业管理器(1)打开企业管理器,在树状目录中展开数据表"员工数据表"所在的数据库节点TestDB,并选择其下一级节点"表"。

(2)选择表"员工数据表",并单击鼠标右键。

在弹出菜单中选择命令"所有任务〉管理索引",打开"管理索引"对话框。

(3)在"管理索引"对话框中的"数据库"下拉菜单中选择数据库表。

(4)选择"新建"按钮,弹出"新建索引"对话框。

(5)在"新建索引"对话框的"索引名"文本框中输入索引名称"IDX_Name",然后选择字段"姓名"并设置索引属性。

【程序代码】USE TestDBGOCREATE VIEW员工项目(员工编号,员工姓名,项目名称,项目开始日期)ASSELECT a·编号,a·姓名,b·名称,b·开始日期,FROM员工数据表AS a INNER JOIN项目数据表AS bON a·编号=b·负责人WHERE a·编号=b·负责人GO(2)使用INSERT语句通过视图向员工数据表中添加一条记录,要求"姓名"字段值为"马中兴"。

USETestDBGOINSERTINTO 员工项目(员工姓名)VALUES('马中兴')GO(3)使用UPPDATE语句通过视图将第二步中插入记录的员工姓名改为"马中新"。

USETestDBGOUPDATE员工项目SET 项目负责人= '马中新’,WHERE 项目负责人=’马中兴’GO(4)执行系统存储过程 sp_rename将视图更名为"employee_project_VIEW "。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验报告
课程名称:学院名称:数据原理与应用计算机学院
专业班级:计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 o,sname,cname,grade
from SC,S,C
where S.sno=SC.sno and o=o
利用视图TOTAL 统计各门课程的选课人数,结果显示课程号、课程名及选课人数。

select cno as 课程号,cname as 课程名, count (*) as 选课人数
from TOTAL
group by cno ,cname
4. 验证能否利用视图TOTAL修改选修了“高等数学”课程的学生的成绩。

1.)修改以前利用视图TOTAL查看选修了“高等数学”课程的学生的成绩。

select sname,grade
from TOTAL
where cname='高等数学'
1.)修改以后利用视图TOTAL查看选修了“高等数学”课程的学生的成绩。

(1)update TOTAL
set grade=grade-2
where cname='高等数学'
(2)select sname,grade
from TOTAL
where cname='高等数学'
五、实验总结要求
经过这次试验学会了如何创建view视图、view视图的索引和view视图的基本操作,和TOTAL 视图的基本操作。

经过这次试验又使我增加了对数据库查询分析器的认识,学会了更多基本技能。

相关文档
最新文档