事务,视图,索引
1.什么是事物
事物是一种机制,一个操作序列,它包含了一组数据库操作命令,并且把所有的命令作为一个整体一起向系统提交或撤销操作请求。
即这一组数据库命令要么都执行,要么都不执行。
事物分4种:
1.原子性(Atomicity) 事物的各个元素是不可分的。
2.一致性(Consistency)当事物完成时,数据库必须处于一致状态。
3.隔离性(Isolation) 对数据进行修改的所有并发事务是彼此隔离的,这表明事务必须是独立的,它不应以任何方式依赖于或影响其他事务。
4.持久性(Durability) 事务的持久性指不管系统是否发生了故障,事物处理的结果都是永久的。
事务分类
在SQL server中 事务分三种
显示事务:用BEgin TRANSACTION 明确指定事务的开始
隐藏事务:通过设置Set implict_transactios on 语句将隐式事务模式设置为打开。
自动提交事务:这是SQL server的默认模式,它将每条单独的T-sql语句视为一个事务。
视图
视图是一种虚拟表,通常是作为来自一个或多个表的行或列的子集创建的。
创建视图
第一种方法是使用Myschool sql server Management studio 创建视图
创建视图2
代码:
Create view vw_student_result
删除视图
If exists(select * from sysobjects where name=’studentName’)
Drop View studentName
使用视图的注意事项:
-
每个视图中可以有多个表。
-
与查询相似,一个视图可以嵌套另一个视图,但最好不要超过3层。
-
视图定义中的select 语句不能包括以下内容:
ORDER by 子句,除非在select 语句的选择列表中也有一个top子句。
INTO关键字。
引用临时表或表变量。
索引
索引分类
-
唯一索引
唯一索引允许两行具有相同的索引值。
2.主键索引
在数据库关系图中为表定义一个主键将自动创建主键索引,主键索引是唯一索引的特殊列型。
3.聚集索引
在一张表中聚集索引只能有一个,默认为主键。
-
非聚集索引
非聚集索引最多有254个。
-
复合索引
-
全文索引
全文索引是一种特殊类型的基于标记的功能性索引,由SQL server中全文引擎服务创建和维护。
创建索引:
CREATE [UNIQUE] [CLUSTERED|NONCLUSTERE] INDEX index_name
On table_name (column_name)
Where fillfactor=x
删除索引
Drop index table_name.index_name
查看索引
Exec sp_helpindex result