Transcript Homework
資料庫管理 HOMEWORK #2 ERD練習 楊立偉教授 台灣大學工管系 2013 Fall 1-1 Homework #2 • 繪製完整的 E-R model diagram • 利用 Microsoft Access 建立表格與關聯 • 建立測試用的範例資料 1-2 Tutorial - Background • 學校委託你整頓圖書館 • 你依照學校開出的需求(business rules)重新 規劃資料庫 – – – – – – – 以本校之圖書館為限,包含多個分館 需建立完整書目資訊,每一書目有多本藏書 書目資訊至少包含 Dublin Core 的前10個欄位 每一本藏書只會歸屬於一個分館 每一本藏書都有獨立的藏書號與藏書日期 需建立書目來源(出版商資料) 借書人為學生,每人可以借多本書,需建立借書紀錄 • 其它部份學校沒意見,請自行發揮 1-3 思考步驟 (1) • 繪製E-R model – 找出Entity, 並確認屬性 – 找出Relationship • 確定degree – unary 或 binary 或 ternary • 確定cardinality – 1:1 或 1:N 或 M:N • Relationship上是否有屬性 1-4 思考步驟 (2) • 轉換成表格 – Entity轉表格 – 各種Relationship的轉法 • 不同degree – unary 或 binary 或 ternary • 不同cardinality – 1:1 或 1:N 或 M:N • Relationship上是否有屬性 1-5 思考步驟 (3) • 檢查正規化 – 畫出functional dependency – 檢查是否違反正規化 • 1st 或 2nd 或 3rd 正規化 • 將表格拆解至符合為止 • 檢查合理性與參照完整性 – 放入幾筆測試資料 1-6 – 是否滿足business rules ? 初學者應注意的事項 • 不要畫出重複的關係 – 保留最少但必要的資訊即可 • 寫下自己的假設 – 設計過程中, 有不確定的地方, 就先假設 – 確保設計過程前後一致 – 最後可以逐條檢查 1-7 簡化假設 • 每本藏書只有一個固定館藏 – 每本書必定歸屬一個館 – 甲館借甲館還 • 不紀錄還書時間 • 不保留借書的歷史紀錄 1-8 參考解答 (1) • 參考 db2013_hw2_answer.vsd • 參考 db2013_hw2_answer.mdb publisher 出版商 pid 出版商代碼 name 名稱 addr 地址 tel 電話 1-9 book 書目 出書 ISBN 書碼 title 標題 creator 作者 subject 主題 desc 描述 … … (其它欄位) bookitem 藏書 藏書 student 學生 bid 藏書號 bdate 藏(購)書日 借書 date 借書日 library 圖書館 歸屬 lid 館別代碼 name 名稱 location 位置 sid 學號 name 名稱 dept 系所名稱 參考解答 (2) 1-10 附錄 : Dublin Core • 圖書資訊界常用的meta-data定義 • 基本版包括15個標籤 – Title、Creator、Subject、Description、Publisher – Identifier、Date、Contributor、Type、Language – Source、Format、Relation、Coverage、Rights • Wiki http://en.wikipedia.org/wiki/Dublin_Core • 完整規格 http://dublincore.org/documents/usageguide 1-11