資源描述:
《《北大青鳥數(shù)據(jù)庫》PPT課件》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第一章數(shù)據(jù)庫的設(shè)計課程地位C#SQLServerXMLPSPMASP.NETOracleOOADComputerBaseHTMLJavaScriptSQLBaseOOPJavaCSTBJSP/ServletEJB/WebServiceWinFormsStruts/JSFTesting/SQALinux2課程內(nèi)容回顧數(shù)據(jù)庫有哪些基本操作?建庫建表加約束創(chuàng)建登錄帳戶基本的數(shù)據(jù)操縱語句有哪些?語法是?增(INSERT)刪(DELETE)改(UPDATE)查(SELECT)常用的聚合函數(shù)有哪些?表連接分為哪幾種類型?3課程目標了解
2、設(shè)計數(shù)據(jù)庫的基本步驟熟練使用T-SQL實現(xiàn)建庫、建表、加約束掌握T-SQL編程,實現(xiàn)功能強大的查詢掌握創(chuàng)建索引、視圖,快速訪問數(shù)據(jù)庫掌握創(chuàng)建存儲過程,實現(xiàn)復(fù)雜的業(yè)務(wù)規(guī)則理解觸發(fā)器的原理,實現(xiàn)高級的約束4本章目標了解設(shè)計數(shù)據(jù)庫的步驟掌握如何繪制數(shù)據(jù)庫的E-R圖理解數(shù)據(jù)庫的規(guī)范化-三大范式5為什么需要設(shè)計數(shù)據(jù)庫2-1修建茅屋需要設(shè)計嗎?修建大廈需要設(shè)計嗎?結(jié)論:當數(shù)據(jù)庫比較復(fù)雜時我們需要設(shè)計數(shù)據(jù)庫6為什么需要設(shè)計數(shù)據(jù)庫2-2良好的數(shù)據(jù)庫設(shè)計:節(jié)省數(shù)據(jù)的存儲空間能夠保證數(shù)據(jù)的完整性方便進行數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)糟糕的數(shù)據(jù)庫設(shè)計:數(shù)據(jù)冗
3、余、存儲空間浪費內(nèi)存空間浪費數(shù)據(jù)更新和插入的異常7軟件項目開發(fā)周期需求分析階段:分析客戶的業(yè)務(wù)和數(shù)據(jù)處理需求;概要設(shè)計階段:設(shè)計數(shù)據(jù)庫的E-R模型圖,確認需求信息的正確和完整;詳細設(shè)計階段:將E-R圖轉(zhuǎn)換為多張表,進行邏輯設(shè)計,并應(yīng)用數(shù)據(jù)庫設(shè)計的三大范式進行審核;代碼編寫階段:選擇具體數(shù)據(jù)庫進行物理實現(xiàn),并編寫代碼實現(xiàn)前端應(yīng)用;軟件測試階段:……安裝部署:……現(xiàn)實世界建模信息世界數(shù)據(jù)庫世界模型轉(zhuǎn)換規(guī)范化8設(shè)計數(shù)據(jù)庫的步驟4-1收集信息:與該系統(tǒng)有關(guān)人員進行交流、坐談,充分理解數(shù)據(jù)庫需要完成的任務(wù)BBS論壇的基本功能:用戶注冊和
4、登錄,后臺數(shù)據(jù)庫需要存放用戶的注冊信息和在線狀態(tài)信息;用戶發(fā)貼,后臺數(shù)據(jù)庫需要存放貼子相關(guān)信息,如貼子內(nèi)容、標題等;論壇版塊管理:后臺數(shù)據(jù)庫需要存放各個版塊信息,如版主、版塊名稱、貼子數(shù)等;9設(shè)計數(shù)據(jù)庫的步驟4-2標識對象(實體-Entity)標識數(shù)據(jù)庫要管理的關(guān)鍵對象或?qū)嶓w實體一般是名詞:用戶:論壇普通用戶、各版塊的版主。用戶發(fā)的主貼用戶發(fā)的跟貼(回貼)版塊:論壇的各個版塊信息10設(shè)計數(shù)據(jù)庫的步驟4-3論壇用戶:呢稱密碼電子郵件生日性別用戶的等級備注信息注冊日期狀態(tài)積分主貼發(fā)貼人發(fā)貼表情回復(fù)數(shù)量標題正文發(fā)貼時間點擊數(shù)狀態(tài):最
5、后回復(fù)時間回貼貼子編號回貼人,回貼表情標題正文回貼時間點擊數(shù)版塊版塊名稱版主本版格言點擊率發(fā)貼數(shù)標識每個實體的屬性(Attribute)11設(shè)計數(shù)據(jù)庫的步驟4-4標識對象之間的關(guān)系(Relationship)跟貼和主貼有主從關(guān)系:我們需要在跟貼對象中表明它是誰的跟貼;版塊和用戶有關(guān)系:從用戶對象中可以根據(jù)版塊對象查出對應(yīng)的版主用戶的情況;主貼和版塊有主從關(guān)系:需要表明發(fā)貼是屬于哪個版塊的;跟貼和版塊有主從關(guān)系:需要表明跟貼是屬于哪個版塊的;12繪制E-R圖4-1E-R(Entity-Relationship)實體關(guān)系圖符合含義
6、實體,一般是名詞屬性,一般是名詞關(guān)系,一般是動詞13繪制E-R圖4-2管理bbsUser(用戶,版主)……出生日期昵稱版塊名稱版主……bbsSection(版塊)14繪制E-R圖4-3映射基數(shù)一對一XXXXYYYYXXXXYYYY一對多XXXXYYY多對一XXXXYYYY多對多客戶訂單產(chǎn)品1NMN15繪制E-R圖1111M1MMMM用戶積分性別用戶等級備注信息注冊日期版塊名稱本版留言發(fā)貼數(shù)狀態(tài)密碼昵稱電子郵件生日論壇用戶(BBSUser)管理發(fā)表發(fā)表跟隨屬于屬于點擊率版主標題發(fā)貼人貼子編號正文點擊率版塊(BBSSection)
7、發(fā)貼(BBSTopic)發(fā)貼人正文狀態(tài)貼子編號所在版塊最后回復(fù)時間發(fā)貼表情回復(fù)數(shù)量點擊率發(fā)貼時間標題M跟貼(BBSReply)所在版塊發(fā)貼時間最后回復(fù)時間發(fā)貼表情1論壇E-R圖16如何將E-R圖轉(zhuǎn)換為表3-1將各實體轉(zhuǎn)換為對應(yīng)的表,將各屬性轉(zhuǎn)換為各表對應(yīng)的列標識每個表的主鍵列,需要注意的是:沒有主鍵的表添加ID編號列,它沒有實際含義,用于做主鍵或外鍵,例如用戶表中的“UID”列,版塊表中添加“SID”列,發(fā)貼表和跟貼表中的“TID”列在表之間建立主外鍵,體現(xiàn)實體之間的映射關(guān)系17如何將E-R圖轉(zhuǎn)換為表3-2UID主鍵TID主鍵
8、RID主鍵SID主鍵18如何將E-R圖轉(zhuǎn)換為表添加各表之間的關(guān)系19數(shù)據(jù)規(guī)范化僅有好的RDBMS并不足以避免數(shù)據(jù)冗余,必須在數(shù)據(jù)庫的設(shè)計中創(chuàng)建好的表結(jié)構(gòu)DrE.F.codd最初定義了規(guī)范化的三個級別,范式是具有最小冗余的表結(jié)構(gòu)。這些范式是:第一范式(1stNF-FirstNo