天天看點

第五章資料庫設計與開發工具一、學習内容二、練習

一、學習内容

(一)、資料庫設計方法

1. 資料庫設計
  1. 定義:指根據使用者的需求,在某一具體的資料庫管理系統上,設計資料庫的結構和建立資料庫的過程;
  2. 設計過程步驟:需求分析、概念設計、邏輯設計、實體設計、驗證設計、運作和維護設計;
2. 資料庫設計方法
  1. 分類:直覺設計法、規範設計法、計算機輔助設計法、自動化設計法;
  2. 直覺設計法:也叫手工試湊法,是最早使用的設計方法,依賴于設計者的經驗和技巧,缺乏科學理論和工程原則的支援,設計的品質很難保證,常常是資料庫運作一段時間後又發現各種問題,這樣再重新進行修改,增加了系統的代價;
  3. 幾種常用的規範設計方法:基于E-R模型的資料庫設計方法、基于3NF的資料庫設計方法、基于視圖的資料庫設計方法;
  4. 基于E-R模型的資料庫設計方法基本思想:在需求分析的基礎上,用E-R圖構造一個反映實作世界實體之間聯系的企業模式,然後再将此企業模式轉換成基于某一特定的DBMS的概念模式;
  5. 基于3NF的資料庫設計方法基本思想:在需求分析的基礎上,确定資料庫模式中的全部屬性和屬性間的依賴關系,将它們組織在一個單一的關系模式中,然後再分析模式中不符合3NF的限制條件,将其進行投影分解,規範成若幹個3NF關系模式的集合;
  6. 基于視圖的資料庫設計方法基本思想:為每個應用建立自己的視圖,然後再把這些視圖彙總起來合并成整個資料庫的概念模式;
  7. 規範設計法:也是手工設計法,基本思想是過程疊代和逐漸求精;
  8. 計算機輔助設計法:指再資料庫設計的某些過程中模拟某一規範化設計的方法,并以人的知識或經驗為主導,通過人機互動方式實作設計中的某些部分;

(二)、資料庫設計工具分類

  1. 從工具所支援的設計階段分類

    (1)需求分析工具:需求調研和需求管理方面的工作;

    (2)概念設計工具:産生一個能夠反映使用者觀點的概念模型;

    (3)邏輯設計工具:轉成可支援的資料模型;

    (4)實體設計工具:進行實體存儲安排,建立索引,實施具體的代碼開發、測試工作。

  2. 從工具的內建程度分類
  3. 根據工具和軟硬體的關系分類

(三)、資料庫設計工具功能和性能

1. 需求分析階段的功能和性能
  1. 需求分析階段分3分步驟:收集需求、需求的分析和整理、評審分析結果;
2. 設計階段的功能和性能
  1. 設計過程中的困難:

    (1)無法保證不同的模型之間,一個模型的不同子模型之間資訊的一緻性;

    (2)對于大型系統而言測試更加困難,通常的情況是牽一發而動全身;

    (3)工作進度難于控制;

    (4)文檔編制困難;

    (5)版本控制困難;

  2. 功能需求:

    (1)認識和描述客觀世界的能力;

    (2)管理和存儲資料庫設計過程中産生的各類資訊;

    (3)根據使用者的實體設計,自動生成建立資料庫的腳本和測試資料;

    (4)根據使用者的需求,将資料庫拷設計過程中産生的各類資訊自動組織文檔,進而最大程度地減少資料庫設計人員花在編寫文檔方面的時間和成本,并保證文檔之間資訊的一緻性;

    (5)為資料庫設計的過程提供團隊協同工作的幫助;

  3. 性能需求:指做的怎麼樣;
  4. 工具的表達能力:即保持資訊一緻性的能力;
  5. 使用可靠程度:是至關重要的;
  6. 對軟硬體環境要求:一般不高;
  7. 資料庫設計的資訊需求:

    (1)使用者需求方面的資訊;

    (2)有關資料庫概念設計、邏輯設計和實體設計的資訊;

    (3)資料庫實施和維護期間由維護人員收集和整理資訊,包括使用者的需求,概念模型、邏輯模型和實體模型方面的變更記錄;

(四)、典型的資料庫設計工具

1. 資料模組化工具
  1. 模組化标準:IEEE認證的NSUIEEE320.2.1标準和概念資料模組化語言标準IDEFIX(Object97)
  2. IDEFIX主要包括兩個層次邏輯模型和實體模型;
  3. 邏輯模型面向業務,描述資訊的結構和業務規則,不考慮實體實作的問題;
  4. 實體模型從資料庫設計和實體實作的角度描述資料結構,并針對特定的DBMS進行優化;
  5. IDEFIX模組化步驟

    (1)構造實體關系圖;

    (2)建立基于碼的模型;

    (3)建立完整屬性模型;

    (4)建立轉換模型;

    (5)生成資料庫管理系統模型;

2. 資料庫設計工具 Power Designer
  1. 是最具內建特性的設計工具集;
  2. 用于建立高度優化和功能強調的資料庫、資料倉庫和資料敏感元件,

(五)、資料庫開發工具

