數(shù)據(jù)庫(kù)原理與應(yīng)用 第3章 數(shù)據(jù)庫(kù)設(shè)計(jì)資料_第1頁(yè)
數(shù)據(jù)庫(kù)原理與應(yīng)用 第3章 數(shù)據(jù)庫(kù)設(shè)計(jì)資料_第2頁(yè)
數(shù)據(jù)庫(kù)原理與應(yīng)用 第3章 數(shù)據(jù)庫(kù)設(shè)計(jì)資料_第3頁(yè)
數(shù)據(jù)庫(kù)原理與應(yīng)用 第3章 數(shù)據(jù)庫(kù)設(shè)計(jì)資料_第4頁(yè)
數(shù)據(jù)庫(kù)原理與應(yīng)用 第3章 數(shù)據(jù)庫(kù)設(shè)計(jì)資料_第5頁(yè)
已閱讀5頁(yè),還剩26頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第三章數(shù)據(jù)庫(kù)設(shè)計(jì)(shj)共三十一頁(yè)預(yù)習(xí)(yx)檢查什么是數(shù)據(jù)庫(kù)設(shè)計(jì)?數(shù)據(jù)庫(kù)設(shè)計(jì)有什么意義?數(shù)據(jù)庫(kù)設(shè)計(jì)分哪幾個(gè)階段(jidun)?數(shù)據(jù)庫(kù)設(shè)計(jì)各階段的任務(wù)和目的是什么?有哪三大范式,分別有何作用?實(shí)體集X和Y存在哪幾種關(guān)系?共三十一頁(yè)本章(bn zhn)目標(biāo)掌握數(shù)據(jù)庫(kù)的設(shè)計(jì)步驟。學(xué)會(huì)(xuhu)繪制E-R圖和數(shù)據(jù)庫(kù)模型圖。能夠使用三大范式實(shí)現(xiàn)數(shù)據(jù)庫(kù)設(shè)計(jì)規(guī)范化。共三十一頁(yè)為什么需要(xyo)設(shè)計(jì)數(shù)據(jù)庫(kù)良好的數(shù)據(jù)庫(kù)設(shè)計(jì)節(jié)省數(shù)據(jù)的存儲(chǔ)空間能夠保證數(shù)據(jù)的完整性方便(fngbin)進(jìn)行數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的開(kāi)發(fā)糟糕的數(shù)據(jù)庫(kù)設(shè)計(jì):數(shù)據(jù)冗余、存儲(chǔ)空間浪費(fèi)內(nèi)存空間浪費(fèi)數(shù)據(jù)更新和插入的異常修建茅屋需要設(shè)計(jì)嗎?修建大廈需

