视图是保存在数据库上的select查询【www.9159.com】

作者: www.9159.com  发布:2019-11-29

废话不多说,直接上干货            14:13:23

事务


什么是事务?

      事务是将一个或多个T-SQL语句封装成一个可执行单元交给SQL Server引擎执行,要么所有语句执行成功,要么所有语句执行失败不存在某一条语句执行成功而其它语句为执行成功的现象!

事务

    概括:事务是一种机制,一个操作序列,包含一组数据库操作命令,并且把所有的命令作为一个整体一起 向系统提交或撤销操作

       请求。

         

    事务的特性:

         1.原子性:事务是一个完整的操作,事务的各元素都是不可分的(原子的)。事务中的一组命令要么都执行,要么都不执

        行。

       2.一致性:当事务完成时,数据必须处于一致状态。也就是说,在事务开始之前,数据库中存储的数据处于一致状态。在

        正在进行的事务中,数据可能处于不一致的状态。但是,当事务成功完成时,数据必须再次回到已知的一致状态。

       3.隔离性:对数据进行修改的所有并发事务是彼此隔离的,这表明事务必须是独立的,它不应以任何方式依赖于或影响其

        他事务。

       4.持久性:事务的持久性指不管系统是否发生了故障,事务处理的结果都是永久的。

       以上四个特性简称“ACID”特性

     

    语法:

       1.开始事务:    begin transaction    这个语句显式的标记一个事务的起始点。

       2.提交事务:    commit transaction   这个语句标志一个事务成功结束。

       3.回滚(撤销)事务:rollback transaction    清除自事务起始点至该语句所做的所有数据更新操作,将数据状态回滚

        到事务开始之前。

    

    事务分类:

       1.显式事务:用begin transaction明确指定事务的开始

       2.隐式事务:通过设置set implicit_transactions on语句,将隐式事务模式设置为打开。当以隐式事务操作时,不需要

        指定事务的开始,只要提交或回滚每个事务就行了,SQL Server在提交或回滚事务后自动启动新事务。

       3.自动提交事务:SQL Server的默认模式。它将每条单独的T-SQL语句看为一个事务,如果成功执行,就自动提交,否

        则自动回滚。

 

事物的四个要素

www.9159.com,视图

    概括:视图是保存在数据库中的select查询,是另一种查看数据库中一个或多个表中数据的方法。视图是一种虚拟表,通常是作

       为来自一个或多个表的行或列的子集创建的。

 

    作用:

       1.筛选表中的行。

       2.防止未经许可的用户访问敏感数据。

       3.将多个物理数据表抽象为一个逻辑数据表。

    

    操作:

       1.创建语法:create view (视图名字,多为view开头)

              as

              <select 语句>

       2.删除语法:drop view (视图名字,多为view开头)

       3.查询视图是否存在:exists(select * from sysobjects where name='(视图名字,多为view开头)')

       4.查看视图数据:select 列名,列名 from (视图名字,多为view开头)

 

    注意事项:

       1.每个视图中可以使用多个表。

       2.与查询相似,一个视图可以嵌套另一个视图,但最好不要超过3层。

       3.视图中的select语句不能包括以下几种:

          a.order by子句,除非在select语句的选择列表中也有一个top子句。

          b.into关键字。

          c.引用临时表或表变量。

 

     原子性(atomicity):食物是一个完整的操作,事物的素是不可分的(原子的)。事务中的所有元素必须作为一个整体提交或回滚。如果事务中的任何元素失败则整个事务失败

索引

    概括:索引是SQL serv编排数据的内部方法,是检索表中数据的直接通道。

       索引页是数据库中存储索引的数据页。索引页存放检索数据行的关键字页及该数据行的地址指针。

    

    作用:索引的作用是通过使用索引,大大提高数据库的检索速度,改善数据库性能。

 

    分类:

       1.唯一索引:唯一索引不允许两行具有相同的索引值。

       2.主键索引:在数据库关系图中为表定义一个主键将自动创建主键索引,主键索引是唯一索引的特殊类型。

       3.聚集索引:在聚集索引中,表中各行的物理顺序与键值的逻辑(索引)顺序相同。一个表只能有一个聚集索引。

       4.非聚集索引:非聚集索引建立在索引页上,当查询数据时可以从索引中找到记录存放的位置。一个表可以有多个非聚集

        索引。

       5.复合索引:在创建索引时,并不是只能对其中一列创建索引,与创建主键一样,可以将多个列组合作为索引,这种索引

        称为复合索引。

       6.全文索引:全文索引时一种特殊类型的基于标记的功能性索引,由SQL Server中全文引擎服务创建和维护。

 

    语法:

       1.创建索引:create [unique] [clustered | nonclustered] index (索引名称,多为index开头)

              on (表名)((列名))

              [with fillfactor = x]

             介绍:unique指定唯一索引,可选。clustered | nonclustered指定是聚集索引还是非聚集索引,可

                选。fillfactor 表示填充因子,是一个0-100的值,指示索引页填满的空间所占的百分比。语法

                内的中括号代表可选部分。

       2.删除索引:drop index (表名).(索引名称)

             注意事项:a.删除表时,该表的所有索引将同时被删除。

                  b.如果要删除表的所有索引,则先要删除非聚集索引,再删除聚集索引。

 

 

 

