資料庫管理 HOMEWORK #2 ERD練習 楊立偉教授 台灣大學工管系 2014 Fall
Homework #2 繪製完整的 E-R model diagram 利用 Microsoft Access 建立表格與關聯 建立測試用的範例資料
Tutorial - Background 學校委託你整頓圖書館 你依照學校開出的需求(business rules)重新規劃資料庫 以本校之圖書館為限,包含多個分館 需建立完整書目資訊,每一書目有多本藏書 書目資訊至少包含 Dublin Core 的前10個欄位 每一本藏書只會歸屬於一個分館 每一本藏書都有獨立的藏書號與藏書日期 需建立書目來源(出版商資料) 借書人為學生,每人可以借多本書,需建立借書紀錄 其它部份學校沒意見,請自行發揮
思考步驟 (1) 繪製E-R model 找出Entity, 並確認屬性 找出Relationship 確定degree – unary 或 binary 或 ternary 確定cardinality – 1:1 或 1:N 或 M:N Relationship上是否有屬性
思考步驟 (2) 轉換成表格 Entity轉表格 各種Relationship的轉法 不同degree – unary 或 binary 或 ternary 不同cardinality – 1:1 或 1:N 或 M:N Relationship上是否有屬性
思考步驟 (3) 檢查正規化 檢查合理性與參照完整性 畫出functional dependency 檢查是否違反正規化 放入幾筆測試資料 1st 或 2nd 或 3rd 正規化 將表格拆解至符合為止 檢查合理性與參照完整性 放入幾筆測試資料 是否滿足business rules ?
初學者應注意的事項 不要畫出重複的關係 寫下自己的假設 保留最少但必要的資訊即可 設計過程中, 有不確定的地方, 就先假設 確保設計過程前後一致 最後可以逐條檢查
簡化假設 每本藏書只有一個固定館藏 每本書必定歸屬一個館 甲館借甲館還 不紀錄還書時間 不保留借書的歷史紀錄
參考解答 (1)
參考解答 (2)
附錄 : Dublin Core 圖書資訊界常用的meta-data定義 基本版包括15個標籤 Wiki 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