- 相關推薦
華為經典面試題系列二(數據庫)
1.存儲過程和函數的區別
存儲過程是用戶定義的一系列sql語句的集合,涉及特定表或其它對象的任務,用戶可以調用存儲過程,而函數通常是數據庫已定義的方法,它接收參數并返回某種類型的值并且不涉及特定用戶表。
2.事務是什么?
事務是作為一個邏輯單元執行的一系列操作,一個邏輯工作單元必須有四個屬性,稱為
ACID(原子性、一致性、隔離性和持久性)屬性,只有這樣才能成為一個事務:
原子性
事務必須是原子工作單元;對于其數據修改,要么全都執行,要么全都不執行。
一致性
事務在完成時,必須使所有的數據都保持一致狀態。在相關數據庫中,所有規則都必須應用于事務的修改,以保持所有數據的完整性。事務結束時,所有的內部數據結構(如
B 樹索引或雙向鏈表)都必須是正確的。
隔離性
由
并發事務所作的修改必須與任何其它并發事務所作的修改隔離。事務查看數據時數據所處的狀態,要么是另一并發事務修改它之前的狀態,要么是另一事務修改它之
后的狀態,事務不會查看中間狀態的數據。這稱為可串行性,因為它能夠重新裝載起始數據,并且重播一系列事務,以使數據結束時的狀態與原始事務執行的狀態相
同。
持久性
事務完成之后,它對于系統的影響是永久性的。該修改即使出現系統故障也將一直保持。
3.游標的作用?如何知道游標已經到了最后?
游標用于定位結果集的行,通過判斷全局變量@@FETCH_STATUS可以判斷是否到了最后,通常此變量不等于0表示出錯或到了最后。
4.觸發器分為事前觸發和事后觸發,這兩種觸發有和區別。語句級觸發和行級觸發有何區別。
事前觸發器運行于觸發事件發生之前,而事后觸發器運行于觸發事件發生之后。通常事前觸發器可以獲取事件之前和新的字段值。
語句級觸發器可以在語句執行前或后執行,而行級觸發在觸發器所影響的每一行觸發一次。
【華為經典面試題系列二(數據庫)】相關文章:
數據庫設計08-06
數據庫設計08-13
數據庫設計[精選]08-13
華為面試經歷06-18
親歷華為面試06-18
數據庫設計[薦]08-13
【精品】數據庫設計08-13
[通用]數據庫設計08-13
數據庫設計(必備)08-13
[精]數據庫設計08-13