1. Oracle資料庫
  1. 是大型資料庫,應用于商業、政府部門,功能強大,能夠處理大批量的資料,在網絡方面也用的非常多;
  2. 以關系型和面向對象為中心管理的資料管理軟體系統;
  3. 資料安全性和資料完整性性能優越,有跨系統跨平台資料互操作能力;
  4. 是基于“用戶端/伺服器”模式結構;
2. SQL Server資料庫
  1. 是一個關系資料庫管理系統;
3. DB2資料庫
  1. 是一個關系型資料庫管理系統;
  2. 應用于大型應用系統,具有較好的可伸縮性;
  3. 可支援大型機到單使用者環境;
  4. 提供了高層次的資料利用性、完整性、安全性、可恢複性,以及小規模到大規模的程式執行能力,具有與平台無關的基本功能和SQL指令‘、;
  5. 有非常完備的查詢優化器;
4. Sybase資料庫
  1. 有三種版本
5. Informix資料庫
  1. 1980成立
  2. 目的:為Unix等開發作業系統提高轉移的關系型資料庫産品;
6. MySQL資料庫
  1. 小型關系型資料庫管理系統;
  2. 體積小、速度快、總體擁有成本低,開放源碼;
  3. 被SUN公司收購;
7. ACCESS資料庫
  1. 基于Windows的桌面關系資料庫管理系統;
  2. 建立資料庫7種對象:表、查詢、窗體、報表、頁、宏、子產品;
5. Visual FoxPro資料庫
  1. 在DOS上運作;

二、練習

(一)、名稱解釋

1. 資料庫設計

答:是指根據使用者的需求,在某一具體的資料庫管理系統上,設計資料庫的結構和建立資料庫的過程;

2. 直覺設計法

答:也叫手工試湊法,它是最早使用的資料設計方法,這種方法依賴于設計者的經驗和技巧,缺乏科學理論和工程原則的支援,設計的品質很難保證常常是資料庫運作一段時間後又發現各種問題,這樣再重新修改,增加了系統維護的代價;

3. 計算機輔助設計法

答:指再資料庫設計的某些過程種模拟某一規範化設計的方法,并以人的知識或經驗為主導,通過人機互動方式實作設計種的某些部分;

(二)、簡答

1. 資料庫的設計方法由哪幾類?

答:直覺設計法、規範設計發、計算機輔助設計法、自動化設計法;

2. 請介紹幾種規範的資料庫設計方法,并作對比。

答:三種

(1)基于E-R模型的資料庫設計方法,其基本思想是在需求分析的基礎上,用ER圖構造一個反映現實世界實體之間聯系的企業模式,然後再将此企業模式轉化成某一特定的DBMS的概念模式;

(2)基于3NF的資料設計方法,其基本思想是在需求分析的基礎上,确定資料庫模式種的全部屬性和屬性間的依賴關系,将他們組織在一個單一的關系模式種,然後再分析模式種不符合3NF限制條件,将其進行投影分解,規範成若幹個3NF關系模式的集合;

(3)基于視圖的資料庫設計方法,其基本思想是為每個應用建立自己的視圖,然後再把這些視圖彙總起來合并成整個資料庫的概念模式;

3. 根據支援的設計階段,資料設計可分為哪幾類?

答:四類

(1)需求分析工具:主要用來幫助資料庫設計人員進行需求調研和需求管理方面的工作;

(2)概念設計工具:協助設計人員從使用者角度來看待系統的處理要求和資料要求, 并産生一個能反映使用者觀點概念模型;

(3)邏輯設計工具:幫助資料庫開發人員根據DBMS特點和處理的需要,進行實體存儲安排,建立索引,實施具體的代碼可開發,測試工作;

4. 需求分析階段包括哪些步驟?

答:三個步驟

(1)收集需求:需求調研;

(2)需求的分析和整理;

(3)評審分析結果,目的是确認需求分析階段的工作以及保質保量的完成了;

5. 資料庫設計過程涉及哪些資訊?

答:三類資訊

(1)使用者需求方面的資訊;

(2)有關資料庫概念設計、邏輯設計和實體設計的資訊;

(3)資料庫實施和維護期間由維護人員收集和整理的資訊;

(三)、分析題

1.請簡單分析資料庫設計過程

答:6個步驟;

(1)需求分析;

(2)概念設計;

(3)邏輯設計;

(4)實體設計;

(5)驗證設計;

(6)運作與維護設計;

2. 請分析資料庫設計過程中所面臨的困難。

答:

(1)無法保證不同模型之間,一個模型不同子模型之間資訊的一緻性;

(2)對于大型系統而言測試更加困難,通常的情況是牽一發而動全身;

(3)工作進度難于控制;

(4)文檔編制困難;

(5)版本控制困難;

3. 請分析資料庫設計過程中,對資料庫設計工具有哪些需求?

答:

(1)認識和描述客觀世界的能力;

(2)管理和存儲資料庫設計過程種産生的各類資訊;

(3)根據使用者的實體設計,自動生成建立資料庫的腳本和測試資料;

(4)根據使用者的需要,将資料庫設計過程種産生的各類資訊,自動組織成文檔,進而最大程度的減少資料庫設計人員花在編寫文檔方面的時間和成本,并保證文檔之間資訊的一緻性;

(5)為資料庫設計過程提供團隊協同工作的幫助;