版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第2章數據庫需求分析內容提要數據庫需求分析是數據庫系統(tǒng)開發(fā)工作的重要基礎。本章首先介紹數據庫需求分析的概念、原則、步驟以及數據庫系統(tǒng)需求分析的方法和工具,然后介紹數據庫需求調查、數據字典、信息分類與編碼的基本概念和方法,接著介紹數據定義分析、數據操縱分析、數據完整性分析、數據安全性分析、并發(fā)處理分析、數據庫性能分析的基本概念和方法,最后介紹數據庫需求分析的重要工具E-R圖的基本概念及其設計方法。2.1概述2.1.1數據庫需求分析的定義數據庫需求分析是從現存系統(tǒng)開始的?,F存系統(tǒng)就是現在使用的系統(tǒng),可能是一個手工系統(tǒng),也可能是一個計算機系統(tǒng)。通過對現存系統(tǒng)的調查和分析,開發(fā)符合用戶需求的數據庫系統(tǒng)(也稱作目標系統(tǒng))。作為數據庫系統(tǒng)需求分析的一部分,數據庫需求分析是數據庫需求分析人員在調查現存系統(tǒng)基礎上,分析和確認用戶的數據需求。數據庫需求分析是數據庫開發(fā)的基礎,其工作質量的好壞將直接影響到數據庫設計乃至整個數據庫系統(tǒng)開發(fā)工作的成敗2.1.2數據庫需求分析的內容2.1.2數據庫需求分析的內容數據庫需求分析的主要內容是數據結構分析、數據定義分析、數據操縱分析、數據完整性分析、數據安全性分析、數據庫性能分析、E-R圖設計。其中數據結構分析、數據完整性分析、E-R圖設計是數據庫模式設計的重要基礎。2.1.2數據庫需求分析的內容1.數據結構分析數據結構分析是分析目標系統(tǒng)運行過程中需要的各種數據的結構特征。數據結構包括數據的名稱、含義、數據類型、構成等。這些數據有些是業(yè)務數據、有些是系統(tǒng)運行管理與維護數據(如運行日志、維護日志)、有些是用戶注冊數據(如用戶名稱、用戶編號)。數據字典是描述數據結構的常用工具。2.1.2數據庫需求分析的內容2.數據定義分析在數據庫系統(tǒng)中,絕大多數數據庫基本表、視圖、索引、角色等對象是在目標系統(tǒng)實現或初始化階段創(chuàng)建的,但也有一些是在目標系統(tǒng)安裝或正常運行期間動態(tài)創(chuàng)建的。數據定義分析是分析目標系統(tǒng)動態(tài)創(chuàng)建、修改和刪除基本表、視圖、索引、角色等數據對象的需求。3.數據操縱分析數據操縱分析是分析數據庫用戶關于數據插入、修改、刪除、查詢、統(tǒng)計和排序等的數據操縱需求。2.1.2數據庫需求分析的內容4.數據完整性分析數據完整性分析是分析數據之間的各種聯(lián)系。數據聯(lián)系常常在數據字典和E-R圖中描述。5.數據安全性分析數據安全性分析是分析數據庫的各種安全需求。根據這些需求,設計人員才能設計數據庫的用戶、角色、權限、加密方法等數據庫安全保密措施。數據安全性需求可以在數據字典中描述。2.1.2數據庫需求分析的內容6.并發(fā)處理分析并發(fā)處理分析是數據庫需求分析人員在現存系統(tǒng)調查的基礎上,分析數據庫的各種并發(fā)處理需求,為數據庫并發(fā)控制設計提供依據。并發(fā)處理需求可以在數據字典中描述。7.數據庫性能分析數據庫性能分析是數據庫需求分析人員在現存系統(tǒng)調查的基礎上,分析數據庫容量、吞吐量、精度、響應時間、存儲方式、可靠性、可擴展性、可維護性等數據庫性能需求。2.1.2數據庫需求分析的內容8.E-R圖設計應用數據結構分析和數據完整性分析等的結果,構造實體集、聯(lián)系集,用E-R圖反映數據間的聯(lián)系。利用E-R圖,設計人員能夠很容易地設計基本表。2.1.3數據庫需求分析的原則2.1.3數據庫需求分析的原則1.制訂數據庫需求分析計劃數據庫需求分析人員首先要制定好工作計劃,如何時到何地做何工作,需要用戶方何人協(xié)助,需要哪些開發(fā)人員協(xié)助等等。不斷檢查、調整、及時總結工作成果。2.選擇適當的數據庫需求分析方法選擇一種合適的數據庫需求分析方法,如結構化分析方法、原型化分析方法、面向對象分析方法。2.1.3數據庫需求分析的原則3.選擇合適的數據庫需求分析工具軟件為了提高數據庫需求分析的效率,數據庫需求分析人員應盡量使用數據庫需求分析工具,如美國Rational公司的RequisitePRO、美國Microsoft公司的Visio。4.調查現存系統(tǒng)數據庫需求分析人員應該認真收集、整理現存系統(tǒng)中的各種數據,避免遺漏和錯誤發(fā)生。2.1.3數據庫需求分析的原則5.充分與用戶溝通數據庫需求分析人員要使用用戶能夠理解的語言進行溝通,避免使用純計算機專業(yè)語言來提問、解釋有關問題。充分尊重用戶的意見,盡可能滿足用戶的需求。對一些不能實現的要求則要耐心解釋為什么不能或不應該實現。6.理解用戶的數據管理內容及目標數據庫需求分析人員只有理解用戶的數據管理內容及目標,才能有助于數據庫設計人員設計出滿足用戶需要的目標系統(tǒng)。2.1.3數據庫需求分析的原則7.分析并確認數據庫需求數據需求并不是現存系統(tǒng)數據實際情況的復制,因為現存系統(tǒng)中的數據可能存在描述錯誤、冗余、不準確、不完整、不一致等現象。數據庫需求分析人員應該消除以上不合理現象,必要時通過修改數據結構、合并數據、分解數據等手段,反復權衡,獲得準確的數據庫需求。8.需求變更要立即聯(lián)系雖然完全消除數據庫需求變更非常困難,但過多的需求變更會給嚴重影響系統(tǒng)開發(fā)進度和質量。因此,減少乃至消除需求變更是數據庫需求分析人員的重要任務之一,需求變更的多寡也反映了數據庫需求分析工作的質量和水平。2.1.3數據庫需求分析的原則在系統(tǒng)開發(fā)過程中,需求變更出現得越晚,影響就越大。例如,總體結構已確定但發(fā)現要增加新的功能模塊就將導致高代價的返工。用戶如需變更需求應與開發(fā)方及早聯(lián)系。9.提出數據庫實施建議和解決方案通常用戶所說的“需求”已經是一種實際可行的實施方案,數據庫需求分析人員應盡力從該實施方案中了解真正的數據需求,同時還應找出現存系統(tǒng)數據管理業(yè)務不合理之處,以確保目標系統(tǒng)不會無效或低效;在徹底弄清業(yè)務領域內的數據后,提出改進方法,增加一些用戶沒有發(fā)現的有價值的數據特性。2.1.3數據庫需求分析的原則10.認真撰寫數據庫需求規(guī)格說明書數據庫需求規(guī)格說明書是數據庫系統(tǒng)需求分析的一部分,它完整、清晰、準確、易于理解地描述了數據庫的各種需求。因此,數據庫需求分析人員不僅要有良好的計算機專業(yè)知識,還要有良好的目標系統(tǒng)所處理的事務對應領域的專業(yè)知識,以及良好的文字表達能力。在文檔中暫時加上“待定”標志是個方法。用該標志可指明哪些是需要進一步討論、分析或增加信息的地方,有時也可能因為某個特殊需求難以解決或沒有人愿意處理它而標注上“待定”。如果用戶一時不能準確表達,通常要用原型開發(fā)技術。通過原型開發(fā)技術,用戶可以同開發(fā)人員一起反復修改,不斷完善需求定義。2.1.3數據庫需求分析的原則11.使用軟件復用技術充分利用現有的數據庫需求分析文檔,實現文檔復用(即重復使用)。數據庫需求分析人員如果發(fā)現有某個軟件的數據庫需求與用戶描述的需求相近,則可以充分利用之,以縮短數據庫需求分析的時間。2.1.3數據庫需求分析的原則12.認真評審數據庫需求規(guī)格說明書為了確認數據庫需求規(guī)格說明書所描述的數據庫需求的合理性、完整性、正確性,還必須進行數據庫需求評審。數據庫需求評審一般和數據庫系統(tǒng)評審一起進行,評審的主要內容是:(1)數據庫需求是否和用戶的需求一致。(2)數據庫需求是否滿足數據庫系統(tǒng)的要求,是否存在接口問題。(2)數據庫需求規(guī)格說明書的內容是否齊全。(3)數據庫需求規(guī)格說明書是否完整、清晰、準確、易于理解地反映了用戶數據需求。(4)所有圖表是否合理,解釋是否充分。為了保證數據庫需求的評審質量,評審人員應包括數據庫需求分析人員、用戶、數據庫系統(tǒng)設計人員和測試人員、項目負責人。評審結束后,評審負責人應該簽名、給出評審意見。2.1.3數據庫需求分析的原則此外,如果時間允許,開發(fā)人員可以先為目標系統(tǒng)開發(fā)一個原型(即目標系統(tǒng)的某種版本)。這樣用戶就能提供更有價值的反饋信息給開發(fā)人員,使他們更好地理解數據庫需求;原型不一定是最終目標系統(tǒng),但開發(fā)人員能將其轉化、擴充成功能齊全的系統(tǒng)。13.修改、完善數據庫需求規(guī)格說明書根據評審意見,認真修改數據庫需求規(guī)格說明書直至用戶方和開發(fā)方共同批準。共同批準的數據庫需求規(guī)格說明書是數據庫設計、數據庫測試和驗收的依據。數據庫需求分析的最終目的是獲得共同批準的數據庫需求規(guī)格說明書。2.1.4數據庫需求分析的步驟制訂數據庫需求分析工作計劃圖2-1數據庫需求分析的步驟確定數據庫需求分析方法確定數據庫需求分析工具調查現存系統(tǒng)分析數據庫需求確認數據庫需求撰寫、完善數據庫需求規(guī)格說明書評審數據庫需求規(guī)格說明書評審通過否?用戶方和開發(fā)方共同批準否是2.1.5數據庫系統(tǒng)需求分析的方法和工具2.1.5數據庫系統(tǒng)需求分析的方法和工具1.需求分析的工具數據庫系統(tǒng)需求分析的工具很多,常用的工具有數據流程圖、數據字典、判定表、判定樹、結構化自然語言、偽代碼、層次方框圖、Warnier圖、IPO(Input、Process、Output,輸入、處理、輸出)圖、統(tǒng)一建模語言(UnifiedModelingLanguage,UML)等。數據流程圖(DataFlowDiagram,DFD)是數據庫系統(tǒng)最重要的需求分析工具之一,它通過圖形符號描述數據的輸入(來源)、輸出(去向)和移動變換過程。DFD的基本圖形元素有4個:外部實體、數據流、處理、數據存儲,如圖2-2所示。DFD的基本圖形符號圖2-2DFD的基本圖形符號外部實體(在矩形框內標明外部實體的名稱)處理(在上面矩形框內標明處理的編號、在下面矩形框內標明處理的名稱)
數據流(一般在直線的上方標明數據流的名稱)數據存儲(在左邊矩形框內標明數據存儲的編號、在右邊開口矩形內標明數據存儲的名稱)需求分析的方法2.需求分析的方法數據庫系統(tǒng)需求分析的方法很多,常用的方法有結構化分析方法、原型化分析方法、面向對象分析方法。結構化分析(StructuredAnalysis,SA)方法是最著名需求分析方法之一,它通過與DFD結合,遵循自頂向下、逐層分解和結構化、模塊化的原則從DFD的頂層(即第0層)開始,逐層、逐幅畫出數據庫系統(tǒng)的全部DFD。如圖2-3所示。自頂向下,逐層、逐幅畫出DFD圖2-3自頂向下,逐層、逐幅畫出DFD某超市營銷管理系統(tǒng)DFD超市營銷管理系統(tǒng)供應商顧客訂貨單發(fā)貨單訂貨單發(fā)貨單圖2-4超市營銷管理系統(tǒng)DFD第0層某超市營銷管理系統(tǒng)DFD收款通知供應商顧客訂貨單發(fā)貨單銷售1采購2結算3到貨通知發(fā)票應付款通知庫存卡F1發(fā)貨單訂貨單圖2-5超市營銷管理系統(tǒng)DFD第1層2.2數據庫需求調查數據庫需求調查是數據庫需求分析人員通過充分調查現存系統(tǒng),了解現存系統(tǒng)數據的結構特征、使用者及與其他數據庫系統(tǒng)的聯(lián)系等各種數據需求。2.2.1數據庫需求調查的內容數據庫需求調查的任務是調查現存系統(tǒng)的各種數據,其中一些數據可能是描述組織、部門等實體的,也有一些可能是描述票據、表格、帳本等常規(guī)業(yè)務數據的,還有一些可能是描述圖形、圖像、視頻、語音等多媒體業(yè)務數據的。數據庫需求調查的內容數據庫需求調查的主要內容如下:(1)調查組織、部門等實體包括了解該組織的部門組成情況、人員崗位職責等。(2)調查各部門的業(yè)務數據包括了解各個部門和人員輸入和使用什么數據、輸出什么數據、輸出到什么部門、輸出結果的格式是什么。(3)明確目標系統(tǒng)的各種數據需求在熟悉業(yè)務數據的基礎上,協(xié)助用戶明確目標系統(tǒng)的各種數據需求。2.2.2數據庫需求調查的原則2.2.2數據庫需求調查的原則(1)自頂向下全面展開系統(tǒng)調查工作應先從整個管理機構的工作模式、組織結構、業(yè)務流程、信息流程開始調查,從整體到具體,由粗及細,逐步調查。(2)分析現存系統(tǒng)數據管理存在的問題,研究改進的可能性(3)采用工程化的工作方法工程化方法就是制定協(xié)同工作計劃,注意多人協(xié)同工作時的時間銜接、任務銜接,注意需求分析中所用的術語、圖例、表格等統(tǒng)一和規(guī)范化,以方便群體之間的相互溝通。(4)全面鋪開與重點調查相結合2.2.3數據庫需求調查的方法2.2.3數據庫需求調查的方法(1)跟班作業(yè)法跟班作業(yè)法是數據庫需求分析人員親臨一線現場,通過從事或者觀察組織的業(yè)務管理來調查系統(tǒng)的數據需求。該方法通常是在其他數據收集方法碰到困難或者系統(tǒng)的某一部分過于復雜以至于用戶很難把他們工作中碰到的困難以及需求解釋清楚的時候使用。(2)文檔閱讀法數據庫需求分析人員閱讀、分析現存系統(tǒng)的開發(fā)、運行維護和問題報告等文檔是了解現存系統(tǒng)一個快捷方法。2.2.3數據庫需求調查的方法(3)網站訪問法各個組織存在的問題有很多相似之處,尤其是相類似的組織。網站訪問法是通過訪問其他已解決相關問題組織的網站而調查數據庫需求的一種方法。如果能夠分享到相關信息將會節(jié)省大量的時間和精力。(4)專家介紹法專家介紹法是請業(yè)務熟練的專家或用戶介紹業(yè)務知識、業(yè)務活動和數據管理等情況而調查數據庫需求的一種方法。該方法有利于數據庫需求分析人員盡快、準確地了解現存系統(tǒng)及其存在的問題、改進措施,確認目標系統(tǒng)的數據需求。2.2.3數據庫需求調查的方法(5)問卷調查法問卷調查法是通過特別設計的問卷來收集用戶的想法、意見以及基本信息的而調查數據庫需求的一種方法。問卷可以大量復印并散發(fā)給各個用戶,用戶可以在他們方便的時候作答。該方法可以對同一問題收集大量的信息。(6)單獨詢問法單獨詢問法是一種常用的數據庫需求調查方法。它通過面談、電話、郵件等通信形式,實現以下目標:收集信息、確認信息、凈化信息、確定需求、征求用戶的想法和意見等。2.2.3數據庫需求調查的方法(7)原型演示法原型演示法是通過通過建立一個小型的組織需求模型來發(fā)現和確認組織需求的一種方法。該方法尤其是在難以定義組織需求的時候很有用。該方法的本質是:當使用者看到它們(需求)時才會意識到它們(需求)的存在。(8)團體會議法單獨的面談或者問卷調查經常有互相矛盾的事實和觀點,以及花費大量的時間和精力。團體會議需要詳盡的培訓,以使調查工作有明確的目的性。但是該方法能節(jié)約大量的調查時間。2.3數據字典2.3.1數據字典的基本概念數據字典(DataDictionary,DD)是數據收集和分析后所獲得的成果,它定義了所有與系統(tǒng)相關的數據項、數據結構、外部實體、數據流、數據存儲、處理邏輯等數據字典元素,并按字典順序組織編寫,以方便用戶和開發(fā)人員理解系統(tǒng)的輸入、輸出、存儲和處理邏輯。數據字典中的所有描述應該具有嚴密性、準確性和無二義性。數據字典和DFD共同構成了數據庫系統(tǒng)的邏輯模型,是需求規(guī)格說明書的主要組成部分。2.3.1數據字典的基本概念數據字典用相應數據字典元素的詞條描述,每個詞條應包含以下信息:(1)名稱定義數據字典元素的名稱。每個數據字典元素都有一個區(qū)別于其他數據字典元素的名稱,不允許不同的數據字典元素使用同一名稱。數據字典元素的名稱一般和業(yè)務管理的單據、帳本等實際工作中所用的名稱一致。(2)別名定義數據字典元素的別名。有些數據字典元素可能有別名,如庫存管理系統(tǒng)中的訂貨單的別名有訂單。2.3.1數據字典的基本概念(3)代碼定義數據字典元素的代碼,代碼一般可由漢語拼音聲母縮略而成、或者用英文單詞或英文縮略詞等。代碼既可以用于數據庫需求分析和設計,還可以在數據庫實現時用于表示基本表、視圖的屬性名稱。不允許不同的數據字典元素使用同一代碼。(4)編號定義數據字典元素的編號。良好的編號方法能夠很好地反映數據字典元素之間的關系,方便數據庫開發(fā)人員閱讀、審核,也是避免數據分析遺漏的有效手段。2.3.1數據字典的基本概念(5)分類定義數據字典元素的類別,是數據項、數據結構、外部實體、數據流、數據存儲還是處理邏輯。(6)描述定義數據字典元素的含義、構成等。數據字典編制過程中常常使用表2-1所示的符號。2.3.1數據字典的基本概念符號含義說明=定義為,等于,由…構成等式左邊“定義為”、“等于”右邊,或者“由”右邊“構成”+與例如,x=a+b,表示x由a和b組成[...|...]或例如,x=[a|b],表示x由a或b組成{...}重復表示大括號中的內容重復出現。例如,x={a},表示x由0個或多個a組成m{...}n有重復次數限制的重復表示大括號中的內容重復出現,其中m、n分別表示容重復次數的下限和上限。例如,x=3{a}5表示x由3個a、或4個a、或5個a組成(...)可選例如,x=(a),表示a可在x中出現,也可不出現‘...’字符或字符串單引號中的內容是字符或字符串。例如,x=‘a’,表示x取值字符a..連接符例如,x=1..9,表示x取1到9中任意一個值表2-1數據字典常用符號2.3.2數據項2.3.2數據項數據項也稱為數據元素,是在其所屬系統(tǒng)范圍內具有完整意義的、不可再分的數據。數據項的含義是相對的,它和所屬系統(tǒng)有著密切的關系。即某些數據在一個系統(tǒng)中是數據項,而在另一個系統(tǒng)中未必是數據項。在數據庫系統(tǒng)開發(fā)中,大部分數據項作為基本表和視圖的屬性(屬性也稱為字段、屬性列、列)的設計依據,部分作為應用程序常量或變量的設計依據。2.3.2數據項數據項用數據項詞條描述。數據項詞條一般應包含如下內容:(1)數據項名稱給出數據項的名稱。(2)別名如果數據項有多個名稱,則給出別名。(3)編號給出數據項的編號。可采用自頂向下的方法編號。(4)含義說明說明數據項的含義、用途等。(5)類型說明數據項的數據類型,如字符型、數值型、日期型、邏輯型、備注型等。(6)長度說明數據項長度,常用字節(jié)數、二進制位數等表示。(7)取值范圍及含義說明數據項的取值范圍及含義。例如,性別數據項取值范圍為{1,0},其中1表示’男’、0表示’女’。(8)相關元素說明與該數據項有關的DFD、數據字典元素等。2.3.2數據項數據項名稱銷售單編號別名銷售單號編號1.1.2含義說明每個銷售單必須是唯一編號,以便查詢和審核類型字符型長度20B取值范圍及含義銷售員號+順序號。其中,銷售員號的取值范圍及含義見銷售員詞條,順序號=’000000’..’999999’相關元素銷售員圖2-6數據項詞條作為示例,圖2-6描述了庫存管理系統(tǒng)中的銷售單編號數據項詞條。2.3.3數據結構2.3.3數據結構數據結構是由若干個相互關聯(lián)的數據項依據某種邏輯聯(lián)系組織起來的聯(lián)合體。例如,在成績管理系統(tǒng)中,學生信息就是一個數據結構,即用姓名、學號、所在系、專業(yè)等數據項聯(lián)合起來描述學生,表示學生身份的完整信息。此外,數據結構可能是若干個數據項或其他數據結構構成的。也就是說,數據結構中可以含有數據結構。在數據庫系統(tǒng)開發(fā)中,數據結構可以用基本表、視圖等實現。2.3.3數據結構數據結構用數據結構詞條描述。數據結構詞條一般應包含如下內容:(1)數據結構名稱給出數據結構的名稱。(2)別名如果數據結構有多個名稱,則給出別名。(3)編號給出數據結構的編號。可采用自頂向下的方法編號。(4)含義說明說明數據結構的含義、用途等。(5)組成說明數據結構是由哪些數據項或數據結構組成的。(6)相關元素說明與該數據結構有關的DFD、數據字典元素等。其中,“組成”和“相關元素”可能構成數據完整性約束條件。2.3.3數據結構數據結構名稱學生別名編號1.1.3含義說明為了方便訪問學生信息,將姓名、學號、所在系、專業(yè)作為一個整體進行存取組成姓名+學號+所在系名稱+專業(yè)名稱相關元素姓名,學號,所在系名稱,專業(yè)名稱圖2-7數據結構詞條作為示例,圖2-7描述了學生成績管理系統(tǒng)中的學生數據結構詞條。2.3.4外部實體2.3.4外部實體外部實體是指不受系統(tǒng)控制、處于系統(tǒng)之外的事物、機構、人員等客觀實體的統(tǒng)稱。外部實體在DFD中一般作為數據流的源點(起點)或匯點(終點)。在數據庫系統(tǒng)開發(fā)中,外部實體可作為基本表、應用程序常量或變量的設計依據。2.3.4外部實體外部實體用外部實體詞條描述。外部實體詞條一般應包含如下內容:(1)外部實體名稱給出外部實體的名稱。(2)別名如果外部實體有多個名稱,則給出別名。(3)編號給出外部實體的編號??刹捎米皂斚蛳碌姆椒ň幪枴#?)簡要描述說明外部實體的性質、職能等。(5)輸入的數據流列出進入該外部實體的數據流。(6)輸出的數據流列出離開該外部實體的數據流。(7)數量:在整個DFD中,該外部實體出現的次數。2.3.4外部實體外部實體名稱教務科別名編號1.5簡要描述負責日常教學管理工作,如排課表、教學調度、學生成績管理輸入的數據流教學進度表、課程成績單、調課申請表、免修申請表輸出的數據流教學任務書、課程表、成績單數量6圖2-8外部實體詞條作為示例,圖2-8描述了學生成績管理系統(tǒng)中的教務科外部實體詞條。2.3.5數據流2.3.5數據流數據流是系統(tǒng)中有著起點和終點的數據結構;其中,起點和終點可以是外部實體、處理、數據存儲之一,但是起點和終點中至少有一個是處理。數據流反映了數據從起點到終點的移動。例如,在學生成績管理系統(tǒng)中,從成績數據存儲中讀出某個學生的成績用于形成成績單,成績就是數據流,其起點是成績數據存儲、終點是形成成績單處理。在數據庫系統(tǒng)開發(fā)中,數據流可以用視圖等實現。2.3.5數據流數據流用數據流詞條描述。數據流詞條一般應包含如下內容:(1)數據流名稱給出數據流的名稱。(2)別名如果數據流有多個名稱,則給出別名。(3)編號給出數據流的編號??刹捎米皂斚蛳碌姆椒ň幪?。(4)說明簡要介紹數據流產生的原因和結果。(5)數據流來源指出數據流來自何方。(6)數據流去向指出數據流到何處去。(7)組成說明數據流是由哪些數據結構組成的。(8)平均流量給出數據流平均流量,即單位時間(如每天、每周、每月)內傳輸的次數。(9)高峰期流量給出數據流高峰期的流量。平均流量、高峰期流量等為數據庫的存儲設計、服務器設計等提供依據。(10)相關元素說明與該數據流有關的DFD、數據字典元素等。2.3.5數據流數據流名稱成績別名編號1.1.3說明因學生或管理人員查詢成績而產生數據流來源處理1.2.1:讀取學生成績數據流去向處理1.2.3:顯示學生成績組成姓名+學號+課程代碼+課程名稱+成績平均流量600次/天高峰期流量期末,50000次/天相關元素處理1.2.1、處理1.2.3,數據項1.2.1、數據項1.2.2、數據項1.2.3、數據項1.2.4、數據項1.2.5圖2-9數據流詞條作為示例,圖2-9描述了學生成績管理系統(tǒng)中的成績數據流詞條。2.3.6數據存儲2.3.6數據存儲數據存儲是數據及其結構停留或保存的地方,是數據流的來源和去向之一。數據存儲可以是手工文檔、手工憑單或計算機文檔。例如,在學生成績管理系統(tǒng)中,學生基本信息就是一個數據存儲。在數據庫系統(tǒng)開發(fā)中,數據存儲一般用基本表實現。2.3.6數據存儲數據存儲用數據存儲詞條描述。數據存儲詞條一般應包含如下內容:(1)數據存儲名稱給出數據存儲的名稱。(2)別名如果數據存儲有多個名稱,則給出別名。(3)編號給出數據存儲的編號。數據存儲編號一般以字母F開頭,然后按順序編號。(4)說明簡要介紹存放的是什么數據。(5)輸入的數據流說明進入該數據存儲的數據流。(6)輸出的數據流說明從該數據存儲出去的數據流。(7)組成說明數據存儲是由哪些數據結構組成的。2.3.6數據存儲(8)數據量說明每次存取多少數據。(9)存取頻度給出該數據存儲單位時間(如每天、每周、每月)內的存取次數。(10)存取方式說明是批處理還是聯(lián)機處理、是檢索還是更新、是順序檢索還是隨機檢索,指出關鍵字等。數據量、存取頻度、存取方式等為數據庫的存儲設計、服務器設計等提供依據。(11)相關元素說明與該數據存儲有關的DFD、數據字典元素等。2.3.6數據存儲數據存儲名稱學生基本信息別名編號F1說明存儲學生的基本信息輸入的數據流學生基本信息輸出的數據流學生基本信息、學生簡要信息組成姓名+學號+曾用名+性別+籍貫+民族+家庭出身+個人成份+政治面貌+出生日期+入學前文化程度+畢業(yè)學校+參加工作日期+入學前單位+家長姓名+郵政編碼+家庭地址+聯(lián)系電話+所在系+專業(yè)+班級+入學日期+學制數據量平均每次訪問5個學生的基本信息,每次最多訪問2000個學生的基本信息存取頻度平均頻度:600次/天,期末高峰期頻度:50000次/天存取方式聯(lián)機處理,檢索+更新,隨機檢索,關鍵字為學號相關元素處理1.2.1、處理1.2.3,數據項1.2.1、數據項1.2.2……圖2-10數據存儲詞條作為示例,圖2-10描述了學生成績管理系統(tǒng)中的學生基本信息數據存儲詞條。2.3.7處理邏輯2.3.7處理邏輯數據庫系統(tǒng)要做的工作包括數據讀取、數據變換、數據顯示、數據寫入、數據通信等,這些工作在DFD中用處理來表示。處理邏輯用于描述處理是如何工作的,有哪些輸入和輸出。描述處理邏輯的方法比較多,如判定表、判定樹、結構化自然語言、偽代碼(相關內容在軟件工程、高級語言程序設計、算法設計等著作中有比較深入的介紹),但這些方法占用篇幅比較大。相反,數據字典中的處理邏輯詞條用很小的篇幅給出處理邏輯的簡明描述,便于快速地從宏觀上了解數據庫系統(tǒng)的功能,因而應用非常廣泛。在數據庫系統(tǒng)設計與實現階段,處理邏輯往往與應用程序模塊形成一一對應的關系。2.3.7處理邏輯處理邏輯詞條一般應包含如下內容:(1)處理名稱給出處理的名稱。(2)編號給出處理的編號,編號與DFD一致。(3)說明簡要介紹處理及其功能。(4)輸入的數據流列出進入該處理的數據流。(5)輸出的數據流列出離開該處理的數據流。(7)處理邏輯簡要介紹處理事項、邏輯順序。注意,由于詞條的空間不能太大,處理邏輯在數據字典中一般不需要詳細描述,詳細描述應在軟件功能分析中進行。(8)平均執(zhí)行頻率給出該處理單位時間(如每天、每周、每月)內的平均運行次數。(9)平均執(zhí)行頻率給出該處理單位時間(如每天、每周、每月)內的高峰期運行次數。(9)相關元素說明與該處理邏輯有關的DFD、數據字典元素等。2.3.7處理邏輯處理名稱生成成績總表別名編號1.1.3.2說明成績總表是學生在校期間全部成績的匯總。本處理生成成績總表后,提交給打印成績總表處理打印輸入的數據流學號、成績、學生、課程輸出的數據流成績總表處理邏輯該模塊通過學生學號從成績數據存儲中讀取該學號學生的所有課程成績,再從學生基本信息數據存儲中讀取學生姓名、專業(yè)和所在系等數據,然后從課程名錄數據存儲中讀取課程名稱和學分等信息,最后按格式生成成績總表平均執(zhí)行頻率200次/天高峰期執(zhí)行頻率畢業(yè)前夕,3000次/天相關元素處理1.1.3.1、處理1.1.3.3、數據存儲F1、數據存儲F2……圖2-11處理邏輯詞條作為示例,圖2-11描述了學生成績管理系統(tǒng)中的生成成績總表處理邏輯詞條。2.3.8數據字典編制的結構化方法2.3.8數據字典編制的結構化方法SA方法可以用來編制和組織數據字典。具體做法是:首先是數據字典的詞條按照“自頂向下、逐層分解”的順序展開,這樣做的好處是層次清晰、易于閱讀。其次是數據字典的編號也可以利用層次化的思想進行設計,這樣做的好處是容易找出數據字典元素之間的層次關系。例2-1試用SA方法編制圖2-12所示的銀行儲蓄管理系統(tǒng)的“銀行存折”數據存儲相關的數據存儲、數據結構、數據項等詞條。為了節(jié)省篇幅,我們僅給出數據字典元素的名稱,組成(或含義)、類別和編號。2.3.8數據字典編制的結構化方法圖2-12銀行存折樣式2.3.8數據字典編制的結構化方法存折=戶名+所號+帳號+開戶日+性質+(印密)+1{存取行}50,數據存儲,編號:F1。戶名=2{字母}24,數據項,編號:1.1。所號=‘0001’…‘9999’,數據項,編號:1.2。帳號=‘00000001’…‘99999999’,數據項,編號:1.3。開戶日=年+月+日,數據結構,編號:1.4。性質=‘1’..‘6’,數據項,編號:1.5。其中‘1’表示普通帳戶,‘2’表示工資帳戶等。2.3.8數據字典編制的結構化方法印密=‘0’..‘1’,數據項,編號:1.6。其中‘0’表示有印密;‘1’表示沒有印密,即印密在存折上不顯示。存取行=日期+(摘要)+支出+存入+余額+操作+復核,數據結構,編號:1.7。日期=年+月+日,數據結構,編號:1.7.1。年=‘0001’..‘9999’,數據項,編號:1.7.1.1。月=‘01’..‘12’,數據項,編號:1.7.1.2。日=‘01’..‘31’,數據項,編號:1.7.1.3。2.3.8數據字典編制的結構化方法摘要=1{字母}4,數據項,編號:1.7.2。其中摘要的內容用縮略詞表示業(yè)務種類,如“存”、“取”、“轉”、“換”分別表示“存款”、“取款”、“轉帳”、“更換新存折”。支出=金額,數據項,編號:1.7.3。存入=金額,數據項,編號:1.7.4。余額=金額,數據項,編號:1.7.5。金額=0.01..99999999.99,數據項,編號:1.7.3.1。操作=‘00001’..‘99999’,數據項,編號:1.7.6。復核=‘00001’..‘99999’,數據項,編號:1.7.7。2.4信息分類與編碼為了提高信息的存儲、處理和使用效率,有必要對信息進行科學的分類與編碼。2.4.1信息分類1.信息分類的原則信息分類是指將具有某種共同屬性或特征的信息歸并在一起,把不具有上述共性的信息區(qū)別開來的過程。信息分類要遵循以下原則:(1)科學性原則科學性是信息分類的客觀要求。通常選擇事物或概念(即分類對象)最穩(wěn)定的本質屬性或特征作為分類的基礎和依據。信息分類的原則(2)系統(tǒng)性原則將選定的事物或概念的屬性或特征按一定排列順序予以系統(tǒng)化,并形成一個合理的分類體系。(3)可擴展性原則分類體系的建立應滿足事物的不斷發(fā)展和變化的需要。在設置分類的類目中,要保證在增加新的事務或概念時,不致打亂已建立的分類系統(tǒng)。(4)兼容性原則分類應與有關標準協(xié)調一致。(5)綜合實用性原則信息分類應從系統(tǒng)工程的角度出發(fā),放在具體的應用環(huán)境中進行考慮。在類目的設置上,既要體現分類體系的相對穩(wěn)定性、可擴展性,又要方便用戶快速查詢。信息分類的方法2.信息分類的方法信息分類的基本方法有兩種:線分類法與面分類法。(1)線分類法線分類法也稱等級分類法。線分類法按選定的若干屬性(或特征)將分類對象逐次地分為若干層級,每個層級又分為若干類目。同一分支的同層級類目之間構成并列關系,不同層級類目之間構成隸屬關系。同層級類目互不重復,互不交叉。例如,我國行政區(qū)劃編碼,是采用線分類法,6位數字碼。第一、二位表示?。ㄗ灾螀^(qū)、直轄市),第3、4位表示地區(qū)(市、州、盟),第5、6位表示縣(市、旗、鎮(zhèn)、區(qū))的名稱。湖北省部分行政區(qū)的分類及其編碼如表3-1所示。編碼名稱4242014202…4212421221421222湖北省武漢市黃石市…咸寧市咸安區(qū)嘉魚縣同層級類目同層級類目表3-1湖北省部分行政區(qū)分類及其編碼線分類法線分類法線分類法的優(yōu)點是:層次性好,能較好地反映類目之間的邏輯關系。它屬于傳統(tǒng)的習慣分類方式,既符合手工處理信息的傳統(tǒng)習慣,又便于計算機對信息進行處理。線分類法的缺點是:結構彈性差。分類結構一經確定,不易改動,因此,使用線分類法必須考慮到有足夠的后備容量。此外,當線分類層次較多時,將影響數據處理的速度。面分類法(2)面分類法面分類法將分類對象按選定的若干個屬性或特征,分成彼此之間互不相關的若干方面(簡稱面),每個面又可分為許多彼此獨立的若干類目。不同“面”內的類目互不重復,互不交叉。使用時,可根據需要將這些面中的類目組合在一起,形成一個復合類目。例如,服裝的分類可以按照服裝所用的材料、男女服裝以及服裝款式等分成幾個面,每個面內又分成若干類目,如表3-2所示。面分類法服裝用材男女服裝服裝款式純棉純毛中長纖維…男女中山裝西裝獵裝連衣裙…表3-2面分類法面分類法面分類法的主要優(yōu)點是分類結構具有較大的柔性。分類體系中任何一個“面”內類目的改變,不會影響其他的“面”,易于添加和修改類目。除此以外,面分類適用性比較強,可實現按任意“面”的信息進行檢索,這對計算機信息處理有良好的適應性。面分類的主要缺點在于不能充分利用容量。這是因為在實踐中許多可組配的類目無實用價值。例如,像純毛男式連衣裙這樣的組合類目就無實用意義。線分類法和面分類法各有優(yōu)缺點。在實際應用中,為了滿足信息分類要求,有時還將兩種分類方法結合使用。2.4.2信息編碼2.4.2信息編碼編碼是指事物或概念的名稱、屬性、狀態(tài)等的符號或記號。計算機的數據處理工作是通過編碼來識別事物與概念的,同時計算機為了高效地對信息進行收集、存貯、加工與檢索等作業(yè),信息的編碼工作是必不可少的。例如,一個企業(yè)設計了職工編號、物資編號、設備編號、合同編號、會計科目編號等。這些編碼設計的目的在于識別事物,以及高效率地處理業(yè)務。設計編碼的基礎是信息分類,有了合理的分類方案才能設計出科學的、使用方便的、高效率的編碼。信息編碼的功能1.信息編碼的功能(1)鑒別。編碼是鑒別信息分類對象的唯一標識。(2)分類。當分類對象按一定屬性分類時,對每一類別設計一個編碼,這時編碼可以作為區(qū)分對象類別的標識。這種標識要求結構清晰,毫不含糊。(3)排序。由于編碼所有的符號都具有一定的順序,因而可以方便地按此順序進行排序。(4)專用含義。由于某種需要,當采用一些專用符號代表特定事物或概念時,編碼就提供一定的專用含義,如某些分類對象的技術參數,性能指標等。信息編碼的原則2.信息編碼的原則(1)唯一性原則編碼是人、事、物以及概念的一種唯一性的、不合糊的認定。這是信息編碼最重要的原則,也是編碼最基本的功能。一個編碼只能唯一地標識一個信息分類對象,而一個信息分類對象在一個信息分類編碼標準中也只能有一個唯一的編碼。(2)正確性原則表示信息編碼應當科學、合理,既遵循信息編碼的基本原理,又符合組織的實際情況。既能滿足組織自身的需要,又能滿足組織合作伙伴的特殊要求。既要符合國家的標準或規(guī)定,又應該盡可能地遵守國際標準或慣例。信息編碼的原則(3)可擴展性原則隨著管理信息的不斷變化,信息編碼不能僅僅考慮當前的信息狀況,而且應該考慮未來的發(fā)展狀況和需要。信息編碼應該有足夠的編碼資源,以便滿足不斷增長的對信息編碼的要求,以適應不斷擴充的信息處理的需要。(4)規(guī)范性原則編碼應盡量符合標準化的要求。有國際的、國家的、部門的、行業(yè)的標準。編碼時必須符合這些標準的要求。在一個組織(單位、部門)內部,同一種信息分類對象的編碼應該統(tǒng)一。(5)穩(wěn)定性原則編碼工作是建立信息管理系統(tǒng)的一項基礎工作。編碼的影響面很大,因而設計編碼應該慎重,一旦批準通過后,必須嚴格執(zhí)行,輕易不作修改。信息編碼的方法3.信息編碼的方法(1)順序編碼順序編碼又稱系列碼。這種編碼方法是將要編碼的對象按一定的規(guī)則(如發(fā)生的順序、大小的順序等)分配給連續(xù)的順序號碼。通常從1開始。例如,一個企業(yè)有1000個職工,其職工號可以編成0001、0002、0003、…、1000。順序碼的特點是簡單明了,位數少,易于追加,易于管理。但這種碼沒有邏輯基礎,它本身不能說明任何信息的特征,因而不能用于分類處理等場合。同時追加的部分只能列在最后,刪除則造成空碼。通常,順序碼適合于比較固定的永久性編碼(如大城市編碼等),或者和其他編碼方式配合使用。信息編碼的方法(2)區(qū)間編碼區(qū)間編碼是對編碼對象分區(qū)間進行編碼。例如,會計科目編碼用區(qū)間碼表示會計科目的性質:101-199表示資產類科目、201-299表示負債類科目、301-399表示所有者權益類科目、401-499表示成本類科、501-599表示損益類科目。這樣,以三個數字按區(qū)間編碼來代表某一科目,因而編碼占用的位數不多,而且能表示較多信息,易追加,易插入,但其缺點是處理比較麻煩。信息編碼的方法(3)字母編碼字母編碼是用具有特定意義的字母代表某一類項目。例如,用“L”代表來源類科目,“Z”代表占用類科目。商品編碼中用“TV”表示電視機。各種度量單位編碼中用“KG”表示公斤,“m”表示米,“cm”表示厘米等等。這種編碼的特點是可以通過漢語拼音或英語聯(lián)想幫助記憶,但其位數較多,處理不便,容易產生重復。例如,中國互聯(lián)網的行政區(qū)域名編碼SX代表山西省,SN代表陜西省,HB代表湖北省,HE代表河北省等。信息編碼的方法(4)組合編碼組合編碼是以上述三種編碼結合使用的編碼方法。常用的有:1)按位編碼和順序編碼的組合編碼法。例如,職工編碼共5位,前兩位是部門編碼,后3位是個人編碼,而部門編碼及個人編碼均按順序編碼。郵政編碼、身份證號碼、學生學號等編碼方法相似。2)字母、數字組合的編碼法。是某幾位用字母,某幾位用數據的編碼方法。例如,汽車牌照的編碼、電報電傳的編碼。信息編碼的方法(5)校驗位
為了保證正確的輸入,可以在原有編碼的右端設計一個校驗位,使它事實上變成編碼的一個組成部分。校驗位通過事先規(guī)定的數學方法計算出來。當編碼錄入時,由計算機按同樣的數學方法對輸入的編碼(原編碼部分)數字計算出校驗位,并將它與輸入的校驗位進行比較,以校驗輸入的編碼是否有錯。由校驗位可以發(fā)現以下各種錯誤:數字看錯,例如,1看成7;易位錯誤,例如,1234輸入時誤為1324;雙易位錯,例如,26913輸入時誤為21963;隨機錯誤,包括以上兩種或三種綜合性錯誤或其他錯誤。信息編碼的方法校驗位的計算方法如下:1)對每位編碼加權。即各位編碼乘以權因子,求出各位之積,再將各位積相加求和。一般權因子的取法有如下幾種:①取一個幾何級數,如20、21、22、…。②取一個算術級數,如7、6、5、…。③都取1。④取1、2、1、2、…。⑤取一串質數17、13、7、5、3、…。信息編碼的方法2)各位乘積之和取模M的余數R,R即可作為校驗位的值。模一般為11、也可以是10、13等。下面舉例說明校驗位的計算與用法。信息編碼的方法例3-1設原編碼為12345,用算術級數法確定權因子,試計算其校驗位。各位分別乘以權:6、5、4、3、2;得出乘積之和為:(1×6)+(2×5)+(3×4)+(4×3)+(5×2)=50。對模11求余:50÷11余6,則6為校驗位。因此,原編碼加上一位校驗位成為123456。如果將該編碼錄入時,輸入的錯誤編碼為123556,計算機按原來的權重新計算校驗位[(1×6)+(2×5)+(3×4)+(5×3)+(5×2)]÷11,余9。由于計算出的驗位值與輸入的校驗位值不一致,即9≠6,因此該類錯誤可以很容易地捕獲。2.5數據定義分析數據定義分析的任務是確定系統(tǒng)安裝和正常運行期間數據庫、基本表、視圖、索引等對象的創(chuàng)建、修改與刪除等需求。數據定義分析為數據庫并發(fā)處理設計提供依據。數據定義分析很有必要。首先,雖然數據庫系統(tǒng)的上述對象是開發(fā)人員在數據庫實現時創(chuàng)建的,但是一些通用性較強的數據庫系統(tǒng)相當一部分對象是在系統(tǒng)安裝或者正常運行時創(chuàng)建的。例如,為了提高數據庫的運行速度,證券交易管理系統(tǒng)按月份存儲數據,即每個月份的數據存儲在該月份對應的數據庫中;于是每個月1號之前需要建立一個對應該月的數據庫。其次,數據庫運行期間可能存在修改某個對象的需求。例如,學生成績管理系統(tǒng)在運行期間由于系統(tǒng)升級,學生基本信息需要增加一個數據項。最后,在數據庫運行期間可能存在刪除某個對象的需求。例如,一些臨時建立的對象在不使用時需要刪除。2.5數據定義分析可以從以下幾個方面進行數據定義分析:(1)對象命名時是否考慮了時間因素?如是,則可能有創(chuàng)建需求。(2)數據庫系統(tǒng)在運行過程中,為了提高數據處理的速度,可能需要創(chuàng)建臨時表,用于存儲數據處理的中間結果。(3)由于應用系統(tǒng)的復雜要求,需要在應用程序中動態(tài)地創(chuàng)建視圖,以簡化系統(tǒng)對數據操作的語句。2.6數據操縱分析數據操縱分析主要是數據插入、修改、刪除、查詢、統(tǒng)計和排序等方面的分析。2.6.1數據更新分析數據更新是指對數據庫中的數據進行各種更新操作,包括對數據進行插入、修改、刪除等操作,從而使數據庫中的數據發(fā)生變化。1.數據插入數據插入是在原有數據的基礎上增加新的數據。插入的數據可以是一個表中的一條或者多條記錄。在關系數據庫中數據插入語句有兩種使用形式:一種是使用常量,一次插入一個記錄。另一種是利用查詢的結果集,一次插入多個記錄。數據更新分析2.數據刪除數據刪除是將對原有的不需要的數據執(zhí)行刪除操作,從而達到減少數據使數據得到更新的目的。在對數據執(zhí)行刪除操作時,若需要刪除的數據和其他表中的數據有關聯(lián),則為了保證數據的完整性和一致性,通常也需要將相關數據進行刪除更新操作。3.數據修改數據修改是指對原有數據中的部分數據或者全部數據進行修改操作,從而使數據滿足新要求而實現數據更新的目的。在關系數據庫中,數據經常需要執(zhí)行修改操作,以符合新的要求。例如,在學生基本信息表中,當某個學生的專業(yè)發(fā)生變化時,就需要修改原來所登記的專業(yè)信息以達到更新的目的。2.6.2數據查詢分析2.6.2數據查詢分析數據查詢分析的任務是確定系統(tǒng)正常運行期間,根據數據字典、應用系統(tǒng)需求及用戶的需求,確定哪些屬性作為數據查詢的選擇條件構造依據,并根據系統(tǒng)對數據查詢響應時間要求的快慢,合理地完成索引等對象的創(chuàng)建、修改與刪除等操作。一般可以從以下幾個方面進行數據查詢分析:(1)根據系統(tǒng)需求分析的結果及各類用戶對數據查詢的需求,分析應用系統(tǒng)需要哪些實體集的屬性作為系統(tǒng)查詢的條件,如某工廠管理系統(tǒng)要求依據職工的崗位、職位等屬性進行數據的查詢。(2)根據分析比較,確定數據查詢速度的快慢,合理地針對某些屬性設計索引,以加快查詢響應時間。2.6.3數據統(tǒng)計和排序分析2.6.3數據統(tǒng)計和排序分析所謂排序是指將一組雜亂無章的數據按一定的規(guī)律順次排列起來。比如,按人名的筆畫數、工資額、銷售業(yè)績由高到低排列等等。為了使數據更具有層次感,需要對基本表中的數據進行分類匯總,將數據庫中的記錄按某個字段分類后進行匯總統(tǒng)計,統(tǒng)計方式包括求和、求平均值、計數、求最大(小)值等。分組(類)統(tǒng)計的例子有:(1)按照銷售代表、生產線、銷售區(qū)域或季度分組進行銷售情況統(tǒng)計。(2)按照公司部門(分公司)、生產線或季度分組進行財務情況統(tǒng)計。(3)按照部件、供應商和生產廠家分組進行投資情況統(tǒng)計。2.7數據完整性分析完整性分析是基本表設計的重要基礎,它是找出保證數據庫中數據滿足一致性、正確性和有效性的需求,其目的是防止錯誤的數據進入數據庫。(1)一致性一致性是指表示同一事實的兩個數據應當一致。例如,學生成績管理系統(tǒng)中各個學院保存的學生成績應該和學校教務處保存的學生成績一致。(2)正確性正確性是指數據必須正確無誤的。例如,數值型數據中只能含有數字而不能含有字母。(3)有效性有效性是指數據必須在其定義域之內。例如,性別的定義域為集合{男,女},性別必須在此定義域中取值。數據完整性分析的主要任務是確定數據項取值范圍、關鍵字、數據關聯(lián)。2.7.1數據項取值范圍2.7.1數據項取值范圍數據項取值是有取值范圍限制的,這種限制可以在某種程度上減輕應用程序邏輯查錯的負擔。例如,在職工基本信息中,根據習慣職工年齡一般為正整數,在輸入年齡時,如果不小心輸入為負數或者是小數時,數據庫系統(tǒng)就會自動提示出錯,不充許數據輸入。數據項取值范圍一般在數據字典的數據項詞條中說明。2.7.2關鍵字2.7.2關鍵字關鍵字是能夠唯一標識一個實體的一個或一個以上的無冗余數據項(或數據結構)。關鍵字在數據庫設計中也稱為主碼,沒有兩個實體具有相同關鍵字。如果關鍵字是由一組數據項(或數據結構)組成,則其中不能含有多余的數據項(或數據結構)。例如,在學生基本信息中,學號就是關鍵字,學號確定后,學生的其他數據項的值也就確定了。而且,雖然姓名+學號也能唯一確定一個學生,但其中的姓名是多余的。關鍵字一般通過分析描述實體的各數據項,從這些數據項中挑選一個或多個作為關鍵字。因此,關鍵字可能不止一個。例如,也可以用公民身份證號碼作為學生基本信息的關鍵字。2.7.2關鍵字有時,為了方便,不在實體的各數據項中找出關鍵字,而是人工制造一個關鍵字。例如,在珍稀野生動物管理中,通常采用編號而不是DNA指紋來識別這些動物,雖然兩者均是關鍵字。關鍵字主要用于提高數據處理、檢索和更新速度,保證數據不能被重復輸入到數據庫中。關鍵字一般在數據字典的數據存儲詞條中說明。2.7.3數據關聯(lián)2.7.3數據關聯(lián)數據關聯(lián)是指兩個或多個對象之間的聯(lián)系。這里,對象是指數據項、數據結構、基本表、視圖。數據關聯(lián)分為算術關聯(lián)、集合關聯(lián)、邏輯關聯(lián)三類。1.算術關聯(lián)算術關聯(lián)是通過算術運算符把兩個或多個對象聯(lián)系起來。常用的算術運算有4種,它們是加、減、乘、除。例如,金額=單價×數量。2.7.3數據關聯(lián)2.集合關聯(lián)集合關聯(lián)是通過集合運算符把兩個或多個對象聯(lián)系起來。常用的集合運算有并、交、包含、屬于等。3.邏輯關聯(lián)邏輯關聯(lián)是通過邏輯運算符把兩個或多個對象聯(lián)系起來。常用的邏輯運算有與、或、非、大于、等于、小于等。2.8數據安全性分析數據庫的安全性和計算機系統(tǒng)的安全性,包括計算機硬件、操作系統(tǒng)、網絡系統(tǒng)等的安全性、是緊密聯(lián)系、相互支持的,因此在討論數據庫的安全性之前首先討論計算機系統(tǒng)安全性的一般問題。數據庫安全性分析主要關心數據庫用戶及其權限、數據加密需求、病毒防護需求、防非法訪問需求。2.8.1數據安全的概念2.8.1數據安全的概念數據庫的安全性是指保護數據庫,以防止不合法的使用造成的數據泄密、更改或破壞。不合法的使用是指不具有數據操縱權限的用戶進行了越權的數據操縱。DBMS通過種種防范措施防止用戶越權使用數據庫,其安全保護措施是否有效是數據庫系統(tǒng)的主要性能指標之一。2.8.2數據訪問權限2.8.2數據訪問權限DBMS對需要訪問數據庫的用戶提供了多項安全控制措施以保證數據的安全,只允許用戶執(zhí)行合法的操作。這些保護措施包括:用戶標識和鑒別、存取控制、自主存取控制、強制存取控制、視圖機制、審計等。用戶標識和鑒別1.用戶標識和鑒別用戶標識和鑒別是系統(tǒng)提供的最外層安全保護措施。每次用戶要求訪問數據時都要求輸入用戶標識,進行核對后,對于合法的用戶才提供數據訪問權限。常用的方法有:①用輸入用戶名來標明用戶身份。②通過回答口令來標識用戶身份。③通過回答隨機數的運算結果標明用戶身份。存取控制2.存取控制DBMS的存取控制是數據庫安全的一個重要保證,它確保具有數據庫使用權的用戶訪問數據庫,同時令未被授權的人員無法訪問數據。存取控制機制主要包括兩個部分:①定義用戶權限,并將用戶權限登記到數據庫中。②當用戶提出操作請求時,系統(tǒng)進行權限檢查。存取機制的類型有:①自主存取控制。在自主存取控制方法中,用戶對于不同的對象有不同的存取權限,不同的用戶對同一對象的存取權限也各不相同,用戶可以將自己擁有的存取權限轉授給其他用戶。很明顯,自主存取控制比較靈活。②強制存取控制。在強制存取控制方法中:每個數據對象被標以一定的密級。每個用戶也被授予某一個級別的許可證。對于任意一個對象,只有具有合法許可證的用戶才可以存取。與自主存取控制比較起來,強制存取控制比較嚴格。自主存取控制方法3.自主存取控制方法在關系數據庫系統(tǒng)中,系統(tǒng)對自主存取控制提供了支持,其數據控制語言主要是授權和收權語句。(1)關系中的用戶權限用戶權限主要包括數據對象和操作類型兩個要素,定義用戶的存取權限稱為授權,通過授權規(guī)定用戶可以對哪些數據進行什么樣的操作。在關系系統(tǒng)中,DBA可以把建立基本表和修改基本表的權限授予用戶,用戶一旦獲得此權限后就可以建立和修改基本表,同時還可以創(chuàng)建所建表的索引和視圖,關系系統(tǒng)中存取控制的數據對象不僅包括數據(如表、屬性列等),還包括數據庫的模式(邏輯模式、外模式和內模式)。自主存取控制方法(2)關系數據庫中的數據控制功能關系數據庫中的數據控制功能主要是授權和收權語句的使用,包括:①數據對象的創(chuàng)建者自動獲得對于該數據對象的所有操作權限;②獲得數據操縱權限的用戶可以通過授權語句把權限轉授給其他用戶;③當用戶將某些權限授給其他用戶后,有時還需要把權限收回。(3)授權機制的性能1)用戶權限定義中數據對象范圍越小,授權系統(tǒng)就越靈活。授權粒度越細,授權子系統(tǒng)就越靈活,但系統(tǒng)定義與檢查權限的開銷也會相應地增大。自主存取控制方法2)用戶權限定義中能夠使用謂詞的授權系統(tǒng)比較靈活。3)用戶權限定義中能夠使用謂詞、且存取謂詞中能夠引用系統(tǒng)變量的授權系統(tǒng)更加靈活。由于系統(tǒng)變量能夠表達諸如日期、時間、設備及用戶名等信息,通過它可以控制用戶只能在某段時間內、某臺終端上存取有關數據。4)自主存取控制的不足之處自主存取控制方法自主存取控制能夠通過授權機制有效地控制用戶對敏感數據的存取,但也存在著一定的缺陷,其主要問題是系統(tǒng)對權限的授予狀況無法進行有效的控制,因而可能造成數據的無意泄露。例如,甲將自己權限范圍內的某些數據存取權限授權給乙,甲的意圖是只允許乙本人操作這些數據。但甲的這種安全性要求并不能得到保證,因為乙一旦獲得了對數據的權限,就可以將數據備份,獲得自身權限內的副本,并在不征得甲同意的前提下傳播副本。造成這一問題的根本原因就在于,這種機制僅僅通過對數據的存取權限來進行安全控制,而數據本身并無安全標記。強制存取控制方法4.強制存取控制方法強制存取控制方法是系統(tǒng)所采取的強制存取檢查手段,它不是用戶能直接感知或進行控制的。強制存取控制方法適用于那些對數據有嚴格而固定密級分配的部門,例如,軍事部門或政府部門。(1)主體、客體及敏感度標記在強制存取控制方法中,DBMS所管理的全部實體被分為主體和客體兩大類。主體是系統(tǒng)中的活動實體,它既包括DBMS所管理的實際用戶,也包括代表用戶的各進程??腕w是系統(tǒng)中的被動實體,它是受主體操縱的??腕w包括文件、基本表、索引、視圖等。對于主體和客體,DBMS為他們每個實例設置了一個敏感度標記。強制存取控制方法敏感度標記被分成若干級別,例如,絕密、機密、可信、公開等。主體的敏感度標記稱為許可證級別,客體的敏感度標記稱為密級。強制存取控制機制就是通過對比主體的敏感度標記和客體的敏感度標記,最終決定主體是否能夠存取客體。(2)主體對客體的存取規(guī)則當某一用戶(或某一主體)以敏感度標記注冊入系統(tǒng)時,系統(tǒng)要求他對任何客體的存取必須遵循如下規(guī)則:強制存取控制方法1)僅當主體的許可證級別大于或等于客體的密級時,該主體才能讀取相應的客體。2)僅當主體的許可證級別等于客體的密級時,該主體才能寫相應的客體。第一條規(guī)則的意義是明顯的。而第二條規(guī)則的意義在不同系統(tǒng)中其解釋有些差別。有些系統(tǒng)規(guī)定:僅當主體的許可證級別小于或等于客體的密級時,該主體才能寫相應的客體,即用戶可以為寫入的數據對象賦予高于自己的許可證級別的密級。這樣一旦數據被寫入,該用戶自己也不能再讀該數據對象了。這兩種規(guī)則的共同點在于它們禁止了擁有高許可證級別的主體更新低密級的數據對象,從而也就防止了敏感數據的泄露。強制存取控制方法(3)由自主存取控制和強制存取控制共同構成的安全機制在實現強制存取控制時要首先實現自主存取控制,即自主存取控制與強制存取控制共同構成DBMS的安全機制。系統(tǒng)在安全檢查時,首先進行自主存取控制檢查,然后進行強制存取控制檢查,兩者都通過后,用戶才能執(zhí)行其數據存取操作。視圖機制5.視圖機制視圖的一個優(yōu)點就是可以對機密的數據提供安全保護。在系統(tǒng)中,可以為不同的用戶定義不同的視圖,通過視圖把數據對象限制在一定范圍內,把要保密的數據對無權存取的用戶隱藏起來,從而自動地對數據提供一定程度的安全保護。視圖機制間接地實現了支持存取謂詞的用戶權限定義。例如,某學生只能瀏覽數學系學生的信息,這就要求系統(tǒng)提供具有存取謂詞的授權語句。在不直接支持存取謂詞的系統(tǒng)中,可以先建立數學系學生的視圖,然后在該視圖上定義存取權限。審計6.審計所謂審計功能就是把用戶對數據庫的所有操作自動記錄下來放入審計日志中。這樣,一旦發(fā)生數據被非法存取,DBA可以利用審計跟蹤的信息,重現導致數據庫現有狀況的一系列事件,找出非法存取數據的人、時間和內容等。由于任何系統(tǒng)的安全保護措施都不可能完美無缺,蓄意盜竊、破壞數據的人總是想方設法打破控制,因此審計功能在維護數據安全、打擊犯罪方面是非常有效的。2.8.3數據加密2.8.3數據加密我們經常需要一種措施來保護我們的數據,防止被一些懷有不良用心的人所看到或者破壞。在競爭激烈的大公司中,工業(yè)間諜經常會獲取對方的情報。因此,在客觀上就需要一種強有力的安全措施來保護機密數據不被竊取或篡改。數據加密是防止數據庫中數據在存儲和傳輸中失密的有效手段。加密的基本思想是根據一定的算法將原始數據(術語為明文,PlainText)變換為不可直接識別的格式(術語為密文,CipherText),從而使得不知道解密算法的人無法獲知數據的內容。加密方法主要有兩種:2.8.3數據加密(1)替換方法該方法使用密鑰(EncryptionKey)將明文中的每個字符轉換為密文中的字符。(2)置換方法該方法僅將明文的字符按不同的順序重新排列。單獨使用這兩種方法的任意一種都是不夠安全的。但是將這兩種方法結合起來就能提供相當高的安全程度。2.9并發(fā)處理分析所謂并發(fā)簡單地說就是兩件事情的發(fā)生或處理是同時發(fā)生在時間上是重疊的。例如,在網絡環(huán)境下,兩個用戶同時修改服務器上的一個文檔就是一種并發(fā)現象。并發(fā)處理分析的目的在于發(fā)現并發(fā)現象,并在數據設計中要力求避免或消除之。數據庫并發(fā)處理分析的主要內容有:1.分析數據定義時產生的并發(fā)處理需求主要任務是分析基本表、視圖和索引在定義、修改或刪除期間有哪些數據定義、查詢和更新需求。數據定義時產生的并發(fā)現象在數據庫系統(tǒng)中是常見的。例如,如果甲用戶正在讀取某個基本表的數據,乙用戶卻試圖刪除這個基本表,那么甲用戶讀的數據將是不完整的,嚴重時可能導致甲用戶的計算機系統(tǒng)崩潰。2.9并發(fā)處理分析2.分析數據操縱時產生的并發(fā)處理需求主要任務是分析數據更新期間有哪些數據查詢和更新需求,以便數據庫設計時消除一個用戶在讀取數據、另一個用戶卻試圖修改或刪除數據等現象發(fā)生。3.分析數據庫維護時產生的并發(fā)處理需求主要任務是分析數據庫維護期間有哪些數據定義、數據查詢和更新需求。在日常生活中,我們經常會發(fā)現在數據維護期間用戶仍然在訪問數據庫的現象。例如,用戶發(fā)送電子郵件時剛好碰到郵件服務器正對電子郵件服務器數據庫進行維護,造成用戶的電子郵件很長時間不能成功發(fā)送。2.10數據庫性能分析數據庫性能分析的任務是分析數據庫容量、吞吐量、精度、響應時間、存儲方式、可靠性、可擴展性、可維護性等數據庫性能需求。通過數據庫性能分析,可以比較準確地了解數據庫的性能,為選擇DBMS和硬件系統(tǒng)(如CPU、硬盤)提供依據,最終目的是用較小的代價設計和實現滿足預期性能要求的數據庫。1.容量數據庫容量是數據庫能夠存儲的數據量。數據庫需求分析人員通過分析數據字典,根據數據項的長度、數據存儲的數據量等因素和數據庫的預期運行時間,估算數據庫容量。2.10數據庫性能分析2.吞吐量吞吐量是單位時間能夠處理的數據量。數據庫需求分析人員通過分析數據字典,根據數據項的長度、數據流的流量、數據存儲的數據量和存取頻度等因素,估算數據庫吞吐量。3.精度精度是觀測結果、計算值或估計值與真值(或被認為是真值)之間的接近程度。數據庫需求分析人員首先要認真評估數據字典中的數據項的數據類型和精度是否合理,然后為數據項確定合適的精度,必要時修改數據字典。需要指出的是,并非精度越高越好,因為精度高的數據在空間和時間方面的開銷一般也大。2.10數據庫性能分析4.響應時間響應時間是從用戶向計算機發(fā)出處理請求開始,經過處理直到計算機輸出最終結果為止的時間間隔。例如,在學生成績管理系統(tǒng)中,通過計算機查詢考試成績的響應時間是從發(fā)出查詢要求開始,經過處理直到輸出查詢結果為止的時間。數據庫響應時間指數據插入、修改、刪除、查詢、統(tǒng)計和排序的響應時間,也包括數據庫備份、恢復等數據維護的響應時間。數據庫響應時間是DBMS、數據庫系統(tǒng)硬件選擇和設計的重要依據。顯然,響應時間越少,處理速度越快。不同的應用系統(tǒng)對響應時間的需求是不同的。例如,網上股票實時交易系統(tǒng)就要求較少的響應時間,否則會給用戶帶來經濟損失。2.10數據庫性能分析5.存儲方式在系統(tǒng)剛剛建立初期,用戶的數據規(guī)模并不大,存儲需求也很簡單,只是要把相關數據存放在存儲設備上即可,但是當數據量非常大時,數據的存儲方式對數據庫性能影響較大,過于頻繁的I/O操作將嚴重降低系統(tǒng)響應時間??缭轿锢泶鎯υO備來控制數據庫、表和索引的存放。這種做法可以均衡負載,因此可提高數據庫性能。一般來說,大型的、被頻繁操作的表應該分區(qū),存放在幾個存儲設備上。2.10數據庫性能分析
6.可靠性對于數據庫來說,可靠性是指系統(tǒng)能夠在一定時間內不間斷地、低故障率地為各種應用提供數據服務。為了保證數據庫系統(tǒng)的可靠性,應在一開始就確定可靠性和其他質量指標,考慮相應措施。7.可擴展性可擴展性反映了系統(tǒng)適應變化的能力。在數據庫系統(tǒng)開發(fā)過程中,變化是司空見慣的事情,如需求、設計的變化、算法的改進等。2.10數據庫性能分析如果系統(tǒng)規(guī)模很大,問題很復雜,倘若系統(tǒng)的可擴展性不好,那么該系統(tǒng)就像用卡片造成的房子,抽出或者塞進去一張卡片都有可能使房子倒塌。8.可維護性可維護性是反映數據庫是否易于維護的性能指標。數據庫可維護性分析就是分析數據庫有哪些維護需求,以便在數據庫設計時引起足夠的重視。2.11E-R圖實體-聯(lián)系方法(Entity-RelationshipApproach)由P.P.S.Chen于1976年提出,該方法也稱為E-R模型。E-R方法用E-R圖描述現實世界的概念模型。2.11.1E-R圖的基本概念1.實體及其屬性客觀存在并可相互區(qū)分的事物稱為實體。實體可以是具體的人、事、物,也可以是抽象的概念或聯(lián)系,例如一個學生、一部汽車、一門課、學生的一次選課、部門的一次訂貨等都是實體。2.11E-R圖實體所具有的某一特性稱為屬性。實際上,實體通過其特征把它和其他實體區(qū)別開來。例如,學生可通過姓名、學號、性別、年齡和政治面貌等特征來描述。盡管實體具有許多特征,但是我們在研究時,只選擇其中對管理及處理有用的或有意義的特征。例如,在描述一個人健康情況時,可以用職工的身高、體重、血壓等特征表示,而姓名、工資、職務則不相關。屬性為實體的某一方面特征的抽象表示,可以具體取值,即屬性值。例如,某一學生,其姓名=“張三”,學號=“A001”,性別=“男”,年齡=“21”,政治面貌=“黨員”,其中“=”表示取值。實體集2.實體集實體集是具有相同特征或能用同樣特征描述的實體的集合。例如,學生、工人、汽車等都是實體集。實體集不是孤立存在的,實體集間有著各種各樣的聯(lián)系,例如,學生和課程之間有“選課”聯(lián)系,教師和教學之間有“工作”聯(lián)系。實體集和外部實體均是指實體的集合,但兩者是有區(qū)別的:實體集(1)實體集處于數據庫系統(tǒng)之內,外部實體處于數據庫系統(tǒng)之外。(2)實體集在E-R圖中出現,外部實體在DFD中出現。(3)實體集必須給出屬性,外部實體一般不需要給出屬性。(4)在數據庫系統(tǒng)設計中,實體集轉化為基本表;而外部實體不一定轉化為基本表,很可能對應應用程序中的變量或常量。但是,實體集和外部實體又有一定的聯(lián)系:有些實體集可能是外部實體,而有些外部實體可能是實體集。例如,在學生成績管理系統(tǒng)中,學生在DFD中就是外部實體,而在E-R圖中是實體集。弱實體集3.弱實體集一個實體對于另一個實體(稱為父實體)具有很強的依賴聯(lián)系,而且該實體主碼的一部分或全部從其父實體獲得,即一個實體集的主碼由另一個實體集的部分或全部屬性構成,因此一個實體依賴于另一個實體而存在,這樣的實體集叫做弱實體集(WeakEntities),另外的實體集可以稱為強實體集(StrongEntities)。強實體集和弱實體集的概念與存在依賴密切相關,強實體集的成員必然是支配實體,而弱實體集的成員是從屬實體。如在人事管理系統(tǒng)中,親屬的存在是以職工的存在為前提,即親屬對于職工具有依賴聯(lián)系,所以說,親屬是弱實體集。弱實體集
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 在線字符串匹配效率提升
- 2025-2030家居建材市場前沿調研及消費趨勢與融資運營分析
- 2025-2030家具行業(yè)智能家居融合與消費習慣變化研究
- 2025-2030增材制造裝備市場需求增長與融資布局實踐操作指導文件
- 2025-2030增強現實培訓行業(yè)市場供需分析及投資評估規(guī)劃分析研究報告
- 2025-2030在線教育行業(yè)用戶行為特征分析及教育產品優(yōu)化策略規(guī)劃
- 2025-2030土庫曼斯坦能源行業(yè)市場分析及發(fā)展趨勢與能源進口多元化報告
- 2025-2030圖書數字化服務行業(yè)市場現狀與知識庫建設規(guī)劃報告
- 2025-2030縣域經濟崛起背景中免漆門下沉市場開發(fā)策略
- 工程領導力開發(fā)創(chuàng)新模式的探索與實踐
- 幼兒園大班語言活動《新年禮物》課件
- 古代漢語與中華文明智慧樹知到期末考試答案章節(jié)答案2024年山東師范大學
- JB-T 8881-2020 滾動軸承 滲碳軸承鋼零件 熱處理技術條件
- 數字孿生智慧水利信息化項目建設方案
- 《監(jiān)理企業(yè)安全責任清單(2.0版)參考模板》
- 建筑工地消防培訓課件
- 二年級上加減乘除口算一天100題(1100題)
- 【審計復核的內容】 復核審計
- 外貿發(fā)票 PI 形式發(fā)票模板范例
- 《汽車營銷技術》教案
- GB/T 30475.3-2017壓縮空氣過濾器試驗方法第3部分:顆粒
評論
0/150
提交評論