「每天五分鐘,備戰架構師-9」資料庫系統

數據操作和使用

日常數據庫使用過程中,離不開SQL語言。Structured Query Language由Boyce和Chamberlin在1974年提出,1975-1979年BIM San Jose Research Lab的關係型數據庫管理系統原型 System R實現了這種語言。SQL-86是第一個SQL標準,後續的有SQL-89、SQL-92、SQL-99。現在大部分DBMS都支持SQL,甚至一些Key-Value型的數據庫都支持SQL方式進行查詢。

SQL一般包括DDL數據定義、DML數據操作、DCL數據控制(授權)幾種主要的結構。

1. 數據庫設計

本章的內容講述設計數據庫管理系統的一些思路和方法,這部分的知識有利於我們提高日常工作中數據庫(表)結構設計的能力,教材中的內容對於很多細節並沒有深入的介紹,如有需要可以再找相關方面的專業教材進行學習。

也有可能是為某個應用程序設計專門的數據管理系統,例如定義數據庫的存儲格式(內模式)、概念模型、用戶展現形式(外模式),這個系統僅僅適用於某個應用,但是具備了數據庫系統的特點。

2. 數據庫設計方法

目前的設計方法分為四類:直觀設計法、規範設計法、計算機輔助設計法、自動化設計法。

2.1 基於3NF的數據庫設計方法

S.Atre提出,基本思想是在需求分析的基礎上,識別並確認數據庫模式中全部屬性和屬性間的依賴,將它們組織成一個單一的關係模型,然後再分析模式中不符合3NF的約束條件,用投影和連接的辦法將其分解,使其達到3NF條件。

「每天五分鐘,備戰架構師-9」數據庫系統

2.2 LRA方法

LRA(Logical Record Access,邏輯記錄存取)方法從用戶的信息要求和處理要求出發,分為:需求分析、邏輯設計、物理設計三個階段。

2.3 基於實體聯繫的數據庫設計方法

E-R方法主要用於邏輯設計,由P.P.S.Chen於1976年提出。

2.4 基於視圖概念的數據庫設計方法

2.5 面向對象的數據庫設計方法

面向對象的數據庫設計(即數據庫模式)思想是用戶定義數據庫模式的思路,面向對象數據庫管理系統則是數據庫管理程序的思路。應用系統對象模型向數據庫模式的影射是面向對象數據庫設計的核心和關鍵。

2.6 計算機輔助數據庫設計方法

這是數據庫設計趨向自動化的重要步驟,基本思想是提供一個人機結合的交互式過程,幫助設計者更快更好地進行設計工作。

2.7 敏捷數據庫設計方法

軟件開發方法學-敏捷方法學在數據庫設計方面的應用,提出在可控制方式下的進化設計,一個重要特點就是迭代式開發。

3. 數據庫設計的基本步驟

在分步設計方法中,通常將數據庫的設計分為需求分析、概念結構設計、邏輯結構設計和數據庫物理設計四個階段。

3.1 需求分析

  • 確認需求、確定設計目標。
  • 分析和收集數據。包括收集用戶的信息需求、處理需求、完整性、安全性需求,以及對數據庫設計過程有用的其他信息。
  • 弱方法學:BSP 企業系統規劃法、OOAD 面向對象的分析法。
  • 強方法學:形式化方法,包括PSL/PAS、SREM 軟件需求工程法、TAGS 自動生成系統技術法。
  • 格式化方法:BIAIT 業務信息分析於集成技術、SADT 結構化分析與設計技術。
  • 整理文檔

3.2 概念結構設計

概念結構設計的任務是在需求分析中產生的需求說明書的基礎上按照一定的方法抽象成滿足應用需求的用戶的信息結構,即通常所稱的概念模型。概念模型能夠提供識別和理解系統要求的框架,為數據庫提供一個說明性結構,作為設計數據庫邏輯結構即邏輯模型的基礎。

概念結構的設計策略主要有自底向上、自頂向下、由裡向外和混合策略。主要包括視圖設計、視圖集成兩個階段。

3.3 邏輯結構設計

數據庫邏輯結構設計的任務就是把概念結構設計階段設計好的基本E-R圖轉換為具體機器上的DBMS產品所支持的數據模型相符合的邏輯結構。

邏輯結構設計的步驟包括:將概念模型向一般關係模型轉化、將上一步得到的結構向特定的DBMS支持下的數據模塊轉換、根據需求和特定DBMS特性進行調整和完善。

3.4 設計用戶子模式

用戶子模式(外模式)是用戶所看到的數據庫的數據邏輯結構。關係數據庫的外模式由與用戶有關的基表及按需要定義的視圖構成。設計外模式可參照概念設計中的局部ER圖。

3.5 數據模型的優化

優化主要從改善數據庫的性能和優化存儲空間著手。改善性能的方向有:減少連接運算、減小關係大小及數據量、儘量使用快照。節省空間主要的方向有:縮小每個屬性佔用的空間、採用假屬性。

3.6 模式的評價與改進

對模式的評價包括設計質量評價和性能評價兩部分。設計質量標準包括:可理解性、完整性、可恢復性、安全性和擴充性。性能評價因為缺少具體物理設計的數量測量標準,因此也只能進行性能估計。主要從邏輯記錄存取數、傳送量、物理設計算法模型等方面進行評估。

3.7 物理結構設計

物理結構是數據庫在物理設備上的存儲結構和存取方法,物理設計依賴於給定的硬件環境和數據庫產品。物理設計的內容包括數據存儲結構的設計、集簇的設計、存取路徑的設計和確定系統配置幾方面。

評價物理結構設計所需要考慮的幾個方面:

  • 查詢和響應時間
  • 更新事務的開銷
  • 生成報告的開銷
  • 主存儲空間的開銷
  • 輔助存儲空間的開銷

3.8 數據庫應用程序設計

數據庫應用程序設計遵循軟件工程的方法,通常包括選擇設計方法、制定開發計劃、選擇系統架構、設計安全性策略等幾個步驟。


分享到:


相關文章: