一:事务

1.含义:事务是一个不可分割的整体,事务中的多个执行过程,同生共死。要么都执行成功,要么都执行失败。

  事务必须具备以下四个属性,(简称:ACID):

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

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

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

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

2.如何执行事务?

语法:

①:开始事务(显式地标记一个事务的起始点)

Begin Transaction

②:提交事务(标志一个事务成功结束)

Commit  transaction

③:回滚(撤销)事务(清除自事务起始点至该语句所做的所有数据更新操作,将数据状态回滚到事务开始前,并释放由事务控制的资源)

Rollback  transaction

3.事务分类

在SqlServer中,事务有以下3种类型:

①:显式事务:(实际开发中最常用,明确的指定事务的开始边界)

②:隐式事务:当以隐式事务操作时,Sql Server将在提交或回滚事务后自动启动新事务。不需要描述每个事务的开始,只要提交或回滚每个事务即可。

③:自动提交事务:Sql Server的默认模式,它将每条单独的T-SQL语句视为一个事务。

4.应用示例:

通过银行转账的案例说明在SQL中如何开启一个事务:

5.编写事务时要遵守的原则:

  尽可能简短、访问的数据量尽量最少、查询数据时尽量不要使用事务、在事务处理过程中尽量不要出现等待用户输入的操作。

二:视图

1.对于视图的理解:不能保存数据,保存的是SQL语句。是一种虚拟表,通常是作为来自一个或多个表的行或列的子集创建的。

<能不能对视图进行增删改操作。(答题的话可以,面试不可以)>

2.如何创建和使用视图?

创建视图两种方法:

方法一:

  ①  展开数据库,选择“视图”,点击“新建视图”。

  ②  单击“添加”,会自动出现连接,自动生成sql语句

方法二:

  语法:

 Create VIEW view_name

 as

 <select  语句>

使用T-SQL语句删除视图:

  语法:

Drop VIEW view_name

使用T-SQL语句查看视图数据:

  语法:

 select col_name1,col_name2,
......
from view_name

示例:

3.使用视图的注意事项:

① 每个视图中可以使用多个表

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

③ 视图定义中的select语句不能包括下列内容:

  • order by 子句,除非在select 语句的选择列表中也有一个top子句
  • into 关键字
  • 引用临时表或表变量

三:索引

1.定义:

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

索引页是数据库中存储索引的数据页

2.作用:

大大提高数据库的检索速度,改善数据库性能。

3.索引分类:

常用的索引有以下6类:

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

  主键索引:要求主键中的每个值是非空、唯一的。主键索引是唯一索引的特殊类型

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

  非聚集索引:使表中各行数据存放的物理顺序与键值的逻辑顺序不匹配。聚集索引比非聚集索引有更快的数据访问速度

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

  全文索引:是一种特殊类型的基于标记的功能性索引。主要用于在大量文本文字中搜索字符串

4.创建索引:

使用T-SQL语句创建索引:

  语法:

1 create [unique] [clustered|nonclustered] index index_name
2
3 on table_name (column_name[,column_name]……)
4
5 [with filifactor=x]

5.删除索引:

  语法:

Drop index table_name.index_name

注: 删除表时,该表的所有索引将同时被删除

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

6.查看索引:

①:用系统存储过程sp_helpIndex查看

  语法:

sp_helpIndex table_name

②:用视图sys.indexes查看

  语法:

select * from sys.indexes

