Microsoft PowerPoint - Ch13

Similar documents
Microsoft PowerPoint - Ch6

國語 領域計畫表

0 0 = 1 0 = 0 1 = = 1 1 = 0 0 = 1

第二章  概念設計與關聯式資料模式

Microsoft PowerPoint - Ch2

untitled

Ch06_

Microsoft PowerPoint - UML_961

06?????k?g

Microsoft PowerPoint - Ch3

學 科 100% ( 為 單 複 選 題, 每 題 2.5 分, 共 100 分 ) 1. 請 參 閱 附 圖 作 答 : (A) 選 項 A (B) 選 項 B (C) 選 項 C (D) 選 項 D Ans:D 2. 下 列 對 於 資 料 庫 正 規 化 (Normalization) 的 敘

致遠管理學院法規提案單

(Microsoft PowerPoint - UML\302\262\244\266_use case.ppt)

計畫書封面範例

建筑学院建筑学本科专业建设发展规划.doc

untitled

untitled

BQY.PS2

书 名 : 额 尔 古 纳 河 右 岸 作 者 : 迟 子 建 出 版 社 : 北 京 十 月 文 艺 出 版 社 出 版 日 期 : 开 本 : 正 16 开 页 数 :262 ISBN:

untitled

Ps22Pdf

)001 (131 ) : ISBN / :

...T.U.p65

书 名 : 作 者 : 出 版 社 : 中 国 电 影 出 版 社 版 权 所 有 : 烨 子 工 作 室 类 别 : 中 国 传 世 情 爱 小 说 出 版 时 间 :2005 年 10 月 字 书 数 :150 千 字 号 :ISBN /B 0030

untitled

ISBN Z

untitled

Ps22Pdf

Ps22Pdf

untitled

: : ISBN /B 007 :

untitled

()001 ( 131 ) : ISBN / I1021 :7.50

untitled

untitled

Ps22Pdf

untitled

untitled

()001 ( 131 ) : ISBN / I1020 :6.50

Microsoft Word - 黃玉緞 _民間文學教案設計_民歌擬作舉隅

Microsoft Word - 8-柯香君-原稿初修-0516.doc


012

