lesson 5操作架构视图和索引_第1页
lesson 5操作架构视图和索引_第2页
lesson 5操作架构视图和索引_第3页
lesson 5操作架构视图和索引_第4页
lesson 5操作架构视图和索引_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

主讲:唐雅璇Email:Tel:QQ:2534775935操作架构、视图和索引视图视图–视图是通过定义查询建立的虚拟表。与普通的数据表一样,视图由一组数据列、数据行构成。由于视图返回的结果集,与数据表有相同的形式,因此可以像数据表一样使用。视图视图的特点是一个虚表它是从一个或多个基本表中导出的表数据仍然存放在原来的数据表中,视图只是个窗口,通过该窗口可以看到用户所需要的数据当基本表中的数据发生变化时,视图中查询出来的数据也会相应改变视图视图的优点视图可以屏蔽数据的复杂性,简化用户对数据库的操作视图可以让不同的用户以不同的方式看到不同或者相同的数据集可以使用视图重新组织数据视图可以定制不同用户对数据的访问权限使用图形界面创建视图在SSMS中,连接到包含默认的数据库服务器实例打开SSMS窗口,展开【学生成绩管理系统】数据库,右击【视图】节点,选择【新建视图】命令打开【添加表】对话框,选择【学生信息】、【班级信息】和【辅导员信息】单击【添加】按钮,然后关闭【添加表】对话框在视图窗口的【关系图】窗格中,选择视图中查询的列,在【条件】窗格中就相应地显示了所选择的列名单击【执行SQL】/!,在【显示结果】窗格中显示查询出的结果集单击保存,在弹出的【选择名称】窗口中输入视图名称

“查询信息_view”,确定使用CREATE

VIEW创建视图具体语法结构参加课本P124创建简单视图语法格式CREATE

VIEW

view_nameASSELECT

<col_name1>,

<col_name2>……FROM

table_name举例CREATE

VIEW

基本信息ASSELECT

学号,姓名,性别,出生日期,家庭住址FROM

学生信息创建带where子句的视图语法格式CREATE

VIEW

view_nameASSELECT

<col_name1>,

<col_name2>……FROM

table_nameWHERE

condition举例CREATE

VIEW

Teacher_viewASSELECT教师编号,姓名,性别,年龄FROM教师信息WHERE

性别=‘男’基于多表创建视图语法格式CREATE

VIEW

view_name(col_name1,

col_name2,……)ASSELECT

<col_name1>,

<col_name2>……FROM

table_name1,table_name2……WHERE

condition举例CREATE

VIEW

任课信息_view(教师号,姓名,课程号,课程名)ASSELECT教师编号,姓名,课程编号,课程名称FROM教师信息,课程信息WHERE教师信息.教师编号=课程信息.任课教师使用表连接视图举例CREATE

VIEW

成绩表_view(学号,课程号,成绩编号,分数)ASSELECT

学生信息.学号,课程信息.课程号,成绩信息.成绩编号,成绩信息.分数FROM学生信息,课程信息,成绩信息WHERE

学生信息.学号=成绩信息.学生编号AND课程信息.课程编号=成绩信息.课程编CREATE

VIEW

成绩表_view(学号,课程号,分数)ASSELECT

S.学号,C.课程号,SC.分数FROM

学生信息S,课程信息C,成绩信息SCWHERE

S.学号=SC.学生编号AND

C.课程编号=SC.课程编号更新视图更新视图更新视图是指通过视图进行数据的插入、修改和删除操作更新视图操作主要有插入数据修改数据删除数据更新视图——插入数据语法格式INSERT

INTO

table_name

(field1,field2……)VALUES

(values1,values2,……)举例INSERT

INTO

基本信息VALUES

(‘2012121201’,’张三’,’男’,’1987-01-10’,’厦门’)SELECT

*FROM

基本信息WHERE

姓名=‘张三’更新视图——更新数据语法格式UPDATA

table_nameSET

field1=‘new_value1’

field2=‘new_value2’WHERE

condition举例UPDATA

基本信息SET

姓名='张小旺'性别='男'WHERE

学号='2005010101'更新视图——删除数据语法格式DELETE

FROM

table_nameWHERE

condition举例DELETE

FROM

基本信息WHERE

学号='2005010101'查看视图当创建完视图后,如果需要查看有关视图的定义文本,可以使用存储过程sp_helptext语句进行查看举例USE

学生成绩管理系统GOEXEC

sp_helptext

任课信息_view修改视图CREATE

VIEW

P.K. ALTER

VIEWCREATE

VIEW

成绩表_view(学号,课程号,成绩编号,分数)ASSELECT

S.学号,C.课程号,SC.成绩编号,SC.分数

FROM

学生信息S,课程信息C,成绩信息SCWHERE

S.学号=SC.学生编号AND

C.课程编号=SC.课程编号ALTER

VIEW

成绩表_view(学号,课程号,分数)ASSELECT

S.学号,C.课程号,SC.分数FROM

