一 邏輯模型中的信息可以用三個概念來描述: (1) 實體(如果一個對象擁有許多特性和值,那么它可能是個實體) (2) 屬性(如果一個對象擁有一個特性的值,那么它可能是屬性) (3) 關系(如果一個對象的描述包含了一個動詞短語,那么它可能是關系) 二 數據庫設計可以分成以下四個部分 (1)表關系的規范化和完善。 (2)實體、數據和關系完整性的判別。 (3)創建數據的物理示意圖。 (4)創建數據庫對象(觸發器、存儲過程和索引)。 數據規范化的五個層次: (1)消除重復的數據組(1NF,或第一范式) (2)消除多余的數據(2NF,或第二范式) (3)消除不依賴于鍵標的列(3NF,或第三范式) (4)分離獨立的多個關系(4NF,或第四范式) (5)分離語義相關的多個關系(5NF,或第五范式) 技巧:為了實現3NF的數據庫設計,一個簡單的規則就是記住每個屬性都必須依附于該鍵標而且只能包含定義該鍵標的那些項目。 注意:第三范式對于大多數數據庫已足夠了,但是它還不能完全處理下面這樣的情形:一個實體有兩個或多個侯選鍵標,他們是組合鍵標并且至少有一個公用屬性。為了彌補這種不足,引入了修正的第三范式,稱為BCNF。 三 數據完整性 (1)實體完整性。每個行是包含該含的實體的惟一實體。這類完整性通常是通過在主鍵標字段生成一個惟一索引強行的實現。 (2)域完整性。確保實際數據值的正確性。這類完整性是通過設置數據類型、空值能力和數據庫規劃以及缺省而強制實現的。 (3)引用完整性。確保外部鍵標值與父表中主鍵標值正確匹配。這類完整性還用于限制或級聯從父實體到子實體的變化。這類完整性通常是用觸發器或是其他聲明的引用完整性約束實現的。 四 三層結構理論 它是一種邏輯上的層次劃分,它將應用功能分成用戶界面層、中間層和數據層。三層結構業務處理流程圖如下: 五 數據庫設計 (1)包括兩個組成部分:邏輯設計和物理設計。邏輯數據庫設計包括使用數據庫組件為業務需求進行數據建模。物理數據設計將邏輯設計映射到物理媒體上。 (2)數據庫建模板工具:個人還是不喜歡用visio,更喜歡用powerdesigner,因為前者將邏輯設計和物理設計揉到一塊,這種一步到位的設計總是不那么嚴謹,需要靠經驗來保證數據庫設計的合理性,而后者的概念視圖和物理視圖,將數據庫概念的理論知識在實踐得到很好應用,經驗和理論都可以得到發揮.打個不恰當的比方,一步到位的設計,有點想VB是弱類型的,變量的定義,可以不管類型,編譯不出錯,但是運行時不合理的類型轉換是會出錯的,所以需要經驗來保證類型的一致性,而C#的是強類型的,編譯時就可以檢查類型處理的是否合理,所以大部分類型轉換錯誤都可以在編譯期間發現. 當然,如果讓我寫文檔,那無疑前者是很好的繪圖工具,各種各樣的流程圖繪起來非常方便! |
|