個人重構 資料庫設計(1)

2021-07-07 03:09:49 字數 3185 閱讀 5267

背景:已經開始了很長時間了,都沒有寫部落格,就是因為某些資料型別把握不好,某些欄位的名稱命名不好,一直也在尋找畫er圖的工具,其中用ea畫的er圖總感覺不好看,用viso也可以畫,但是最終選擇了乙個特別小的軟體,在畫這些圖的時候同時也思考了很多,現在就來看看我是如何設計資料庫的。

首先來張圖再說:

由上圖可知資料庫設計包括六個主要步驟:

了解使用者的資料需求、處理需求、安全性及完整性要求;

需求分析階段的工作步驟:

首先把任何乙個系統都抽象為:

了解使用者當前的業務活動和職能,理清其處理流程。把使用者業務分成若干個子處理過程,使每個處理功能明確、介面清楚,畫出業務流程圖

在和使用者經過充分討論的基礎上,確定計算機所能進行資料處理的範圍,確定哪些工作由人工完成,哪些工作由計算機系統完成,即確定人機介面。

深入分析使用者的業務處理,以資料流圖(data flow diagram,dfd)形式表示出資料的流向和對資料所進行的加工。dfd有四個基本成分:資料流、加工或處理、檔案、外部實體。dfd可以形象地表示資料流與各業務活動的關係,它是需求分析的工具和分析結果的描述手段。之前也寫過相關的部落格:軟體工程之資料流圖和資料字典

符號說明:

僅僅有dfd並不能構成需求說明書,dfd只表示出系統有哪幾部分組成和各個部分之間的關係,並沒有說明各個成分的含義。資料字典提供對資料庫時間描述的集中管理,它的功能是儲存和檢索各種資料描述(元資料metadata),資料字典是資料收集和資料分析的主要成果,在資料庫設計中占有很重要地位。

資料流圖表達了資料和處理過程的關係。系統中的資料則借助資料字典(data dictionary,簡稱dd)來描述。

資料字典是各類資料描述的集合,它是關於資料庫中資料的描述,即元資料,而不是資料本身。資料字典通常包括資料項、資料結構、資料流、資料儲存和處理過程五個部分(至少應該包含每個欄位的資料型別和在每個表內的主外來鍵)。

資料項描述={資料項名,資料項含義說明,別名,資料型別,長度, 取值範圍,取值含義,與其他資料項的邏輯關係}

例子:

·含義說明:唯一標識每個學生

·別名:  學生編號

·型別:  字元型

·長度:  12

·取值範圍:000000000000至999999999999

·取值含義:前兩位表示所在年級,後四位標明那個學院,在後三位標明按個專業,最後三位是班級學號

資料結構描述={資料結構名,含義說明,組成:{資料項或資料結構}}

例子:

·資料結構,:以「學生」為例學生」是該系統中的乙個核心資料結構:

·資料結構:學生

·

含義說明:  定義了乙個學生的有關資訊

·組成:學號,姓名,性別,年齡,所在學院,年級,系別

資料流描述={資料流名,說明,資料流**,資料流去向, 組成:{資料結構},平均流量,高峰期流量}

例子:

·資料流:  學生餘額

·說明:   檢視學生卡中的餘額

·資料流**:管理員輸入的卡號

·資料流去向:輸出

·組成:     卡號

·平均流量: ……

·高峰期流量

資料儲存描述={資料儲存名,說明,編號,流入的資料流,流出的資料流,

組成:{資料結構},資料量,訪問方式}

例子:

·資料儲存: 學生結賬表

·說明:記錄結賬的基本情況

·流入資料流:……

·流出資料流:……

·組成:   ……

·資料量:  每天一次

·訪問方式: 規定訪問

處理過程描述={處理過程名,說明,輸入:{資料流},輸出:{資料流},

處理:{簡要說明}}

例子:

·處理過程:學生檢視餘額

·說明:  檢視學生卡中的餘額

·輸入:  卡號

·輸出:  學生資訊、卡資訊、餘額

·處理:在輸入卡號後,在資料庫中查詢是否有此卡號,是否註冊,輸出資料。

資料庫的設計是與應用系統的設計緊密結合的過程,離開一定的功能,資料庫就失去其存在價值。資料庫設計的乙個重要特點是結構(資料)和行為(功能)的結合。使用者希望系統能提供的功能必須有乙個清晰的描述。功能分析可以採用軟體結構圖或模組圖來表示系統的層次分解關係、模組呼叫關係。

個人重構 資料庫設計(3)

上接 個人重構 資料庫設計 2 1 使用者資訊表 t user 2 卡資訊表 t card 3 學生資訊表 t student 4 充值記錄表 t recharge 5 上下機記錄表 t onlinerecord 6 基本資料表 t basicdata 7 賬單 t checkday 8 工作記錄表...

機房重構 資料庫設計

上次發表過一篇資料庫設計後來師傅說理解的不正確就擱置了很久才提筆。關於資料庫的設計是乙個大方面,因為暑假已經用vb6.0敲過機房收費系統了,對於裡面的功能結構也比較熟悉,所以對於重建有很大的幫助。分析er圖 實體user和card之間存在著4種關係 註冊 充值 取消 上下機。實體card和stude...

sql server 資料庫設計《機房重構》

開始機房重構了,不自己設計乙個資料庫怎麼好意思說自己是在重構機房呢?而且原資料庫本身就有很多瑕疵,不符合資料庫的規範,今天我們就根據資料庫三正規化,來設計屬於我們自己的一版資料庫。本次的資料庫是為了服務於我們的機房收費系統,機房收費系統大致的要求是什麼呢?看圖 這是我們機房收費系統的主要的功能,這涉...