相信你們認真看完這篇文章就會知道怎麼去設計出高級的數據庫了!!!數據庫
最近有朋友一直問我爲何須要規範的的數據庫設計?數據庫設計
專業人士解析:性能
由於在實際的項目開發中,若是系統的數據存儲量較大,設計的表比較多,表和表之間的關係比較測試
複雜,就須要首先考慮規範的數據庫設計,而後進行具體的建立庫,建立表的工做,無論是建立動網站
態網站,仍是建立桌面窗口的應用程序,數據庫設計的重要性都不言而喻。若是設計不當,會存在spa
數據操做異常,修改複雜,數據冗餘等問題,程序性能就會受到影響。因此要有規範的數據庫設計設計
才能夠提升項目的應用性能!blog
這位同鞋問的好!什麼是數據庫設計???ip
大鵬告訴你:數據庫設計就是將數據庫中的數據實體及這些數據實體之間的關係,進行規劃和結構化的過程。開發
以下圖(學生信息數據庫的結構也包括這四個數據實體之間的關係)
說完了數據庫設計,接下來就說一說設計數據庫的步驟:
項目的開發須要通過:需求分析,概要設計,代碼編寫,運行測試和打包發行幾個階段。
需求分析:分析客戶的業務和數據處理需求。
概要設計階段:繪製數據庫的E-R圖,用於在項目團隊內部,設計人員和客戶之間的進行
溝通,確認需求信息的正確和完整性。
詳細設計階段:將E-R圖轉換爲多張表,進行邏輯設計,確認各表的主外鍵,並應用數據
庫設計的三大範式進行審覈。然然後面就是交給代碼編寫階段。
小竅門:不管數據庫的大小和複雜程度如何,在進行數據庫的系統分析時,均可以參考下列基本步驟:(不要告訴別人)
1.收集信息。
2.標識實體
3.標識每一個實體須要存儲的詳細信息
4.標識實體之間的關係
標識實體:其實有的童鞋不知道怎麼標識出實體,實體能夠是有形的事物,如人或者產品;也能夠是無形的事物,如商業
交易,公司部門,發薪週期。就以一個酒店管理系統數據庫爲例:咱們須要標識出系統中最主要的實體。
可想而知那就是客房,客人。客房包括單人間,標準間,三人間,總統套房;客人包括客人姓名,客人身份信息等
這就是標識實體。實體通常是名詞,一個實體只描述一件事情,不能重複出現含義相同的實體。
下一步須要作的就是要給實體存儲詳細的信息
客房:客房號,客房類型,客房狀態,客房描述,牀位數,入住人數,價格
客人:姓名,身份證號,客人編號,入住日期,結帳日期,押金,總金額
概念設計————————————繪製E-R圖(Entity-Relationship)
E-R圖稱爲實體-關係圖。它包括一些具備特定含義的圖形符號
矩形表示實體集
橢圓表示屬性
菱形標識聯繫集
直線用來鏈接屬性和實體集,也用來鏈接實體集和聯繫集。
繪製E-R圖可使用Microsoft Visio軟件具體如何使用就不依依介紹了
必背的三大範式:
第一範式:其目標是確保每列的原子性
第二範式:在第一範式的基礎上更進一層,其目標是確保表中的每列都和主鍵相關。
第三範式:在第二範式的基礎上更進一層,其目標是確保每列都和主鍵直接相關,而不是間接相關。
相信大家看到這裏怎麼去設計出高大上的數據庫內心應該也有了一個如意小算盤了吧。
若是對你有幫助請別忘了支持一下!