習題2-1 |
---|
考慮圖 2-16 的 ERD, • 假設我們將實體型態「Transaction 」裡的 transTime 屬性移至關係型態「Confirms」,請問是否仍然正確?如果將 transTime 移至實體型態「Member」呢? • 假設我們將關係型態「Records」裡的 amount 和 salePrice 屬性移至實體型態「Transaction」或「Product」,請問是否仍然正確? |
習題2-2 |
---|
假設我們要記載學生和他的緊急聯絡人的資料。一位學生可有多位緊急聯絡人,且每一緊急聯絡人的姓名和電話要記載。此時你可以有以下兩種方式來表達: 1. 產生一個名為 “學生” 的實體型態,並有一個多值複合的屬性 “緊急聯絡人”。 2. 產生一個名為 “學生” 的實體型態,並產生一個弱實體型態 “緊急聯絡人”。 請畫出這兩種方式的 ERD 並探討在哪一種情況下該採用哪一種方式。 |
習題2-3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
考慮以下關係型態 R![]() 假設有 2 位老師 (t1, t2) 和3 位學生 (s1, s2, s3),則以下何者為符合 R 定義的關係。
|
習題2-4 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
考慮以下識別關係型態 Has![]() 假設有 2 個會員 (M1, M2),4 台購物車 (C1, C2, C3, C4),購物車的屬性如下:
則以下何者為符合 Has 定義的關係。
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
習題2-5 |
---|
假設你想記載課程〔Course〕資訊,包括上課老師〔Teacher〕、教室〔Room〕、和教科書〔Book〕。其資料需求如下: • 老師包括身分證字號 (pId) 和姓名 (name)。 • 課程包括課程編號 (cId)、開課學期 (semester)、課程敘述 (desc),其中課程編號和開課學期合起來是唯一。 • 教科書包括書名 (bookName)、作者 (authors) 和出版社 (publisher),其中作者可以有多位,沒有任一個屬性是唯一。但教科書一定要被至少一個課程採用。 • 上課教室包括教室編號 (rId) 和地點 (rLoc)。 • 每一門課只能有一位授課老師。 • 每一門課可以使用多本書當教科書,但這些書的書名必然不同。 • 每一門課至少需要用到一間教室。 以下是資料庫設計師張三所繪出的 ERD: ![]() 1. 請針對以上需求,指出張三所犯的錯誤。 2. 請繪出可以滿足以上所有需求的 ERD。 |
習題2-6 |
---|
假設你要記載球隊的比賽日期和結果,考慮以下的 ERD:![]() 1. 請指出該 ERD 的缺點。 2. 請針對你所提的缺點修正此 ERD。 |
習題2-7 |
---|
請為台灣總統選舉的民調繪一 ERD,至少包含以下三種實體型態: 候選人 (Candidate):總統和副總統候選人﹔眷屬(Dependent):候選人的配偶或子女﹔選民 (Voter):民調時所詢問的對象。這三個實體型態有以下的性質: • 候選人的登記號 (regNo)、候選職位 (position)、姓名 (name)、出生年月日(birthday)、學歷 (degrees) 與經歷 (experience) 要記載。其中學歷與經歷可能有多項資料。登記號和候選職位合起來為唯一。 • 眷屬的姓名 (name)、出生年月日 (birthday)、國籍 (nationalities) 要記載。其中國籍可能有一個以上。沒有任何一個屬性是唯一,但每一候選人之眷屬姓名必然不同。 • 選民的教育程度 (education)、民調日期 (date)、設籍縣市 (residence) 要記載。 由於沒有任何屬性是唯一,可加一流水號屬性 (seq) 成關鍵屬性。 此外,以下的關係型態要記載: • 候選人和眷屬的關係﹔選民與候選人有兩個關係:投票對象和認為最可能當選者。 按照以上需求,請畫出一 ERD。必要的話,也可自行假設其他相關狀況,但必須寫清楚。 |
習題2-8 |
---|
假設你要替一個大學圖書館製作一新書推薦系統。該系統可以記載讀者的興趣,當每個月的新書編目完時,該系統即可按讀者興趣選擇性的將某些新書資訊email 給讀者。此一系統的資料需求如下: • 新書 (Book):包括分類號 (callNumber)、書名 (title)、作者姓名 (authorName)、關鍵字 (keyword),且一本書的作者可能有多位,其關鍵字也可能有多個。分類號為唯一。 • 書類別 (Callcategory):包括分類編號 (categoryId)、分類名稱 (categoryName),其中分類編號為唯一。由於分類方式是階層式的,一類別和其父類別間有一關係型態 (Parent)。 • 讀者 (Patron):讀者需記載讀者編號 (patronId)、姓名 (name)、身分 (type, 如老師、學生、校外讀者)、電子郵件 (email),和電話 (phone)。其中讀者編號為唯一。 • 讀者興趣 (Interest):包括日期 (date)、興趣條件 (constraint)。一位讀者可設數個讀者興趣,但同一讀者之不同興趣其日期必不同。 • 系所 (Department):包括系所編號 (depId) 和系所名稱 (depName)。 此外,Book 跟 Callcategory 間有一個 Categorized 的關係型態,一本書必屬於一個書類別,但一書類別可有數本書。Interest 與 Callcategory 間有個包括(Involves) 的關係型態,一個讀者興趣可有數個書類別,而且一個書類別可出現在數個讀者興趣。Patron 跟 Department 間也有個屬於 (Belongs) 的關係型態。 請依以上的需求,畫出 ERD。必要的話,可自行假設其他相關狀況,但必須寫清楚。 |
習題2-9 |
---|
假設你要為一圖書館製作一簡易的流通系統,該系統必須能記載圖書借閱的狀態,請包含以下的實體型態: 1. 圖書 (Title):每個 title 表示一本書。 2. 圖書冊 (Volume):請注意同一本書可能購入好幾冊,每一冊叫做一個 volume。 3. 讀者 (Patron):每個 patron 表示該圖書館的一位讀者。 4. 單位 (Unit):每個 unit 表示讀者所屬的一個單位,比如大學圖書館的可能單位為系所。 5. 圖書種類 (Class):圖書館的書都經過分類,每一類就是一個 class。 這五種實體型態有以下的屬性: 1. 圖書:包括 ISBN、書名 (name)、主題 (subjects)。其中 ISBN 為唯一,且主題可能包括多個值。 2. 圖書冊:包括流水號 (seqNo) 和購入日期。其中沒有任一屬性是唯一,但對於同一圖書之不同圖書冊,流水號也不一樣。 3. 讀者:包括 id、姓名 (name)、email、住址 (address)、加入日期 (startDate)。其中 id 是唯一。每一位讀者可能會借好幾冊書,但一冊書至多被一位讀者所借。 4. 單位:包括單位編號 (unitNo)、名稱 (unitName)、主管姓名 (directorName)、主管聯絡電話 (phone)。其中單位編號和名稱均為唯一。每一位讀者必定屬於一個單位。 5. 圖書種類:種類編號 (classNo)、名稱 (className)、種類敘述 (description)。其中名稱和種類編號均是唯一。由於分類是階層式的 (比如電腦書 is-a 數學書 is-a自然科學書),每一類與其上一類的關係必須記載。此外,每一本書會被分成一類 (階層的最底層)。 必要的話,可自行假設其他相關狀況,但必須寫清楚。 |
習題2-10 |
---|
假設你要為某大學的學生運動會開發一套報名系統。該系統可以讓管理員維護比賽項目,也可以讓學生個別或組隊報名。具體說來,該系統的資料需求如下: • 學生 (Student):包括學號 (sId)、姓名 (name)、生日 (birthday)、身分證字號 (pId)、電子郵件信箱 (email)。其中學號和身分證字號均為唯一。 • 系所 (Department):包括系所名稱 (dName)、系所位置 (address)、電話 (phone)、系主任姓名 (chair)。其中系所名稱為唯一。一位學生必然有一個主修系所(Major)。 • 個人競賽 (IGame) : 包括競賽編號 (iId)、競賽名稱 (iName) 、性別限制(genderConstraint)、競賽時間地點 (timePlace)、比賽規則 (rule)。其中競賽編號和競賽名稱皆為唯一。此外,競賽時間地點為多值,且可細分成日期時間(dateTime) 和競賽地點 (place)。學生報名個人競賽的記錄需記載。 • 團體競賽 (TGame):包括競賽編號 (tId)、競賽名稱 (tName)、競賽地點 (place),人數限制 (max)、性別限制 (genderConstraint)、日期時間 (dateTime)、比賽規則(rule)。其中競賽編號和競賽名稱皆為唯一。 • 參賽隊伍 (Team):包括隊伍編號 (tNo) 和組隊日期 (date)。此外,一個參賽隊伍必然要報名某一個團體競賽 (且僅能一個)。其中沒有任何一個屬性是唯一,但報名同一個團體競賽的隊伍編號必然不同。此外,若一個隊伍是代表某一個系所參賽,則代表的系所需註明。 請依以上的需求,畫出ERD。必要的話,可自行假設其他相關狀況,但必須 寫清楚。 |