《MSSQL數(shù)據(jù)庫培訓(xùn)-數(shù)據(jù)庫建模.pptx》由會員分享,可在線閱讀,更多相關(guān)《MSSQL數(shù)據(jù)庫培訓(xùn)-數(shù)據(jù)庫建模.pptx(22頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、MS SQL數(shù)據(jù)庫開發(fā)培訓(xùn)數(shù)據(jù)庫建模主講人:黃浩 內(nèi)容數(shù)據(jù)庫建模概述1數(shù)據(jù)庫E-R圖2數(shù)據(jù)庫范式3完整性約束4建模工具介紹5 建模的實質(zhì)u數(shù)據(jù)庫的結(jié)構(gòu),也稱為數(shù)據(jù)庫模式u將現(xiàn)實世界中客觀存在的事物以數(shù)據(jù)形式存儲到計算機中并進行處理,就需要對其進行分析、抽象、進而確定數(shù)據(jù)的結(jié)構(gòu)以及數(shù)據(jù)間的內(nèi)在聯(lián)系,這一過程稱為數(shù)據(jù)建模u模型是對不能直接觀察的事物進行形象的描述和模擬u數(shù)據(jù)庫建模步驟: 建模的實質(zhì)信息結(jié)構(gòu)化數(shù)據(jù) 人是無羽毛的兩足動物姓名性別出生年月血型籍貫張小美美女1988-08-08AB杭州 建模的問題我怎么知道建立哪些模型?模型和模型之間是否存在關(guān)系?如何有效的將信息結(jié)構(gòu)化模型?模型的屬性如何
2、正確確認?如何有效的管理模型?建模的那些問題 內(nèi)容數(shù)據(jù)庫建模概述1數(shù)據(jù)庫E-R圖2數(shù)據(jù)庫范式3完整性約束4建模工具介紹5 E-R圖u實體-聯(lián)系圖(Entity Relationship Diagram),提供了表示實體類型、屬性和聯(lián)系的方法,用來描述現(xiàn)實世界的概念模型具有相同屬性的實體具有相同的特征和性質(zhì),用實體名及其屬性名集合來抽象和刻畫同類實體聯(lián)系也稱關(guān)系,信息世界中反映 實體內(nèi)部或?qū)嶓w之間的聯(lián)系。實體內(nèi)部的聯(lián)系通常是指組成實體的各屬性之間的聯(lián)系;實體之間的聯(lián)系通常是指不同實體集之間的聯(lián)系聯(lián)系要素屬性實體型實體所具有的某一特性,一個實體可由若干個屬性來刻畫 聯(lián)系的類型丈 夫妻 子婚 姻父
3、親生 育子 女 教 師教 學(xué)學(xué) 生 一個簡單的大學(xué)選課數(shù)據(jù)庫,涉及如下數(shù)據(jù): 學(xué)生Student:學(xué)號SNo、姓名Sname、年齡Age、性別Ssex、系別Dept; 課程Course:課程號Cno、課程名CName、課程學(xué)分Credit; 教師Teacher:教師姓名Tname、教師性別Tsex、職稱Post;系別Dept:系別編號Dno,系別名DName、系別電話DTel,系別地址DAddr;一個學(xué)生可以選修多門課,每門課可以由多個學(xué)生選修;一位教師可講授多門課程,每門課程可由多位教師講授,學(xué)生在選課的同時可以選老師,學(xué)生選修課程會有成績Score。 E-R圖舉例CNoSNSNo Scor
4、e CNStudent CourseBelong TeachSupplyDepart TeacherChoose 內(nèi)容數(shù)據(jù)庫建模概述1數(shù)據(jù)庫E-R圖2數(shù)據(jù)庫范式3完整性約束4建模工具介紹5 范式綜述無重復(fù)的列非碼屬性必須完全依賴于碼非主屬性不依賴于其它非主屬性任何非主屬性不能對主鍵子集依賴 禁止主鍵列和非主鍵列一對多關(guān)系不受約束將表分割成盡可能小的塊,為了排除在表中所有的冗余消除了數(shù)據(jù)冗余、更新異常、插入異常和刪除異常 第一范式u所謂第一范式(1NF)是指數(shù)據(jù)庫表的每一列都是不可分割的基本數(shù)據(jù)項,同一列中不能有多個值,即實體中的某個屬性不能有多個值或者不能有重復(fù)的屬性u在任何一個關(guān)系數(shù)據(jù)庫中,
5、第一范式(1NF)是對關(guān)系模式的設(shè)計基本要求,一般設(shè)計中都必須滿足第一范式(1NF) 第二范式u在一范式(1NF)的基礎(chǔ)上,非碼屬性必須完全依賴于碼u第二范式(2NF)要求數(shù)據(jù)庫表中的每個實例或記錄必須可以被唯一地區(qū)分。選取一個能區(qū)分每個實體的屬性或?qū)傩越M,作為實體的唯一標識。u第二范式(2NF)要求實體的屬性完全依賴于主關(guān)鍵字。所謂完全依賴是指不能存在僅依賴主關(guān)鍵字一部分的屬性,如果存在,那么這個屬性和主關(guān)鍵字的這一部分應(yīng)該分離出來形成一個新的實體,新實體與原實體之間是一對多的關(guān)系。為實現(xiàn)區(qū)分通常需要為表加上一個列,以存儲各個實例的唯一標識。 u第二范式就是在第一范式的基礎(chǔ)上屬性完全依賴于主
6、鍵 第二范式應(yīng)用舉例u把所有信息放到一個表中(學(xué)號, 課程) (姓名, 年齡, 成績, 學(xué)分)(學(xué)號,學(xué)生姓名、年齡、性別、課程、課程學(xué)分、系別、學(xué)科成績,系辦地址、系辦電話)同一門課程由n個學(xué)生選修,學(xué)分 就重復(fù)n-1次;同一個學(xué)生選修了m門課程,姓名和年齡就重復(fù)了m-1次若調(diào)整了某門課程的學(xué)分,數(shù)據(jù)表中所有行的學(xué)分值都要更新假設(shè)一批學(xué)生已經(jīng)完成課程的選修,這些選修記錄就應(yīng)該從數(shù)據(jù)庫表中刪除。但是,與此同時,課程名稱和學(xué)分信息也被刪除了。很顯然,這也會導(dǎo)致插入異常更新異常刪除異常數(shù)據(jù)冗余 第二范式舉例(學(xué)號,姓名、年齡、性別、課程、課程學(xué)分、系別、學(xué)科成績、系辦地址、系辦電話)(學(xué)號,姓名、
7、年齡、性別、系別、系辦地址、系辦電話)學(xué)生:(課程、課程學(xué)分)課程:(學(xué)號,課程、學(xué)科成績)成績: 第三范式u在1NF基礎(chǔ)上,任何非主屬性不依賴于其它非主屬性u第三范式(3NF)要求一個關(guān)系中不包含已在其它關(guān)系已包含的非主關(guān)鍵字信息。u第三范式就是屬性不依賴于其它非主屬性,也就是在滿足2NF的基礎(chǔ)上,任何非主屬性不得傳遞依賴于主屬性。(學(xué)號,姓名、年齡、性別、系別、系辦地址、系辦電話)學(xué)生: (學(xué)號,姓名、年齡、性別、系別)學(xué)生:(系別、系辦地址、系辦電話)院系: 內(nèi)容數(shù)據(jù)庫建模概述1數(shù)據(jù)庫E-R圖2數(shù)據(jù)庫范式3完整性約束4建模工具介紹5 完整性約束要求某個屬性的值必須處于特定的范圍內(nèi)或者取自
8、特性值的集合在實體集的范圍內(nèi)唯一標識一個實體的屬性或?qū)傩约?。一個類中的任何兩個對象在構(gòu)成鍵碼的屬性集上的取值決不能相同一個實體中某個特定屬性或?qū)傩约ㄍǔ7Q為外鍵碼)的 取值,如果不是空值,則只能引用另一個確實存在的鍵碼屬性或?qū)傩约闹?內(nèi)容數(shù)據(jù)庫建模概述1數(shù)據(jù)庫E-R圖2數(shù)據(jù)庫范式3完整性約束4建模工具介紹5 建模工具uSybase PowerDesigner - 一個高端數(shù)據(jù)建模工具。uERWin - 一個高端數(shù)據(jù)建模工具。uRational Rose Enterprise - 一個高端UML工具,恰如其分的數(shù)據(jù)庫建模支持。uVisio Professional - 一個價格低廉的繪圖工具,可用來生成數(shù)據(jù)模型、UML圖等。企業(yè)版還支持針對各種數(shù)據(jù)庫的雙向工程能力。uERD Tool List -http:/ u 一個關(guān)于各種數(shù)據(jù)庫和UML建模工具的鏈接和資源的清單。 聯(lián)系交流方式:u Email:u QQ:275126625u手機:13713567052