標籤:
前言:
最近剛剛開始了機房合作,自己在其中主要參與了D層的設計,而且在文檔設計的階段主要參與了資料庫設計.之前在機房重構的時候對於資料庫設計沒有按照文檔來進行驅動,所以這次在寫文檔的時候我很認真,所以遇到了很多細節的問題,比如對於視圖,預存程序在資料庫設計的哪一個部分加入,以及對資料庫的外部模式進行了深入的瞭解!
內容:
資料庫的設計的周期,分為了規劃,需求分析,概要設計,邏輯設計,實體設計,實現,運行維護。我將資料庫的設計分為了前期準備,中期設計,後期實現維護。
| 周期劃分 |
前期準備 |
中期設計 |
後期運行維護 |
|
規劃,需求分析文檔 |
概要設計,邏輯設計,實體設計 |
實現,運行維護 |
在這裡我主要講的就是中期設計,下面主要是我對資料庫資料文檔的布局:
一:在資料庫設計中主要遇到的問題主要是結構設計與外部設計的關係,於是乎重新學習資料庫原理這本書,在這裡找到了答案,結構設計和外部設計關係離不開對於“三模型兩映像”。
概念性模型表達了整體資料的整體邏輯結構,基於使用者需求出發,對資料建模,獨立於硬體和軟體,是資料庫設計人員和使用者之間的交流工具
邏輯模型表達了DB的整體的邏輯結構,從資料庫實現觀點出發,資料建模,獨立於硬體,依賴於軟體;是資料庫設計人員與應用程式員之間交流的工具。
外部模式是為了適應不同的業務單位設計不同的外部模式,也稱為使用者級的模型,反映了使用者使用資料庫的觀點,是邏輯模型的一個邏輯子集。其中通過設計外模型讓資料庫和應用程式進行互動。而外模式就是資料庫設計的表,視圖,預存程序等,面對不同的使用者,訪問的不同。
內部模型是物理模型,是資料庫最低層的抽象,它主要描述的是儲存的方式,在這裡資料庫的儲存結構應該是索引結構,存取方法通過主索引和輔助索引。主要是與我們學習的作業系統中檔案相關知識有關。
二:結構設計中概念性模型設計階段實體聯絡模型(ER模型)是廣泛被採用的概念性模型設計方法,對於ER模型中基本元素是實體,聯絡和屬性。其中最關鍵的聯絡中的映射基數,映射基數反應的是實體與實體之間相互關係,例如對於二元關係中主要是1:1,1:N,M:N的關係。
結構設計概念性模型到邏輯模型主要是ER圖向關聯式模式轉換的過程,他們之間根據映射基數的轉換機制:
1.若關係1:1,那麼兩個實體間的關係模式中任意一個關聯式模式的屬性加入另一個關聯式模式的鍵和聯絡類型的屬性。
卡和學生的關係為1:1,所以在卡的屬性中可以把學號作為外鍵,也可以在學生表中把卡號作為外鍵。
2.若關係1:N,那麼N端實體類型轉換成關係模式中加入1端的實體類型主鍵和聯絡類型的屬性。
上的註冊的關係,由於卡和使用者之間的關係N:1,所以在卡中擁有了使用者的主鍵作為了卡的外鍵。
那麼兩個實體對應兩個關係模式為
卡(卡號,卡的餘額,卡的類型,卡的狀態,使用者ID)
使用者(使用者ID,使用者名稱,密碼)
3.若關係M:N,那麼聯絡類型也准換成關係模式,其屬性為兩端實體類型的鍵(作為外鍵)加上聯絡類型的屬性。
上的退卡和充值的關係,由於使用者和卡之間的關係是M:N,所以他們在轉換成為關係模式的時候,退卡和充值就會成為兩個關係模式,那麼在退卡和充值,使用者,卡,他們兩個實體就會轉換成四個關係模式,分別為
使用者(使用者ID,使用者名稱,密碼)
卡(卡號,卡餘額,卡的類型,卡狀態)
退卡(卡號,退卡金額,退卡日期,退卡時間,退卡使用者)
充值(卡號,充值金額,充值日期,充值時間,充值使用者)
總的概括來說就是1:1或者是1:N關係,他們之間都沒有添加關係模式,兩個實體就會對應於兩個關係模式,只是增加了主外鍵之間添加關係;M:N關係中,會多添加他們的聯絡實體作為關係模式,而且聯絡實體中的主鍵是兩個實體的主鍵的集合。
總結:
這是在資料庫設計階段遇到基本的問題,發現好多的問題都是非常的基礎的,好好學習基礎知識緣來真的這麼重要,這些東西很多都來自於資料庫系統原理,發現原來翻翻以前學過的書,對於以前認識的知識會得到加深。不僅僅是這一本書,希望以後的學習都是這樣,學過之後就回過頭看看,會有意外的驚喜!
[機房合作]-資料庫設計