版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、數(shù)據(jù)庫的設計第一章課程地位本課目標學完本門課程后,你能夠設計符合規(guī)范的數(shù)據(jù)庫實現(xiàn)基于數(shù)據(jù)庫技術的程序開發(fā)課程結構圖課程項目展示貫穿案例:MySchool 學生信息管理系統(tǒng)項目案例:銀行ATM存取款機系統(tǒng)演示課程項目學習方法課前瀏覽預習作業(yè),帶著問題讀教材,并記錄疑問即使看不懂也要堅持看完提前將下一章的示例自己動手做一遍,記下問題課上認真聽講,做好筆記完成上機練習或項目案例課后及時總結,完成學生用書和學習平臺布置的作業(yè)多模仿,多練習多瀏覽技術論壇、博客,獲取他人的開發(fā)經(jīng)驗相關課程回顧簡述數(shù)據(jù)庫完整性及其作用簡述實現(xiàn)數(shù)據(jù)庫操作的語句及語法常用的聚合函數(shù)有哪些?表連接分為哪幾種類型?提問預習檢查在數(shù)
2、據(jù)庫設計時,如何表示數(shù)據(jù)庫實體之間的關系?實體集X和Y存在哪幾種關系?數(shù)據(jù)庫三大范式的作用是什么?提問本章任務完成酒店管理系統(tǒng)數(shù)據(jù)庫結構設計繪制酒店管理系統(tǒng)的E-R圖用三大范式規(guī)范酒店管理系統(tǒng)數(shù)據(jù)庫設計把酒店管理系統(tǒng)的E-R圖轉化為數(shù)據(jù)庫模型圖完成員工晉級數(shù)據(jù)庫結構設計繪制員工晉級的E-R圖用三大范式規(guī)范員工晉級數(shù)據(jù)庫設計把員工晉級的E-R圖轉化為數(shù)據(jù)庫模型圖本章目標了解設計數(shù)據(jù)庫的步驟掌握如何繪制數(shù)據(jù)庫的E-R圖掌握如何繪制數(shù)據(jù)庫模型圖使用三大范式實現(xiàn)數(shù)據(jù)庫設計規(guī)范化為什么需要設計數(shù)據(jù)庫良好的數(shù)據(jù)庫設計節(jié)省數(shù)據(jù)的存儲空間能夠保證數(shù)據(jù)的完整性方便進行數(shù)據(jù)庫應用系統(tǒng)的開發(fā)糟糕的數(shù)據(jù)庫設計:數(shù)據(jù)冗
3、余、存儲空間浪費內(nèi)存空間浪費數(shù)據(jù)更新和插入的異常修建茅屋需要設計嗎?修建大廈需要設計嗎?結論:當數(shù)據(jù)庫比較復雜時我們需要設計數(shù)據(jù)庫問題軟件項目開發(fā)周期中數(shù)據(jù)庫設計 需求分析階段:分析客戶的業(yè)務和數(shù)據(jù)處理需求概要設計階段:設計數(shù)據(jù)庫的E-R模型圖,確認需求信息的正確和完整詳細設計階段:應用三大范式審核數(shù)據(jù)庫結構代碼編寫階段:物理實現(xiàn)數(shù)據(jù)庫,編碼實現(xiàn)應用軟件測試階段:安裝部署:現(xiàn)實世界 建模 信息世界 規(guī)范化 構建 數(shù) 據(jù) 庫數(shù)據(jù)庫模型圖 設計數(shù)據(jù)庫的步驟收集信息與該系統(tǒng)有關人員進行交流、座談,充分了解用戶需求,理解數(shù)據(jù)庫需要完成的任務標識實體 (Entity)標識數(shù)據(jù)庫要管理的關鍵對象或實體,實
4、體一般是名詞標識每個實體的屬性(Attribute)標識實體之間的關系(Relationship)酒店管理系統(tǒng)的基本功能:旅客辦理入住手續(xù):后臺數(shù)據(jù)庫需要存放入住客人的信息和客房信息客房信息:后臺數(shù)據(jù)庫需要存放客房的相關信息,如客房號、床位數(shù)、價格等 客房管理:后臺數(shù)據(jù)庫需要保存客房類型信息和客房當前狀態(tài)信息酒店管理系統(tǒng)中的實體:客人:入住酒店的旅客。辦理入住手續(xù)時,需要填寫客人的信息客房:酒店為客人提供休息的房間酒店管理系統(tǒng)中實體之間關系:客房和客人有主從關系:表明客人入住的房間客人信息客人編號客人姓名身份證號入住日期客房信息客房號客房名稱床位數(shù)客房狀態(tài).繪制E-R圖3-1E-R圖 符號含義
5、實體,一般是名詞屬性,一般是名詞關系,一般是動詞繪制E-R圖3-2映射基數(shù)一對一X X X X Y Y Y Y X X X X Y Y Y Y 一對多X X X X Y Y Y 多對一X X X X Y Y Y Y 多對多客戶訂單產(chǎn)品 M :N 1 : N 繪制E-R圖3-3酒店管理系統(tǒng)的數(shù)據(jù)庫演示示例1:使用Visio繪制E-R圖關系模式一個關系的屬性名的集合稱為關系模式酒店管理系統(tǒng)數(shù)據(jù)庫的關系模式是:客人(客人編號、客人姓名、身份證號、入住日期、結帳日期、押金、總金額)客房(客房號、房間描述、房間類型、房間狀態(tài)、床位數(shù)、入住人數(shù))轉化E-R圖為數(shù)據(jù)庫模型圖將各實體轉換為對應的表,將各屬性轉
6、換為各表對應的列標識每個表的主鍵列在表之間建立主外鍵,體現(xiàn)實體之間的映射關系 演示示例2:使用Visio繪制數(shù)據(jù)模型圖示例為什么需要數(shù)據(jù)規(guī)范化 不合規(guī)范的表設計信息重復更新異常插入異常無法正確表示信息刪除異常丟失有效信息使用三大范式規(guī)范數(shù)據(jù)庫表的設計客人編號姓名地址客房號客房描述客房類型客房狀態(tài)床位數(shù)價格入住人數(shù)C1001張三Addr11001A棟1層單人間入住1128.001C1002李四Addr22002B棟2層標準間入住2168.000C1003王五Addr32002B棟2層標準間入住2168.002C1004趙六Addr42003B棟2層標準間入住2158.001C8006A1Addr
7、m8006C棟3層總統(tǒng)套房入住31080.001C8008A2Addrn8008C棟3層總統(tǒng)套房空閑31080.000第一范式 (1st NF)第一范式的目標是確保每列的原子性如果每列都是不可再分的最小數(shù)據(jù)單元(也稱為最小的原子單元),則滿足第一范式(1NF)示例CustIDAddress1中國北京市2美國紐約市3英國利物浦4日本東京市CustIDCountryCity1中國北京3英國利物浦4日本東京2美國紐約第二范式 (2nd NF)Guest Registration示例字段例子客人編號C1002姓名李四地址Addr1客房號2002客房狀態(tài)入住客房類型標準間床位數(shù)2入住人數(shù)2價 格$168
8、.00GuestRoom字段例子客人編號C1002姓名李四地址Addr1客房號2002字段例子客房號2002客房狀態(tài)入住客房類型標準間床位數(shù)2入住人數(shù)2第二范式要求每個表只描述一件事情第三范式 (3nd NF)如果一個關系滿足2NF,并且除了主鍵以外的其他列都不傳遞依賴于主鍵列,則滿足第三范式(3NF) RoomRoomType示例字段例子客房號2002客房狀態(tài)入住客房類型標準間床位數(shù)2入住人數(shù)2價 格$168.00字段例子客房號2002客房狀態(tài)編號001客房類型編號002入住人數(shù)2字段例子客房類型編號002客房類型名稱標準間床位數(shù)2價 格$168.00RoomRoomState字段例子客房狀
9、態(tài)編號001客房狀態(tài)名稱入住規(guī)范化的酒店管理系統(tǒng)E-R圖示例規(guī)范化的酒店管理系統(tǒng)數(shù)據(jù)庫模型酒店管理系統(tǒng)數(shù)據(jù)庫模型圖示例規(guī)范化示例6-1假設某建筑公司要設計一個數(shù)據(jù)庫。公司的業(yè)務規(guī)則概括說明如下:公司承擔多個工程項目,每一項工程有:工程號、工程名稱、施工人員等公司有多名職工,每一名職工有:職工號、姓名、性別、職務(工程師、技術員)等公司按照工時和小時工資率支付工資,小時工資率由職工的職務決定(例如,技術員的小時工資率與工程師不同)示例規(guī)范化示例6-2公司定期制定一個工資報表公司定期制定的項目工時表示例工程號工程名稱職工號姓名職務小時工資率工時實發(fā)工資A1花園大廈1001齊光明工程師6513845
10、.001002李思岐技術員6016960.001004葛宇宏律師60191140.00小計2945.00A2立交橋1001齊光明工程師6515975.001003鞠明亮工人5517935.00小計1910.00A3臨江飯店1002李思岐技術員60181080.001004葛宇洪技術員6014840.00小計1920.00工程號工程名稱職工號姓名職務小時工資率工時A1花園大廈1001齊光明工程師6513A1花園大廈1002李思岐技術員6016A1花園大廈1004葛宇宏律師6019A2立交橋1001齊光明工程師6513A2立交橋1003鞠明亮工人5517A3臨江飯店1002李思岐技術員6018A3
11、臨江飯店1004葛宇洪技術員6014規(guī)范化示例6-3表中包含大量冗余數(shù)據(jù),可能會導致數(shù)據(jù)異常:更新異常添加異常刪除異常 如何解決? 問題規(guī)范化示例6-4工程信息員工信息項目工時信息一張表描述了多件事情:示例工程號工程名稱職工號姓名職務小時工資率工時規(guī)范化示例6-5工程表員工表項目工時表滿足第三范式嗎? 應用第二范式規(guī)范化:示例工程號工程名稱職工號姓名職務小時工資率工程號職工號工時規(guī)范化示例6-6工程表員工表職務表工時表應用第三范式規(guī)范化:示例工程號工程名稱職工號姓名職務工程號職工號工時職務小時工資率規(guī)范化和性能的關系 為滿足某種商業(yè)目標,數(shù)據(jù)庫性能比規(guī)范化數(shù)據(jù)庫更重要通過在給定的表中添加額外的
12、字段,以大量減少需要從中搜索信息所需的時間通過在給定的表中插入計算列(如成績總分),以方便查詢在數(shù)據(jù)規(guī)范化同時,要綜合考慮數(shù)據(jù)庫的性能學員操作員工晉級業(yè)務實體2-1訓練要點:收集信息標識實體標識每個實體的屬性標識實體之間的關系 需求說明:為了激勵優(yōu)秀員工為企業(yè)作出更大的貢獻,企業(yè)定期安排員工晉級假設每個部門設置多個不同的崗位,每個崗位可以安排多個員工每一位員工隸屬于企業(yè)的一個部門,有一個對應的崗位企業(yè)保存每位員工每次晉級記錄教員講解需求指導學員操作員工晉級業(yè)務實體2-2難點指導:收集信息:在確定客戶要做什么之后,收集一切相關的信息,盡量不遺漏任何信息標識實體:原則:實體一般是名詞每個實體只描述
13、一件事情不能重復出現(xiàn)含義相同的實體標識每個實體的屬性:標識每個實體需要存儲的詳細信息標識實體之間的關系完成時間:25分鐘指導學員操作繪制晉級業(yè)務E-R圖需求說明:使用Visio繪制員工晉級業(yè)務的E-R圖提示: 如何使用Visio繪制E-R圖使用文件新建框圖基本框圖來繪制E-R圖;在繪圖窗口左側的“基本形狀”里選擇“矩形”、“橢圓”、“菱形”拖動到頁面適當位置,就可以繪制需要的矩形、橢圓和菱形繪制直線,在工具欄:視圖工具欄繪圖,這時就會彈出繪圖工具欄。選擇其中的直線工具 完成時間:15分鐘練習講解需求說明共性問題集中講解常見問題及解決辦法代碼規(guī)范問題調(diào)試技巧共性問題集中講解需求說明:用Visio
14、工具將 E-R圖轉化為數(shù)據(jù)庫模型圖在各個模型圖之間體現(xiàn)實體之間的映射關系學員操作繪制員工晉級模型圖 練習完成時間:15分鐘學員操作規(guī)范晉級數(shù)據(jù)庫設計2-1訓練要點:數(shù)據(jù)庫設計的三大范式 需求說明:根據(jù)三大范式規(guī)范化員工晉級業(yè)務數(shù)據(jù)為了保證應用程序的運行性能,對符合第三范式的數(shù)據(jù)庫結構進行調(diào)整指導講解需求說明難點指導:向各個表中插入數(shù)據(jù),查看表中的每個屬性列是否存在重復、插入異常、更新異常和刪除異常對照三大范式解決表中的異常問題第一范式的目標是確保每列都是不可再分的最小數(shù)據(jù)單元第二范式每要求一個表只描述一件事情第三范式要求表中各列必須和主鍵直接相關,不能間接相關對于不滿足三大范式的表要進行表拆分學員操作規(guī)范晉級數(shù)據(jù)庫設計2-2指導完成時間:25分鐘共性問題集中講解常見問題及解決辦法代碼規(guī)范問題調(diào)試技巧共性問題集中講解總結2-1 需求分析階段,設計數(shù)據(jù)庫的步驟收集信息標識實體標識每個實體的屬性
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度木結構建筑設計與施工總承包合同8篇
- 國際貿(mào)易課件:WTO的反傾銷制度
- 2025年度數(shù)據(jù)中心承建與信息安全防護合同4篇
- 二零二五年度LED顯示屏產(chǎn)品安全認證合同3篇
- 2025版環(huán)保設施運營維護管理承包合同范本4篇
- 2025年度木材市場風險管理與價格波動合同4篇
- 二零二五年度養(yǎng)老產(chǎn)業(yè)項目合伙人分紅及服務質量保障合同
- 二零二五年度池塘水域漁業(yè)養(yǎng)殖技術培訓與推廣協(xié)議
- 2025年度企業(yè)銷售團隊績效目標協(xié)議書
- 二零二五年度順豐快遞員勞動合同爭議解決機制
- 2024生態(tài)環(huán)境相關法律法規(guī)考試試題
- 有砟軌道施工工藝課件
- 兩辦意見八硬措施煤礦安全生產(chǎn)條例宣貫學習課件
- 40篇短文搞定高中英語3500單詞
- 人教版高中數(shù)學必修二《第九章 統(tǒng)計》同步練習及答案解析
- 兒科護理安全警示教育課件
- 三年級下冊口算天天100題
- 國家中英文名稱及代碼縮寫(三位)
- 人員密集場所消防安全培訓
- 液晶高壓芯片去保護方法
- 拜太歲科儀文檔
評論
0/150
提交評論