文章出處

一:事務

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

示例:

--創建視圖
create VIEW vw_Student
as
    select StudentName as 姓名, StudentNo as 學號,StudentResult as 學生成績 from Student

--刪除視圖
drop VIEW vw_Student

--查看視圖
select * from vw_Student

3.使用視圖的注意事項:

 

① 每個視圖中可以使用多個表

② 與查詢相似,一個視圖可以嵌套另一個視圖,但最好不要超過3層

③ 視圖定義中的select語句不能包括下列內容:

order by 子句,除非在select 語句的選擇列表中也有一個top子句

into 關鍵字

引用臨時表或表變量

三:索引

1.定義:

是SQL Server編排數據的內部方法,是檢索表中數據的直接通道。

索引頁是數據庫中存儲索引的數據頁

2.作用:

大大提高數據庫的檢索速度,改善數據庫性能。

3.索引分類:

常用的索引有以下6類:

唯一索引:不允許兩行具有相同的索引值

主鍵索引:要求主鍵中的每個值是非空、唯一的。主鍵索引是唯一索引的特殊類型

聚集索引:在聚集索引中,表中各行的物理順序與鍵值得邏輯(索引)順序相同。一個表只能包含一個聚集索引

非聚集索引:使表中各行數據存放的物理順序與鍵值的邏輯順序不匹配。聚集索引比非聚集索引有更快的數據訪問速度

復合索引:在創建索引時,并不是只能對其中一列創建索引,與創建主鍵一樣,可以將多個列組合作為索引。

全文索引:是一種特殊類型的基于標記的功能性索引。主要用于在大量文本文字中搜索字符串

4.創建索引:

使用T-SQL語句創建索引:

語法:

create [unique] [clustered|nonclustered] index index_name

on table_name (column_name[,column_name]……)

[with filifactor=x]

5.刪除索引:

語法:

Drop index table_name.index_name

注: 刪除表時,該表的所有索引將同時被刪除

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

6.查看索引:

①:用系統存儲過程sp_helpIndex查看

語法:

 

sp_helpIndex table_name

 

②:用視圖sys.indexes查看

語法:

select * from sys.indexes

 


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()