课件第三部分实体关系模式进阶练习

上传人:sx****84 文档编号:243379379 上传时间:2024-09-22 格式:PPT 页数:32 大小:1.01MB
返回 下载 相关 举报
课件第三部分实体关系模式进阶练习_第1页
第1页 / 共32页
课件第三部分实体关系模式进阶练习_第2页
第2页 / 共32页
课件第三部分实体关系模式进阶练习_第3页
第3页 / 共32页
点击查看更多>>
资源描述
按一下以編輯母片標題樣式,按一下以編輯母片,第二層,第三層,第四層,第五層,*,Copyright 黃三益 2003 資料庫核心理論與實務2007,資料庫的核心理論與實務第三版,3-,*,第三章 實體關係模式:進階練習,目的,多元關係型態,二元關係型態的其他表示法,繪製ERD時常犯錯誤,範例,範例一,範例二,範例三,1,Copyright 黃三益 2003 資料庫核心理論與實務2007,目的,延續上一章所描述的實體關係模式,實體關係模式的一些基本符號和規定極為簡單,但要靈活且正確的使用,需要經常的練習,透過一些範例的說明,讓讀者學會活用實體關係模式,2,Copyright 黃三益 2003 資料庫核心理論與實務2007,多元關係型態,當一個關係型態所連結的實體型態超過二個時,我們就稱該關係型態為多元關係型態,三元關係型態,四元關係型態,etc,範例:倉庫,進貨,是從自數個,供應商,載運數樣,商品,3,Copyright 黃三益 2003 資料庫核心理論與實務2007,多元關係型態(Cont.),以上三元關係型態可否表示成以下三個二元關係型態?,進貨來源為供應商,進貨包括商品,供應商供應商品,4,Copyright 黃三益 2003 資料庫核心理論與實務2007,多元關係型態(Cont.),Answer: NO!,5,Copyright 黃三益 2003 資料庫核心理論與實務2007,練習3-1,練習3-1. 請決定以下情況該用一個三元關係型態或數個二元關係型態來表達。,那位老師上哪門課有哪些學生。,那個供應商供應那個商品給那個零售商。,Ans:,應該用兩個二元關係即可表達。,應該用一個三元關係來表達,。,6,Copyright 黃三益 2003 資料庫核心理論與實務2007,多元關係型態的結構上限制,多元關係型態也有基數比和參與度,下列三元關係型態的意義為何?,每台機器,至少要有一組,相對應的零件和供應商,,但,可有多組,相對應的零件和供應商,N,每個零件,可以不對應,任何機器和供應商,,但也,可對應的多組,零件和供應商,N,每個供應商,可以不對應,任何零件和機器,,但,最多只能對應一組,零件和供應商,1,7,Copyright 黃三益 2003 資料庫核心理論與實務2007,練習3-2,練習3-2. 考慮圖3-5的三元關係型態,假設機器(Machine)有三個實體:M1, M2, M3,零件(Part)有二個實體:P1, P2,供應商(Supplier)也有二個實體:S1和S2。請針對以下每一群供應關係,描述其是否合法,若否,請舉出理由。,Machine,Part,Supplier,M1,P1,S1,M1,P2,S1,M2,P1,S1,M2,P2,S1,Machine,Part,Supplier,M1,P1,S1,M1,P2,S1,M1,P1,S1,M2,P2,S1,M3,P1,S2,不合法,因為M3沒有參與任何關係,不合法,因為(M1, P1, S1)出現兩次,8,Copyright 黃三益 2003 資料庫核心理論與實務2007,Machine,Part,Supplier,M1,P1,S1,M1,P2,S1,M1,P1,null,M2,P2,S1,M3,P1,S2,Machine,Part,Supplier,M1,P1,S1,M1,P2,S1,M2,P1,S1,M2,P2,S1,M3,P1,S1,Machine,Part,Supplier,M1,P1,S1,M1,P2,S1,M1,P1,S2,M2,P2,S1,M3,P1,S2,不合法因為第三筆關係的Supplier為空值,使得該關係變成不合法的三元關係,合法,不合法,因為(M1, P1)有兩個供應商:S1, S2,9,Copyright 黃三益 2003 資料庫核心理論與實務2007,二元關係型態的其他表示法,(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. 請完整的解釋以下記錄關係型態的結構限制,Ans:,一筆交易至少包括一個商品,至多可有N個商品。一個商品可以不存在任何交易裡,至多可以存在N個交易,13,Copyright 黃三益 2003 資料庫核心理論與實務2007,二元關係型態的其他表示法,(雞爪),用一個雞爪的形狀來表示N (多)個參與、一條短線來表示1個參與、和一個圓圈來表示0個(即沒有)參與,14,Copyright 黃三益 2003 資料庫核心理論與實務2007,二元關係型態的其他表示法,(雞爪),(Cont.),15,Copyright 黃三益 2003 資料庫核心理論與實務2007,二元關係型態的其他表示法,(雞爪),(Cont.),16,Copyright 黃三益 2003 資料庫核心理論與實務2007,練習3-4,練習3-4. 請完整的解釋以下記錄關係型態的結構限制,Ans:,一筆交易至少包括一個商品,至多可有N個商品。一個商品可以不存在任何交易裡,至多可以存在N個交易,17,Copyright 黃三益 2003 資料庫核心理論與實務2007,繪製ERD時常犯錯誤,實體型態沒有關鍵屬性,將一個複合關鍵屬性的各個屬性都劃上底線,不當使用多元關係型態,18,Copyright 黃三益 2003 資料庫核心理論與實務2007,繪製ERD時常犯錯誤(Cont.),存在多餘的屬性。,考慮以下實體型態之系所屬性,因已存在一個開課的關係型態,屬性系所編號即為多餘,此時可將課程改成弱實體型態, 開課變成識別關係型態,而課程編號變成部分鍵,系所,1,N,課程,系所編號,課程編號,課程代號,課程名稱,開課,系所編號,多餘,19,Copyright 黃三益 2003 資料庫核心理論與實務2007,繪製ERD時常犯錯誤(Cont.),存在多餘的關係型態(如,教,),20,Copyright 黃三益 2003 資料庫核心理論與實務2007,繪製ERD時常犯錯誤(Cont.),為每一實體型態產生人工編號,以避免使用弱實體型態,以圖2-14的ERD之購物車實體型態為例,這樣的設計會有以下兩個缺點:,“每一位會員的數台購物車其時間必然不同”的資訊從ERD裡看不出來。,要多維護一個屬性,21,Copyright 黃三益 2003 資料庫核心理論與實務2007,範例一,假設你要為一個醫療系統進行資料塑模,經過訪談,你得到以下的需求:,有4個實體型態:醫師(Doctor)、住院病人(InPatient)、檢驗項目(TestItem)、病房(Room)。,醫師有三個屬性:代號(dId)、姓名(dName)、性別(gender)。其中代號是唯一的。,住院病人有三個屬性:病人代號(pId)、姓名(pName)、緊急聯絡人(contact),其中緊急聯絡人可以有多位,且必須記載緊急聯絡人之姓名(name)與電話(phone)。此外病人代號是唯一的。每一位病人必定有一位主治醫師。,檢驗項目有兩個屬性:項目代號(tId)、名稱(tName)。其中項目代號是唯一的。一位住院病人可以有多個檢驗項目,檢驗日期(date)必須記載。,病房有兩個屬性:房號(rNo)、等級(level)。其中房號是唯一的。,有些醫師(如住院醫師)有指導醫師,不過只能有一位。,22,Copyright 黃三益 2003 資料庫核心理論與實務2007,範例一(Cont.),23,Copyright 黃三益 2003 資料庫核心理論與實務2007,範例二,假設你要去替一個經銷商的銷退貨系統進行資料塑模,經過訪談,你得到以下的需求:,至少要有4個實體型態:客戶(Customer)、銷貨單(SaleForm)、產品(Product)、退貨單(ReturnForm)。,客戶有三個屬性:代號(cId)、姓名(cName)、性別(gender)。其中代號是唯一的。,產品有三個屬性:產品編號(pNo)、產品名稱(pName)、產品種類(pType)。其中產品編號是唯一的。,銷貨單有三個屬性:銷貨單編號(sNo)、發票編號(invoiceNo)、日期(date)。其中銷貨單編號和發票編號都是唯一的。,退貨單有二個屬性:退貨單編號(rNo)、日期(date)。其中退貨單編號是唯一的。,一張銷貨單記載一個客戶所購買的數種產品之產品編號、產品數量(num)及單價(unitPrice)。,一張退貨單記載一個客戶所退回的數種產品之產品編號、產品數量(num)及原銷貨單編號。,銷退貨單如下圖所示。,24,Copyright 黃三益 2003 資料庫核心理論與實務2007,範例二(Cont.),25,Copyright 黃三益 2003 資料庫核心理論與實務2007,範例二(Cont.),銷貨部分可表達如下:,26,Copyright 黃三益 2003 資料庫核心理論與實務2007,範例二(Cont.),無法表示每一筆退貨記錄上的原銷貨單資訊,用類似方式表達退貨部份:,27,Copyright 黃三益 2003 資料庫核心理論與實務2007,範例二(Cont.),將關係型態記錄改成退貨明細,以便記錄其原銷貨單,28,Copyright 黃三益 2003 資料庫核心理論與實務2007,範例二(Cont.),若每一筆退貨明細一定要有原銷貨單資訊,則退貨的資訊可改成三元關係型態,如下:,29,Copyright 黃三益 2003 資料庫核心理論與實務2007,範例三,假設你設計了數個網路遊戲放在你的網站上給會員使用,現在你想收集一些使用者的資料以便做統計,需求如下:,每一會員(Member)有代號(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,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!