為什麼要對資料庫進行設計? 當我們要存儲的數據比較少的是後當然不需要對資料庫進行設計,但是當我們對數據的需求量越來越大時對資料庫的設計就很有必要性了!如果資料庫的設計不當會造成數據冗餘、修改複雜、操作數據異常等問題而好的資料庫設計則可以減少不必要的數據冗餘,通過合理的數據規劃提高系統的性能! 什麼是...
為什麼要對資料庫進行設計?
當我們要存儲的數據比較少的是後當然不需要對資料庫進行設計,但是當我們對數據的需求量越來越大時對資料庫的設計就很有必要性了!如果資料庫的設計不當會造成數據冗餘、修改複雜、操作數據異常等問題而好的資料庫設計則可以減少不必要的數據冗餘,通過合理的數據規劃提高系統的性能!
什麼是資料庫設計?
資料庫設計就是將實體與實體之間的關係進行規劃和結構化的過程
設計資料庫的步驟
1.現實世界業務需求-------》繪製E-R圖---------》繪製資料庫模型圖-----------》搭建資料庫
2無論資料庫的大小和複雜程度如何,在進行資料庫的系統分析時,都可以參考下列基本步驟
(1)收集信息
(2)表示實體
(3)標示每個實體需要 存儲的詳細信息
(4)標示實體之間的關係
映射基數
映射基數表示通過聯繫與該實體關聯的其他實體的個數。對於實體集X和Y之間的二元關係
映射基數必須為下列基數之一:
一對一:X中的一個實體最多與Y中的一個實體關聯並且Y中的一個實體最多與X中的一個實體關聯
一對多:X中的一個實體可以與Y中的任意數量的實體關聯,而Y中的一個實體最多與X中的一個實體關聯
多對多:X中的一個實體可以與Y中的任意數量的實體關聯,反之依然。
實體關係圖(E-R圖)
E-R圖一圖形的方式將資料庫的整個邏輯結構標示出來,方便和客戶及小組內成員溝通。E-R圖的組成包括以下幾部分。
矩形標示實體集
橢圓形標示屬性
菱形表示聯繫集
直線用來連接屬性和實體集,也用來連接實體集和聯繫集
數據規範化
在分析需求是每個人都從不同的的角度去標示實體,10個人個能設計出10個E-R圖那我們怎麼去選出最優的設計方案呢?我們下一步的工作就是規範化E-R圖!接下來給打家介紹一下非常著名的三大範式
第一範式:確保沒一列的最小原子性(也就是每列都能在拆分)
第二範式:在第一範式的基礎上確保每一列都和主鍵相關
第三範式:在第二範式的基礎上確保每一列都和主鍵直接相關,而不是間接相關