主程式 : public class Main3Activity extends AppCompatActivity { ListView listview; // 先整理資料來源,listitem.xml 需要傳入三種資料 : 圖片 狗狗名字 狗狗生日 // 狗狗圖片 int[] pic =new

Title

教 授 休 假 研 究 標 準 作 業 流 程 責 任 者 作 業 流 程 注 意 事 項 及 申 請 時 程 使 用 書 表 當 事 人 單 位 主 管 院 長 人 事 室 校 長 系 院 人 事 室 校 長 人 事 室 當 事 人 1. 教 師 填 寫 休 假 研 究 申 請 書 2. 系 所

Microsoft PowerPoint - 13_ClassAndObj.ppt


untitled

Ps22Pdf

11页词库答案

謙卑的小巨人 文 / 林士涵 印製見證文集是父親在生病後就有的想法 目的是希望更多親朋好友能透 過這些見證認識主耶穌 一起享受屬耶穌那好得無比的生命 我的父親林進聰 民國 42 年 9 月 18 日生於台中縣大肚 鄉 退伍後輾轉來到工業技術研究院化工所上班 認識了他生 命中兩個最愛 信仰耶穌基督以及

Ted Codd s Relational Model Derivability, Redundancy, and Consistency of Relations Stored in Large Data Banks, IBM Research Report RJ 599 ( August 19t

菩提道次第廣論

繁 華 國 小 101 學 年 母 親 節 感 恩 惜 福 - 跳 蚤 市 場 暨 科 學 闖 關 遊 戲 親 子 活 動 實 施 計 畫 一 依 據 : 本 校 101 學 年 度 校 務 計 畫 及 行 事 曆 二 目 的 : 1. 培 養 學 生 感 恩 惜 物 知 福 惜 福 的 節 儉 觀

台 中 市 北 屯 區 東 山 里 橫 坑 9 林 志 明 巷 89-5 菜 豆 菜 大 漿 果 菜 豆 菜 大 漿 果 小 漿 果 核 果 柑 桔 無 陳 錦 生 新 竹 市 香 山 區


育儿小故事(四)

Microsoft Word 電腦軟體設計.doc

人 物 春 秋 杨 永 泰 将 其 削 藩 策 略 概 括 为 : 以 经 济 方 法 瓦 解 冯 玉 祥 的 第 二 集 团 军, 以 政 治 方 法 解 决 阎 锡 山 的 第 3 集 团 军, 以 军 事 方 法 解 决 李 宗 仁 的 第 四 集 团 军, 以 外 交 方 法 对 付 张 学

Microsoft Word 養生與保健_中山大學_講義


萬里社區老人健康照護手冊

Microsoft Word - 強制汽車責任保險承保及理賠作業處理辦法 doc

Microsoft Word - 06.Understanding of Pregnancy and Birth.doc

(➂)11. 炎 炎 夏 日, 即 使 下 起 滂 沱 大 雨, 都 消 除 不 了 令 人 心 煩 的 暑 氣 這 句 話 主 要 想 表 達 什 麼? ➀ 夏 日 裡 經 常 下 著 滂 沱 大 雨, 令 人 心 煩 ➁ 下 著 滂 沱 大 雨 的 日 子, 可 以 消 除 暑 氣 ➂ 夏 日

範本檔

附 件 一 : 办 理 集 中 式 银 期 转 账 业 务 网 点 名 单 序 号 地 区 网 点 名 称 地 址 联 系 人 电 话 23 工 商 银 行 安 徽 省 铜 陵 百 大 支 行 铜 陵 市 长 江 东 路 50 号 鲁 桂 珍 工 商 银 行 安 徽

2. 二 年 級 吳 毓 秀 老 師 : 感 謝 午 餐 公 司 平 時 均 能 準 時 送 餐, 但 希 望 能 不 要 使 用 加 工 品, 且 學 生 反 映 希 望 能 多 加 蛋 品 的 食 物 3. 三 年 級 柯 阿 青 老 師 : 雞 肉 有 血 水 味, 請 午 餐 公 司 能 調

高雄市立五福國民中學九十四學年度第一學期第三次段考二年級本國語文學習領域試題卷

台北老爺校外實地參訪結案報告

糖尿病食譜

,,,,,,, (,, ),,,,,,,,,,,,,,, ,,, 4 11,, ( ),,,, ( ), :, ( ),,, 1995, 66 ; ( ),, 1996, , 3-4,,


Microsoft PowerPoint - Ch10

PowerPoint Presentation

上海浦~1

˛ˇu7YsY'N T

外國人從事就業服務法第四十六條第一項第八款至第十一款工作資格及審查標準第二十二條附表五修正草案總說明

第 一 节 认 识 自 我 的 意 义 一 个 人 只 有 认 识 自 我, 才 能 够 正 确 地 认 识 到 自 己 的 优 劣 势, 找 出 自 己 的 职 业 亮 点, 为 自 己 的 顺 利 求 职 推 波 助 澜 ; 一 个 人 只 有 认 识 自 我, 才 能 在 求 职 中 保 持

(CIP) : /. :, 2004 ISBN T S CIP (2004) (1 : ) : * : : :

Transcription:

第十三章擴充實體關係模式 目的 物件導向基本觀念 特殊化和一般化 特殊化的多階層架構 多重繼承 群類 UML 的類別圖 轉成關聯綱目 12-1 目的 本章所探討的是加上物件導向功能的實體關係模式 擴充後的實體關係圖則稱為擴充實體關係圖 簡稱 EERD 物件導向的概念結合了資料和運算方法 我們著重的是資料面 12-2 1

物件導向基本觀念 最相關的物件導向概念是繼承 實體關係模式的組成元件包括實體 (Entity) 和關係 (Relationship) 範例 Student(pId, name, sex, sid, major, degree) Teacher((pId, name, sex, tid, dept, level) 有的實體 ( 助教 ) 可以同時是老師和學生 老師和學生都是學校成員 共有以下四個實體型態 : Person(pId, name, sex) Student(sId, major, degree) Teacher((tId, dept, level) TA(course) TA is-a ( 繼承 )Student is-a ( 繼承 ) Person TA is-a ( 繼承 ) Teacher is-a ( 繼承 ) Person 12-3 物件導向基本觀念 (Cont.) 實體 改稱 物件 (Object) 實體型態 改稱 類別 (Class) 上例中有四個類別 :Person, Teacher, Student, TA, 有繼承關係 pid name sex level tid dept Person sid major degree Teacher Student TA course 12-4 2

物件導向基本觀念 (Cont.) 一個繼承關係是由一個父類別 (Superclass) 和一個子類別 (Subclass) 所構成, 有以下特點 : 每一個子類別的物件, 也必然是父類別的成員 父類別的成員不一定要屬於子類別 子類別的物件繼承了父類別的所有屬性和其所參與的所有關係型態 12-5 練習 12-1 以圖 13-1 為例, 分別列出 Student 和 Teacher 的所有屬性 Ans: Student 屬性 :pid, name, sex, level, tid, dept Teacher 屬性 :pid, name, sex, sid, major, degree 12-6 3

特殊化和一般化 給定一個父類別, 按照某個標準分化出數個子類別的過程就稱為 特殊化 (Specialization) 給定數個子類別, 並具以歸納出其父類別的過程就稱為 一般化 範例 : 產品有三個特殊化分類 按商品種類來分 按商品是否為促銷品來分 按產品庫存地來分 12-7 特殊化和一般化 (Cont.) 12-8 4

特殊化和一般化 (Cont.) 一個特殊化分類, 可以設定它的限制 條件分類或使用者分類 第一個特殊化分類 ( 按商品種類來分類 ) 是條件分類, 其他為使用者分類 重複或非重複限制 重複限制用 o 來圖示, 非重複限制用 d 來圖示 完全或部分參與限制 完全參與用雙線來圖示, 部分參與用單線來圖示 參考上頁圖 13-2 12-9 練習 12-2 假設該網路書店還兼賣文具 (SchoolSupply), 且還可能賣一些無法歸類的產品, 請重劃第一個特殊化 ( 依商品種類來分 ) catalog unitprice name Product catalog o d DVD Book CD 'SchoolSupply' SalesProduct KaohsiungStockProduct TaipeiStockProduct DVD Book CD SchoolSupply discount warehouse minutes isbn songname pieces length name 12-10 5

有四個步驟 : 特殊化的過程 決定該特殊化分類的子類別 設定該特殊化分類的限制 決定每一個子類別的特有屬性 檢視 EERD 的其他實體型態 ( 或類別 ), 以決定是否要為某一個子類別建立新的關係型態 範例 : 將 Product 的創作者抽離成一獨立的類別, 並進行特殊化 12-11 cid name name catalog unitprice Creator Product catalog o d DVD book cd SalesProduct o Artist Author Actor DVD Book CD discount arttypes styles roles minutes isbn pieces KaohsiungStockProduct TaipeiStockProduct M Acts N songname length warehouse M Authors N M Performs N 12-12 6

練習 12-3 在上頁圖 13-3 裡, 創作者的特殊化的重複限制是用 (o), 請問其含意為何? Ans: 表示一位創作者可同時是 artist author, 或 actor 12-13 特殊化的多階層架構 一個子類別, 我們可以再將其特殊化 如此繼承關係將這些類別串連成一個樹狀結構, 稱之為特殊化階層 範例 : 銀行客戶 可特殊化成子類別貸款戶和存款戶 貸款戶可特殊化成子類別信貸戶 動產貸款戶, 和不動產貸款戶 存款戶可特殊化成子類別儲蓄戶 支票戶, 和定存戶 12-14 7

12-15 多重繼承 當一子類別有兩個或以上的父類別時, 稱為多重繼承 比如某些同時擁有定存和不動產貸款的客戶可以成為 貴賓專戶, 如下圖所示 有多重繼承關係的類別會形成晶格 圖 13-1 所顯示的 Person, Student, Teacher, 和 TA 的繼承關係也是一個晶格, 這是因為 TA 擁有多重繼承的關係 12-16 8

12-17 練習 12-4 請解釋圖 13-4 中, 各特殊化 ( 存款戶, 貸款戶, 不動產貸款戶 ) 重疊限制的意義 Ans: 表示一位存款戶可同時有定存 支票和儲蓄帳戶 一位貸款戶可同時有動產和不動產貸款 一位不動產貸款戶可同時有土地和建物貸款 12-18 9

練習 12-5 圖 13-5 中, 貴賓專戶共有哪些屬性? Ans: VIPAccount, cddate, cdamount, cdrate, history, eyear, edate, erate, ehist, guarantor, loanhist, loanno, cid, name, account, startdate 12-19 群類 某些本質上完全不同的類別有時候可以群聚起來合成一個類別, 這樣的類別我們就稱為群類 (Category) 範例 : 銀行的帳戶可以屬於個人或公司, 此時帳戶 (AccountOwner) 為個人 (Person) 和公司 (Company) 所組成的群類 12-20 10

群類不同於繼承 群類 (Cont.) 12-21 群類 (Cont.) C A B (b) C A B (c) C A B 12-22 11

群類 (Cont.) 群類裡也可設定完全參與限制 具備完全參與限制的群類等同於繼承 12-23 12-24 12

UML 的類別圖表示法 UML 裡定義了許多圖 絕大部分的圖都跟程式功能流程相關, 其中只有類別圖 (Class diagram) 主要與資料面相關 類別圖的基本組成份子包括類別和關連 類別的描述包括三個部分 : 類別名稱 屬性 (Attribute) 運算方法 (Operation) 類別名稱 : Transaction 屬性 : tno payment bankid bankname cardtype cardid duedate transtime method 運算方法 : get-method ( ) get-transtime ( ) set-method ( )...... 12-25 UML 的類別圖表示法 (Cont.) 類別圖裡的關連是用來描述類別與類別間的關係 關連上也可以設定角色 (role), 也有結構上的限制, 採用類似 (min, max) 的方式 一個 "*" 表示 "0..*", 一個 "1" 表示 "1..1","*" 表示沒上限 C1 (min2..max2) (min1..max1) C2 每一個 C1(C2) 物件至少有 min1(min2) 至多有 max1(max2) 個 C2(C1) 物件與它關連 12-26 13

練習 12-7: 考慮公司和員工的關係, 其中一個公司可以有 1 到多個員工, 但每一位員工只能屬於一家公司 用 UML 類別圖的關連來表示 用第二章 M:N 的關係型態來表示 用第二章 (min, max) 的關係型態來表 Ans: M:N UML (min, max) 12-27 UML 的類別圖表示法 (Cont.) 類似關連的概念 : 彙總 (Aggregation) 和組合 (Composition) 彙總 : 引擎是汽車的組成部分, 員工是公司的組成部分 1 用空心菱形表示 * 公司員工 與關連間的區別不清楚 組合 : 類似彙總但隱含組成類別的物件不可單獨存在 用實心凌形表示 常用來表示弱實體型態或多值屬性 1 * 汽車零件 12-28 14

Member Cart mid pid name birthday phone address email introducerid get mid get pid... 1 1 * Has Corresponds * carttime 0..1 get carttime * Confirms Order amount * Transaction tno transtime method payment bankid bankname cardtype cardid duedate 0..1 Borwse browsetime Record saleprice amount * 1..* * pname catalog unitprice * Product 1 * Author name 12-29 UML 的特殊化分類表示法 UML 的類別圖用一個三角形來表示特殊化分類 對於特殊化分類的限制, 其表示法如下所述 : 分類標準 : 將特殊化分類名稱書寫於三角形旁 重複限制 (Disjoint constraints): 若是父類別的物件不可重複出現在子類別裡, 則用空心三角形表示 ( 擴充實體關係模式用 d 來表示); 若是可重複出現, 則用實心三角形表示 ( 擴充實體關係模式用 o 來表示) 完全參與限制 (Completeness constraints): 若是完全特殊化 ( 即一個父類別的物件一定要屬於至少一個子類別 ), 則在三角形旁註解 {complete} 12-30 15

Product catalog (complete) DVD Book CD DVD Book CD minutes isbn pname catalog unitprice TaipeiStoc kproduct warehouse KaohsiungSt ockproduct 1 * CDpieces songname length SalesProduc t discount 12-31 特殊化分類轉成關聯模式 愈來愈多的系統分析師採用物件導向方法論來設計系統, 但物件導向資料庫管理系統的使用很不普遍 雖以物件導向的的方式來做資料塑模, 最後還是需轉換成關聯模式 特殊化分類的轉換, 三種方式 子類別和父類別分別產生關聯綱目 只有子類別產生關聯綱目 只有父類別產生關聯綱目 12-32 16

特殊化分類轉成關聯模式 方式一 ( 每個類別產生一個關聯綱目 ) 替 C 產生一個關聯綱目, 有 C 的所有屬性並以 k 為主鍵 替每個子類別 S i 產生一個關聯綱目, 有 S i 的所有屬性再加上 k, 並以 k 為主鍵 12-33 特殊化分類轉成關聯模式 (Cont.) 範例 : 圖 13-2 Product name catalog unitprice DVD minutes Book isbn CDpieces songname length SalesProduct discount KaohsiungStockProduct TaipeiStockProduct warehouse 12-34 17

特殊化分類轉成關聯模式 (Cont.) 方式二 ( 只有子類別產生關聯綱目 ) 替每個子類別 Si 產生一個關聯綱目, 有 Si 的所有屬性再加上 C 的全部屬性, 並以 k 為主鍵 只適用於完全特殊化分類 12-35 特殊化分類轉成關聯模式 (Cont.) 範例 : 圖 13-2 按產品種類的特殊化分類 12-36 18

特殊化分類轉成關聯模式 (Cont.) 方式三 ( 只有父類別產生關聯綱目 ) Case 1: 不重複限制 替 C 產生一個關聯綱目, 有 C 及所有子類別的屬性, 再加上一個額外屬性用來辨別紀錄所屬的子類別, 並以 k 為主鍵 Case 2: 重複限制 替 C 產生一個關聯綱目, 有 C 及所有子類別的屬性, 再加上 n 個額外布林 (Boolean) 屬性用來辨別紀錄是否屬於每個子類別, 並以 k 為主鍵 12-37 特殊化分類轉成關聯模式 (Cont.) 範例 : 圖 13-2 Product name catalog unitprice minutes isbn salesflag discount CDPieces songname length Product name catalog unitprice KaohsiungFlag TaipeiFlag warehouse 12-38 19

群類轉成關聯綱目 替 C 產生一個關聯綱目, 每個類別 Si 也個別產生一個關聯綱目 C: 群類 C 的屬性, 再加上一個新的主鍵 k c 若 C 本身已有關聯主鍵則不須另外附加 S i : 類別 S i 上的屬性, 再加上一個外部鍵, 參考到 C 的關聯主鍵 k c k 1 k 2 k n S 1 S 2 U C... S n 12-39 群類轉成關聯綱目 (Cont.) 範例 : 圖 13-6 AccountOwner accountno startdate Person pid pnam e personaccount Company cid cname companyaccount 12-40 20

轉成關聯綱目的問題 不管使用哪一種方式來將特殊化分類轉成關聯綱目都有可能喪失一些限制的資訊 考慮圖 13-17 的第一種轉換方式所得到的關聯綱目, 該關聯綱目並無法確保 每一個 Book DVD 和 CD 的 值都存在於 Product 裡 Book DVD 和 CD 的 值必然不同 這些喪失的限制必須靠 SQL 的 Trigger 來設定或使用應用程式來確保 12-41 21