《SQL Server 數(shù)據(jù)庫案例教程》課件第7章數(shù)據(jù)庫的設計_第1頁
《SQL Server 數(shù)據(jù)庫案例教程》課件第7章數(shù)據(jù)庫的設計_第2頁
《SQL Server 數(shù)據(jù)庫案例教程》課件第7章數(shù)據(jù)庫的設計_第3頁
《SQL Server 數(shù)據(jù)庫案例教程》課件第7章數(shù)據(jù)庫的設計_第4頁
《SQL Server 數(shù)據(jù)庫案例教程》課件第7章數(shù)據(jù)庫的設計_第5頁
已閱讀5頁,還剩23頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

課程內(nèi)容回顧數(shù)據(jù)庫有哪些基本操作?建庫建表加約束創(chuàng)建登錄帳戶

基本的數(shù)據(jù)操縱語句有哪些?語法是?增(INSERT)刪(DELETE)改(UPDATE)查(SELECT)常用的聚合函數(shù)有哪些?表連接分為哪幾種類型?本章目標了解設計數(shù)據(jù)庫的步驟掌握如何繪制數(shù)據(jù)庫的E-R圖理解數(shù)據(jù)庫的規(guī)范化-三大范式規(guī)范數(shù)據(jù)庫設計的必要性設計前提建樓需要根據(jù)圖紙,戶型設計好壞直接影響住宅質(zhì)量實際項目中的數(shù)據(jù)庫需要規(guī)范化的設計什么是數(shù)據(jù)庫設計?什么是數(shù)據(jù)庫設計?數(shù)據(jù)庫設計就是規(guī)劃和結(jié)構(gòu)化數(shù)據(jù)庫中的數(shù)據(jù)對象以及這些數(shù)據(jù)對象之間關系的過程。學生成績數(shù)據(jù)庫結(jié)構(gòu)數(shù)據(jù)庫設計的重要性良好的數(shù)據(jù)庫設計節(jié)省數(shù)據(jù)的存儲空間能夠保證數(shù)據(jù)的完整性方便進行數(shù)據(jù)庫應用系統(tǒng)的開發(fā)糟糕的數(shù)據(jù)庫設計:數(shù)據(jù)冗余、存儲空間浪費內(nèi)存空間浪費數(shù)據(jù)更新和插入的異常軟件項目開發(fā)周期需求分析階段:分析客戶的業(yè)務和數(shù)據(jù)處理需求;概要設計階段:設計數(shù)據(jù)庫的E-R模型圖,確認需求信息的正確和完整;詳細設計階段:將E-R圖轉(zhuǎn)換為多張表,進行邏輯設計,并應用數(shù)據(jù)庫設計的三大范式進行審核;代碼編寫階段:選擇具體數(shù)據(jù)庫進行物理實現(xiàn),并編寫代碼實現(xiàn)前端應用;軟件測試階段:……安裝部署:……現(xiàn)實世界建模信息世界模型轉(zhuǎn)換規(guī)范化數(shù)據(jù)庫世界數(shù)據(jù)庫數(shù)據(jù)庫設計數(shù)據(jù)庫的方法和步驟收集信息:

與該系統(tǒng)有關人員進行交流、坐談,充分理解數(shù)據(jù)庫需要完成的任務學生管理系統(tǒng)的基本功能:基本信息維護,后臺數(shù)據(jù)庫需要存放系,班級,學生和課程等基本數(shù)據(jù)學生選課和成績查詢,后臺數(shù)據(jù)庫需要存放學生選課和成績的基本數(shù)據(jù)設計數(shù)據(jù)庫的方法和步驟標識對象(實體-Entity)

標識數(shù)據(jù)庫要管理的關鍵對象或?qū)嶓w

實體一般是名詞:系,班級,學生,課程設計數(shù)據(jù)庫的方法和步驟系系號系名系主任電話班級班號班級名人數(shù)系號學生學號姓名年齡系號班級性別住址電話課程課程編號課程名稱學分標識每個實體的屬性(Attribute)設計數(shù)據(jù)庫的步驟標識對象之間的關系(Relationship)系與班級、學生之間具有主從關系:我們需要知道每個班級及學生是屬于哪個系的;一個學生可以選多門課程,每個課程也可有多個學生選擇;繪制E-R圖E-R(Entity-Relationship)實體關系圖符合含義實體,一般是名詞屬性,一般是名詞關系,一般是動詞繪制E-R圖屬于

學生……姓名學號系號系名……系繪制E-R圖映射基數(shù)一對一XXXXYYYYXXXXYYYY一對多XXXXY

YY多對一XXXXYYYY多對多客戶訂單產(chǎn)品

MN

1N1MM11M學號姓名性別年齡住址學號課程號成績系號電話班號學生(student)學習屬于屬于屬于選課(grade)系(depart)電話系主任系名系號M班級(class)班名班號人數(shù)系號1繪制E-R圖學生管理E-R圖

