數據庫設計(Database Design)是指對於一個給定的應用環境,構造最優的數據庫模式,創建數據庫及其應用系統,使之可以有效地存儲數據,知足各類用戶的應用需求(信息要求和處理要求)。java
數據庫設計的基本步驟:數據庫
1)需求分析架構
需求分析是在用戶調查的基礎上,經過分析,逐步明確用戶對系統的需求,包括數據需求和圍繞這些數據的業務處理需求。在需求分析中,經過自頂向下,逐步分解的方法分析系統,分析的結果採用數據流程圖進行圖形化的描述。框架
2)概念結構設計數據庫設計
對用戶要求描述的現實世界(多是一個工廠、一個商場或者一個學校等),經過對其中諸處的分類、彙集和歸納,創建抽象的概念數據模型。分佈式
這個概念模型應反映現實世界各部門的信息結構、信息流動狀況、信息間的互相制約關係以及各部門對信息儲存、查詢和加工的要求等。工具
概念結構設計一般有四類方法:性能
3)邏輯結構設計學習
主要工做是將現實世界的概念數據模型設計成數據庫的一種邏輯模式。在這階段,E-R圖顯得異常重要。開發工具
4)物理結構設計
根據特定數據庫管理系統所提供的多種存儲結構和存取方法等依賴於具體計算機結構的各項物理設計措施,對具體的應用任務選定最合適的物理存儲結構(包括文件類型、索引結構和數據的存放次序與位邏輯等)、存取方法和存取路徑等。
5)數據庫的實施
數據庫實施階段,設計人員運營DBMS提供的數據庫語言及其宿主語言,根據邏輯設計和物理設計的結果創建數據庫,編制和調試應用程序,組織數據入庫,並進行試運行。
6)數據庫的運行和維護
數據庫應用系統通過試運行後,便可投入正式運行,在數據庫系統運行過程當中必須不斷地對其進行評價,調整,修改。
設計原則:
1)一對一設計原則:
在軟件開發過程當中,須要遵循一對一關係設計原則進而開展數據維護工做,經過利用此原則可以儘可能減小維護問題的出現,保證數據維護工做順利開展同時下降維護工做難度。
2)獨特命名原則:
獨特命名原則的應用是爲了減小在數據庫設計過程當中出現重複命名和規範命名現象出現。
經過應用此原則可以減小數據冗雜,維護數據一致性,保持各關鍵詞之間存在必然相對應聯繫。
獨特命名原則可以鍛鍊工做人員對大小寫字母熟練操做能力,有利於規範化後臺代碼工做的開展。
3)雙向使用原則:
雙向使用原則包括事務使用原則和索引功能原則。
雙向使用原則是在邏輯工做單元模式基礎上實現其表現形式的,不只給非事務性單元操做工做提供基礎保障,也保證其可以及時更新、獲取數據資源。
重要性:
一、有利於資源節約
二、有利於軟件運行速度的提升
三、有利於軟件故障的減小
存在問題:
一、業務基本需求沒法獲得知足
二、數據庫性能不高
三、數據庫的擴展性較差
四、數據資源冗餘
五、表與表之間的耦合過密
1)實體-關係圖:
也稱爲E-R圖,提供了表示實體、屬性和關係的方法,用來描述現實世界的概念模型。
構成E-R圖的基本要素:
① 實體(Entity):
實體用來表示具備相同特徵和性質的事物(相似於java的類),實體由實體名和實體屬性來表示。
②屬性(Attribute):
實體所具備的某一特性,一個實體能夠有若干個屬性;
③ 關係(Relationship):
實體彼此之間相互鏈接的方式稱爲關係。通常可分爲如下 3 種類型:
一對一關係 (1 ∶ 1) 一對多關係 (1 ∶ N) 多對多關係 (M ∶ N)
2) ER圖中符號的表示
(1)# : 惟一, 之後可能表示爲主鍵;
(2) * : 非空;
(3) o : 無關緊要;
(4) 虛線: may be 顧客這邊虛線,顧客可能沒有訂單;
(5) 實線: must be 訂單這邊實線,訂單必定是屬於某個客戶;
(6) 豎槓(|): 表明要強制在(|)一方創建一個聯合主鍵,將對方ID拿過來作聯合主鍵;
(7) 傘狀圖標表明多的一方,不是傘狀圖標則表明一的一方;
PowerDesig介紹:
PowerDesigner是Sybase公司的CASE工具集,使用它能夠方便地對管理信息系統進行分析設計,它幾乎包括了數據庫模型設計的全過程。
利用PowerDesigner能夠製做數據流程圖、概念數據模型、物理數據模型,能夠生成多種客戶端開發工具的應用程序,還可爲數據倉庫製做結構模型,也能對團隊設計模型進行控制
PowerDesigner包含六個緊密集成的模塊:
①PowerDesigner ProcessAnalyst,用於數據發現。
②PowerDesigner DataArchitect,用於雙層,交互式的數據庫設計和構造。
③PowerDesigner AppModeler,用於物理建模和應用對象及數據敏感組件的生成。
④PowerDesigner MetaWorks,用於高級的團隊開發,信息的共享和模型的管理。
⑤PowerDesigner WarehouseArchitect,用於數據倉庫的設計和實現。
⑥PowerDesigner Viewer,用於以只讀的、圖形化方式訪問整個企業的模型信息。
PowerDesigner主要分爲7種建模文件:
1)概念數據模型 (CDM)
對數據和信息進行建模,利用實體-關係圖(E-R圖)的形式組織數據,檢驗數據設計的有效性和合理性。
2) 邏輯數據模型 (LDM)
PowerDesigner 15 新增的模型。邏輯模型是概念模型的延伸,表示概念之間的邏輯次序,是一個屬於方法層次的模型。
3) 物理數據模型 (PDM)
基於特定DBMS,在概念數據模型、邏輯數據模型的基礎上進行設計。由物理數據模型生成數據庫,或對數據庫進行逆向工程獲得物理數據模型。
4)面向對象模型 (OOM)
包含UML常見的全部的圖形:類圖、對象圖、包圖、用例圖、時序圖、協做圖、交互圖、活動圖、狀態圖、組件圖、複合結構圖、部署圖(配置圖)。OOM 本質上是軟件系統的一個靜態的概念模型。
5) 業務程序模型 (BPM)
BPM 描述業務的各類不一樣內在任務和內在流程,並且客戶如何以這些任務和流程互相影響。 BPM 是從業務合夥人的觀點來看業務邏輯和規則的概念模型,使用一個圖表描述程序,流程,信息和合做協議之間的交互做用。
6) 信息流模型(ILM)
ILM是一個高層的信息流模型,主要用於分佈式數據庫之間的數據複製。
7) 企業架構模型(EAM):
從業務層、應用層以及技術層的對企業的體系架構進行全方面的描述。包括:組織結構圖、業務通訊圖、進程圖、城市規劃圖、應用架構圖、面向服務圖、技術基礎框架圖。
謝謝你們閱讀,若是想要獲取更多java基礎知識,能夠戳我一塊兒交流學習!