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