My SQLServer→6 视图、索引

WBOY
發布: 2016-06-07 17:44:53
原創
1062 人瀏覽過

My SQLServer→6 视图、索引 【六】视图、索引 视图的概念:视图时包含一张或多张表的列组成的数据集,该表中的记录是由一条查询语句执行后得到的查询结果所构成的。视图是一张虚拟表包含一系列带有名称的列和行数据。 2. 视图是存储在数据库中的查询的SQL语

My SQLServer→6 视图、索引

                                   【六】视图、索引

  • 视图的概念:视图时包含一张或多张表的列组成的数据集,该表中的记录是由一条查询语句执行后得到的查询结果所构成的。视图是一张虚拟表包含一系列带有名称的列和行数据。
  • 2.  视图是存储在数据库中的查询的SQL语句,它出于两种原因:①.安全原因,可以隐藏一些数据。②.是使复杂的查询语句易于理解和使用

    3.  为什么使用视图

        ①限制用户只能存取表内特定的列。

        ②不用重新建表即可存取想要的数据。

        ③省略复杂的SELECT命令和表间的连接产生数据,直接使用视图即可得到相关的数据。

    4.  如何创建视图

    l        只能在当前数据库中创建视图,在视图中最多只能引用1024列,视图中记录的数目限制只由其基表中的记录数相同。

    l        视图名称必须遵循标识符得规则,且对每个用户必须唯一。此外,该名称不得与该用户拥有的任何表名相同

    l        如果视图引用的基表或者视图被删除,则该视图不能再被使用,直到创建新的基表和视图。

    l        如果视图中某一列是函数,数学表达式。常量或者来自多张表的列名相同,则必须为列定义名称。

    l        不能再视图上创建索引不能再规程、默认。触发器的定义中引用视图。

    当通过视图查询数据时,香港服务器租用,SQL Server要检查以确保语句中涉及的所有数据库对象的存在,每个数据库对象咋语句的上下文中有效,而且数据修改语句不能违反数据库的完整性规则。

    语法:

        Create view view_name[(column_list)]

        AS

        Select_statement(SELECT语句)

    *注意:

        ·View_name:为新创建的视图指定名称

        ·Column_list:当前表中列的名称。如果忽略这一选项,将自动使用当前基表中的列名称。

        ·Select_statement:定义了从一张或多张表中检索出行和列的SELECT语

        ·在视图中的select语句中不能包含 ORDER BY 或 INTO 字句,另外在查询中不能引用临时表。                        

    5.  使用视图的优点

    l        视点集中

    l        简化操作

    l        定制数据

    l        合并分割数据

    l        安全性

  • 索引的概念:索引是一个单独的、物理的数据库结构,是数据库的一张表中所包含的值的列表,其中注明了表的各个值所在的存储位置。
  • 索引的类型分为:聚集索引、非聚集索引、唯一索引,复合索引,试图索引,全文索引,美国服务器,XML索引
  •  

    *注意:

         唯一索引既可以是聚集索引,也可以使非聚集索引,唯一性约束所在的列允许为空值,但是主键约束不允许空值。

    8. 创建索引前的准备

    l       最好能对空表创建索引,索引建议应在创建表的同时设置索引。

    l       如果既要创建非聚集索引,那么最好先创建聚集索引,在创建非聚集索引。

    9.如何创建索引

       在T-SQL中使用CREATE INDEX 命令来创建索引

       语法:

            Create [unique][clustered | nonclustered] INDEX index_name

            On table_name(column_name [,…])

              [ 

    With

       Fillfacor=fillfactor

    ]

       各参数的含义:

    l       Unique:用来指定所要创建的索引是否是唯一约束,建立唯一索引的字段中不能有重复数据。

    l       Clustered | nonclustered :指定 clustered 来创建聚集索引,使用 nonclustered来创建非聚集索引,两者不能同时使用,每张表只能创建一个聚集索引,香港空间,但是每张表可以创建249个非聚集索引。

    l       Index_name:为新创建的索引指定名称,索引名要符合命名规范。

    l       Table_name:创建索引表的名称

    l       Column_name:索引中包含列的名称

    l       Fillfactor:指定索引页的填充率,指示该索引页填充空间所占的百分比。指定一个1-100之间的值。

    *注意:在删除索引时,必须为Drop index 语句指定表名,和索引名。

     

     

     

     

     

    posted on

    Powered by:
    博客园
    Copyright © ^o^April

    相關標籤:
    來源:php.cn
    本網站聲明
    本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
    熱門教學
    更多>
    最新下載
    更多>
    網站特效
    網站源碼
    網站素材
    前端模板
    關於我們 免責聲明 Sitemap
    PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!