1、创建视图

语法格式:

CREATE VIEW view_name(view_column_name) as query_expression [WITH CHECK OPTION]

Create view V_CompnayInfo
as
    select a.UserId,a.UserName,b.CompanyName
    from 
    T_Member a,T_Company b
    where a.UserId = b.UserId
    
Select * from V_CompanyInfo 

2、修改和删除视图

语法格式:ALTER VIEW <view_name>[<column name list>] AS <SELECT statement> [WITH CHECK OPTION]

Alter view V_UserInfo
as
    select a.UserId
    from 
    T_Member a join T_Company b
    on
    a.UserId = b.UserId
    join
    T_Manager c
    on
    b.CompanyId = c.CompanyId
    
Drop view V_UserInfo

3、通过视图修改数据

注意事项:

1)SELECT 列表中含有 DISTINCT。

2)SELECT 列表中含有表达式,如计算列、函数等。

3)在FROM 子句中引用多个表。

4)引用不可更新的视图。

5)GROUP BY或HAVING子句。

4、索引概述

索引

1)索引是一个单独的、物理的数据库结构,它是某个表中一列或者若干列的集合和相应的指向表中物理标识这些值 的数据页的逻辑指针清单。索引是依赖于表建立的,它提供了数据库中编排表中数据的内部方法。一个表的存储是由两部分组成的,一部分用来存放表的数据页面,另一部分存放索引页面。索引就存放在索引页面,从中找到所需数据的指针,再直接通过指针从数据页面中读取数据。从某种程度上,可以把数据库看作一本书,把索引看作书的目录,通过目录查找书中的信息,显然比没有目录的书方便、快捷。

2)索引一旦创建,将由数据库自动管理和维护。例如,在向表中插入、更新或者删除一条记录时,数据会自动在索引中做出相应的修改。在编写SQL查询语句时,具有索引的表与不具有索引的表没有任何区别,索引只是提供一种快速访问指定记录的方法。

为什么使用索引?

1)保证数据记录的唯一性。唯一性索引的创建可以保证表中数据记录不重复。

2)加快数据检索速度。表中创建了索引的列几乎可以立即响应查询,因为查询时数据库会首先搜索索引列,找到要查询的值,然后按照索引中的位置确定表中的行,从而缩短了查询时间;而未创建索引的列在查询时就需要等待很长时间,因为数据库会按照表的顺序逐行进行搜索。

3)加快表与表之间的连接速度。如果从多个表中检索数据,而每个表中都有索引列,则数据库可以通过直接搜索各表的索引列,找到需要的数据。不但加快了表间的连接速度,也加快表间的查询速度。

4)在使用ORDER BY 和 GROUP BY子句中进行检索数据时,可以显著减少查询中分组和排序的时间。如果在表中的列创建索引,在使用ORDER BY 和GROUP BY子句对数据进行检索时,其执行的速度将大大提高 。

5)可以在检索数据的过程中使用优化隐藏器,提高系统性能。在执行查询的过程中,数据库会自动的对查询进行优化,所以在建立索引后,数据会依据所建立的索引采取相应的索引而使检索的速度最快。

5、创建索引

语法格式:

CREATE

[UNIQUE(唯一索引)][CLUSTERED(聚集索引)|NONCLUSTERED(非聚集索引)]

INDEX index_name

ON

table_name|view_name

(column_name[1,....,n])

Create UNIQUE NONCLUSTERED INDEX IUserName ON T_Member (UserName)

6、管理索引

删除索引

drop INDEX T_Member.IUserName

7、全文索引和目录(略)

8、创建架构

语法格式

CREATE SCHEMA schema_name_clause [<schema_element>[...n]]

<schema_name_clause> ::=

{
schema_name | AUTHORIZATION owner_name | schema_name AUTHORIZATION owner_name
}

<schema_element> ::=

{
table_definition | view_definition | grant_statement

revoke_statement | deny_statement
}

CREATE SCHEMA admins AUTHORIZATION teacher

9、修改和删除架构

注意:删除架构前需要保证该架构不包含对象

删除架构

CREATE SCHEMA admins

10、聚集索引和非聚集索引

聚集索引

1)聚集索引确定表中数据的物理顺序。聚集索引类似于电话簿,按姓氏排列数据。由于聚集索引规则数据在表中的物理存储顺序,因些一个表只能包含一个聚集索引。但该索引可以包含多个列(组合索引),就像电话簿按姓氏或名字进行组织一样。

2)聚集索引对于那些经常要搜索范围值的列特别有效。使用聚集索引找到包含第一个值的行后,便可以确保包含后续索引值的行在物理相邻。例如,如果应用程序执行的一个查询经常检索某一日期范围内的记录,则使用聚集索引可以迅速找到包含开始日期的行,然后检索表中所有相临的行,直到到达结束日期。这样有助于提高此类查询的性能。同样,如果对从表中检索的数据进行排序时经常 要用到某一列,则可以奖该表在该列上聚集(物理顺序),避免每次查询该列时都行排序,从来节省成本。

a)含有大量非重复值的列

b)使用BETWEEN,>,>=,<或<=返回一个范围值的列

c)被连续访问的列

d)返回大型结果集的查询

e)经常被使用连接或GROUP BY 子句的查询访问的列。

非聚集索引

1)非聚集索引的数据存储在一个位置,索引存储在另一个位置,索引带有指针指向数据的存储位置,索引中的项目按索引值的顺序存储,而表中的信息按另一种顺序存储。

2)非聚集索引与聚集索引具有相同的B-Tree结构,但是与聚集索引有两个重大区别:

a)数据行不按非聚集索引键的顺序排序和存储

