資料庫總結

weixin_34037977發表於2018-02-23

1 關聯式資料庫系統與檔案資料庫系統有什麼區別?

 

2 SQL語言的功能有哪些

基本SQL語句有select、insert、update、delete、create、drop、grant、revoke等。

 

3 內連線與外連線的區別?

 

4 什麼是事務?

事務是資料庫中一個單獨的執行單元,它通常由高階資料庫操作語言(如SQL)或程式語言(如C++、Java等)書寫的使用者程式執行引起。

 

5 什麼是死鎖

在作業系統中有若干程式併發執行,它們不斷地申請、釋放資源,在此過程中,由於爭奪資源而處於無限期的等待狀態,造成程式無法繼續執行,若無外力作用,它們都將無法推進下去,這時稱系統處於死鎖狀態或系統產生了死鎖。此時便只能通過外力來打破這種狀態。

產生死鎖的原因有以下3點:

首先,資源不足。

其次,程式進行推進順序不對,程式在執行中具有非同步性,當程式推進順序不當時,便產生死鎖。

最後,資源分配不當,如果系統資源充足,程式的資源請求都能得到滿足,死鎖的可能性會被大大降低,而程式推進順序與速度不同,也可能會產生死鎖。

總的來說,產生死鎖的4個必要條件:

1)互斥,每個資源每次只能被一個程式使用;

2)請求與保持等待,一個程式因請求資源而被阻塞,對已獲得的資源保持不放;

3)不可剝奪,程式已獲得的資源,在未使用完之前,不能強制剝奪;

4)環路等待,若干程式之間形成首尾相接的等待資源關係

所以,預防死鎖的方法就是打破死鎖產生的4個條件中的一個或多個,因此需要最大限度地增加系統資源,合理地安排程式的順序並確定合理的分配資源的演算法。

避免死鎖是在資源的動態分配過程中,採取有效的方法防止系統進入不安全狀態,達到預防死鎖的目的,其中最具有代表性的方法就是銀行家演算法。

6 什麼是共享鎖?什麼是互斥鎖

相關文章