2、要設(shè)計(jì)嗎?結(jié)論:當(dāng)數(shù)據(jù)庫(kù)比較復(fù)雜時(shí)我們需要設(shè)計(jì)數(shù)據(jù)庫(kù)共三十一頁(yè)什么(shn me)是數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì)是指對(duì)于(duy)一個(gè)給定的應(yīng)用環(huán)境,構(gòu)造最優(yōu)的數(shù)據(jù)庫(kù)模式,建立數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng),使之能夠有效地存儲(chǔ)數(shù)據(jù)。簡(jiǎn)單來(lái)說(shuō),數(shù)據(jù)庫(kù)設(shè)計(jì)就是將數(shù)據(jù)庫(kù)中的實(shí)體以及這些數(shù)據(jù)實(shí)體之間的關(guān)系進(jìn)行規(guī)劃和結(jié)構(gòu)化的過(guò)程共三十一頁(yè)軟件項(xiàng)目(xingm)開(kāi)發(fā)周期中數(shù)據(jù)庫(kù)設(shè)計(jì) 需求分析階段:分析客戶的業(yè)務(wù)和數(shù)據(jù)處理需求概要(giyo)設(shè)計(jì)階段:設(shè)計(jì)數(shù)據(jù)庫(kù)的E-R模型圖,確認(rèn)需求信息的正確和完整詳細(xì)設(shè)計(jì)階段:應(yīng)用三大范式審核數(shù)據(jù)庫(kù)結(jié)構(gòu)現(xiàn)實(shí)世界 建模 信息世界 規(guī)范化 構(gòu)建 數(shù) 據(jù) 庫(kù)數(shù)據(jù)庫(kù)模型圖 共三十一頁(yè)代碼編寫(xiě)階段(

3、jidun):物理實(shí)現(xiàn)數(shù)據(jù)庫(kù),編碼實(shí)現(xiàn)應(yīng)用軟件測(cè)試階段:安裝部署:軟件(run jin)項(xiàng)目開(kāi)發(fā)周期中數(shù)據(jù)庫(kù)設(shè)計(jì) 共三十一頁(yè)數(shù)據(jù)庫(kù)設(shè)計(jì)之需求(xqi)分析收集信息與該系統(tǒng)(xtng)有關(guān)人員進(jìn)行交流、座談,充分了解用戶需求,理解數(shù)據(jù)庫(kù)需要完成的任務(wù)標(biāo)識(shí)實(shí)體 (Entity)標(biāo)識(shí)數(shù)據(jù)庫(kù)要管理的關(guān)鍵對(duì)象或?qū)嶓w,實(shí)體一般是名詞標(biāo)識(shí)每個(gè)實(shí)體的屬性(Attribute)標(biāo)識(shí)實(shí)體之間的關(guān)系(Relationship)酒店管理系統(tǒng)的基本功能:旅客辦理入住手續(xù):后臺(tái)數(shù)據(jù)庫(kù)需要存放入住客人的信息和客房信息客房信息:后臺(tái)數(shù)據(jù)庫(kù)需要存放客房的相關(guān)信息,如房間號(hào)、床位數(shù)、價(jià)格等 客房管理:后臺(tái)數(shù)據(jù)庫(kù)需要保存客房類型信

4、息和客房當(dāng)前狀態(tài)信息酒店管理系統(tǒng)中的實(shí)體:客人:入住酒店的旅客。辦理入住手續(xù)時(shí),需要填寫(xiě)客人的信息客房:酒店為客人提供休息的房間酒店管理系統(tǒng)中實(shí)體之間關(guān)系:客房和客人有主從關(guān)系:表明客人入住的房間客人信息客人姓名身份證號(hào)房間號(hào)入住日期結(jié)帳日期押金總金額客房信息房間號(hào)客房名稱床位數(shù)客房狀態(tài)入住人數(shù)客房類型價(jià)格共三十一頁(yè)主鍵與外鍵主鍵的值用于唯一地標(biāo)識(shí)表中的某一條記錄。外鍵表示了數(shù)據(jù)表之間的聯(lián)系。外鍵的作用是保持?jǐn)?shù)據(jù)一致性,完整性,主要目的是控制存儲(chǔ)在外鍵表中的數(shù)據(jù)。外鍵只能引用外表(wibio)中的列的值或使用空值。共三十一頁(yè)例:請(qǐng)指出下面(xi mian)兩個(gè)關(guān)系模式的主鍵以及外鍵 學(xué)生(學(xué)號(hào)

5、,姓名,性別,專業(yè)號(hào),年齡) 專業(yè)(專業(yè)號(hào),專業(yè)名)主外鍵示例(shl)主鍵外鍵主鍵共三十一頁(yè)練習(xí)(linx)3-1確定簡(jiǎn)易銀行系統(tǒng)MyBank中的實(shí)體、實(shí)體屬性和實(shí)體間的關(guān)系。需求(xqi)說(shuō)明: 某小型銀行需要一套簡(jiǎn)易銀行系統(tǒng),能夠?yàn)閮?chǔ)戶辦理存款方式為活期存款的銀行卡,儲(chǔ)戶可以實(shí)現(xiàn)存款、取款、轉(zhuǎn)賬、掛失、查看交易信息等業(yè)務(wù)。我們需要根據(jù)業(yè)務(wù)需求(xqi),確定實(shí)體、實(shí)體屬性和實(shí)體間的關(guān)系。 提示(參考):根據(jù)找名詞和動(dòng)詞的方法,確定簡(jiǎn)易銀行系統(tǒng)中的實(shí)體。儲(chǔ)戶信息表(身份證號(hào),姓名,性別,家庭地址,電話)銀行卡表(卡號(hào),密碼,身份證號(hào),開(kāi)戶行,開(kāi)戶時(shí)間,余額,狀態(tài))交易信息表(卡號(hào),金額,交

6、易類型,交易時(shí)間)轉(zhuǎn)賬表(轉(zhuǎn)出卡號(hào),轉(zhuǎn)入卡號(hào),金額,交易時(shí)間).實(shí)體關(guān)系:1、儲(chǔ)戶與銀行卡是擁有關(guān)系2、銀行卡與交易信息表是存取款關(guān)系3、銀行卡與轉(zhuǎn)賬表是轉(zhuǎn)賬(轉(zhuǎn)入轉(zhuǎn)出)關(guān)系試分析各關(guān)系的主外鍵分別是什么?共三十一頁(yè)數(shù)據(jù)庫(kù)設(shè)計(jì)不規(guī)范(gufn)帶來(lái)的問(wèn)題銀行卡號(hào)身份證號(hào)密碼開(kāi)戶行儲(chǔ)戶姓名余額狀態(tài)100000001234567890123建行北京分行張三100.00正常10000001123456789112345建設(shè)銀行北京分行李四0.00掛失100000021234567892123456北京建行王五1.00銷戶100000031234567890123建行山東分行張三101.58正常100

