習題13-1 |
---|
假設你有一個特殊化分類為「書」→{「文學書」,「藝術書」,「自然科學書」,「社會科學書」},此特殊化分類的限制有以下四種可能狀況 |
習題13-2 | |
---|---|
假設你想記載資料庫課程的修課學生及其各項成績。因此你有一個名為「學生」的實體型態和一個名為「計分項目」的實體型態。「學生」又可根據其參與的讀書會分成「資料庫設計讀書會員」和「資料庫系統讀書會員」,而計分項目又可細分成「作業」、「計畫」和「考試」。「學生」與「計分項目」間有一得分的關係,分數必須記載。各實體型態的屬性如下:
請根據以上需求畫出一EERD。若有任何假設,請敘述清楚。 |
|
習題13-3 |
---|
請將 [習題13-2] 的EERD 轉為關聯模式資料庫綱目。 需包括各個關聯綱目的屬性、主鍵及外部鍵。(並以箭頭表示外部鍵所對應的主鍵)。 |
習題13-4 |
---|
假設你想記載修習資料庫課程的學生和他們所製作的期末專案。因此你有一個名為「學生」的實體型態和一個名為「期末專案」的實體型態。而「期末專案」又可細分成「系統開發專案」和「專題報告專案」兩種。「系統開發專案」可再細分成「單機版」、「主從架構版」和「Web 版」。「專題報告」又可分成「理論探討」和「系統使用報告」,請注意可能會有報告同時包含這兩種。 「學生」與「期末專案」間有一得分的關係,分數必須記載。各實體型態的屬性如下: • 學生:學號、姓名、性別和生日。 • 期末專案:專案名稱、繳交日期和專案種類 (值為 ‘系統開發’ 或 ‘專題報告’)。 • 系統開發專案:開發工具 (為多值屬性) 和系統種類 (值為單機版、主從架構版或Web 版)。 • 專題報告專案:報告頁數。 • 單機版系統:系統格式。 • 主從架構版系統:程式語言。 • Web 版系統:網址 • 系統使用報告:系統名稱。 • 理論探討:主題關鍵字 (為多值屬性) 請根據以上需求畫出一EERD,若有任何假設,請敘述清楚。 |
習題13-5 |
---|
請將 [習題13-4] EERD 轉成關聯模式資料庫綱目。 |
習題13-6 |
---|
假設你要用EERD 去描述銀行的戶頭與交易,資料需求如下: •客戶 (Customer) 資料要記載,包括身分證字號 (id)、生日 (bDate) 和住址(address)。其中身分證字號是唯一。 •客戶可以開數個帳戶 (Account),帳戶資料包括帳號(acctNo)、開戶日期 (date)和餘額 (balance)。此外,有三種帳戶:活存 (Saving)、支票 (Checking) 和定存 (CD),活存帳號要記載最低限額 (lowerBound),支票帳號要記載可用支票數 (freeCheck#),定存帳號要記載利率 (interest) 和期限(period)。為提高競爭力,該銀行容許一個帳戶可同時選擇性的包括這三種功能。其中帳號是唯一。 • 一個帳戶可進行多筆交易 (Transaction),交易資料包括交易號碼 (tid)、交易日期 (date) 和交易種類 (tType),其中交易可依交易種類細分為存款 (deposit)、提款 (withdraw)、和轉帳 (transfer),若為存款則需記載存款金額 (dAmount),若為提款則需記載提款金額 (wAmount) , 若為轉帳則需記載轉帳金額(tAmount)、對方銀行號碼 (bank#) 和帳號 (account)。 1. 請畫出EERD 2. 請將該EERD 轉成關聯模式資料庫綱目。 |
習題13-7 |
---|
考慮第三章 [習題3-5] 的人力資源部門徵才系統的ERD,假設人力資源部有兩項新的需求: |
習題13-8 |
---|
考慮第三章 [習題3-9] 之問卷設計系統,為使問卷更加完整,問卷題目多了複選題和問答題,但問答題沒有選項。且每一Session 回答一問答題時之答案也要記載。請畫出完整的EERD。 |
習題13-9 |
---|
請將 [習題13-8] 的EERD 轉成關聯模式資料庫綱目。 |
習題13-10 |
---|
請將 [習題13-8] 用UML 表示。 |
習題13-11 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
考慮課本圖13-6 的AccountOwner 群類和圖13-21 的關聯綱目。 請問以下的三個資料表的記錄有哪些不符合群類的規定?並請指出不符合的原因。
|
||||||||||||||||
習題13-12 |
---|
假設你有一個EERD,用來描述公司的銷售和採購資訊。在你的EERD 中有兩個實體型態:「上游廠商」〔Supplier〕和「下游客戶」〔Customer〕,分別用來記載貴公司採購的對象和銷售的對象。現在你希望產生一個實體型態稱為「特約交易對象」〔QualifiedVendor〕,代表為貴公司所認可的密切往來廠商,你有三種可能的方式來描述特約交易對象: • 一般繼承 (QualifiedVendor 是Supplier 和Customer 的父類別) • 多重繼承 (QualifiedVendor 是Supplier 和Customer 的子類別) • 群類 (QualifiedVendor 是由Supplier 和Customer 所組成的群類) 請就每一種狀況,繪出其圖形表示法,並解釋其意義。 |
習題13-13 |
---|
考慮 [習題3-11] 的水電維修系統ERD,假設「員工」(Employee) 有一個特殊化分類,該分類是根據員工的職位,分成: • 部門主管 (Manager):有一個屬性「上任日期」(startDate) • 秘書 (Secretary):有一個屬性「打字速度」(typeSpeed) • 行政人員 (Administrator):有一個屬性「職等(adminLevel) • 技術員 (Technician):有一個屬性「技術等級」(techLevel) 此外,每一位員工最多只能屬於一類,部門主管必須管理 (Manages) 一個或以上的部門,並且只有技術員才能進行維修。 請依以上需求修改該ERD 為EERD,並轉成關聯模式資料庫綱目。 |
習題13-14 |
---|
假設你要替一個餐廳的點菜系統設計一資料庫綱目。該資料庫可用來記載該餐廳的餐點和相關資訊。資料需求如下: • 餐點 (FoodItem):包括餐點編號 (fNo)、餐點名稱(fName)、餐點敘述 (fDesc)、 價錢 (fPrice) 和類別 (fType)。其中餐點編號和餐點名稱均為唯一。餐點又可依類別分成飲料 (Beverage)、小點(Dessert)、單點 (Dish) 和套餐 (Set),其中專屬屬性如下: • 飲料:是否含酒精 (alcohol) • 小點:甜或鹹 (taste) • 單點:辣的程度 (spice) • 套餐:無其他專屬屬性,但一個套餐可由數個餐點所組成,組成的餐點和餐點數量必須記載。 • 餐桌 (Table):包括餐桌編號 (tId)、容納人數 (capacity) 和位置 (location)。其中餐桌編號為唯一。 • 服務生 (Waiter):包括姓名 (name) 和性別 (sex)。其中姓名為唯一。此外,每一服務生都必須有剛好一位代理服務生 (Substitute),以便該服務生不在時可以頂替其工作。 • 顧客 (Customer):包括顧客姓名 (cName)、日期時間(dateTime)、人數 (num)和消費金額 (payment)。其中沒有任何屬性是唯一的,但每一顧客一定被分配一個餐桌,同一餐桌的顧客其日期時間 (dateTime) 必然不同。請注意,為了 環境美觀,本餐廳不允許併桌,也就是說每一顧客會有佔用一張餐桌。 • 顧客的點餐記錄 (包括種類和數量) 要記載。 • 每一服務生負責數個餐桌,每一張餐桌剛好有一位服務生負責。 請依以上的需求,畫出EERD。必要的話,可自行假設其他相關狀況,但必須寫清楚。 |
習題13-15 |
---|
假設你想擴充 [習題3-13] 的醫院掛號系統ERD 去包括病人的住院資訊。額外需求如下: 1. 醫師按照職級可分成住院醫師 (Resident)、主治醫師(AttendingDoc) 和主任醫師 (ChiefDoc)。其中主治醫師和主任醫師有一多值屬性專長 (specialties),主任醫師並有一屬性上任日 (chargeDate),且只有主治醫師和主任醫師才能看診。住院醫師有一屬性住院醫師開始日 (residenceDate),每一住院醫師有一位教導醫師 (Mentor),教導醫師必須是主治或主任醫師。 2. 有些病人是住院病人 (Inpatient),住院病人有一屬性住院開始日 (startDate)。每一位住院病人有一位主治或主任醫師來負責治療 (Treats),並可能有一位住院醫師來幫忙治療 (Assists)。 3. 病床 (Room) 包括病床編號 (rNo) 和位置 (loc)。其中病床編號是唯一,且每一住院病人必須佔一個床位。 請按以上需求畫出EERD。 |
習題13-16 |
---|
考慮 [習題3-14] 的ERD 製作工具軟體ERD,若將EntityType 特殊化成WeakEntityType (弱實體型態) 和RegularEntityType (一般實體型態),請畫出修改後的EERD。 |