4.數據庫應用系統功能設計與實施

1.重識C/S,B/S架構.

C/S架構是典型的兩層架構.B/S架構是三層架構;

C/S客戶端包含一個或多個運行在電腦上的程序.服務端有兩種:數據庫服務端,Socket服務端.瘦服務端.

B/S客戶端即爲Web瀏覽器,服務端爲WebApp服務器端和DB數據庫服務端(事務處理在這完成).肥服務端.

在適用Internet、維護工作等等方面,B/S比C/S強;在運行速度、數據安全、人機交互等方面,不如C/S。

2.如果完整性約束涉及到該表的多個屬性列,必須定義在表級上.

3.數據庫應用系統設計的四個層次分別爲:表示層,業務邏輯層,數據訪問層,數據持久層.

表示層:位於最外層,用於顯示數據和接受用戶輸入

業務邏輯層:表示層和數據訪問層之間通信的橋樑,主要負責數據的傳遞和處理.概要設計包括:結構,行爲,數據接口,故障處理,安全設計等(類,模塊,組件設計)

數據訪問層:主要實現對數據的保存和讀取操作.(用戶使用語句定義(實)的存儲過程位於此處,而存儲過程本身的設計(虛)位於業務邏輯層),其主要工作是進行事務設計.

數據持久層的設計工作屬於數據組織與存儲方面的物理設計內容.(負責保存管理數據庫應用系統數據,例如完整性維護)

4.查詢數據表時SQL語句不會檢查數據的完整性約束.create table語句用於定義關係表的結構及數據完整性約束.

5.將照片放在數據庫後,對照片的訪問就受到了很大的限制,當很多人同時訪問同一張照片時,會大大降低用戶訪問照片的速度.但沒有像文件系統那樣把人員信息和照片數據分離,具有更好的一致性.

6.人機界面的設計可採用原型迭代法,首先進行初步設計,再進行用戶界面詳細設計,最後是原型設計與改進.

7.數據庫的一致性指的是事務執行成功則全部提交,必須使所有數據都具有一致的狀態,如果一個事務提交失敗,所有做過的更新全部撤銷。

8.在編寫事務時,提高事務的隔離性級別帶來的好處是: 降低了發生數據不一致的可能性.壞處是安全性的提高使性能變低.

如果兩個事務不觸及相同的數據,它們可以安全地並行運行,因爲兩者都不依賴於其他數據。當一個事務讀取另一個事務同時修改的數據,或者兩個事務試圖同時修改同一數據時,便會出現併發問題.

9.數據庫應用系統的實施工作包括創建數據庫、裝載數據、編寫與調試應用程序、數據庫試運行。

10.雙機熱備是屬於數據庫恢復技術內容,當介質被破壞後能夠保證數據的完整性.視圖機制也屬於安全性保護的一種.

11.死鎖狀態    

12.事務 

事務是應用程序中一系列嚴密的操作,所有操作必須成功完成,否則在每個操作中所作的所有更改都會被撤消。也就是事務具有原子性,一個事務中的一系列的操作要麼全部成功,要麼一個都不做。

數據庫事務 transanction 正確執行的四個基本要素。

原子性(Atomicity): 整個事務中的所有操作,要麼全部完成,要麼全部不完成,不可能停滯在中間某個環節。事務在執行過程中發生錯誤,會被回滾(Rollback)到事務開始前的狀態,就像這個事務從來沒有執行過一樣

一致性(Correspondence): 在事務開始之前和事務結束以後,數據庫的完整性約束沒有被破壞

隔離性(Isolation): 隔離狀態執行事務,使它們好像是系統在給定時間內執行的唯一操作。如果有兩個事務,運行在相同的時間內,執行 相同的功能,事務的隔離性將確保每一事務在系統中認爲只有該事務在使用系統。這種屬性有時稱爲串行化,爲了防止事務操作間的混淆,  必須串行化或序列化請 求,使得在同一時間僅有一個請求用於同一數據。

持久性(Durability): 在事務完成以後,該事務所對數據庫所作的更改便持久的保存在數據庫之中,並不會被回滾.

13.數據庫產品選型.在更換數據庫產品後,一般原有的應用程序和數據庫的接口會失效,需要重新修改應用程序.

14.數據庫應用系統的實施分爲4個步驟:建立數據庫結構,調試運行,裝入實際的初始數據,沒有系統監控.

15.在數據庫事務概要設計階段,使用read和write原語來表達存取操作.

16.兩段鎖協議

兩段鎖協議是指所有事務必須分兩個階段對數據項加鎖和解鎖:①在對任何數據進行讀、寫操作之前,要申請並獲得對該數據的封鎖;②在釋放一個封鎖之後,事務不再申請和獲得其它任何封鎖。可以證明,若併發執行的所有事務均遵守兩段鎖協議,則對這些事務的任何併發調度策略都是可串行化的。

另外要注意兩段鎖協議和防止死鎖的一次封鎖法的異同之處。一次封鎖法要求每個事務必須一次將所有要使用的數據全部加鎖,否則就不能繼續執行,因此一次封鎖法遵守兩段鎖協議。但兩段鎖協議並不要求事務必須一次將所有要使用的數據全部加鎖,因此遵守兩段鎖協議的事務可能發生死鎖。加鎖階段事務可以申請獲得任何數據項上的任何類型的鎖,但是不允許釋放任何鎖。

17. 爲了檢測死鎖,數據庫管理系統會在執行每個事務時檢測事務等待圖中是否出現迴路.[X]錯誤,並不是每個事務

18. 系統總體設計的主要內容包括確定DBAS體系結構、軟硬件選型和配置設計、應用軟件總體設計和業務規則初步設計。沒有所謂的關係模式設計.

19.一個構件只負責完成一項任務,如果兩個構件之間的關係比較複雜,可以將其細分,而不是合併.

20隔離級別越高,越能保證數據庫的完整性和一致性,但對併發性能的影響也越大.所以他不能降低死鎖的可能性.

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