7、0000412345678963456建設(shè)銀行上海分行馬六6.01掛失100000051234567898456建行北京分行趙九88.66正常數(shù)據(jù)冗余 是指在一個(gè)數(shù)據(jù)集合(jh)中有重復(fù)的數(shù)據(jù)當(dāng)兩個(gè)表沒(méi)有建立主外鍵關(guān)系時(shí),還可能產(chǎn)生:更新異常 插入異常刪除異常共三十一頁(yè)Dr E.F.codd 最初定義了規(guī)范化的三個(gè)級(jí)別(jbi),范式是具有最小冗余的表結(jié)構(gòu)。這些范式是:第一范式(1st NF First Normal Form)第二范式(2nd NFSecond Normal Form)第三范式(3rd NF Third Normal Form)數(shù)據(jù)(shj)規(guī)范化 共三十一頁(yè)第一(dy)范式

8、 (1st NF)第一范式的目標(biāo)是確保每列的原子性如果每列都是不可(bk)再分的最小數(shù)據(jù)單元(也稱為最小的原子單元),則滿足第一范式(1NF)CustIDAddress1中國(guó)北京市2美國(guó)紐約市3英國(guó)利物浦4日本東京市CustIDCountryCity1中國(guó)北京3英國(guó)利物浦4日本東京2美國(guó)紐約共三十一頁(yè)第二(d r)范式 (2nd NF)如果一個(gè)關(guān)系(gun x)滿足1NF,并且除了主鍵以外的其他列,都依賴于該主鍵,則滿足第二范式(2NF) 第二范式要求每個(gè)表只描述一件事情字段例子房間號(hào)1001客房狀態(tài)空閑客房類型標(biāo)準(zhǔn)間床位數(shù)2入住人數(shù)1價(jià) 格$168.00Room字段例子客房狀態(tài)編號(hào)002客房

