sql數據庫設計(3/3)~完結散花

前言:

     從建庫到SQL基本操作,我們現在來到了數據庫的最後一個章節——數據庫的設計。往往設計總是高大上,充滿各種基礎的操作,這裏我們就從文字邏輯開始。

數據庫設計的一般定義:數據庫設計是指一個給定的應用環境,構造(設計)優化的數據庫邏輯模型物理結構,並據此建立數據庫及其應用系統,使之能夠有效的存儲和管理數據,滿足各種用戶需求,包括信息管理要求數據操作要求

信息管理要求是指在數據庫中應該存儲和管理哪些數據對象;數據操作要求是指對數據對象需要進行哪些操作,如查詢、增、刪、改、統計等操作。

     接下來將會從6個步驟解釋:需求分析階段、概念設計階段、邏輯結構設計階段、物理設計階段、數據庫實施階段、數據庫運行和維護階段。當然,我們很多時候對於文檔,基本知識到了數據庫實施階段或者物理設計階段。


一、需求分析

     對於需求分析,寫文檔,參加各種比賽的同學在熟悉不過了。還記得我們在軟件工程導論裏面提到的數據字典嗎?它在這裏就顯得很重要。

     數據字典是進行詳細的數據收集和數據分析所獲得的主要成果。它是關於數據庫中數據的描述,即元數據,而不是數據本身。數據字典是在需求分析階段建立,在數據設計過程中不斷修改、充實、完善的。

1、數據項

     數據項是不可再分的數據單位,通常包括一下內容:數據項描述={數據項名,數據項含義說明,別名,數據類型,長度,取值範圍,取值含義,與其他數據項的邏輯關係,數據項之間的聯繫}

2、數據結構

     數據結構反應了數據之間的組合關係。對數據結構的描述通常包括一下內容:數據結構描述={數據結構名,含義說明,組成:{數據項或數據結構}

3、數據流

     數據流描述={數據流名,書名,數據流來源,數據流去向,組成:{數據結構},平均流量,高峯期流量}

4、數據存儲

     數據存儲是數據結構停留或保存的地方,也是數據流的來源和去向之一。包括:數據存儲描述={數據存儲名,說明,編號,輸入的數據流,輸出的數據流,組成:{數據結構},數據量,存取頻度,存取方式}

5、處理過程

     處理過程的具體處理邏輯一般用判定表或判定樹來描述。包括以下內容:處理過程描述={處理過程名,說明,輸入:{數據流},輸出:{數據流},處理:{簡要說明}} 


二、概念結構設計

     概念結構設計這裏重點的就是E-R模型,E-R圖提供了表示實體型、屬性和聯繫的方法。

(1)實體型用矩形來表示,矩形框寫明實體名。

(2)屬性用橢圓形表示,並用無向邊將其與相應的實體型連接起來。

(3)關係用菱形來表示,菱形框內寫明聯繫名,並用無向邊分別與有關實體型連接起來,同時在無向邊旁標上聯繫的類型(1:1、1:n或m:n)。

     當然,我們也可以用UML來建立概念模型(即E-R圖)。其中,實體型可以用類表示,矩形框中實體名放在上部,下面列出屬性名。實體的碼可以在屬性後面加“PK”來表示。聯系可以用類圖之間的關聯表示


三、邏輯結構設計

     邏輯結構設計的任務就是把概念結構設計好的基本E-R圖轉換爲與選用數據庫管理系統產品所支持的數據模型相符和的邏輯結構。其實我們大多是也就是將E-R圖轉換爲關係模型。


四、物理結構設計、數據庫的實施和維護

     爲一個給定的邏輯數據模型選取一個最適合應用要求的物理結構的過程,就是數據庫的物理設計。至於後面的實施和維護,也就是字面上的意思。


五、數據庫編程

     當然,我們設計了之後肯定是需要實現的,比如一個圖書銷售系統或者車票管理系統。在應用系統中使用SQL編程來訪問和管理數據庫中數據的方式主要有:嵌入式SQL、過程化SQL、存儲過程和自定義函數、開放數據庫互連、OLEDB(Object Linking and Embedding DB)、java數據庫連接(JDBC)等。會在後面的文章中發表JDBC的編程,來實現圖書管理系統、圖書銷售系統等簡單的系統實現。

 

總結:

     其實在知道設計的過程之後,很好做的事情是寫報告,我們將報告寫好之後,大致要實現的系統其實已經在腦海裏面了。之後我們需要做的就是去實現它,我們有C/S模式的,不過現在更多的是B/S模式的設計。不管是用C++還是java或者是其它的語言,都是可以的,但最重要的就是動手去做。希望本篇文章在數據庫設計方面有一點幫助,那麼這個系列就完結了~~~如有誤,請指出,謝謝。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章