免費開始練習
高考申論題 112年 [資訊處理] 資料庫應用

第 一 題

📖 題組:
有一機票購買資料庫,含有以下的關連(relations) 旅客(護照號碼,姓名,電話,年齡) 航班(航班編號,航空公司,出發時間,抵達時間,出發地,目的地) 購票資訊(護照號碼,航班編號,座位,票價) 請用關連式代數(Relational Algebra)回答以下查詢(queries): (每小題 10 分,共 20 分) (一)所有從“臺北”出發,到達目的地是“洛杉磯”的直飛的航班(亦即中間沒有停留任何其他機場),列出這些航班上的旅客護照號碼和姓名。 (二)針對從“臺北”出發的每一個航班,列出航班編號,和此航班所有乘客的平均年齡。
📝 此題為申論題,共 2 小題

小題 (一)

所有從“臺北”出發,到達目的地是“洛杉磯”的直飛的航班(亦即中間沒有停留任何其他機場),列出這些航班上的旅客護照號碼和姓名。

思路引導 VIP

首先確認題目需要的最終輸出欄位(護照號碼、姓名),並找出查詢條件(出發地為臺北且目的地為洛杉磯)。接著判斷需要透過自然連接(⋈)將「航班」表(用於條件篩選)、「購票資訊」表(作為橋樑)與「旅客」表(取得姓名)串接起來,最後使用投影(π)選出目標屬性。

🤖
AI 詳解
AI 專屬家教

【解題思路】利用選取(σ)過濾航班條件,並透過自然連接(⋈)串聯相關資料表,最後以投影(π)輸出目標屬性。 【詳解】 已知:

小題 (二)

針對從“臺北”出發的每一個航班,列出航班編號,和此航班所有乘客的平均年齡。

思路引導 VIP

看到「每一個...的平均...」,需直覺聯想到延伸關聯代數中的「分組與聚合運算(Grouping and Aggregation)」。解題時先做 Selection 篩選臺北出發的航班,接著用 Natural Join 關聯購票與旅客表以取得年齡,最後套用分組聚合運算子(如 γ 或 G)算出結果。

🤖
AI 詳解
AI 專屬家教

【解題思路】利用選擇(Selection)過濾出發地,再透過自然合併(Natural Join)串接旅客表以取得年齡,最後使用延伸關聯代數的分組聚合運算子求平均值。 【詳解】 已知關聯綱目:

升級 VIP 解鎖