《《數(shù)據(jù)庫系統(tǒng)概論》王珊第五版第7章數(shù)據(jù)庫設計.ppt》由會員分享,可在線閱讀,更多相關《《數(shù)據(jù)庫系統(tǒng)概論》王珊第五版第7章數(shù)據(jù)庫設計.ppt(52頁珍藏版)》請在裝配圖網上搜索。
1、An Introduction to Database System 中 國 人 民 大 學 信 息 學 院 數(shù) 據(jù) 庫 系 統(tǒng) 概 論An Introduction to Database System第 七 章 數(shù) 據(jù) 庫 設 計 An Introduction to Database System 第七章 數(shù)據(jù)庫設計7.1 數(shù)據(jù)庫設計概述7.2 需求分析7.3 概念結構設計7.4 邏輯結構設計7.5 數(shù)據(jù)庫的物理設計7.6 數(shù)據(jù)庫實施和維護7.7 小結 An Introduction to Database System 數(shù)據(jù)庫設計概述v 數(shù)據(jù)庫設計數(shù)據(jù)庫設計是指對于一個給定的應用環(huán)境,
2、構造(設計)優(yōu)化的數(shù)據(jù)庫邏輯模式和物理結構,并據(jù)此建立數(shù)據(jù)庫及其應用系統(tǒng),使之能夠有效地存儲和管理數(shù)據(jù),滿足各種用戶的應用需求,包括信息管理要求和數(shù)據(jù)操作要求。目標:為用戶和各種應用系統(tǒng)提供一個信息基礎設施和高效率的運行環(huán)境 An Introduction to Database System 7.1 數(shù)據(jù)庫設計概述7.1.1 數(shù)據(jù)庫設計的特點7.1.2 數(shù)據(jù)庫設計方法7.1.3 數(shù)據(jù)庫設計的基本步驟7.1.4 數(shù)據(jù)庫設計過程中的各級模式 An Introduction to Database System 7.1.1 數(shù)據(jù)庫設計的特點v數(shù)據(jù)庫建設的基本規(guī)律三分技術,七分管理,十二分基礎數(shù)據(jù)
3、管理 數(shù)據(jù)庫建設項目管理 企業(yè)(即應用部門)的業(yè)務管理 基礎數(shù)據(jù) 收集、入庫 更新新的數(shù)據(jù)v結構(數(shù)據(jù))設計和行為(處理)設計相結合 將數(shù)據(jù)庫結構設計和數(shù)據(jù)處理設計密切結合 An Introduction to Database System 數(shù)據(jù)庫設計的特點(續(xù))現(xiàn)實世界概念模型設計子模式設計物理數(shù)據(jù)庫設計邏輯數(shù)據(jù)庫設計 建立數(shù)據(jù)庫數(shù)據(jù)分析功能分析功能模型功能說明事務設計程序說明應用程序設計程序編碼調試結構和行為分離的設計 An Introduction to Database System 7.1 數(shù)據(jù)庫設計概述7.1.1 數(shù)據(jù)庫設計的特點7.1.2 數(shù)據(jù)庫設計方法7.1.3 數(shù)據(jù)庫設計的
4、基本步驟7.1.4 數(shù)據(jù)庫設計過程中的各級模式 An Introduction to Database System 7.1.2 數(shù)據(jù)庫設計方法v 手工與經驗相結合方法 設計質量與設計人員的經驗和水平有直接關系數(shù)據(jù)庫運行一段時間后常常不同程度地發(fā)現(xiàn)各種問題,增加了維護代價v規(guī)范設計法基本思想:過程迭代和逐步求精 An Introduction to Database System 數(shù)據(jù)庫設計方法(續(xù))v新奧爾良(New Orleans)方法將數(shù)據(jù)庫設計分為若干階段和步驟 v基于E-R模型的數(shù)據(jù)庫設計方法概念設計階段廣泛采用v3NF(第三范式)的設計方法邏輯階段可采用的有效方法 vODL(Obj
5、ect Definition Language)方法面向對象的數(shù)據(jù)庫設計方法 An Introduction to Database System 數(shù)據(jù)庫設計方法(續(xù))v計算機輔助設計 ORACLE Designer 2000 SYBASE PowerDesigner An Introduction to Database System 7.1 數(shù)據(jù)庫設計概述7.1.1 數(shù)據(jù)庫設計的特點7.1.2 數(shù)據(jù)庫設計方法7.1.3 數(shù)據(jù)庫設計的基本步驟7.1.4 數(shù)據(jù)庫設計過程中的各級模式 An Introduction to Database System 7.1.3 數(shù)據(jù)庫設計的基本步驟v數(shù)據(jù)庫設
6、計分6個階段需求分析概念結構設計邏輯結構設計物理結構設計數(shù)據(jù)庫實施數(shù)據(jù)庫運行和維護 v需求分析和概念設計獨立于任何數(shù)據(jù)庫管理系統(tǒng) v邏輯設計和物理設計與選用的DBMS密切相關 An Introduction to Database System 數(shù)據(jù)庫設計的基本步驟(續(xù))一、數(shù)據(jù)庫設計的準備工作:選定參加設計的人1.系統(tǒng)分析人員、數(shù)據(jù)庫設計人員 自始至終參與數(shù)據(jù)庫設計2. 用戶和數(shù)據(jù)庫管理員 主要參加需求分析和數(shù)據(jù)庫的運行維護3.應用開發(fā)人員(程序員和操作員) 在系統(tǒng)實施階段參與進來,負責編制程序和準備軟硬件環(huán)境 An Introduction to Database System 數(shù)據(jù)庫設計
7、的基本步驟(續(xù))二、數(shù)據(jù)庫設計的過程(六個階段) 需求分析階段準確了解與分析用戶需求(包括數(shù)據(jù)與處理)最困難、最耗費時間的一步 An Introduction to Database System 數(shù)據(jù)庫設計的基本步驟(續(xù))概念結構設計階段整個數(shù)據(jù)庫設計的關鍵通過對用戶需求進行綜合、歸納與抽象,形成一個獨立于具體DBMS的概念模型 An Introduction to Database System 數(shù)據(jù)庫設計的基本步驟(續(xù))邏輯結構設計階段將概念結構轉換為某個DBMS所支持的數(shù)據(jù)模型對其進行優(yōu)化 An Introduction to Database System 數(shù)據(jù)庫設計的基本步驟(續(xù))
8、數(shù)據(jù)庫物理設計階段為邏輯數(shù)據(jù)模型選取一個最適合應用環(huán)境的物理結構(包括存儲結構和存取方法) An Introduction to Database System 數(shù)據(jù)庫設計的基本步驟(續(xù))數(shù)據(jù)庫實施階段運用DBMS提供的數(shù)據(jù)庫語言(如SQL)及宿主語言,根據(jù)邏輯設計和物理設計的結果建立數(shù)據(jù)庫編制與調試應用程序組織數(shù)據(jù)入庫進行試運行 An Introduction to Database System 數(shù)據(jù)庫設計的基本步驟(續(xù))數(shù)據(jù)庫運行和維護階段數(shù)據(jù)庫應用系統(tǒng)經過試運行后即可投入正式運行在數(shù)據(jù)庫系統(tǒng)運行過程中必須不斷地對其進行評價、調整與修改 An Introduction to Databa
9、se System 數(shù)據(jù)庫設計的基本步驟(續(xù)) 設計一個完善的數(shù)據(jù)庫應用系統(tǒng)往往是上述六個階段的不斷反復(P202圖7.2)v把數(shù)據(jù)庫設計和對數(shù)據(jù)庫中數(shù)據(jù)處理的設計緊密結合起來v將這兩個方面的需求分析、抽象、設計、實現(xiàn)在各個階段同時進行,相互參照,相互補充,以完善兩方面的設計 An Introduction to Database System數(shù)據(jù)庫設計各個階段的設計描述 An Introduction to Database System 7.1 數(shù)據(jù)庫設計概述7.1.1 數(shù)據(jù)庫設計的特點7.1.2 數(shù)據(jù)庫設計方法7.1.3 數(shù)據(jù)庫設計的基本步驟7.1.4 數(shù)據(jù)庫設計過程中的各級模式 An
10、Introduction to Database System 7.1.4數(shù)據(jù)庫設計過程中的各級模式數(shù)據(jù)庫設計不同階段形成的數(shù)據(jù)庫各級模式 數(shù)據(jù)庫的各級模式 An Introduction to Database System 第七章 數(shù)據(jù)庫設計7.1 數(shù)據(jù)庫設計概述7.2 需求分析7.3 概念結構設計7.4 邏輯結構設計7.5 數(shù)據(jù)庫的物理設計7.6 數(shù)據(jù)庫實施和維護7.7 小結 An Introduction to Database System 7.2 需求分析7.2.1 需求分析的任務7.2.2 需求分析的方法7.2.3 數(shù)據(jù)字典 An Introduction to Database
11、 System 7.2.1 需求分析的任務v需求分析的任務v需求分析的重點v需求分析的難點 An Introduction to Database System 需求分析的任務v詳細調查現(xiàn)實世界要處理的對象(組織、部門、企業(yè)等)v充分了解原系統(tǒng)(手工系統(tǒng)或計算機系統(tǒng))v明確用戶的各種需求v確定新系統(tǒng)的功能v充分考慮今后可能的擴充和改變 An Introduction to Database System 需求分析的重點v調查的重點是“數(shù)據(jù)”和“處理”,獲得用戶對數(shù)據(jù)庫要求 信息要求處理要求安全性與完整性要求 An Introduction to Database System 需求分析的難點v
12、確定用戶最終需求用戶缺少計算機知識設計人員缺少用戶的專業(yè)知識v解決方法設計人員必須不斷深入地與用戶進行交流 An Introduction to Database System 7.2 需求分析7.2.1 需求分析的任務7.2.2 需求分析的方法7.2.3 數(shù)據(jù)字典 An Introduction to Database System 7.2.2 需求分析的方法v調查需求v達成共識v分析表達需求 An Introduction to Database System 調查用戶需求的具體步驟 調查組織機構情況 調查各部門的業(yè)務活動情況。 在熟悉業(yè)務活動的基礎上,協(xié)助用戶明確對新系統(tǒng)的各種要求。 確
13、定新系統(tǒng)的邊界 An Introduction to Database System 常用調查方法(1)跟班作業(yè)(2)開調查會(3)請專人介紹(4)詢問(5)設計調查表請用戶填寫(6)查閱記錄 An Introduction to Database System 進一步分析和表達用戶需求v結構化分析方法(Structured Analysis,簡稱SA方法)從最上層的系統(tǒng)組織機構入手 自頂向下、逐層分解分析系統(tǒng) An Introduction to Database System 進一步分析和表達用戶需求(續(xù))1首先把任何一個系統(tǒng)都抽象為:數(shù)據(jù)流數(shù)據(jù)流數(shù)據(jù)存儲信息要求數(shù)據(jù)來源處理數(shù)據(jù)輸出處理要
14、求 An Introduction to Database System 進一步分析和表達用戶需求(續(xù))2分解處理功能和數(shù)據(jù) (1)分解處理功能將處理功能的具體內容分解為若干子功能 (2)分解數(shù)據(jù)處理功能逐步分解同時,逐級分解所用數(shù)據(jù),形成若干層次的數(shù)據(jù)流圖 (3)表達方法 處理邏輯:用判定表或判定樹來描述 數(shù)據(jù):用數(shù)據(jù)字典來描述3將分析結果再次提交給用戶,征得用戶的認可 An Introduction to Database System 需求分析過程 需求分析過程 An Introduction to Database System 7.2 需求分析7.2.1 需求分析的任務7.2.2 需
15、求分析的方法7.2.3 數(shù)據(jù)字典 An Introduction to Database System 7.2.3 數(shù)據(jù)字典v 數(shù)據(jù)字典的用途進行詳細的數(shù)據(jù)收集和數(shù)據(jù)分析所獲得的主要結果v 數(shù)據(jù)字典的內容數(shù)據(jù)項數(shù)據(jù)結構數(shù)據(jù)流數(shù)據(jù)存儲處理過程 An Introduction to Database System 數(shù)據(jù)項v 數(shù)據(jù)項是不可再分的數(shù)據(jù)單位v 對數(shù)據(jù)項的描述 數(shù)據(jù)項描述 數(shù)據(jù)項名,數(shù)據(jù)項含義說明,別名, 數(shù)據(jù)類型,長度,取值范圍,取值含義,與其他數(shù)據(jù)項的邏輯關系,數(shù)據(jù)項之間的聯(lián)系 An Introduction to Database System 數(shù)據(jù)結構v數(shù)據(jù)結構反映了數(shù)據(jù)之間的組合
16、關系。v 一個數(shù)據(jù)結構可以由若干個數(shù)據(jù)項組成,也可以由若干個數(shù)據(jù)結構組成,或由若干個數(shù)據(jù)項和數(shù)據(jù)結構混合組成。v 對數(shù)據(jù)結構的描述 數(shù)據(jù)結構描述數(shù)據(jù)結構名,含義說明, 組成:數(shù)據(jù)項或數(shù)據(jù)結構 An Introduction to Database System 數(shù)據(jù)流v 數(shù)據(jù)流是數(shù)據(jù)結構在系統(tǒng)內傳輸?shù)穆窂?。v 對數(shù)據(jù)流的描述 數(shù)據(jù)流描述 數(shù)據(jù)流名,說明,數(shù)據(jù)流來源, 數(shù)據(jù)流去向,組成:數(shù)據(jù)結構, 平均流量,高峰期流量 An Introduction to Database System 數(shù)據(jù)存儲v數(shù)據(jù)存儲是數(shù)據(jù)結構停留或保存的地方,也是數(shù)據(jù)流的來源和去向之一。v對數(shù)據(jù)存儲的描述 數(shù)據(jù)存儲描述數(shù)
17、據(jù)存儲名,說明,編號,輸入的數(shù)據(jù)流 ,輸出的數(shù)據(jù)流 ,組成:數(shù)據(jù)結構,數(shù)據(jù)量,存取頻度,存取方式 An Introduction to Database System 處理過程v具體處理邏輯一般用判定表或判定樹來描述v處理過程說明性信息的描述處理過程描述處理過程名,說明,輸入:數(shù)據(jù)流, 輸出:數(shù)據(jù)流,處理:簡要說明 An Introduction to Database System 數(shù)據(jù)字典舉例例:學生學籍管理子系統(tǒng)的數(shù)據(jù)字典。 數(shù)據(jù)項,以“學號”為例: 數(shù)據(jù)項:學號 含義說明:唯一標識每個學生別名:學生編號 類型:字符型 長度:8 取值范圍:00000000至99999999取值含義:前兩
18、位標別該學生所在年級, 后六位按順序編號 與其他數(shù)據(jù)項的邏輯關系: An Introduction to Database System 處理過程(續(xù))數(shù)據(jù)結構,以“學生”為例“學生”是該系統(tǒng)中的一個核心數(shù)據(jù)結構: 數(shù)據(jù)結構:學生 含義說明:是學籍管理子系統(tǒng)的主體數(shù)據(jù)結構, 定義了一個學生的有關信息 組成:學號,姓名,性別,年齡,所在系,年級 An Introduction to Database System 處理過程(續(xù))數(shù)據(jù)流,“體檢結果”可如下描述: 數(shù)據(jù)流:體檢結果 說明:學生參加體格檢查的最終結果 數(shù)據(jù)流來源:體檢 數(shù)據(jù)流去向:批準 組成:平均流量: 高峰期流量: An Intro
19、duction to Database System 處理過程(續(xù))數(shù)據(jù)存儲,“學生登記表”可如下描述: 數(shù)據(jù)存儲:學生登記表 說明:記錄學生的基本情況流入數(shù)據(jù)流: 流出數(shù)據(jù)流: 組成: 數(shù)據(jù)量:每年3000張 存取方式:隨機存取 An Introduction to Database System 處理過程(續(xù))處理過程“分配宿舍”可如下描述:處理過程:分配宿舍說明:為所有新生分配學生宿舍輸入:學生,宿舍輸出:宿舍安排處理:在新生報到后,為所有新生分配學生宿舍。 要求同一間宿舍只能安排同一性別的學生, 同一個學生只能安排在一個宿舍中。 每個學生的居住面積不小于3平方米。 安排新生宿舍其處理時間應不超過15分鐘。 An Introduction to Database System 數(shù)據(jù)字典v數(shù)據(jù)字典是關于數(shù)據(jù)庫中數(shù)據(jù)的描述,是元數(shù)據(jù),而不是數(shù)據(jù)本身v數(shù)據(jù)字典在需求分析階段建立,在數(shù)據(jù)庫設計過程中不斷修改、充實、完善 An Introduction to Database System 需求分析小結v設計人員應充分考慮到可能的擴充和改變,使設計易于更改,系統(tǒng)易于擴充 v必須強調用戶的參與 An Introduction to Database System 下 課 了 。 。 。休 息 一 會 兒 。 。 。