9、狀態(tài)名稱空閑RoomState字段例子客房類型編號(hào)001客房類型名稱標(biāo)準(zhǔn)間RoomType共三十一頁(yè)第三(d sn)范式 (3nd NF)如果一個(gè)關(guān)系滿足2NF,并且除了(ch le)主鍵以外的其他列都不傳遞依賴于主鍵列,則滿足第三范式(3NF) 字段例子房間號(hào)1001客房狀態(tài)編號(hào)002客房類型編號(hào)001床位數(shù)2入住人數(shù)1價(jià) 格$168.00Room字段例子房間號(hào)1001客房狀態(tài)編號(hào)002客房類型編號(hào)001入住人數(shù)1Room字段例子客房類型編號(hào)001客房類型名稱標(biāo)準(zhǔn)間床位數(shù)2價(jià) 格$168.00RoomType共三十一頁(yè)規(guī)范化示例(shl) 假設(shè)某建筑公司要設(shè)計(jì)一個(gè)數(shù)據(jù)庫(kù)。公司的業(yè)務(wù)規(guī)則概括說(shuō)

10、明如下:公司承擔(dān)多個(gè)工程項(xiàng)目,每一項(xiàng)工程有:工程號(hào)、工程名稱、施工人員等公司有多名職工,每一名職工有:職工號(hào)、姓名、性別、職務(wù)(工程師、技術(shù)員)等公司按照工時(shí)(gngsh)和小時(shí)工資率支付工資,小時(shí)工資率由職工的職務(wù)決定(例如,技術(shù)員的小時(shí)工資率與工程師不同)共三十一頁(yè)規(guī)范化示例(shl) 工程號(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.00A

11、3臨江飯店1002李思岐技術(shù)員60181080.001004葛宇洪技術(shù)員6014840.00小計(jì)1920.00公司定期制定(zhdng)一個(gè)工資報(bào)表工程號(hào)工程名稱職工號(hào)姓名職務(wù)小時(shí)工資率工時(shí)A1花園大廈1001齊光明工程師6513A1花園大廈1002李思岐技術(shù)員6016A1花園大廈1004葛宇宏律師6019A2立交橋1001齊光明工程師6513A2立交橋1003鞠明亮工人5517A3臨江飯店1002李思岐技術(shù)員6018A3臨江飯店1004葛宇洪技術(shù)員6014公司定期制定的項(xiàng)目工時(shí)表共三十一頁(yè)規(guī)范化示例(shl) 表中包含大量冗余數(shù)據(jù)(shj),可能會(huì)導(dǎo)致數(shù)據(jù)(shj)異常:更新異常添加異常刪除

12、異常 如何解決? 共三十一頁(yè)規(guī)范化示例(shl) 工程號(hào)工程名稱職工號(hào)姓名職務(wù)小時(shí)工資率工時(shí)工程(gngchng)信息員工信息項(xiàng)目工時(shí)信息一張表描述了多件事情:共三十一頁(yè)規(guī)范化示例(shl) 工程號(hào)工程名稱職工號(hào)姓名職務(wù)小時(shí)工資率工程號(hào)職工號(hào)工時(shí)工程(gngchng)表員工表項(xiàng)目工時(shí)表滿足第三范式嗎? 應(yīng)用第二范式規(guī)范化:共三十一頁(yè)規(guī)范化示例(shl) 工程號(hào)工程名稱職工號(hào)姓名職務(wù)職務(wù)小時(shí)工資率工程號(hào)職工號(hào)工時(shí)工程(gngchng)表員工表職務(wù)表工時(shí)表應(yīng)用第三范式規(guī)范化:共三十一頁(yè)規(guī)范化和性能(xngnng)的關(guān)系 為滿足某種商業(yè)目標(biāo),數(shù)據(jù)庫(kù)性能比規(guī)范化數(shù)據(jù)庫(kù)更重要通過(guò)在給定的表中添加額外的字

13、段,以大量減少需要從中搜索信息(xnx)所需的時(shí)間通過(guò)在給定的表中插入計(jì)算列(如成績(jī)總分),以方便查詢?cè)跀?shù)據(jù)規(guī)范化同時(shí),要綜合考慮數(shù)據(jù)庫(kù)的性能共三十一頁(yè)數(shù)據(jù)庫(kù)設(shè)計(jì)(shj)之繪制E-R圖E-R圖 符 號(hào)含 義實(shí)體,一般是名詞屬性,一般是名詞關(guān)系,一般是動(dòng)詞共三十一頁(yè)繪制(huzh)E-R圖映射(yngsh)基數(shù)一對(duì)一X X X X Y Y Y Y X X X X Y Y Y Y 一對(duì)多X X X X Y Y Y 多對(duì)一X X X X Y Y Y Y 多對(duì)多客戶訂單產(chǎn)品 M :N 1 : N 共三十一頁(yè)繪制(huzh)E-R圖 酒店(ji din)管理系統(tǒng)的數(shù)據(jù)庫(kù)演示示例1:使用Visio繪制E

