事務,索引和視圖

第六章:事務,視圖和索引

一、事務

事務的概念

事務(TRANSACTION)是作爲單個邏輯工作單元執行的一系列操作,這些操作作爲一個整體一起向系統提交,要麼都執行、要麼都不執行 事務是一個不可分割的工作邏輯單元

事務的四個屬性(簡稱ACID
  • 原子性(Atomiaity): 事務的各元素是不可分的(原子的)。
  • 一致性(Consistency):當事務完成時,數據必須處於一致狀態。
  • 隔離性(Isolation):對數據進行修改的所有併發事務是彼此隔離的,這表明事務必須是獨立的,它不以任何方式依賴或影響其它事務。
  • 持久性(Durability):不管系統是否發生了故障,事務處理的結果都是永久的。
執行事務(transaction可以簡寫爲tran)

(1)開始事務

  begin transaction

(2)提交事務

  commit transaction

(3)回滾事務

rollback transaction

----從張三賬戶轉賬1000元到李四的賬戶,要求保存交易信息

begin transaction
declare @errorSum int
set @errorSum=0
update bank set currentMoney=currentMoney-500 where customerName='張三'
set @errorSum=@errorSum+@@ERROR
update bank set currentMoney=currentMoney+500 where customerName='李四'
set @errorSum=@errorSum+@@ERROR
if(@errorSum>0)
begin
print '轉賬失敗'
rollback transaction
end
else
begin
print '轉賬成功'
commit transaction
end

二、索引

有助於提高檢索數據的效率,可以快速通過索引定位到數據

分類:唯一索引,主鍵索引,聚集索引,非聚集索引
索引語法:

create [unique唯一] [clustered聚集/nonclustered非聚集] index  索引名稱
on  表名(列名)

----- 在sudent表中,在studentName(學生姓名)列上創建索引

create unique nonclustered
index index_Name
on student(studentName)
索引的好處:可以快速檢索數據,
缺點:佔用更多的空間。當數據量大的時候使用索引,在經常檢索的列,排序的列上建立索引,列值只有幾個有限的值的列不需要建索引

三、視圖

視圖是一張虛擬表,根據用戶需要建立不同視圖以便用戶方便查詢數據,提高數據安全性
視圖語法:

create view  視圖名
as 
查詢語句

—創建學生表的視圖,按學號排序,顯示學號,學生姓名,手機號

create view student
as 
select  studentNo 學號, studentName 學生姓名, phone 手機號 from student order by studentNo 

– 看了記得點贊哦~我會繼續加油的,

flghting!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章