第四章
數(shù)據(jù)庫設計是數(shù)據(jù)庫應用系統(tǒng)的核心部分,它包括兩方面的內(nèi)容:結構特性設計和行為特性設計。
在數(shù)據(jù)庫的兩方面設計中,結構特性是靜態(tài)的,一旦形成輕易不再改變,行為特性是指用戶的業(yè)務活動,這種活動體現(xiàn)在應用程序中。結構特性設計是指數(shù)據(jù)庫總體概念設計。它應該是具有最小數(shù)據(jù)冗余的,能反映不同用戶數(shù)據(jù)需求的,能實現(xiàn)數(shù)據(jù)共享的系統(tǒng)。數(shù)據(jù)庫設計中結構設計是關鍵。
在數(shù)據(jù)庫設計中,結構特性是在模式和子模式中定義的,而行為特性通過應用程序實現(xiàn)。
數(shù)據(jù)庫設計包括數(shù)據(jù)庫系統(tǒng)的邏輯設計、物理設計、應用程序設計和系統(tǒng)的運行與維護等方面。
數(shù)據(jù)庫邏輯設計分為三個階段,分別是:收集和分析用戶要求、建立E-R模型和數(shù)據(jù)庫模式設計。主要任務是創(chuàng)建數(shù)據(jù)庫模式。
數(shù)據(jù)庫邏輯設計中的第一階段收集和分析用戶需求是按以下四步進行的:分析用戶活動,確定系統(tǒng)范圍,分析用戶活動所涉及的數(shù)據(jù)和分析系統(tǒng)數(shù)據(jù)。
數(shù)據(jù)流圖是一種從數(shù)據(jù)和對數(shù)據(jù)的加工兩方面表達系統(tǒng)工作過程的圖形表示法。含有四種基本成分:帶箭頭的線段表示數(shù)據(jù)及其流動方向,圓形框表示對數(shù)據(jù)的加工,卡片形框表示文件,方框表示源點和終點。
畫數(shù)據(jù)流圖應遵循:由外向內(nèi)、自頂向下原則進行。
數(shù)據(jù)庫系統(tǒng)的生命期可以分為五個階段,依次是分析、設計、編碼、測試、運行。
所謂分析用戶活動所涉及的數(shù)據(jù)就是以數(shù)據(jù)流圖的形式表示出數(shù)據(jù)的流向和對數(shù)據(jù)所進行的加工。
所謂分析系統(tǒng)數(shù)據(jù)就是對數(shù)據(jù)流圖中的每一個數(shù)據(jù)流名、每個文件名、每個加工名,都要給出具體定義,都需要用一個條目進行描述。描述后的產(chǎn)物是數(shù)據(jù)字典。數(shù)據(jù)流圖和數(shù)據(jù)字典結合在一起,加上必要的說明構成系統(tǒng)說明書。數(shù)據(jù)字典是對數(shù)據(jù)流圖中的四個成分(數(shù)據(jù)流、數(shù)據(jù)項、文件、加工)的描述。
教材中所講的數(shù)據(jù)庫設計方法稱為視圖設計法,即從分析用戶的活動入手,針對用戶的局部視圖,然后進行綜合,用E-R圖表示數(shù)據(jù)庫的概念,進而轉換為關系模式。
邏輯設計第二階段建立E-R模型分兩步,首先應進行局部E-R模型設計,然后進行總體E-R模型的設計。
邏輯設計第三階段在數(shù)據(jù)庫模式設計階段分兩步進行,第一步初步設計:把E-R圖轉換為關系模型,第二步優(yōu)化設計:對模式進行調(diào)整和改善。
優(yōu)化是在性能預測的基礎上進行的,一般用三方面指標來衡量:1、單位時間內(nèi)所訪問的邏輯記錄個數(shù)要少,2、單位時間內(nèi)數(shù)據(jù)傳送量要少;3、系統(tǒng)占用的存儲空間盡量要少。
數(shù)據(jù)庫物理設計包括:選擇存儲結構、確定存取方法、選擇存取路徑、確定數(shù)據(jù)的存放位置。主要解決選擇文件存儲結構和確定文件存取方法的問題。在數(shù)據(jù)庫中訪問數(shù)據(jù)的路徑主要表現(xiàn)為如何建立索引。如要直接定位到所要查找的記錄,應采用索引方法存取方法(索引表)。順序表只能從起點進去向后一個個訪問記錄。數(shù)據(jù)庫的物理實現(xiàn)取決于特定的DBMS,在規(guī)劃存儲結構時主要應考慮存取時間和存儲空間,這兩者通常是互相矛盾的,要根據(jù)實際情況決定。
經(jīng)過從概念設計→邏輯設計→物理設計,標志著數(shù)據(jù)庫的框架搭設成功。
一般程序設計方法均適用于應用程序設計,如:自頂向下或結合由下而上靈活運用,程序按功能模塊化,使模塊便于組裝和調(diào)試,追求程序可讀性,不過多采用難以理解的技巧。應用程序設計的依據(jù):數(shù)據(jù)庫邏輯設計。
老化就是對數(shù)據(jù)庫施加各種*作,例如增、刪、查、改。
數(shù)據(jù)庫投入運行標志著開發(fā)任務的基本完成和維護工作的開始。所謂維護就是整理數(shù)據(jù)的存儲。
數(shù)據(jù)庫維護工作包括:日常維護(指對數(shù)據(jù)庫中的數(shù)據(jù)隨時按需要進行增、刪、插入、修改或更新*作),定期維護(重構重組數(shù)據(jù)庫),故障維護(當數(shù)據(jù)庫遭到意外破壞時,把它恢復到破壞前的狀態(tài))。
以下關于數(shù)據(jù)庫設計的說法,C不正確。
(A)數(shù)據(jù)庫設計是“反復探尋,逐步求精”的過程(B)數(shù)據(jù)庫設計包括結構特性設計和行為特征設計兩個部分
(C)數(shù)據(jù)庫設計中行為特征設計是關鍵部分(D)數(shù)據(jù)庫設計是數(shù)據(jù)庫應用系統(tǒng)設計中的核心部分。
數(shù)據(jù)庫系統(tǒng)中的技術文檔主要有系統(tǒng)說明書、技術說明書和使用說明書。
以下程序調(diào)試方法, 最為常用。B
(A)通讀程序編碼,發(fā)現(xiàn)錯誤的命令行 (B)在程序中設置斷點,觀察斷點處狀態(tài)
(C)輸入數(shù)據(jù),進行人工檢驗 (D)暫時刪除無關語句,簡化程序編碼
以下觀點中,錯誤的是 .B
(A)關系數(shù)據(jù)庫中記錄通常是按到來的先后順序存放 (B)DNMS通常只支持順序存取方法
(C)數(shù)據(jù)庫訪問的路徑對效率影響是很大的 (D)數(shù)據(jù)庫多半存放在磁盤、光盤或磁帶上