免費開始練習
moea_joint_essay 107年 [統計資訊] 資料庫及資料探勘、程式設計

第 二 題

📖 題組:
附表為某公司之關聯式人事資料庫,其中部門表的「經理」欄位是外來鍵(foreign key),參考員工表的「編號」欄位,員工表的「部門」欄位是外來鍵,參考部門表的「編號」,請回答下列問題:(每小題 5 分,共 15 分) 部門表 編號 名稱 經理 預算 總薪資 D01 會計 002 20K 200K D02 資訊 018 70K 900K : : : : : D05 客服 200 300K 600K 員工表 編號 姓名 部門 薪資 001 張山 D02 30K 002 李嗣 D02 80K : : : : 200 王武 D03 50K
📝 此題為申論題,共 3 小題

小題 (二)

假設員工表資料量大,針對查詢 select 姓名,薪資 from 員工表 where 部門=’D02’ ,請以 SQL 語法建立應有的索引(Index)名為 Idx1,以加速此查詢。

思路引導 VIP

因查詢條件為 where 部門='D02',為了加速這類條件檢索,應對「部門」欄位建立 Index。

🤖
AI 詳解
AI 專屬家教

根據給定的查詢語句(WHERE 條件為「部門」欄位),為了加速條件過濾的效率,應在「部門」欄位上建立索引。SQL 語法如下:

CREATE INDEX Idx1 ON 員工表 (部門);

小題 (一)

員工李嗣離職後,會刪除員工李嗣的資料,除了「限制刪除」,還有哪些作法可維護參考完整性(Referential Integrity)?

思路引導 VIP

說明關聯式資料庫中處理外鍵刪除更新的選項,如 Cascade (串聯刪除)、Set Null (設為空值)、Set Default (設為預設值)。

🤖
AI 詳解
AI 專屬家教

當被參考的主鍵紀錄遭到刪除時,為了維護參考完整性(Referential Integrity),除了拒絕執行的「限制刪除(Restrict / No Action)」之外,還可採用以下三種作法:

  1. 串聯刪除(Cascade Delete):將所有參考到該名員工(即員工編號為 002)的相關資料列一併刪除。以本例來說,會計部門(D01)整筆資料會跟著被刪除。
  2. 設為空值(Set Null):將參考到該被刪除資料的外來鍵欄位設為 NULL。以本例來說,會計部門的「經理」欄位將會變成 NULL,代表暫時無經理。

小題 (三)

請以 SQL 語法列出各部門員工人數大於 200 位的部門編號與員工人數。

思路引導 VIP

利用 GROUP BY 對「部門」進行分組,再配合 HAVING 條件過濾出 COUNT(*) > 200 的組別。

🤖
AI 詳解
AI 專屬家教

所需之 SQL 查詢語法如下:

SELECT 部門 AS 部門編號, COUNT(*) AS 員工人數

🏷️ 相關主題

關聯式資料庫查詢與SQL語法應用
查看更多「[統計資訊] 資料庫及資料探勘、程式設計」的主題分類考古題