--以上


ps:如有不正之处,欢迎提出。                      16:18:26

 

     一致性(consistency):当事务完成是,数据必须处于一致状态,也就是说事务不能使数据处于不稳定状态

     隔离性(isolation):对数据进行修改所有并发事务是彼此隔离的,这表明事务必须是独立的。不应以任何方式依赖或影响其他事务

     持久性(durability):事务的持久性值不管系统是否发生故障,事务处理的结果都是永久保存的

执行事务的语法:

开始事务:

                      begin transaction

回滚撤销事务:

                      rollback transaction

提交事务:

                      commit transaction

视图

视图是保存在数据库上的select查询。使用视图的原因有两种:

  1. 出于安全考虑,用户不必看到整个数据库的结构,而隐藏部分数据
  2. 符合用户的日常业务逻辑,使他们对数据更容易理解

什么是视图?

视图是另一种查看数据库中一个表或多个表中数据的方法,视图是一个虚拟表视图保存的并不是数据值。而是引用表的sql语句

创建视图的语法

create  view  view_name

as

      <select语句>

删除视图的语法

drop view view_name

查看视图的语法

select col_name1,……,col_namen from view_name

索引

什么是索引?

索引是某个表中一列或若干列值的集合相应的指向表中物理表示这些值的数据页的逻辑指针清单

索引是SQL Server 编排数据的内部方法,是检索表中数据的直接通道

索引的作用是通过索引,大大提高数据库的检索速度,改善数据库的性能

索引分类

唯一索引:唯一索引不允许两行具有相同的索引值(创建了唯一索引将自动创建唯一索引)

主键索引:在数据库关系图中创建某列为主键则自动创建主键索引,主键索引是唯一索引的特殊形态

聚集索引:在聚集索引中,表中的各行的物理顺序与键值的逻辑顺序(索引)相同(如果表中将某列设置主键则改列将自动被提升为聚集索引(该表中事先没有聚集索引))一个表中只能包含一个聚集索引

非聚集索引:非聚集索引建立在索引页上,当查询数据时可以从索引中找到记录存放的位置(非聚集索引是表中各行数据存放的物理顺序与键值的逻辑顺序不匹配聚集索引比非聚集索引有更快的访问速度。)

符合索引:在创建索引时将多个列组合作为索引,这种索引称为复合索引(只有用到复合索引的第一列或整个复合索引列作为检索条件时才会用到复合索引)

全文索引:全文索引是一种特殊类型的基于标记的功能性索引,由SQL Server中全文索引服务创建和维护

创建索引的语法

create  【unique】 【clustered | nonclustered】 index  index_name

on table_name (column_name)[,column_name]……)

【with  fillfactor=x】

其中:

unique:指定唯一索引

clustered、nonclustered:指定是聚集索引还是非聚集索引

fillfactor:表示填充因子,指定0~100的值,如指定填充因子的值为80,表示每个叶级页上将有20%的空间保留为空,以便随着在基础表中添加数据而为扩展索引提供空间

删除索引的语法

drop index table_name.index_name

注意:删除表示将删除表中的所有索引

           如果要删除所有索引应先删除非聚集索引,再删除聚集索引。

对索引的一些个人理解如有异议请提醒改正

索引实际上就是查询数据的一种依据方法。索引类型的不同在查询数据是所依据的方法也就不同。不同的索引类型之间并没有太过紧密(直接)的关联!!!

本文由9159.com发布于www.9159.com,转载请注明出处:视图是保存在数据库上的select查询【www.9159.com】

关键词:

上一篇:没有了
下一篇:Create function through MySQLdb