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