




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
數(shù)據(jù)庫(kù)的設(shè)計(jì)1本章目標(biāo)了解設(shè)計(jì)數(shù)據(jù)庫(kù)的步驟掌握如何繪制數(shù)據(jù)庫(kù)的E-R圖理解數(shù)據(jù)庫(kù)的規(guī)范化-三大范式2為什么需要設(shè)計(jì)數(shù)據(jù)庫(kù)2-1修建茅屋需要設(shè)計(jì)嗎?修建大廈需要設(shè)計(jì)嗎?結(jié)論:當(dāng)數(shù)據(jù)庫(kù)比較復(fù)雜時(shí)我們需要設(shè)計(jì)數(shù)據(jù)庫(kù)3為什么需要設(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)的開發(fā)糟糕的數(shù)據(jù)庫(kù)設(shè)計(jì):數(shù)據(jù)冗余、存儲(chǔ)空間浪費(fèi)內(nèi)存空間浪費(fèi)數(shù)據(jù)更新和插入的異常4軟件項(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ī)范化5設(shè)計(jì)數(shù)據(jù)庫(kù)的步驟4-1收集信息:
與該系統(tǒng)有關(guān)人員進(jìn)行交流、坐談,充分理解數(shù)據(jù)庫(kù)需要完成的任務(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ù)等;6設(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è)版塊信息7設(shè)計(jì)數(shù)據(jù)庫(kù)的步驟4-3論壇用戶:呢稱密碼電子郵件生日性別用戶的等級(jí)備注信息注冊(cè)日期狀態(tài)積分主貼發(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)8設(shè)計(jì)數(shù)據(jù)庫(kù)的步驟4-4標(biāo)識(shí)對(duì)象之間的關(guān)系(Relationship)跟貼和主貼有主從關(guān)系:我們需要在跟貼對(duì)象中表明它是誰的跟貼;版塊和用戶有關(guān)系:從用戶對(duì)象中可以根據(jù)版塊對(duì)象查出對(duì)應(yīng)的版主用戶的情況;主貼和版塊有主從關(guān)系:需要表明發(fā)貼是屬于哪個(gè)版塊的;跟貼和版塊有主從關(guān)系:需要表明跟貼是屬于哪個(gè)版塊的;9繪制E-R圖4-1E-R(Entity-Relationship)實(shí)體關(guān)系圖符合含義實(shí)體,一般是名詞屬性,一般是名詞關(guān)系,一般是動(dòng)詞10繪制E-R圖圖4-2管理bbsUser(用戶,版主主)……出生日期昵稱版塊名稱版主……bbsSection(版塊)11繪制E-R圖圖4-3映射基數(shù)一對(duì)一XXXXYYYYXXXXYYYY一對(duì)多XXXXYYY多對(duì)一XXXXYYYY多對(duì)多客戶訂單產(chǎn)品1
NM
N12繪制E-R圖圖1111M1MMMM用戶積分性別用戶等級(jí)備注信息注冊(cè)日期版塊名稱本版留言發(fā)貼數(shù)狀態(tài)密碼昵稱電子郵件生日論壇用戶(BBSUser)管理發(fā)表發(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圖13如何將E-R圖轉(zhuǎn)換為表表3-1將各實(shí)體轉(zhuǎn)換換為對(duì)應(yīng)的表表,將各屬性性轉(zhuǎn)換為各表表對(duì)應(yīng)的列標(biāo)識(shí)每個(gè)表的的主鍵列,需需要注意的是是:沒有主鍵鍵的表添加ID編號(hào)列,,它沒有實(shí)際際含義,用于于做主鍵或外外鍵,例如用用戶表中的““UID”列列,版塊表中中添加“SID”列,發(fā)發(fā)貼表和跟貼貼表中的“TID”列在表之間建立立主外鍵,體體現(xiàn)實(shí)體之間間的映射關(guān)系系14如何將E-R圖轉(zhuǎn)換為表表3-2UID主鍵TID主鍵RID主鍵SID主鍵15如何將E-R圖轉(zhuǎn)換為表表添加各表之間間的關(guān)系16數(shù)據(jù)規(guī)范化僅有好的RDBMS并不不足以避免數(shù)數(shù)據(jù)冗余,必必須在數(shù)據(jù)庫(kù)庫(kù)的設(shè)計(jì)中創(chuàng)創(chuàng)建好的表結(jié)結(jié)構(gòu)DrE.F.codd最初定義義了規(guī)范化的的三個(gè)級(jí)別,,范式是具有有最小冗余的的表結(jié)構(gòu)。這這些范式是::第一范式(1stNF-FirstNormalFromate)第二范式(2ndNF-SecondNormalFromate)第三范式(3rdNF-ThirdNormalFromate)17第一范式(1stNF)BuyerIDCountryCity1142中國(guó)中國(guó)日本美國(guó)北京北京東京紐約………BuyerIDAddress1234中國(guó)北京市
美國(guó)紐約市英國(guó)利物浦日本東京市……第一范式的目目標(biāo)是確保每每列的原子性性如果每列都是是不可再分的的最小數(shù)據(jù)單單元(也稱為為最小的原子子單元),則則滿足第一范范式(1NF)18第二范式(2ndNF)如果一個(gè)關(guān)系系滿足1NF,并且除了了主鍵以外的的其他列,都都依賴與該主主鍵,則滿足足第二范式((2NF)第二范式要求求每個(gè)表只描描述一件事情情Orders字段例子訂單編號(hào)產(chǎn)品編號(hào)訂購(gòu)日期價(jià)格001A0012000-2-3$29.00……Orders字段例子訂單編號(hào)訂購(gòu)日期0012000-2-3Products字段例子產(chǎn)品編號(hào)價(jià)格A001$29.0019第三范式(3rdNF)如果一個(gè)關(guān)系系滿足2NF,并且除了了主鍵以外的的其他列都不不傳遞依賴于于主鍵列,則則滿足第三范范式(3NF)Orders字段例子訂單編號(hào)訂購(gòu)日期顧客編號(hào)0012000-2-3AB001顧客姓名Tony……Orders字段例子訂單編號(hào)訂購(gòu)日期顧客編號(hào)0012000-2-3AB001……20規(guī)范化實(shí)例5-1假設(shè)某建筑公公司要設(shè)計(jì)一一個(gè)數(shù)據(jù)庫(kù)。。公司的業(yè)務(wù)務(wù)規(guī)則概括說明如如下:公司承擔(dān)多個(gè)個(gè)工程項(xiàng)目,,每一項(xiàng)工程程有:工程號(hào)號(hào)、工程名稱稱、施工人員員等公司有多名職職工,每一名名職工有:職職工號(hào)、姓名名、性別、職職務(wù)(工程師師、技術(shù)員))等公司按照工時(shí)時(shí)和小時(shí)工資資率支付工資資,小時(shí)工資資率由職工的的職務(wù)決定((例如,技術(shù)術(shù)員的小時(shí)工工資率與工程程師不同)公司定期制定定一個(gè)工資報(bào)報(bào)表,如圖-1所示21規(guī)范化實(shí)例5-2工程號(hào)工程名稱職工號(hào)姓名職務(wù)小時(shí)工資率工時(shí)實(shí)發(fā)工資A1花園大廈1001齊光明工程師6513845.001002李思岐技術(shù)員6016960.001004葛宇宏律師60191140.00小計(jì)2945.00A2立交橋1001齊光明工程師6515975.001003鞠明亮工人5517935.00小計(jì)1910.00A3臨江飯店1002李思岐技術(shù)員60181080.001004葛宇洪技術(shù)員6014840.00小計(jì)1920.00圖-1某公公司的工資表表22規(guī)范化實(shí)例5-3工程號(hào)工程名稱職工號(hào)姓名職務(wù)小時(shí)工資率工時(shí)A1花園大廈1001齊光明工程師6513A1花園大廈1002李思岐技術(shù)員6016A1花園大廈1001齊光明工程師6513A1花園大廈1003鞠明亮工人5517A3臨江飯店1002李思岐技術(shù)員6018A3臨江飯店1004葛宇洪技術(shù)員6014圖-2某公公司的項(xiàng)目工工時(shí)表23規(guī)范化實(shí)例5-41.表中包含含大量的冗余余,可能會(huì)導(dǎo)導(dǎo)致數(shù)據(jù)異常常:更新異常例如,修改職職工號(hào)=1001的職務(wù)務(wù),則必須修修改所有職工工號(hào)=1001的行添加異常若要增加一個(gè)個(gè)新的職工時(shí)時(shí),首先必須須給這名職工工分配一個(gè)工工程。或者為為了添加一名名新職工的數(shù)數(shù)據(jù),先給這這名職工分配配一個(gè)虛擬的的工程。(因因?yàn)橹麝P(guān)鍵字字不能為空))刪除異常例如,1001號(hào)職工要要辭職,則必必須刪除所有有職工號(hào)=1001的數(shù)數(shù)據(jù)行。這樣樣的刪除操作作,很可能丟丟失了其它有有用的數(shù)據(jù)24規(guī)范化實(shí)例5-52.采用這種種方法設(shè)計(jì)表表的結(jié)構(gòu),雖雖然很容易產(chǎn)產(chǎn)生工資報(bào)表表,但是每當(dāng)當(dāng)一名職工分分配一個(gè)工程程時(shí),都要重重復(fù)輸入大量量的數(shù)據(jù)。這這種重復(fù)的輸輸入操作,很很可能導(dǎo)致數(shù)數(shù)據(jù)的不一致致性。25一張表描述了了多件事情,,如圖-3所示。應(yīng)用范式規(guī)范范化設(shè)計(jì)工程號(hào)工程名稱職工號(hào)姓名職務(wù)小時(shí)工資率工時(shí)圖-3函數(shù)依賴圖工程信息員工信息項(xiàng)目工時(shí)信息息26應(yīng)用第二范式式規(guī)范化工程號(hào)工程名稱職工號(hào)姓名職務(wù)小時(shí)工資率工程號(hào)職工號(hào)工時(shí)圖-4應(yīng)用第二范式式工程表員工表項(xiàng)目工時(shí)表滿足第三范式式嗎?27應(yīng)用第三范式式規(guī)范化工程號(hào)工程名稱職工號(hào)姓名職務(wù)職務(wù)小時(shí)工資率工程號(hào)職工號(hào)工時(shí)工程表員工表職務(wù)表工程表28規(guī)范化和性能能的關(guān)系為滿足某種商商業(yè)目標(biāo),數(shù)數(shù)據(jù)庫(kù)性能比比規(guī)范化數(shù)據(jù)據(jù)庫(kù)更重要通過在給定的的表中添加額額外的字段,,以大量減少少需要從中搜搜索信息所需需的時(shí)間通過在給定的的表中插入計(jì)計(jì)算列(如成成績(jī)總分),,以方便查詢?cè)冞M(jìn)行規(guī)范化的的同時(shí),還需需要綜合考慮慮數(shù)據(jù)庫(kù)的性性能。29總結(jié)在需求分析階階段,設(shè)計(jì)數(shù)數(shù)據(jù)庫(kù)的一般般步驟為:收集信息標(biāo)識(shí)對(duì)象標(biāo)識(shí)每個(gè)對(duì)象象的屬性標(biāo)識(shí)對(duì)象之間間的關(guān)系在概要設(shè)計(jì)階階段和詳細(xì)設(shè)設(shè)計(jì)階段,設(shè)設(shè)計(jì)數(shù)據(jù)庫(kù)的的步驟為:繪制E-R圖圖將E-R圖轉(zhuǎn)轉(zhuǎn)換為表格應(yīng)用三大范式式規(guī)范化表格格30總結(jié)結(jié)為了了設(shè)設(shè)計(jì)計(jì)結(jié)結(jié)構(gòu)構(gòu)良良好好的的數(shù)數(shù)據(jù)據(jù)庫(kù)庫(kù),,需需要要遵遵守守一一些些專專門門的的規(guī)規(guī)則則,,稱稱為為數(shù)數(shù)據(jù)據(jù)庫(kù)庫(kù)的的設(shè)設(shè)計(jì)計(jì)范范式式。。第一一范范式式((1NF))的的目目標(biāo)標(biāo)::確確保保每每列列的的原原子子性性。。第二
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 求職禮儀及技巧報(bào)告范文
- 前期經(jīng)費(fèi)調(diào)查報(bào)告范文
- 2025年度租賃型倉(cāng)庫(kù)房東租賃合同及倉(cāng)儲(chǔ)服務(wù)協(xié)議
- 二零二五年度戶外野營(yíng)安全指導(dǎo)與管理合同
- 二零二五年度土地流轉(zhuǎn)與土地開發(fā)項(xiàng)目委托管理服務(wù)協(xié)議
- 二零二五年度勞動(dòng)合同主體變更補(bǔ)償與員工安置及薪酬調(diào)整合同
- 2025年度電力節(jié)能減排購(gòu)售電合同
- 二零二五年度文化產(chǎn)業(yè)政策研究委托協(xié)議
- 二零二五年度農(nóng)村土地經(jīng)營(yíng)權(quán)流轉(zhuǎn)與農(nóng)業(yè)科技推廣合同
- 二零二五年度個(gè)體工商戶學(xué)徒培訓(xùn)勞動(dòng)合同
- 市政道路工程城市道路施工組織設(shè)計(jì)
- 動(dòng)物免疫接種技術(shù)課件
- 最全食堂菜譜、-公司食堂菜譜大全、-大鍋菜:522道菜+35道湯
- 線下庭審申請(qǐng)書
- ICU護(hù)理查房記錄【范本模板】
- 幼兒園大班繪本故事-神奇的大蒜【幼兒教案】
- 煤礦信息化管理制度
- 導(dǎo)管滑脫應(yīng)急預(yù)案演練住院患者導(dǎo)尿管道滑脫
- 03SG520-2 實(shí)腹式鋼吊車梁(中輕級(jí)工作制 A1~A5 Q345鋼 跨度6m,7.5m,9m)
- 高質(zhì)量C+ + C 編程指南
- Access數(shù)據(jù)庫(kù)程序設(shè)計(jì)上機(jī)操作練習(xí)題2
評(píng)論
0/150
提交評(píng)論