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

第 一 題

📖 題組:
某公司之關聯式人事資料庫如【附圖】所示,請回答下列問題:(15 分)
📝 此題為申論題,共 3 小題

小題 (一)

是否可從【附圖】部門資料表中,直接刪除「人事室」這筆資料,並請說明原因。(5 分)
題目圖片

思路引導 VIP

透過關聯式資料庫的「參考完整性(Referential Integrity)」與外來鍵(Foreign Key)限制來回答。

🤖
AI 詳解
AI 專屬家教

不可直接刪除。原因為違反關聯式資料庫中的「參考完整性(Referential Integrity)」限制。在【附圖】的資料庫結構中,「部門」資料表為父表,而「任職紀錄」資料表為子表,其「部門編號」欄位是參考部門表的外來鍵(Foreign Key)。人事室的部門編號為「103」,但在「任職紀錄」表中已有員工(如員工編號31、32、58、74)的任職紀錄參考到部門編號103,若直接刪除部門表中的人事室,將導致任職紀錄表產生孤兒紀錄(Orphan Record),因此資料庫系統會拒絕此刪除操作。

小題 (二)

請寫出將所有員工的年資及年齡都增加 1 的 SQL 語法。(3 分)
題目圖片

思路引導 VIP

利用 UPDATE 指令配合 SET 子句將對應數值加 1。

🤖
AI 詳解
AI 專屬家教

UPDATE 員工 SET 年資 = 年資 + 1, 年齡 = 年齡 + 1;

小題 (三)

請寫出可查詢曾任職兩個(含)以上不同部門的員工,其員工編號及姓名的 SQL 語法。(7 分)
題目圖片

思路引導 VIP

使用 JOIN 結合員工表與任職紀錄表,再利用 GROUP BY 員工,透過 HAVING COUNT(DISTINCT 部門編號) >= 2 篩選出符合條件的對象。

🤖
AI 詳解
AI 專屬家教

SELECT a.員工編號, a.姓名 FROM 員工 a JOIN 任職紀錄 b ON a.員工編號 = b.員工編號

🏷️ 相關主題

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