三章实体关系模式进阶练习.ppt

上传人:本田雅阁 文档编号:2626126 上传时间:2019-04-23 格式:PPT 页数:32 大小:1.04MB
返回 下载 相关 举报
三章实体关系模式进阶练习.ppt_第1页
第1页 / 共32页
三章实体关系模式进阶练习.ppt_第2页
第2页 / 共32页
三章实体关系模式进阶练习.ppt_第3页
第3页 / 共32页
三章实体关系模式进阶练习.ppt_第4页
第4页 / 共32页
三章实体关系模式进阶练习.ppt_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《三章实体关系模式进阶练习.ppt》由会员分享,可在线阅读,更多相关《三章实体关系模式进阶练习.ppt(32页珍藏版)》请在三一文库上搜索。

1、第三章第三章 實體關係模式:進階練實體關係模式:進階練 習習 目的 多元關係型態 二元關係型態的其他表示法 繪製 ERD時常犯錯誤 範例 範例一 範例二 範例三 1 Copyright 黃三益 2003 資料庫核心理論 與實務2007 目的目的 延續上一章所描述的實體關係模式 實體關係模式的一些基本符號和規 定極為簡單,但要靈活且正確的使 用,需要經常的練習 透過一些範例的說明,讓讀者學會活用 實體關係模式 2 Copyright 黃三益 2003 資料庫核心理論 與實務2007 多元關係型態 當一個關係型態所連結的實體型態超過 二個時,我們就稱該關係型態為多元關 係型態 三元關係型態 四元關

2、係型態 etc 範例:倉庫 進貨 是從自數個 供應商 載運數樣 商品 3 Copyright 黃三益 2003 資料庫核心理論 與實務2007 多元關係型態( Cont.) 以上三元關係型態可否表示成以下三個二元 關係型態? 進貨來源為 供應商 進貨包括商品 供應商 供應商品 4 Copyright 黃三益 2003 資料庫核心理論 與實務2007 多元關係型態( Cont.) Answer: NO! 5 Copyright 黃三益 2003 資料庫核心理論 與實務2007 練習3-1 練習 3-1. 請決定以下情況該用一個三元 關係型態或數個二元關係型態來表達。 那位老師上哪門課有哪些學生。

3、 那個供應商供應那個商品給那個零售商。 Ans: 應該用兩個二元關係即可表達。 應該用一個三元關係來表達。 6 Copyright 黃三益 2003 資料庫核心理論 與實務2007 多元關係型態的結構上限制 多元關係型態也有基數比和參與度 下列三元關係型態的意義為何? 每台機器 至少要有一組 相對應的零件和供應商, 但可有多組 相對應的零件和供應商 N 每個零件 可以不對應 任何機器和供應商, 但也可對應的多組 零件和供應商 N 每個供應商 可以不對應 任何零件和機器, 但最多只能對應一組 零件和供應商 1 7 Copyright 黃三益 2003 資料庫核心理論 與實務2007 練習3-2

4、練習 3-2. 考慮圖 3-5的三元關係型態,假設機器(Machine)有三 個實體: M1, M2, M3,零件( Part)有二個實體: P1, P2,供應 商( Supplier)也有二個實體:S1和S2。請針對以下每一群供應 關係,描述其是否合法,若否,請舉出理由。 MachinePartSupplier M1P1S1 M1P2S1 M2P1S1 M2P2S1 MachinePartSupplier M1P1S1 M1P2S1 M1P1S1 M2P2S1 M3P1S2 不合法,因為M3沒有 參與任何關係 不合法,因為 (M1, P1, S1)出現兩次 8 Copyright 黃三益 2

5、003 資料庫核心理論 與實務2007 MachinePartSupplier M1P1S1 M1P2S1 M1P1null M2P2S1 M3P1S2 MachinePartSupplier M1P1S1 M1P2S1 M2P1S1 M2P2S1 M3P1S1 MachinePartSupplier M1P1S1 M1P2S1 M1P1S2 M2P2S1 M3P1S2 不合法因為第三筆關係的 Supplier為空值,使得該 關係變成不合法的三元關係 合法 不合法,因為 (M1, P1)有兩個供應商 :S1, S2 9 Copyright 黃三益 2003 資料庫核心理論 與實務2007 二元

6、關係型態的其他表示法 (min, max) 參與關係型態的每一實體型態上註明一(min, max) ,表示其每一實體最少要參與min個關係,最多則 可參與 max個關係 10 Copyright 黃三益 2003 資料庫核心理論 與實務2007 二元關係型態的其他表示法 (min, max) (Cont.) 11 Copyright 黃三益 2003 資料庫核心理論 與實務2007 二元關係型態的其他表示法 (min, max) (Cont.) 12 Copyright 黃三益 2003 資料庫核心理論 與實務2007 練習3-3 練習 3-3. 請完整的解釋以下記錄關 係型態的結構限制 An

7、s: 一筆交易至少包括一個商品,至多可有N個 商品。一個商品可以不存在任何交易裡, 至多可以存在 N個交易 13 Copyright 黃三益 2003 資料庫核心理論 與實務2007 二元關係型態的其他表示法 (雞爪)(雞爪) 用一個雞爪的形狀來表示N (多)個參與、一條 短線來表示 1個參與、和一個圓圈來表示0個( 即沒有 )參與 14 Copyright 黃三益 2003 資料庫核心理論 與實務2007 二元關係型態的其他表示法 (雞爪)(雞爪) (Cont.) 15 Copyright 黃三益 2003 資料庫核心理論 與實務2007 二元關係型態的其他表示法 (雞爪)(雞爪) (Con

8、t.) 16 Copyright 黃三益 2003 資料庫核心理論 與實務2007 練習3-4 練習 3-4. 請完整的解釋以下記錄關 係型態的結構限制 Ans: 一筆交易至少包括一個商品,至多可有N個 商品。一個商品可以不存在任何交易裡, 至多可以存在 N個交易 17 Copyright 黃三益 2003 資料庫核心理論 與實務2007 繪製ERD時常犯錯誤 實體型態沒有關鍵屬 性 將一個複合關鍵屬性 的各個屬性都劃上底 線 不當使用多元關係型 態 18 Copyright 黃三益 2003 資料庫核心理論 與實務2007 繪製ERD時常犯錯誤( Cont.) 存在多餘的屬性。 考慮以下實體

