高考申論題
110年
[資訊處理] 資料庫應用
第 一 題
📖 題組:
假設在某個 MongoDB 的資料庫中,有個 Collection 叫做“student”,其中每個物件表示學生的編號(_id)、姓名(name)包含名(first)和姓(last)以及就讀的學系名稱(department)。一個範例物件以 JSON 格式表示如下所列: {"_id": "1", "name": { "first": "Ted", "last": "Codd" }, "department": "CS" } 請以 Mongo 語法,依序寫出符合下述要求的指令:
假設在某個 MongoDB 的資料庫中,有個 Collection 叫做“student”,其中每個物件表示學生的編號(_id)、姓名(name)包含名(first)和姓(last)以及就讀的學系名稱(department)。一個範例物件以 JSON 格式表示如下所列: {"_id": "1", "name": { "first": "Ted", "last": "Codd" }, "department": "CS" } 請以 Mongo 語法,依序寫出符合下述要求的指令:
📝 此題為申論題,共 5 小題
小題 (一)
找出姓為“Codd”的學生,並限定只輸出第一位。(10 分)
思路引導 VIP
- 查詢方法:使用
db.collection.find()。 - 巢狀欄位存取:姓 (last) 是在 name 物件下,語法為
"name.last"。
小題 (二)
刪除所有就讀“CS”系的學生資料。(10 分)
思路引導 VIP
- 刪除方法:使用
db.collection.deleteMany()或remove()。 - 過濾條件:
department: "CS"。
小題 (三)
View(4 分)
思路引導 VIP
看到「View(視圖)」,應立刻聯想到「虛擬資料表(Virtual Table)」。作答時需點出它本身不儲存實體資料,而是由 SQL 查詢定義,並列舉其三大核心功用:簡化複雜查詢、提升資料安全性、提高邏輯資料獨立性。
小題 (四)
外來鍵(Foreign Key)(4 分)
思路引導 VIP
看到「外來鍵」,應直覺聯想到關聯式資料庫中「建立資料表之間關聯」的機制。作答時務必點出其核心定義(參考另一表的主鍵),並強調其在維持「參考完整性(Referential Integrity)」上的關鍵作用。
小題 (五)
叢集索引(Clustered Index)(4 分)
思路引導 VIP
看到「叢集索引」,應直覺聯想「實體儲存順序」。答題時需點出其與資料表物理排序的關聯、一個表只能有一個的限制,以及其 B-Tree 葉節點即為實際資料的特性,並簡述其對查詢效能的影響。