事务&视图和索引的更多相关文章

  1. SQL-server的事务,视图和索引

    (1):  A: B: C: D: 选错误A,D 因为bc不对所以选AD,A:关系数据库中,数据是保存在数据页中的,而索引则是存储在索引页中.因此,数据表中的索引并非越多越好,一个表中如果有大量的索引 ...

  2. 优化MySchool数据库(事务、视图、索引)

    事务.视图.索引: 事务:当生活逻辑中的“一个步骤”,需要使用多条SQL去完成时,必须使用事务来确保其“完整性“. 视图:简化数据库结构,方便你编写SQL语句(简化SQL语句的编写) 索引:提高“数据 ...

  3. accp8.0转换教材第5章事务、视图、索引、备份和恢复理解与练习

    知识点:事务.视图.索引.数据库的备份和恢复 一.单词部分 ①transation事务②atomicity原子性③consistency一致性④isolation隔离性 ⑤durability持久性⑥ ...

  4. java数据库编程之事务、视图、索引、备份、恢复

    第五章:事务.视图.索引.备份和恢复 5.1:事务 事务的概念:事务(transcation)是讲一系列数据操作捆绑成为一个整体进行统计管理. 如果某一事务执行成功了,则该事务进行操作的所有数据将会提 ...

  5. 第五章 MySQL事务,视图,索引,备份和恢复

    第五章 MySQL事务,视图,索引,备份和恢复 一.事务 1.什么是事务 事务是一种机制,一个操作序列,它包含了一组数据库操作命令,并且把所有的命令作为一个整体一起向系统提交或撤销操作请求.要么都执行 ...

  6. mysql优化---订单查询优化:视图优化+索引创建

    订单的表结构采用了垂直分表的策略,将订单相关的不同模块的字段维护在不同表中 在订单处理这个页面,需要查询各种维度, 因此为了方便查询创建了v_sale_order视图(老版本) drop view v ...

  7. Oracle数据库之视图与索引

    Oracle数据库之视图与索引 1. 视图简介 视图是基于一个表或多个表或视图的逻辑表,本身不包含数据,通过它可以对表里面的数据进行查询和修改. 视图基于的表称为基表,视图是存储在数据字典里的一条SE ...

  8. 序列、视图、索引(面试看这个就GO了)

    oracle内置对象 序列.视图.索引 序列 create sequence aaa start with 1; 使用 视图 创建好之后 然后直接用 就OK了 有了视图可以代替子查询,使得sql简洁 ...

  9. PL/SQL 编程(三 )程序包和包体,触发器,视图,索引

    一.程序包和包体 程序包(package):存储在数据库中的一组子程序.变量定义.在包中的子程序可以被其它程序包或子程序调用.但如果声明的是局部子程序,则只能在定义该局部子程序的块中调用该局部子程序. ...

随机推荐

  1. Javascript在页面加载时的执行顺序【转】

    一.在HTML中嵌入Javasript的方法 直接在Javascript代码放在标记对<script>和</script>之间 由<script />标记的src属 ...

  2. 如何在帝国cms后台菜单栏中添加删除链接?

    下午测试一个网上下载经过二次开发的帝国cms系统,还原完数据进入后台ytkah发现菜单栏多出了几个链接,有点不习惯,就想着怎么把它去掉.由于自己用的win7系统,搜索时没有像xp那样可以搜索包含某字符 ...

  3. IT架构之IT架构标准——思维导图

    参考: [日] 野村综合研究所系统咨询事业本部. 图解CIO工作指南. 周自恒译 人民邮电出版社,2014

  4. mysql去除重复查询的SQL语句基本思路

    SELECT R.* FROM trans_flow R, (SELECT order_no, MAX(status_time) AS status_time FROM trans_flow GROU ...

  5. Google NACL 简介

    Back to README Getting Started This page tells you how to install Native Client and run demos, both ...

  6. ZOJ2928 Mathematical contest in modeling(模拟退火)

    连续两天学了一些numerical analysis的方法,昨天是学了一下三分,今天学了一下模拟退火.很早就听说了模拟退火在求费马点上的运用了,只知道一些大概,但是没有深入研究,碰到题目就卡壳了,现在 ...

  7. IOS快速集成下拉上拉刷新

    http://code4app.com/ios/%E5%BF%AB%E9%80%9F%E9%9B%86%E6%88%90%E4%B8%8B%E6%8B%89%E4%B8%8A%E6%8B%89%E5% ...

  8. POJ 3384 Feng Shui(半平面交向内推进求最远点对)

    题目链接 题意 : 两个圆能够覆盖的最大多边形面积的时候两个圆圆心的坐标是多少,两个圆必须在多边形内. 思路 : 向内推进r,然后求多边形最远的两个点就是能覆盖的最大面积. #include < ...

  9. poj 3114(强连通缩点+SPFA)

    题目链接:http://poj.org/problem?id=3114 思路:题目要求很简单,就是求两点之间的花费的最短时间,不过有一个要求:如果这两个city属于同一个国家,则花费时间为0.如何判断 ...

  10. hibernate初次配置问题

    1.自动创建表结构 在hibernate.cfg.xml配置文件中修改 <property name="hibernate.hbm2ddl.auto">update&l ...