《数据库SQL ServeSQLite教程》 教案 第6章 视图与索引_第1页
《数据库SQL ServeSQLite教程》 教案 第6章 视图与索引_第2页
《数据库SQL ServeSQLite教程》 教案 第6章 视图与索引_第3页
《数据库SQL ServeSQLite教程》 教案 第6章 视图与索引_第4页
《数据库SQL ServeSQLite教程》 教案 第6章 视图与索引_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库SQLServeSQLite教程课程教案课程名称:数据库SQLServeSQLite教程课程号:课程学分:2参考学时:32课程性质:专业必修课适用专业:计算机类专业上课时间:授课教师:负责人:审核单位:年月日-1-一、课程基本信息课程名称数据库SQLServeSQLite教程课程号课程性质专业必修课开课部门课程负责人课程团队授课学期学分/学时2/32授课语言汉语先修课程数据库SQLServeSQLite教程课程简介从理论实践一体化角度出发,介绍了数据库的基本概念、理论、模型和方法,同时从知识技能的逻辑顺序出发,深入浅出地介绍了数据库技术的相关内容,使学生可以快速掌握数据库系统的原理,应用有关工具学习SQL,并在C#、Python等相关课程中应用,在实际应用中解决实际问题。授课班级

二、课程授课教案第6章,共11章讲课主题视图与索引学时2学时教学目标从理论实践一体化角度出发,介绍了数据库的基本概念、理论、模型和方法,同时从知识技能的逻辑顺序出发,深入浅出地介绍了数据库技术的相关内容,使学生可以快速掌握数据库系统的原理,应用有关工具学习SQL,并在C#、Python等相关课程中应用,在实际应用中解决实际问题。教学重点、难点视图是关系数据库系统为用户提供的从多角度观察分析数据库中数据的一种机制,通过视图可以看到自己感兴趣的信息。而索引的建立为用户快速查找所需信息提供了条件,合理使用索引能极大地提高数据检索的速度,提高数据库的性能。教学设计授课提纲及重难点分析教学方法及课程思政设计教学时间6.1视图6.1.1视图的概念和作用1.视图的概念视图(View)是保存在数据库中从一个或多个表或视图中导出由查询语句定义生成的一个虚拟表。与真正的数据表类似,视图也是由一组命名的列和数据行构成的,其结构和数据是建立在对表或视图查询的基础上。数据库只存储视图的定义,而不存储对应的数据,这些数据仍然存储在导出该视图的数据表中,当基本表中的数据发生变化时,从视图中查询出来的数据也随之改变。2.视图的使用及注意事项通过视图来访问数据,而不必直接去访问对应的数据表,实现数据从分散到集中,简化处理,便于共享。对视图的一般操作与对表的操作一样,可以对其进行查询、修改、删除和更新。当对视图中的数据表进行修改时,其对应数据表的数据也会同步发生变化,同时这种变化也自动地反映到视图中。在创建视图时,应注意以下几点:(1)只能在当前数据库中才能创建视图。在定义视图时,select子句中不能包含compute或computeby子句。在select子句中使用了top关键字,则可以使用orderby子句。(2)视图的命名必须遵守标识符命名规则,不能与表同名,且对每一个用户视图名必须是唯一的。不能把规则、默认值或触发器与视图相关联。3.视图的作用视图的作用有以下几点:(1)视图隐藏了底层的表结构,简化了数据访问操作,客户端不再需要知道底层表的结构及其之间的关系。(2)视图提供了一个统一访问数据的接口,即可以允许用户通过视图访问数据的安全机制,而不授予用户直接访问底层表的权限。(3)增强了安全性,使用户只能看到视图所显示的数据。6.1.2视图的创建、修改及删除1.创建视图1)使用菜单方式创建视图2)使用代码方式创建视图3)使用别名创建视图4)使用withcheckoption子句创建视图2.修改、删除视图1)视图的修改(1)使用菜单方式修改视图。在“对象资源管理器”中展开“数据库”节点,展开相应的数据库和视图节点,右击视图,选择“设计”菜单,进入视图设计器进行必要的修改,修改完成单击“保存”按钮即可。(2)使用代码方式修改视图。使用alterview语句可以修改视图。修改视图与删除并重新创建视图是不同的,修改视图会保持视图的权限不变,但删除并重新创建视图则意味着视图的重新定义。2)视图的删除视图并不是数据库中必需的数据库对象,对于不需要的视图可以使用dropview语句将其删除,删除视图后,其所对应的数据不会受到影响。如果有其他数据库对象使用了该视图,仍可以删除该视图,只是再使用那些数据库对象时,将会发生错误。35min6.2索引6.2.1SQLServer的数据存储SQLServer有两种数据存储文件,分别是数据文件和日志文件,其中数据文件是以8KB(8192Byte)的页面(Page)作为存储单元,日志文件是以日志记录作为存储单元。以数据文件为例,从页面类型、数据页面结构、数据页缓存、盘区、数据访问等方面入手,讨论其存储格式与方式。1.SQlServer定义的页面类型SQlServer定义的页面类型有8种,如表6-1所示。用户的数据一般存储在数据页面中,在一个数据页面中,要知道数据如何存放,根据什么来定位页面与页面上的数据,就要先了解数据页面的结构。2.数据页面结构在数据页面上,数据行紧接着页首按顺序放置,在页尾有一个行偏移表。在行偏移表中,页上的每一行都有一个条目,每个条目记录那一行的第一个字节与页首的距离。页偏移表中的条目序列与页中行的序列相反。3.数据页缓存SQLServer数据库的主要用途是存储和检索数据,因此密集型磁盘I/O是数据库引擎的一大特点。由于完成磁盘I/O需要消耗许多资源且耗时较长,因此SQLServer侧重于提高I/O效率。缓冲区管理是实现高效I/O的关键环节,一个缓冲区就是一个8KB大小的内存页,其大小与一个数据页或索引页相当,因此缓冲区高速缓存被划分为多个8KB页。缓冲区管理器负责将数据页或索引页从数据库磁盘文件读入缓冲区高速缓存中,并将修改后的页写回磁盘。4.盘区SQLServer默认的存储分配单位是盘区。为了避免频繁地读写I/O,在表或其他对象分配存储空间时,不是直接分配一个8KB的页面,而是以一个盘区(Extent)为存储分配单位,一个盘区为8个页面(8×8KB=64KB)。5.数据访问系统访问表中的数据时,可以采用表扫描和索引查找两种方式。如果对数据页上的数据进行访问,一维升序或降序数据序列可以采用两分检索的方法迅速找到需要插入或删除元素的位置。但当采用顺序存储的方式时,插入一个元素,需要将其下面的数据进行后移,反之删除一个元素,需要将其下面的数据进行前移。为避免大量的数据移动,提高插入或删除的工作效率,研究者提出了多种解决方案,其中B树是较好的一种方案。6.2.2索引及其创建与删除1.索引的概念索引(Index)是SQLServer在列上建立的一种数据库对象。它保存着表中排序的索引列,并记录索引列在表中的物理存储位置,从而实现表中数据的逻辑排序。一张表的存储是由数据页面和索引页面组成的。索引就存放在索引页面上,当进行数据检索时系统先搜索索引页面,从中找到所需数据的指针,再通过指针从数据页面中读取数据。利用索引可以加快数据检索的速度,提升系统的性能。2.索引的类型对于索引类型的划分有多种,通常根据索引对表中记录顺序的影响分类,可以分为聚集索引和非聚集索引。此外,还有唯一索引与非唯一索引、单列索引与多列索引等分类。下面主要介绍聚集索引和非聚集索引。1)聚集索引聚集索引(ClusteredIndex)是指表中的数据记录实际存储的次序与索引中相对应的键值的实际存储次序完全相同的索引。也就是说,聚集索引将对表中的物理数据页中的数据按列进行排序,然后再存储到磁盘上。聚集索引与数据是融为一体的,因此聚集索引查找数据最快。当然,一个表只能有一个聚集索引。比如设置主键,系统自动创建一个聚集索引。2)非聚集索引非聚集索引(NonclusteredIndex)是指表中的数据记录实际存储的次序与索引中相对应的键值的实际存储次序不相同的索引。也就是说,表中的数据不是按照索引列排序的,使用索引页存储,比聚集索引占用更多的存储空间,检索效率也较低。一个表中可以同时有聚集索引和非聚集索引,而且一个表可以有多个非聚集索引,但是一个表中最多不超过250个索引。比如学生信息表中的身份证号码、手机号码、电子邮箱等列可以创建非聚集索引。非聚集索引将行定位器按关键字的值用一定的方法排序,这个

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论