資料庫管理 HOMEWORK #2 楊立偉教授 台灣大學工管系 2013 Fall
Homework #2 繪製完整的 E-R model diagram 利用 Microsoft Access 建立表格與關聯 建立測試用的範例資料 共有五題,各組分派二題
Scenario A 學校委託你整頓圖書館,你依照學校開出的需求(business rules)重新規劃資料庫 以本校之圖書館為限,包含多個分館 需建立完整書目資訊,每一書目有多本藏書 書目資訊至少包含 Dublin Core 的前10個欄位 每一本藏書只會歸屬於一個分館 每一本藏書都有獨立的藏書號與藏書日期 需建立書目來源(出版商資料) 借書人為學生,每人可以借多本書,需建立借書紀錄 其它部份學校沒意見,請自行發揮
Scenario B 冬天到了,宿舍同學很不想外出吃飯,請你開發訂便當資料庫,需求(business rules)如下: 以本校同學為限,包含多個宿舍 需建立餐廳與菜單資訊(含價格) ,供同學訂購 每張訂單可訂多樣/多個便當,以滿足大胃需求 於固定地點繳費領便當,可提供多個領取地點;同學下訂時可以選擇領取地點 每日每餐舉辦,或隨時預約下訂,或其它模式均可 歷史訂購紀錄需保留,以利未來統計熱門菜單之用 其它部份宿舍同學沒意見,請自行發揮
Scenario C 學校為整頓腳踏車亂象,委託你開發 ntUbike 資料庫,需求(business rules)如下: 為記名租借,以本校同學為限,租借前需先註冊 腳踏車將編號列管,並詳記廠牌、規格等資訊 於校內多個地點建立租借站,需建立租借站資訊 採預約租借制,將每日分成若干時段,訂價不同,按時段來出租 每人可租借多台;並可甲站借乙站還 歷史租借紀錄需保留,以利未來統計腳踏車王之用 其它部份學校沒意見,請自行發揮
Scenario D 為造福同學,請你開發新一代交友資料庫,結合交友與活動,需求(business rules)如下: 以本校同學為限,參加前需先登記詳細資料,其中包括興趣主題(每人可有多個興趣主題) 同學可建立活動資訊,包括會展演等,每項活動並可屬於一到多個興趣主題 同學間可進行邀約,請其它同學一起參加活動,參加人可決定是否接受 歷史邀約紀錄需保留,以利未來統計熱門活動之用 其它部份同學沒意見,請自行發揮
Scenario E 為愛惜資源,保護地球,學校請你開發校園二手物品交易資料庫,需求(business rules)如下: 以本校同學為限,不論是賣東西或買東西,都需先登記詳細資料 同學可建立二手商品資訊,包括商品名稱、規格等,以及歸屬一或多個分類。同學可對商品舉行拍賣,包括拍賣期間、底價、交易方式、交易地點等。 同學可以參與拍賣出價 歷史出價紀錄需保留,以利未來統計熱門商品之用 其它部份學校沒意見,請自行發揮
作業要求 (1) 完整的 E-R model diagram 有幾個Entity 有哪些Relationship? Cardinality為何 標上屬性 檢查Entity、Relationship、屬性的名稱是否適當
作業要求 (2) 每張表格建立 30 筆測試資料,越多越好 利用 Microsoft Access 建立表格與關聯 除了Entity,有哪些Relationship要轉成表格 將屬性開成欄位,並訂出 type, length, constraint 檢查所有表格的PK 不同的Relationship / Cardinality要怎麼轉成FK 每張表格建立 30 筆測試資料,越多越好 滿足資料合理性,並檢查關聯是否正確
評分標準 分成10個等級 依詳盡用心程度加分 Entity, Attribute 正確合理 Relationship, Degree 正確合理 Cardinality 正確合理 轉成表格後 PK, FK 正確清楚 符合正規化 (表格內無彼此相依欄位) 測試資料 正確合理 Business Rules 均滿足 … ♥ 滿分 依詳盡用心程度加分
Deadline 於 2012.10.29 前繳至 ceiba (注意截止時間) 由組長繳交即可 E-R model請貼在一個 Word 檔中,並加入文字說明 取名為「組別_題號_學號(小寫)_hw2.doc」 Microsoft Access請繳交MDB檔 取名為「組別_題號_學號(小寫)_hw2.mdb」 兩者一同壓縮為「組別_學號(小寫)_hw2.zip」
題目分派 每組分派二題 期中考後每題挑選優秀組別上台簡報
附錄 : 製圖工具 Microsoft Visio (商業軟體) 簡易型 Data Modeler Dia http://www.fitarelli.org/software/Data_Modeler.html Dia 免費軟體 http://dia-installer.de/index_en.html 教學網站 http://163.20.160.21/xoops22/t167/Dia/list.htm 以Microsoft Access製作後截圖下來 以Microsoft Excel或PowerPoint製作
資料庫管理 HOMEWORK #2 範例說明 楊立偉教授 台灣大學工管系 2013 Fall
一、繪製 E-R Model (1/5) 以MS Visio 2007為例 檔案→新增→一般/基本圖
一、繪製 E-R Model (2/5) 開啟空白畫布 加入文字 調整文字格式 加入圖型
一、繪製 E-R Model (3/5) 用文字說明Entity名稱 用矩型畫出Entity 用線條畫出Relationship 並在中間輸入文字 用線條畫出Relationship 以及一對多關係 (設為直線)
一、繪製 E-R Model (4/5) 部份範例 還有其它Entity與Relationship要補上
一、繪製 E-R Model (5/5) 注意有的關係上有屬性 可以比照課本轉畫成 Associative Entity,或直接將屬性標在Relationship旁邊亦可
二、建立表格 (1/8) 以MS Access 2007為例 新增空白資料庫→ 輸入檔名後建立 Access2007 附屬檔名預設 .accdb Access2003 附屬檔名預設 .mdb 為相容性, 請一律點選改為 .mdb
二、建立表格 (2/8) 選建立→資料表,新增空白資料表 在資料表上按右鍵 選設計檢視,進入欄位設計畫面 之後可以重新命名 (資料表需為關閉狀態)
二、建立表格 (3/8) 進入設計檢視後,可 逐一建立欄位 在欄位上按右鍵, 可設定主索引鍵 (或上方按鈕列亦可) 可以選的欄位型別 (type)
二、建立表格 (4/8) 將三個Entity內的欄位分別建好
二、建立表格 (5/8) 關閉設計檢視並儲存 選擇資料庫工具→資料庫關聯圖
二、建立表格 (6/8) 將左邊的表格,逐一拖拉至右邊的資料庫關聯圖區,並至適當的排列一下 拖拉
二、建立表格 (7/8) 建立關聯 拖放pid為例 將相對應的欄位進行拖放 彈出編輯關聯視窗 按下建立即可 建立關聯 (預設為1對多)
二、建立表格 (8/8) 建立關聯 將所有關聯拖放完成後儲存 預設為1對多;若要設定為1對1,應在設計檢視時,將該欄位設為「索引 : 是(不可重複)」
三、輸入範例資料 (1/1) 開啟該資料表,即可輸入 注意合理性與 參照完整性
補充 (1/2) 亦可使用SQL指令建立表格與關聯 CREATE TABLE CREATE TABLE publisher ( pid char(50), name char(50), addr char(50), tel char(50), primary key (pid)); CREATE TABLE book ( ISBN char(50), title char(50), creator char(50), subject char(50), description char(50), pid char(50), primary key (bid), foreign key (pid) references publisher(pid));
補充 (2/2) 亦可使用SQL指令來建立範例資料 INSERT INTO INSERT INTO publisher (pid,name,addr,tel) VALUES ('P01','台大出版社','台北市','23630231'); INSERT INTO book (ISBN,title,creator,subject,description,pid) VALUES ('001','資料庫管理','楊大毛','電腦','這是一本好書','P01');