实验 视图、索引与数据库关系图
第6章创建索引、数据库关系PPT课件
![第6章创建索引、数据库关系PPT课件](https://img.taocdn.com/s3/m/3bd37b1a31b765ce04081420.png)
6.3 使用SQL Server 2008删除索引
在上一节讨论了三种创建索引的方法,在本节中将学习在 SQL Server 2008中删除索引的方法,和创建索引类似, 删除索引也可以使用SQL Server Management Studio和TSQL的两种方法,本节中将分别对这两种删除索引的方法 进行介绍。
6.4 使用SQL Server 2008维护索引
在完成索引的创建后,下面学习使用SQL Server 2008对索引 进行维护。
6.4.1 显示索引信息
在建立索引后,可以使用下列两种方法对表索引信息进行查 询。
在SQL Server Management Studio的【对象资源管理器】面 板中,使用与创建索引同样的方法,在右击索引对应的分 支菜单项弹出的快捷菜单中选择【属性】命令,即可弹出 该索引对应的信息对话框。
通过Transact-SQL语句来实现,更改索引名称的命令格式如 下: EXEC sp_ rename table_ name.old_index_name, new_index_name
6.3.2 使用T-SQL删除索引
同样,也可以使用Transact-SQL语句删除索引,使用 Transact-SQL语句删除索引的语法格式如下:
DRQP INDEX Table_name.index name[,table_name.index_narne...] 其中: table name:代表索引所在的表名称。 index name:代表要删除的索引的名称。
6.2 使用SQL Server 2008创建索引
实验7 索引、存储过程、触发器、关系图等的基本操作
![实验7 索引、存储过程、触发器、关系图等的基本操作](https://img.taocdn.com/s3/m/5bb00eb869dc5022aaea0057.png)
实验7 索引、存储过程、触发器、关系图等的基本操作1实验7 索引、存储过程、触发器、关系图等的基本操作 实验示例1.索引1、创建索引(1)利用向导创建索引启动企业管理器,连接服务器,单击“工具(T)”→“向导(W)…”命令,在弹出的“选择向导”对话框中,展开“数据库”文件夹,如图7-1,双击“创建索引向导”项,打开欢迎对话框,如图7-2,在这个对话框中按先后顺序列出了使用向导创建索引的步骤。
单击“下一步”按钮,展开创建步骤,从图7-3到图7-8。
图7-1 选择索引向导 图7-2 欢迎使用创建索引向导数据库原理与应用实验指导2图7-3 选择数据库和表图7-4 已存在的索引信息图7-5 选择表中的列图7-6 指定索引选项图7-7 正在完成创建索引 图7-8 成功创建索引 (2)在企业管理器中创建索引在企业管理器中创建索引的步骤为:实验7 索引、存储过程、触发器、关系图等的基本操作3 ①在数据库关系图中选择要创建索引的表,右击该表,然后从快捷菜单中选择“索引/键”命令;或为要创建索引的表打开表设计窗口,在表设计窗口上部字段定义区域右击,然后从快捷菜单中选择“索引/键”命令,如图7-9;或在打开表设计窗口时,按工具栏上的属性按钮,都能打开表属性窗口,如图7-10。
图7-9 表设计窗口中的快捷菜单 图7-10 表属性窗口中创建索引/键 ②在图7-10中,选择"新建"命令。
“选定的索引”框显示系统分配给新索引的名称,“索引名”文本框中能修改系统已自动给出的索引名。
③在“列名”下选择要创建索引的列。
可以选择多达16列。
为获得最佳性能,最好只选择一列或两列。
对所选的每一列,可指出索引是按升序还是降序组织列值。
④为索引指定任何其它需要的设置,然后单击“确定”按钮。
当保存表或关系图时,索引即创建在数据库中。
在企业管理器中创建索引还有如下方法:如图7-11,直接在相应表上按鼠标右键→“所有任务”→“管理索引”→出现管理索引对话框,如图7-12,在该对话框上对表索引能进行“新建”、“编辑”、“删除”等一系列管理操作。
实验六:关系图、索引和视图的定义及维护
![实验六:关系图、索引和视图的定义及维护](https://img.taocdn.com/s3/m/d055713f67ec102de2bd8916.png)
实验六:关系图、索引和视图的定义及维护一、实验目的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 ONStudent(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索引。
G-索引和视图PPT教学课件
![G-索引和视图PPT教学课件](https://img.taocdn.com/s3/m/bd5ef445dd36a32d72758140.png)
➢索引是对数据库表中一个或多个列的值 进行排序的结构。 ➢索引提供指针以指向存储在表中指定列 的数据值,然后根据指定的排序次序排 列这些指针 。 ➢SQL的索引是平衡树(B树),每页至少包 含2行。
2020/12/09
1
索引优点缺点
优点
– 加快访问速度 – 加强行的唯一性
缺点
2. 非聚簇索引:在逻辑和物理上独立于表,表数据不存储 在索引的叶节点中。对于指向聚集索引的索引,叶节点中 包含聚集键;无聚集索引时,叶节点中包含一个直接指向 表数据的rowid。
两种索引对比:一个表中只能有一个聚簇索引,表示记录存 储的物理顺序;一个表中可以有多个(249个)非聚簇索 引,表示记录的逻辑顺序;非聚簇索引额外占用内存和硬 盘空间;按聚簇索引存取数据比按非聚簇索引快。非聚簇 索引可定义为唯一的,也可定义为非唯一的。
– 带索引的表在数据库中需要更多的存储空间。 – 操纵数据的命令需要更长的处理时间,因为
它们需要对索引进行更新。
2020/12/09
2
索引的类型-1
SQL Server 的索引包括:聚簇索引、非聚簇 索引、包含性列索引、索引视图、全文索 引和 XML索引。
1. 聚簇索引:保证表中的数据的物理存储顺序和排 列顺序相同。
➢ 精确或不精确的确定性计算列都可以是包含性列。 ➢ 与键列一样,只要允许将计算列数据类型作为非键索
引列,从 image、ntext 和 text 数据类型派生的计算列 就可以作为非键(包含性)列。 ➢ 不能同时在 INCLUDE 列表和键列列表中指定列名。 ➢ INCLUDE 列表中的列名不能重复。
2020/12/09
6
索引的类型-5
• 列大小准则
实验 视图、索引与数据库关系图
![实验 视图、索引与数据库关系图](https://img.taocdn.com/s3/m/44d261355a8102d276a22fbf.png)
实验名称:实验五视图、索引与数据库关系图班级学号姓名日期所在院系指导老师成绩一、试验目的使学生掌握SQL Server中的视图创建、查看、修改和删除的方法;索引的创建和删除的方法;数据库关系图的实现方法。
加深对视图和SQL Server数据库关系图的理解。
二、实验内容(1)创建、查看、修改和删除视图。
(2)创建、删除索引文件。
(3)创建数据库关系图。
三、试验步骤1)视图操作(1)创建视图。
使用SQL Server Management Studio直接创建,步骤如下:1.单击数据库前面的+号,然后再单击“学生选课”数据库前面的+号,右击“视图”,在弹出的快捷菜单中选择“新建视图”命令,弹出“添加表”对话框。
如图5.1所示图5.1 “添加表”对话框2.在“添加表”对话框中,添加视图数据来源的表,这里添加三张表,分别是student、course和sc表。
添加表后,单击添加表对话框中的“关闭”按钮,出现创建视图界面。
如图5.2所示图5.2添加字段前的效果图3.如果要在视图中显示某些表的某个字段,只需单击其字段前的复选框即可,同时在中间列中会显示该字段,在代码区中会看到具体实现的代码。
4.如果要查看视图,单击常用工具栏中的“执行”按钮,就可以看到视图的数据显示,如由字段student.sno、sname、cname、grade生成的视图效果。
如图5.3所示图5.3 生成视图效果图5.在创建视图中还可以为字段添加列名、进行排序、添加多个筛选条件。
6.单击常用工具栏中的“保存”按钮,就可以弹出保存视图提示对话框,输入视图名字即可,为view_stu_grade。
(2)修改视图。
视图创建好后,就可以利用它进行查询信息了。
如果发现视图的结构不能很好的满足要求,还可以对它进行修改。
使用SQL Server Management Studio直接修改,步骤如下:1.在SQL Server Management Studio中,选择服务器、数据库、并使数据库展开,再单击“视图”前面的+,就可以看到已存在的视图了。
实验报告五 视图与索引
![实验报告五 视图与索引](https://img.taocdn.com/s3/m/e50343d8195f312b3169a52b.png)
实验五视图与索引一.实验目的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),要求显示课程编号.课程名、学分。
数据库第7章 视图和索引简明教程PPT课件
![数据库第7章 视图和索引简明教程PPT课件](https://img.taocdn.com/s3/m/bb07b4e5e009581b6bd9eb55.png)
7.1 索引
7.1.2 索引类型
3.聚集索引和非聚集索引 所谓聚集索引,是所有记录都按顺序聚集在索引结构的叶结点上的 索引。当查询一个数据时,从树的根结点到树的叶结点上后,可以直接 得到这条记录,从而减少I/O操作。聚集索引的一个重要特点是,记录 都是依照叶结点的顺序排列,也就是说使用聚集索引可以改变记录的物 理存放顺序。
一般有以下一些列不能考虑建立索引:
(1)在查询中很少使用和参考的列; (2)只有很少值的列; (3)小表(行数很少的表)一般没有必要创建索引; (4)定义为TEXT、IMAGE和BIT数据类型的列; (5)当UPDATE的性能比SELECT的性能更重要时不应建立索引。
7.2 创建索引
7.2.2 使用图形工具创建索引
(1)启动SSMS,展开“对象资源管理器”中数据库“Student”|“表” | “StudentInfo”。右键单击 “索引”项,弹出快捷菜单。 (2)选择“新建索引”命令,弹出如下图的“新建索引”对话框,在“索 引名称”项中输入索引名称“index_student_id”在“索引类型”的下拉列表中 选择“非聚集”,并启用“唯一”复选项,单击“添加”按钮,弹出 “从 “dbo.StudentInfo”中选择列”对话框。
7.1 索引
7.1.2 索引类型
1.简单索引和复杂索引很高的效率。一般来说,简单索引较适合于重复性不高的属性。 复杂索引是由两个以上属性形成的索引,也可以称为组合索引。在 查询过程中常常需要查找一些容易重复的属性的组合,如表中的印数和 字数。复杂索引常常用在这种信息的查找上面。
7.1 索引
7.1.2 索引类型
2.唯一索引和非唯一索引 唯一索引是指所引用的属性值能唯一地标识一行,即在此属性列中, 不存在两个相同的值。一个特殊的情况是,如果书号在这个数据表中本 来就是主键,那么这个索引可以叫做主键索引,显然主键就是一个唯一 索引。 在多列唯一索引的情况下,该索引可以确保索引列中每个值组合都 是唯一的,即构成了复杂唯一索引。非唯一索引与唯一索引相对,允许 出现重复值。
实验四 视图、索引的创建与管理
![实验四 视图、索引的创建与管理](https://img.taocdn.com/s3/m/f3d0721352d380eb62946dbe.png)
实验四视图、索引的创建与管理一、实验目的1.了解视图、索引的概念及作用。
2.掌握视图和数据表的区别。
3.掌握索引的分类。
4.掌握创建视图、索引的方法。
5.掌握查看和修改视图、索引的方法。
6.掌握删除视图、索引的方法。
二、实验内容视图实验内容:1.新建BOOKS数据库,使用管理控制台创建名称为“图书借阅信息表”的数据表,表2.在3.使用管理控制台创建一个名为“读者借阅信息_VIEW”的视图,要求显示所在部门是“计算机系”或“外语系”的读者借阅信息,包括“读者编号”、“姓名”、“所在部门”、“图书编码”和“图书状态”五个字段。
4.使用SQL语句创建一个名为“计算机系续借信息_VIEW”的视图,要求显示计算机系读者2010-10-1以后续借的图书信息,包括“姓名”、“图书编码”和“借阅日期”三个字段。
5.使用管理控制台查看“读者借阅信息_VIEW”视图的定义信息和依赖的对象。
6.使用系统存储过程查看“计算机系续借信息_VIEW”视图的定义信息和依赖的对象。
7.使用管理控制台修改“读者借阅信息_VIEW”视图,要求只显示计算机系男读者借阅信息,包括“读者编号”、“姓名”、“所在部门”、“图书编码”和“图书状态”五个字段。
8.使用SQL语言修改“计算机系续借信息_VIEW”视图,要求显示计算机系或外语系读者2006-1-1以后续借的图书信息,包括“姓名”、“所在部门”、“图书编码”和“借阅日期”四个字段。
9.分别使用管理控制台和SQL语言向视图“读者借阅信息_VIEW”中插入一条记录,看操作能否成功,为什么?10.使用管理控制台删除“读者借阅信息_VIEW”视图。
11.使用SQL语言删除“计算机系续借信息_VIEW”视图。
索引实验内容:12.使用管理控制台创建一个新的索引,索引名称为“IX_姓名_所在部门”,使用的数据表是“读者基本信息表”,所用的字段包括“姓名”和“所在部门”两个字段。
13.使用SQL语句创建一个新的索引,索引名称为“IX_图书状态_借阅日期”,使用的数据表是“图书借阅信息表”,所用的字段包括“图书状态”和“借阅日期”两个字段。
数据库原理实验报告-实验四-视图与索引
![数据库原理实验报告-实验四-视图与索引](https://img.taocdn.com/s3/m/4448e3fe0029bd64783e2cf3.png)
《数据库原理》实验报告题目:实验四视图与索引学号班级日期2016.10.20一、实验内容、步骤以及结果1.在Student数据库中,利用图形用户界面,创建一个选修了“数据库原理”课程并且是1996年出生的学生的视图,视图中包括学号,性别,成绩三个信息。
(5分)2.用两种不同的SQL语句创建第五版教材第三章第9题中要求的视图(视图名:V_SPJ)(10分,每种方法5分)。
--第一种方法CREATE VIEW V_SPJ ASSELECT sno,pno,qty FROM SPJWHERE jno=(SELECT jno FROM JWHERE jname ='');GO--删除建好的视图DROP VIEW V_SPJ;GO--第二种方法CREATE VIEW V_SPJ ASSELECT sno,pno,qtyFROM SPJ,JWHERE 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中的任意一条数据的供应数量。
(3)删除视图V_SPJ中的任意一条数据(注意所创建视图可以视图消解时,才能正常删除,否则会删除失败;也可以考虑用instead of触发器实现)。
数据库视图 外键 关系图 索引
![数据库视图 外键 关系图 索引](https://img.taocdn.com/s3/m/c5e8cbf1f90f76c661371a3a.png)
刘强-数据库应用4、索引来自索引是与表或视图相关联的,为提高查询或排序 速度而设计的一种数据结构 聚集索引,是按照数据存放的物理位置为顺序的 非聚集索引,不以数据存放的物理位置为顺序 聚集索引能显著提高多行的查询速度,而非聚集 索引,能显著提高单行的查询速度
刘强-数据库应用
4、索引的创建及删除
索引的创建及删除 DEMO
刘强-数据库应用
刘强-数据库应用
3、数据库的关系图
数据库的关系图,指的是数据库中表(视图), 由主键和外键之间的联系,而表示的表(视图) 之间的关系图 用户可以通过设计数据库中关系图,来设计具 有相互依赖关系的数据表
刘强-数据库应用
3、数据库的关系图
创建数据库XSCJ的关系图 DEMO 通过创建关系图,理解数据表的设计方法
第七课 数据库 视图 索引 及 完整性
刘强
1、数据库视图
视图是一张虚表,是从一张或多张表导出的,实际上是一 个查询结果。它并不存储实际的物理数据,实际的物理数 据仍然存在导出视图的基本表(称为基表)中,数据库中 只存储了视图的定义。 当基表的数据发生改变时,通过视图查询出来的数据也会 随之改变 如果通过视图修改数据时,相应的基本表中的数据也会发 生改变
2.外键 外键(FOREIGN KEY)约束 外键 约束
外键也是由一列或多列构成的,它用来建立和强制两个表间的关联。这种 关联是通过将 一个表中的组成主键的列或组合列加入到另一个表中形成的, 这个列或组合列就成了第二 个表中的外键。
刘强-数据库应用
2、数据库完整性-主键 外键约束
用企业管理器创建主键 和外键约束 DEMO 通过DEMO了解SQL SERVER如何实现 数据库中的数据完整性
刘强-数据库应用
数据库实验五 索引和视图
![数据库实验五 索引和视图](https://img.taocdn.com/s3/m/d9409de9700abb68a982fb5d.png)
华中科技大学《数据库技术与应用》实验报告专业班级:学生姓名:学号:实验地点:指导教师:实验日期时间:一、实验项目名称:索引和视图二、实验学时:三、实验目的: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表的课程编号列创建唯一性索引。
数据库实验四 视图与索引
![数据库实验四 视图与索引](https://img.taocdn.com/s3/m/99cc6f12650e52ea5518989c.png)
实验4 视图与索引一、实验目的1.本实验的目的是使学生掌握视图与索引的使用方法,加深对视图与索引作用的的理解。
2.通过自行设计视图与索引,加强学生的数据库设计能力。
二、实验内容1.索引的定义和维护1)建立唯一索引,测试插入、修改记录时所受的影响。
2)建立聚簇索引,比较建立前后的记录顺序变化。
3)建立多重索引,观察执行select语句查询的结果记录顺序。
4)删除相关索引。
2.视图的定义、查询和更新1)为学生选课系统从不同用户角度出发设计相应的视图。
2)利用视图进行相关查询。
3)利用视图进行更新,注意哪些视图是不可更新的。
三、实验原理1.建立索引语句CREATE [UNIQUE] [CLUSTER] INDEX <索引名> ON <表名>(<列名>[<次序>][,<列名>[<次序>] ]…);⏹用<表名>指定要建索引的基本表名字⏹索引可以建立在该表的一列或多列上,各列名之间用逗号分隔⏹用<次序>指定索引值的排列次序,升序:ASC,降序:DESC。
缺省值:ASC⏹UNIQUE表明此索引的每一个索引值只对应唯一的数据记录⏹CLUSTER表示要建立的索引是聚簇索引(CLUSTERED)HAVING短语:筛选出只有满足指定条件的组⏹ORDER BY子句:对查询结果表按指定列值的升序或降序排序2.建立视图语句CREATE VIEW <视图名> [(<列名> [,<列名>]…)]AS <子查询> [WITH CHECK OPTION]四、实验步骤按实验目的和内容自行设计。
五、实验报告要求1)写出本实验中用到的SQL语句的使用说明;2)对每一实验结果进行分析;3)记录在查询实验中遇到的典型问题及你所采取的解决方法;。
数据库实验报告 索引和视图
![数据库实验报告 索引和视图](https://img.taocdn.com/s3/m/53de2ce7172ded630b1cb623.png)
西北师范大学计算机科学与工程学院学生实验报告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实验结果:实验总结:通过本次实验掌握了索引、统计信息和视图等数据库对象的基本概念和基本操作。
第7章数据库索引和视图精品PPT课件
![第7章数据库索引和视图精品PPT课件](https://img.taocdn.com/s3/m/b8238a0ffd0a79563d1e7291.png)
下列情况不适于建立聚集索引
频繁更改的列。 字节长的列。因为聚集索引的
索引项的值将被所有非聚集索 引作为查找关键字使用,并被 存储在每个非聚集索引的B树的 叶级索引项中。
2020/10/12
17
非聚集索引
非聚集索引与图书后边的术语表类似。 数据存储在一个地方,术语表存储在另 一个地方。而且数据并不按术语表的顺 序存放,但术语表中的每个词在书中都 有确切的位置。
如此上推,直到生成顶层的根节点的索引 页。
2020/10/12
9
建有聚集索引的表的存储结构示意图
eno E01 E02 E03 E04 E05 E06 E07 E08 E09 E10 E11 E12
2020/10/12
数据示例
ename AB AA BB BC CB AS BB AD BD BA CC CA
例4 删除Student表的Sname_ind索 引 DROP INDEX Sname_ind
2020/10/12
28
7.2 视图
7.2.1 概念概念 7.2.2 定义视图 7.2.3 通过视图查询数据 7.2.4 修改和删除视图 7.2.5 视图的作用
2020/10/12
29
7.2.1 基本概念
第7章 索引和视图
7.1 7.2 视图 7.3 物化视图
2020/10/12
1
7.1 索引
7.1.1 索引基本概念 7.1.2 索引的存储结构及分类 7.1.3 创建和删除索引
2020/10/12
2
7.1 索引基本概念
索引与书籍中的目录类似。
索引使对数据的查找不需要对整个表 进行扫描,就可以在其中找到所需数 据。
数 数 数 E03 BB IS
数据库实验报告:视图 和索引
![数据库实验报告:视图 和索引](https://img.taocdn.com/s3/m/e40ff0d4a1c7aa00b52acb89.png)
一、实验步骤(一)附加上次实验所创建的数据库“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”视图的定义信息和依赖的对象。
实验九 视图和索引及数据关系图
![实验九 视图和索引及数据关系图](https://img.taocdn.com/s3/m/86e4065a6137ee06eef91882.png)
实验九视图和索引及数据库关系一、实验目的使学生掌握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的关系图管理。
数据库原理及应用.实验4.视图和索引的创建和使用
![数据库原理及应用.实验4.视图和索引的创建和使用](https://img.taocdn.com/s3/m/0f14ad0cc381e53a580216fc700abb68a982ad06.png)
数据库原理及应⽤.实验4.视图和索引的创建和使⽤实验报告 课程名称:数据库原理及应⽤ 实验项⽬名称:视图和索引的创建和使⽤ 实验时间:2021年5⽉10⽇实验⽬的: (1)掌握创建视图的SQL语句的⽤法。
(2)掌握修改视图的⽅法。
(3)熟悉视图更新与基本表更新的区别与联系;认识视图的作⽤。
(4)熟悉索引的作⽤,以及不同类型索引的区别。
(5)掌握SQL语句对索引的创建使⽤和删除索引实验环境: MySQL、SQLyog实验内容及过程:⼀、创建课本P79页的学⽣-课程数据库,完成以下实验内容:复制DROP DATABASE STCREATE DATABASE STUSE STCREATE TABLE Student(Sno CHAR(9) PRIMARY KEY,Sname CHAR(20) UNIQUE,Ssex CHAR(2),Sage SMALLINT,Sdept CHAR(20));CREATE TABLE Course(Cno CHAR(4) PRIMARY KEY,Cname CHAR(40) NOT NULL,Cpno CHAR(4),Ccredit SMALLINT#FOREIGN KEY (Cpno) REFERENCES Course(Cno));CREATE TABLE SC(Sno CHAR(9),Cno CHAR(4),Grade SMALLINT,PRIMARY KEY (Sno,Cno),FOREIGN KEY (Sno) REFERENCES Student(Sno),FOREIGN KEY (Cno) REFERENCES Course(Cno));INSERT Student(Sno, Sname, Ssex, Sage, Sdept)VALUES (201215121,'李勇','男',20,'CS'),(201215122,'刘晨','⼥',19,'CS'),(201215123,'王敏','⼥',18,'MA'),(201215125,'张⽴','男',19,'IS')INSERT Course(Cno,Cname,Cpno,Ccredit)VALUES ('1','数据库','5',4),('2','数学',' ',2),('3','信息系统','1',4),('4','操作系统','6',3),('5','数据结构','7',4),('6','数据处理',' ',2),('7','PASCAL语⾔','6',4)INSERT SC(Sno, Cno, Grade)VALUES (201215121,1,92),(201215121,2,85),(201215121,3,88),(201215122,2,90),(201215122,3,80)定义信息系学⽣基本情况视图V_IS,并查看视图结构,通过该视图可以将其他系学⽣信息屏蔽掉。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验名称:实验五视图、索引与数据库关系图
班级学号姓名日期
所在院系指导老师成绩
一、试验目的
使学生掌握SQL Server中的视图创建、查看、修改和删除的方法;索引的创建和删除的方法;数据库关系图的实现方法。
加深对视图和SQL Server数据库关系图的理解。
二、实验内容
(1)创建、查看、修改和删除视图。
(2)创建、删除索引文件。
(3)创建数据库关系图。
三、试验步骤
1)视图操作
(1)创建视图。
使用SQL Server Management Studio直接创建,步骤如下:
1.单击数据库前面的+号,然后再单击“学生选课”数据库前面的+号,右击“视图”,在弹出的快捷菜单中选择“新建视图”命令,弹出“添加表”对话框。
如图5.1所示
图5.1 “添加表”对话框
2.在“添加表”对话框中,添加视图数据来源的表,这里添加三张表,分别是student、course和sc表。
添加表后,单击添加表对话框中的“关闭”按钮,出现创建视图界面。
如图5.2所示
图5.2添加字段前的效果图
3.如果要在视图中显示某些表的某个字段,只需单击其字段前的复选框即可,同时在中间列中会显示该字段,在代码区中会看到具体实现的代码。
4.如果要查看视图,单击常用工具栏中的“执行”按钮,就可以看到视图的数据显示,如由字段student.sno、sname、cname、grade生成的视图效果。
如图
5.3所示
图5.3 生成视图效果图
5.在创建视图中还可以为字段添加列名、进行排序、添加多个筛选条件。
6.单击常用工具栏中的“保存”按钮,就可以弹出保存视图提示对话框,输入视图名字即可,为view_stu_grade。
(2)修改视图。
视图创建好后,就可以利用它进行查询信息了。
如果发现视图的结构不能很好的满足要求,还可以对它进行修改。
使用SQL Server Management Studio直接修改,步骤如下:
1.在SQL Server Management Studio中,选择服务器、数据库、并使数据库展开,再单击“视图”前面的+,就可以看到已存在的视图了。
2.右击要修改结构的视图,在弹出的视图功能快捷菜单中选择“修改”命令,就可以直接修改了。
(3)删除视图
使用SQL Server Management Studio直接删除,步骤如下:
1.在SQL Server Management Studio中,选择服务器、数据库、并使数据库展开,再单击“视图”前面的+,就可以看到已存在的视图了。
2.右击要删除的视图,在弹出的视图功能快捷菜单中选择“删除”命令,就可以直接删除掉制定的视图。
2)索引文件的创建与删除
索引是一个单独的、物理的数据库结构,是为了加速对表中数据行的查询而创建的一种分散的存储结构。
(1)创建索引文件。
使用SQL Server Management Studio直接创建索引文件,步骤如下:
1.单击数据库前面的+号,然后再单击“学生选课”数据库前面的+号,再单击表前面的+号,就额可以看到已存在的表了,
2.选定要添加索引的表,如数据表student。
右击,在弹出的快捷菜单中选择“修改”命令。
3.右击任一个字段,在弹出的快捷菜单中选择“索引/键”命令,弹出“索引/键”对话框。
如图5.4所示
图5.4“索引/键”对话框
4.在对话框中单击“添加”按钮,就可以增加一个索引,然后再设置索引所对应的字段及各个属性。
5.假设给dept字段添加一个普通索引,单击“添加”按钮后,设置类型为“索引”,再
单
击列后的?按钮,弹出“索引列”对话框。
如图5.5所示
图5.5 “索引列”对话框
6.设定好后,单击“确定”按钮,返回到“索引/键”对话框。
还可以设置索引的标识,本例设置为IX_dept
(2)删除索引文件
使用SQL Server Management Studio直接删除索引文件,步骤如下
1.单击数据库前面的+号,然后单击“学生选课”数据库前面的+号,再单击表前面的+
号,就可以看到已存在的表了。
2.选定要添加索引的表,如数据表student。
单击右键,在弹出的快捷菜单中选择“修改”命令。
3.右击任一个字段,在弹出的快捷菜单中单击“索引/键”命令,弹出“索引/键”对话框。
4.在索引文件列表框中选定要删除的索引文件,单击“删除”按钮即可。
例如,查询student表的各索引文件的Transact-SQL语句为
use 学生选课
exec sp_helpindex student
执行后,出现student表的所有索引。
(3)创建数据库关系图
1.打开SQL Server Management Studio窗口登陆服务器类型为“数据库引擎”,并建立连接。
2.连接服务器后,依次展开节点“数据库”→“学生选课”,右击“数据库关系图”,在弹出的快捷菜单中,选择“新建数据库关系图”命令。
3.在弹出的“添加表”对话框中,选择全部表,单击“添加”按钮。
4.如果数据库的表中都设有主键,系统会自动的简历表与表之间的关系。
如图
5.6所示
图5.6表之间连接图对话框
5.关系建立后,单击工具栏上“保存”按钮,在弹出的“选择名称”对话框中输入创建的数据库关系图的名称,单击“确定”按钮即可。
四、体会。
通过这次试验,我掌握了SQL Server中的视图创建、查看、修改和删除的方法;索引的创建和删除的方法;数据库关系图的实现方法。
通过视图,可以较为快速的查询数据库;通过索引加深了对表存储结构的理解;通过数据库关系图可以方便的查看表与表之间的关系。