学生信息S,课程信息C,成绩信息SCWHERE

S.学号=SC.学生编号AND

C.课程编号=SC.课程编号删除视图语法格式DROP

VIEW

view_name举例USE

学生成绩管理系统GODROP

VIEW

基本信息索引汉语字典中的汉字按页存放,一般都有汉语拼音目录(索引)、偏旁部首目录等我们可以根据拼音或偏旁部首,快速查找某个字词Indexes

Use

Key

Values

to

Locate

Data(根据索引键查找定位数据行)Data

Pages(数据页)…Index

Pages(索引页)什么是索引索引SQL

Server中的数据也是按页(

8KB

)存放索引:是SQLServer编排数据的内部方法。它为SQL

Server提供一种方法来编排查询数据。索引页:数据库中存储索引的数据页;索引页类似于汉语字(词)典中按拼音或笔画排序的目录页。索引的作用:通过使用索引,可以大大提高数据库的检索速度,改善数据库性能索引索引索引是一个单独的、物理的数据库结构索引包含从表或视图中一个或多个列生成的键,以及映射到指定数据的存储位置的指针索引可以帮助用户快速找到表或索引视图中的特定信息索引的类型有聚集索引非聚集索引XML索引索引类型唯一索引:唯一索引不允许两行具有相同的索引值主键索引:为表定义一个主键将自动创建主键索引,主键索引是唯一索引的特殊类型。主键索引要求主键中的每个值是唯一的,并且不能为空聚集索引(Clustered):表中各行的物理顺序与键值的逻辑(索引)顺序相同,每个表只能有一个非聚集索引(Non-clustered):非聚集索引指定表的逻辑顺序。数据存储在一个位置,索引存储在另一个位置,索引中包含指向数据存储位置的指针。可以有多个,小于249个索引的类型—聚集索引聚集索引是值表中数据行的物理存储顺序和索引的存储顺序完全相同。聚集索引根据索引顺序物理地重新排列了用户插入到表中的数据,每个表只能创建一个聚集索引。聚集索引经常创建在表中经常被搜索到的列或按顺序访问的列上。在默认情况下,主键约束自动创建聚集索引。索引的类型—非聚集索引非聚集索引不改变表中数据列的物理存储位置,数据与索引分开存储,通过索引指向的地址与表中的数据发生关系。非聚集索引没有改变表中物理行的位置,索引可以在以下情况下使用非聚集索引:如果某个字段的数据唯一性比较高如果查询所得到的数据量比较少聚集索引P.K.非聚集索引索引的缺点创建和维护索引要耗费时间索引需要占物理空间当对表中的数据进行更新数据时,索引也要动态地维护,这样就降低了数据的维护速度使用图形界面创建索引1、在【对象资源管理器】中,展开【学生成绩管理系统】|【表】|【学生信息】,右击【索引】,选择【新建索引】2、在【新建索引】的【常规】页面,配置索引的名称、选择索引的类型、是否是唯一索引等3、单击【添加】按钮,打开【从“.dbo.学生信息”中选择列】,在窗口中的【表列】列表中启用【学号】复选框4、单击【确定】按钮,返回【新建索引】,最后单击【确定】,【索引】节点下便生成了一个名“学号”的聚集索引,表示该索引创建成功创建索引语法格式唯一索引 聚集索引或非聚集索引CREATE

[UNIQUE]

[CLUSTERED|NONCLUSTERED]INDEX

index_nameON

table_name

(column_name…)[WITH

FILLFACTOR=x]填充因子(系数):指定一个0~100之间的值,表示索引页填充的百分比UNIQUE表示唯一索引,可选CLUSTERED、NONCLUSTERED表示聚集索引还是非聚集索引,可选FILLFACTOR表示填充因子,指定一个0到100之间的值,该值指示索引页填满的空间所占的百分比创建索引—举例举例在【学生成绩管理】系统数据库中的【学生信息】表上创建一个非聚集索引USE

学生成绩管理系统GOCREATE

UNIQUE

NONCLUSTERED

INDEX

index_姓名ON

学生信息(姓名)查看索引属性当创建完索引之后,可以通过【索引属性】查看索引的相关信息。右击索引名称,选择【属性】命令,打开【索引属性】窗口该窗口中,可以查看所有的相关基本信息、索引碎片、索引统计等信息,还可以更改索引类型,添加或删除索引列等使用图形界面修改索引打开【索引属性】对话框,打开【选项】页,在该页中可以选择是否重新生成索引或者禁止索引,当打开【碎片】选项页,可以选择是否重新组织索引重新生成索引语法格式ALTER

INDEX

index_nameON

table_or_view_name

REBUILD要修改的索引名称当前索引基于的表或者视图名重新组织索引语法格式ALTER

INDEX

index_nameON

table_or_view_name

REORGANIZE禁止索引语法格式ALTER

INDEX

index_nameON

ta

温馨提示

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

评论

0/150

提交评论