b)非聚集索引的叶层不包含数据页,相反,叶节点包含索引行。

3)在SQL Server2008中每个表可以创建的非聚集索引最多为240个,其中包括PRIMARY KEY或者UNIQUE约束创建的任何索引,但不包括XML索引。

转载于:https://www.cnblogs.com/cxmsky/p/3269949.html

SQL_Server_2008完全学习之第五章操作架构、索引和视图相关推荐

  1. Programming Entity Framework-dbContext 学习笔记第五章

    ### Programming Entity Framework-dbContext 学习笔记 第五章 将图表添加到Context中的方式及容易出现的错误 方法 结果 警告 Add Root 图标中的 ...

  2. 《Go语言圣经》学习笔记 第五章函数

    <Go语言圣经>学习笔记 第五章 函数 目录 函数声明 递归 多返回值 匿名函数 可变参数 Deferred函数 Panic异常 Recover捕获异常 注:学习<Go语言圣经> ...

  3. 《SysML精粹》学习记录--第五章

    <SysML精粹>学习记录 第五章:用例图(Use Case Diagram) 用例图简介 用例图外框 小结 第五章:用例图(Use Case Diagram) 用例图简介   用例图可以 ...

  4. python复制指定字符串_python3.4学习笔记(十五) 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)...

    python3.4学习笔记(十五) 字符串操作(string替换.删除.截取.复制.连接.比较.查找.包含.大小写转换.分割等) python print 不换行(在后面加上,end=''),prin ...

  5. c++ 图的连通分量是什么_学习数据结构第五章:图(图的遍历操作)

    第五章:图(图的遍历操作) 1.图的遍历 图的遍历:从图中某一顶点出发,按照某种搜索方法沿着图中的边对图中的所有顶点访问依次且仅访问一次 其实树的层次遍历和图的广度优先搜索类似,可以把这个二叉树看成一 ...

  6. 学习数据结构--第五章:图(图的应用)

    第五章:图(图的应用) 1.最小生成树 生成树:连通图包含全部顶点的一个极小连通子图 这里需要注意的是是一个极小连通子图 上面第一个是一个连通图,右侧两个图实它的生成树,他们包含了全部顶点且是极小连通 ...

  7. muduo学习笔记 - 第五章 高效的多线程日志

    第五章 高效的多线程日志 日志有两种意思: 诊断日志 交易日志 本章讲的是前一种日志,文本的供人阅读的日志,通常用于故障诊断和追踪,也可用于性能分析. 日志通常要记录: 收到的每条消息的id(关键字段 ...

  8. javascript高级程序设计 学习笔记 第五章 上

      第五章   引用类型的值(对象)是引用类型的一个实例.在 ECMAScript 中,引用类型是一种数据结构, 用于将数据和功能组织在一起.它也常被称为类,但这种称呼并不妥当.尽管 ECMAScri ...

  9. Android 渗透测试学习手册 第五章 Android 取证

    第五章 Android 取证 作者:Aditya Gupta 译者:飞龙 协议:CC BY-NC-SA 4.0 5.1 取证类型 取证是使用不同的手动和自动方法从设备中提取和分析数据.它可以大致分为两 ...

  10. 假设以邻接矩阵作为图的存储结构_学习数据结构第五章:图(图的存储方法)...

    第五章:图(图的存储方法) 1.邻接矩阵法 下面是一个无向图的表示,我们使用一个一维数组存放点集,使用一个二维数组存放边集 二维数组表示边:行号表示其实端点,列号表示结束端点,值表示该边是否存在,以及 ...

最新文章

  1. AI2:预计2030年中国AI研究或领跑全球
  2. 用Python读取整个文件
  3. html onfoucs状态事件,HTML onfocusin事件用法及代码示例
  4. 服务核心 - 工具类
  5. oracle那些基本知识
  6. r导出html怎么保存,做植物谱系图,用Phylomatic软件将网页中的输出结果拷贝到文本文件中, 并另存为phylo...
  7. upupw 安装thinkcmf 5.0白屏问题
  8. 人是不是不应该善良?
  9. dubbo绕过zookeeper直连本地提供方服务
  10. java实验报告_java实验一实验报告
  11. 彩票站漏洞引发的软件测试漏测思考
  12. Mblog 系统配置
  13. 程序猿来找找自己的目标
  14. 有了手机远程控制手机的软件,在家突然收到工作任务也不怕
  15. 【LAB4-Cisco】OSPF邻居建立过程与LSDB分析
  16. Android 图片随着手势缩放,平移,并且支持多点触控
  17. php创建多级栏目_PHP 实现无限极栏目分类
  18. 武汉伯钧成科技有限公司之行的郁闷感受
  19. typora的基本使用方法(快捷键和基础设置)
  20. 履 天泽履 乾上兑下

热门文章

  1. python递归实例_Python函数递归(带实例演示)
  2. 8g内存一般占用多少_手机6G和8G运存有什么不同,8G运存真比6G流畅?这也要考虑处理器...
  3. java架构专题涨价_关于单量预测和动态定价的一些思考
  4. 机器学习- 吴恩达Andrew Ng Week7 知识总结Support Vector Machines
  5. 机器学习 Machine Learning- 吴恩达Andrew Ng 第1~5课总结
  6. 递归计算二叉树的叶子节点个数
  7. 父类构造函数与子类构造函数的关系
  8. StringTokenizer类
  9. Delay-Doppler equalization(8)(时延多普勒均衡)⭐
  10. not是什么意思在c语言,为什么在C样式语言中逻辑NOT运算符是“!”而不是“ ~~”?...