9、型態之系所屬性,因已存在一個開 課的關係型態,屬性系所編號即為多餘 此時可將課程改成弱實體型態, 開課變 成識別關係型態,而課程編號變成部分鍵 系所 1N 課程 系所編號 課程編號 課程代號 課程名稱 開課 系所編號 多餘 19 Copyright 黃三益 2003 資料庫核心理論 與實務2007 繪製ERD時常犯錯誤( Cont.) 存在多餘的關係型態(如“教“) 20 Copyright 黃三益 2003 資料庫核心理論 與實務2007 繪製ERD時常犯錯誤( Cont.) 為每一實體型態產生人工編號,以避免 使用弱實體型態 以圖2-14的ERD之購物車實體型態為例,這 樣的設計會有以下兩

10、個缺點: “每一位會員的數台購物車其時間必然不同”的資 訊從ERD裡看不出來。 要多維護一個屬性 21 Copyright 黃三益 2003 資料庫核心理論 與實務2007 範例一 假設你要為一個醫療系統進行資料塑模,經過訪談, 你得到以下的需求: 有4個實體型態:醫師(Doctor)、住院病人( InPatient)、 檢驗項目( TestItem)、病房( Room)。 醫師有三個屬性:代號(dId)、姓名( dName)、性別( gender)。其中代號是唯一的。 住院病人有三個屬性:病人代號(pId)、姓名( pName)、 緊急聯絡人( contact),其中緊急聯絡人可以有多位,且

11、必 須記載緊急聯絡人之姓名(name)與電話( phone)。此外 病人代號是唯一的。每一位病人必定有一位主治醫師。 檢驗項目有兩個屬性:項目代號(tId)、名稱( tName)。 其中項目代號是唯一的。一位住院病人可以有多個檢驗項目 ,檢驗日期( date)必須記載。 病房有兩個屬性:房號(rNo)、等級( level)。其中房號是 唯一的。 有些醫師(如住院醫師)有指導醫師,不過只能有一位。 22 Copyright 黃三益 2003 資料庫核心理論 與實務2007 範例一( Cont.) 23 Copyright 黃三益 2003 資料庫核心理論 與實務2007 範例二 假設你要去替一個

12、經銷商的銷退貨系統進行資料塑 模,經過訪談,你得到以下的需求: 至少要有 4個實體型態:客戶(Customer)、銷貨單( SaleForm )、產品( Product)、退貨單( ReturnForm)。 客戶有三個屬性:代號(cId)、姓名( cName)、性別( gender )。其中代號是唯一的。 產品有三個屬性:產品編號(pNo)、產品名稱( pName)、產 品種類( pType)。其中產品編號是唯一的。 銷貨單有三個屬性:銷貨單編號(sNo)、發票編號( invoiceNo )、日期( date)。其中銷貨單編號和發票編號都是唯一的。 退貨單有二個屬性:退貨單編號(rNo)、日期

13、( date)。其中 退貨單編號是唯一的。 一張銷貨單記載一個客戶所購買的數種產品之產品編號、產品數 量(num)及單價 (unitPrice)。 一張退貨單記載一個客戶所退回的數種產品之產品編號、產品數 量(num)及原銷貨單編號。 銷退貨單如下圖所示。 24 Copyright 黃三益 2003 資料庫核心理論 與實務2007 範例二( Cont.) 25 Copyright 黃三益 2003 資料庫核心理論 與實務2007 範例二( Cont.) 銷貨部分可表達如下: 26 Copyright 黃三益 2003 資料庫核心理論 與實務2007 範例二( Cont.) 無法表示每一筆退貨記

14、錄上的原銷貨單 資訊 用類似方式表達退貨部份: 27 Copyright 黃三益 2003 資料庫核心理論 與實務2007 範例二( Cont.) 將關係型態記錄改成退貨明細 ,以便記錄其原銷貨單 28 Copyright 黃三益 2003 資料庫核心理論 與實務2007 範例二( Cont.) 若每一筆退貨明細一定要有原銷貨單資 訊,則退貨的資訊可改成三元關係型態 ,如下: 29 Copyright 黃三益 2003 資料庫核心理論 與實務2007 範例三 假設你設計了數個網路遊戲放在你的網站上 給會員使用,現在你想收集一些使用者的資 料以便做統計,需求如下: 每一會員( Member)有代

15、號( mId)、姓名( name)、住址( address)、性別( gender),和 出生年月日( birthday)。其中代號是唯一的。 每一遊戲有代號( gId)、名稱( gName)、遊戲 難度( difficulty)。其中代號是唯一的。 會員進站時須輸入帳號(account)和密碼( password)。為方便統計,你希望記載進站的時間 (sTime)和玩遊戲時的得分(score)和時間( time)。 30 Copyright 黃三益 2003 資料庫核心理論 與實務2007 範例三( Cont.) 無法表達一個會員玩一個遊戲可能有好多次 ,每次的分數都不同 。以及一次上線完了哪 些遊戲。 最簡單的作法: 31 Copyright 黃三益 2003 資料庫核心理論 與實務2007 範例三( Cont.) 32 Copyright 黃三益 2003 資料庫核心理論 與實務2007

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1