欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

My SQLServer→6 视图、索引

程序员文章站 2022-04-06 12:09:38
...

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