課程(course)課程名課程號學分分解1M如何將E-R圖轉(zhuǎn)換為表將各實體轉(zhuǎn)換為對應的表,將各屬性轉(zhuǎn)換為各表對應的列標識每個表的主鍵列,需要注意的是:沒有主鍵的表添加ID編號列,它沒有實際含義,用于做主鍵或外鍵,例如學生表中的“studID”列,班級表中添加“classID”列,系信息表中的“deptid”列在表之間建立主外鍵,體現(xiàn)實體之間的映射關系將E-R圖轉(zhuǎn)化為數(shù)據(jù)表Class(班級)表Student(學生)表ClassID(班級號)-主鍵Clname(班級名)Ccount(人數(shù))DeptID(系號)StudID(學號)-主鍵Sname(姓名)Ssex(性別)Sage(年齡)Saddr(住址)Stelephone(電話)DeptID(系號)ClassID(班號)Depart(系)表DeptID(系號)-主鍵Dname(系名)Dleader(系主任)Dtelephone(電話)CID(課程號)-主鍵Cname(課程名)Crecord(學分)Grade(選課)表StudID(學號)

-主鍵CID(課程號)-主鍵Score(成績)Course(課程)表DeptID主鍵ClassID主鍵StudID主鍵CID主鍵StudID和CID共同是主鍵將E-R圖轉(zhuǎn)化為數(shù)據(jù)表Class(班級)表Student(學生)表ClassID(班級號)Clname(班級名)Ccount(人數(shù))DeptID(系號)StudID(學號)Sname(姓名)Ssex(性別)Sage(年齡)Saddr(住址)Stelephone(電話)DeptID(系號)ClassID(班號)Depart(系)表DeptID(系號)Dname(系名)Dleader(系主任)Dtelephone(電話)Course(課程)表CID(課程號)Cname(課程名)Crecord(學分)Grade選課)表StudID(學號)CID(課程號)Score(成績)添加各表之間的關系數(shù)據(jù)規(guī)范化僅有好的RDBMS并不足以避免數(shù)據(jù)冗余,必須在數(shù)據(jù)庫的設計中創(chuàng)建好表的結(jié)構(gòu)DrE.F.codd最初定義了規(guī)范化的三個級別,范式是具有最小冗余的表結(jié)構(gòu)。這些范式是:第一范式(1stNF-FirstNormalForm)第二范式(2ndNF-SecondNormalForm)第三范式(3rdNF-ThirdNormalForm)第一范式(1stNF)課程名稱學時數(shù)數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)庫原理48243015……第一范式的目標是確保每列的原子性如果每列都是不可再分的最小數(shù)據(jù)單元(也稱為最小的原子單元),則滿足第一范式(1NF)講課實驗課程名稱數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)庫原理48243015……講課時數(shù)實驗時數(shù)第二范式(2ndNF)如果一個關系滿足1NF,并且除了主鍵以外的其他列,都依賴與該主鍵,則滿足第二范式(2NF)第二范式要求每個表只描述一件事情Student字段例子學號姓名課程號課程名S001張三C01數(shù)據(jù)結(jié)構(gòu)系號X01Student字段例子學號姓名S001張三Course字段例子課程號課程名C01數(shù)據(jù)結(jié)構(gòu)……系號X01第三范式(3rdNF)如果一個關系滿足2NF,并且除了主鍵以外的其他列都不傳遞依賴于主鍵列,則滿足第三范式(3NF)

StudentStudent字段例子學號姓名S001張三Course字段例子課程號課程名C01數(shù)據(jù)結(jié)構(gòu)Depart字段例子系號…X01…字段例子學號姓名課程號課程名S001張三C01數(shù)據(jù)結(jié)構(gòu)系號X01

……函數(shù)依賴函數(shù)依賴:當屬性間存在X->Y,Y-\->X,Y->Z,稱Z傳遞依賴與XX—>Y:稱Y依賴X或X決定Y。如:學號->姓名,姓名依賴于學號數(shù)據(jù)規(guī)范化示例1:對學生關系模式進行分解,逐步分解為1NF、2NF、3NF

例如:

學生(學號,姓名,住址,電話,班名,系系名,課程號,課程名,學分,成績)該關系模式的每一屬性對應的域為簡單域,符合第一范式數(shù)據(jù)規(guī)范化該關系模式滿足函數(shù)依賴集為:

學號—>姓名,學號—>住址,學號—>電話,學號—>班名,

學號—>系名

(學號,課程號)—>成績

課程號—>課程名,課程號—>學分可分解為以下三個2NF

學生1(學號,姓名,住址,電話,班名,系名)課程(課程號,課程名,學分)選課(學號,課程號,成績)該三個關系的非主屬性對碼(主屬性)完全依賴,均為2NF數(shù)據(jù)規(guī)范化分析關系模式“學生”

存在學號—>班名,班名->系名,系名-/->班名系名對學號的傳遞依賴,所以不符合3NF,所以關系模式”學生1”不是第三范式關系模式”學生”分解為:

學生2(學號,姓名,住址,電話,班名)班級(班名,系名)規(guī)范化和性能的關系為滿足某種商業(yè)目標,數(shù)據(jù)庫性能比規(guī)范化數(shù)據(jù)庫更重要通過在給定的表中添加額外的字段,以大量減少需要從中搜索信息所需的時間通過在給定的表中插入計算列(如成績總分),以方便查詢進行規(guī)范化的同時,還需要綜合考慮數(shù)據(jù)庫的性能。總結(jié)1-1在需求分析階段,設計數(shù)據(jù)庫的一般步驟為:收集信息

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論