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