2017 11 19 如何設計好的資料庫

2022-10-11 07:24:14 字數 1971 閱讀 7834

在資料庫領域內,常常把使用資料庫的各類系統統稱為資料庫應用系統。

一、資料庫和資訊系統

(1)資料庫是資訊系統的核心和基礎,把資訊系統中大量的資料按一定的模型組織起來,提供儲存、維護、檢索資料的

功能,使資訊系統可以方便、及時、準確地從資料庫中獲得所需的資訊。

(2)資料庫是資訊系統的各個部分能否緊密地結合在一起以及如何結合的關鍵所在。

(3)資料庫設計是資訊系統開發和建設的重要組成部分。

(4)資料庫設計人員應該具備的技術和知識:

資料庫的基本知識和資料庫設計技術

電腦科學的基礎知識和程式設計的方法和技巧

軟體工程的原理和方法

應用領域的知識

二、資料庫設計的特點
資料庫建設是硬體、軟體和幹件的結合

三分技術,七分管理,十二分基礎資料

技術與管理的介面稱之為「幹件」

資料庫設計應該與應用系統設計相結合

結構(資料)設計:設計資料庫框架或資料庫結構

行為(處理)設計:設計應用程式、事務處理等

結構和行為分離的設計

傳統的軟體工程忽視對應用中資料語義的分析和抽象,只要有可能就盡量推遲資料結構設計的決策早期的資料庫設計致力於資料模型和建模方法研究,忽視了對行為的設計

三、資料庫設計方法簡述
手工試湊法

設計質量與設計人員的經驗和水平有直接關係

缺乏科學理論和工程方法的支援,工程的質量難以保證

資料庫執行一段時間後常常又不同程度地發現各種問題,增加了維護代價

規範設計法

手工設計方

基本思想

過程迭代和逐步求精

規範設計法(續)

典型方法:

(1)紐奧良(new orleans)方法:將資料庫設計分為四個階段

s.b.yao方法:將資料庫設計分為五個步驟

i.r.palmer方法:把資料庫設計當成一步接一步的過程

(2)計算機輔助設計

oracle designer 2000

sybase powerdesigner

四、資料庫設計的基本步驟
資料庫設計的過程(六個階段)

1.需求分析階段

準確了解與分析使用者需求(包括資料與處理)

是整個設計過程的基礎,是最困難、最耗費時間的一步

2.概念結構設計階段

是整個資料庫設計的關鍵

通過對使用者需求進行綜合、歸納與抽象,形成乙個獨立於具體dbms的概念模型

3.邏輯結構設計階段

將概念結構轉換為某個dbms所支援的資料模型

對其進行優化

4.資料庫物理設計階段

為邏輯資料模型選取乙個最適合應用環境的物理結構(包括儲存結構和訪問方法)

5.資料庫實施階段

運用dbms提供的資料語言、工具及宿主語言,根據邏輯設計和物理設計的結果

建立資料庫,編制與除錯應用程式,組織資料入庫,並進行試執行

6.資料庫執行和維護階段

資料庫應用系統經過試執行後即可投入正式執行。

在資料庫系統執行過程中必須不斷地對其進行評價、調整與修改

設計特點:

在設計過程中把資料庫的設計和對資料庫中資料處理的設計緊密結合起來將這兩個方面的需求分析、抽象、設計、實現在各個階段同時進行,相互參照,相互補充,以完善兩方面的設計

設計過程各個階段的設計描述:

五、資料庫各級模式的形成過程
1.需求分析階段:綜合各個使用者的應用需求

2.概念設計階段:形成獨立於機器特點,獨立於各個dbms產品的概念模式(e-r圖)

3.邏輯設計階段:首先將e-r圖轉換成具體的資料庫產品支援的資料模型,如關係模型,形成資料庫邏輯模式;然後根據使用者處理的要求、安全性的考慮,在基本表的基礎上再建立必要的檢視(view),形成資料的外模式

4.物理設計階段:根據dbms特點和處理的需要,進行物理儲存安排,建立索引,形成資料庫內模式

修改以及設計好的表

1.修改表字段 use entrancevista alter table ry stay info alter column wza nvarchar 50 alter table ry stay info alter column wzb nvarchar 50 2.新增主鍵 新增主鍵之前先要讓...

測試隨筆(五) 設計好的測試用例

1.乙個 好的 測試用例,必須具備以下三個特徵。2.測試設計方法 等價類劃分法 邊界值分析法 錯誤推測方法 因果圖方法 判定表驅動分析法 正交實驗設計方法 功能圖分析方法 場景設計方法 形式化方法 擴充套件有限狀態機方法 3 實際案例 學生資訊系統中有乙個 考試成績 的輸入項,成績的取值範圍是 0 ...

程式設計重點在於設計好的資料結構

1.面向資料結構的設計思想 設計程式,不再於使用什麼物件導向思想。而在於設計通用且相對方便的資料結構。計算機本質上處理的東西就是資料,而不是物件。面向資料結構的設計思想 以資料為中心 先確定客戶端輸入什麼資料,需要輸出什麼資料,然後設計資料結構 設計演算法運算元據結構。乙個設計,重要的是解決問題,而...