14、-R圖1N客人姓名身份證號(hào)入住日期結(jié)帳日期客房名稱房間號(hào)押金房間號(hào)總金額客人(GuestRecord)入住床位數(shù)客房類型客房(Room)客房狀態(tài)入住人數(shù)價(jià)格共三十一頁(yè)規(guī)范化的酒店(ji din)管理系統(tǒng)E-R圖入住流水IDN1NN11客人姓名身份證號(hào)入住日期結(jié)帳日期客房名稱房間號(hào)押金房間號(hào)總金額入住登記表(registration)入住屬于屬于床位數(shù)客房類型類型名稱客房(room)客房狀態(tài)(roomState)狀態(tài)名稱客房類型(roomType)客房狀態(tài)入住人數(shù)價(jià)格客房狀態(tài)ID客房類型ID共三十一頁(yè)轉(zhuǎn)化(zhunhu)E-R圖為數(shù)據(jù)庫(kù)模型圖將各實(shí)體轉(zhuǎn)換為對(duì)應(yīng)的表,將各屬性轉(zhuǎn)換為各表對(duì)應(yīng)的列標(biāo)識(shí)

15、每個(gè)表的主鍵列,需要注意的是:沒(méi)有主鍵的表添加ID編號(hào)列,它沒(méi)有實(shí)際含義,用于做主鍵或外鍵如:入住登記表中的“入住流水ID”列在表之間建立主外鍵,體現(xiàn)(txin)實(shí)體之間的映射關(guān)系 演示示例2:使用Visio繪制數(shù)據(jù)模型圖共三十一頁(yè)規(guī)范化的酒店(ji din)管理系統(tǒng)數(shù)據(jù)庫(kù)模型圖酒店(ji din)管理系統(tǒng)數(shù)據(jù)庫(kù)模型圖共三十一頁(yè)總結(jié)(zngji)數(shù)據(jù)庫(kù)設(shè)計(jì)主要有需求分析、概念結(jié)構(gòu)設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)、物理結(jié)構(gòu)設(shè)計(jì)幾個(gè)階段。主要工作有:1、收集信息2、標(biāo)識(shí)實(shí)體、標(biāo)識(shí)實(shí)體屬性(shxng)3、標(biāo)識(shí)實(shí)體間的關(guān)系4、繪制E-R圖5、將E-R圖轉(zhuǎn)化為數(shù)據(jù)庫(kù)模型圖6、使用三大范式理論規(guī)范化表設(shè)計(jì) 共三十一頁(yè)內(nèi)容摘要第三章數(shù)據(jù)庫(kù)設(shè)計(jì)。學(xué)會(huì)繪制E-R圖和數(shù)據(jù)庫(kù)模型圖。結(jié)論:當(dāng)數(shù)據(jù)庫(kù)比較復(fù)雜時(shí)我們需要設(shè)計(jì)數(shù)據(jù)庫(kù)。需求分析階段:分析客戶的業(yè)務(wù)和數(shù)據(jù)處理需求。概要設(shè)計(jì)階段:設(shè)計(jì)數(shù)據(jù)庫(kù)的E-

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論