資訊處理 95 年資料庫應用考古題
題目為考試當年公告版本,實務標準請以現行規範為準。
假設某Relational Database Schema 為 R(A,B,C,D,E,F,G) 其功能依賴(Functional Dependencies) 為 {A,B} →C 與 {C,D}→E {D,E}→{B,F} F→G G→D 請以功能依賴的推論(Inferences)規則,來回答: ㈠說明{A,B}是否為Candidate Key?(10 分) ㈡找出所有R 之Candidate Key。(15 分)
圖一是個實體關係圖(Entity-Relationship Diagram),對所用符號的約略說明:其 中每一實體(矩形)鄰近某關係(菱形)間均有一對(min,max)的限制,代表該實體 參與該關係之min(至少)、max(至多)次數限制,*代表沒有限制。屬性畫實底 線者為Primary Key(主鍵)的一部分。該圖要記錄何司機何日駕駛過那一車輛,其 該日里程開了多少。同一司機可能在不同日駕駛過同一車輛,這就是所謂多重關係 (Multiple Relationship)的現象。 請重繪實體關係圖,以去除多重關係的現象。要求:㈠不得使用高於二元關係 (Binary Relationship)之三元或多元關係。㈡所繪之圖應是最精簡的,沒有多餘、 不必要的實體、關係、屬性。(25 分) 圖一 代號 司機 姓名 駕駛 編號 車輛 車型 (0,*) (0,*) 該日里程 使用日期 95 年公務人員特種考試關務人員考試試題 科 別: 資訊處理
假設某關連資料庫(Relational Database )中有兩個表格(Tables)分別儲存「調 查員」(Investigator)、「獎勵」(Reward)。其Schema 如下: Investigator(SID,Name,BirthDate,Region) 屬性分別代表調查員「編號」、「姓名」、「生日」、「地區」,而以「編號」 為其主鍵(Primary Key)。「姓名」是另一候選鍵(Candidate Key)。“Region" 值可能為「台北市」、「高雄市」等中文字串。 Reward (Number,Date,Affairs,Amount) 屬性分別代表「調查員編號」、「獎勵日期」、「獎勵事蹟」、「獎勵金額」, 而以「調查員編號」、「獎勵日期」合在一起為其主鍵。「獎勵金額」最少是 1000 元。獎勵是固定每個月在月中15 日辦一次,所以「獎勵日期」會出現如 2005 年5 月15 日、如2005 年7 月15 日等數值。 請寫出下列查詢之SQL: ㈠請找出在「台北市」地區的調查員人數。(10 分) ㈡對每位受過二次以上獎勵的調查員,請列出其調查員「編號」、「姓名」。 (10 分) ㈢對在「台北市」地區的調查員,接受過最高獎勵的金額為多少?(10 分)
請以SQL 建立第三題中的關連資料庫Schema,你可自行假設合理的資料型態,但 必須包含所有㈠鍵限制(Key Constraints)、㈡實體完整性限制(Entity Integrity Constraints)、㈢參考完整性限制(Referential Integrity Constraints),並分別建議 其違反時的動作(Violation Actions)。(20 分)