普考申論題
114年
[統計] 資料處理概要
第 一 題
📖 題組:
某一公司的採購資料如下所述: 每一位客戶包含有屬性客戶編號、姓名、電話、地址。在客戶中,客戶編號具有唯一性。 每一張訂單包含有屬性訂單編號、購貨日期。在訂單中,訂單編號具有唯一性。每一張訂單裡的每一項產品都有其訂購數量之屬性。 每一項產品包含有屬性產品編號、產品名稱、單價。而在產品中,產品編號具有唯一性。 每一位客戶可能都沒下過訂單,也可能下過多張訂單。 每一張訂單必定為某一位客戶且也僅能為一位客戶所下訂的。 每一張訂單包含有至少一項以上產品;每項產品可能被多張不同訂單所訂購過,也可能未被任何訂單所訂購過。(每小題 10 分,共 40 分)
某一公司的採購資料如下所述: 每一位客戶包含有屬性客戶編號、姓名、電話、地址。在客戶中,客戶編號具有唯一性。 每一張訂單包含有屬性訂單編號、購貨日期。在訂單中,訂單編號具有唯一性。每一張訂單裡的每一項產品都有其訂購數量之屬性。 每一項產品包含有屬性產品編號、產品名稱、單價。而在產品中,產品編號具有唯一性。 每一位客戶可能都沒下過訂單,也可能下過多張訂單。 每一張訂單必定為某一位客戶且也僅能為一位客戶所下訂的。 每一張訂單包含有至少一項以上產品;每項產品可能被多張不同訂單所訂購過,也可能未被任何訂單所訂購過。(每小題 10 分,共 40 分)
📝 此題為申論題,共 4 小題
小題 (一)
試依上述說明,為該公司畫出一實體關聯圖(Entity Relationship Diagram, ER Diagram)。該實體關聯圖需標出每一實體的名稱、屬性、主鍵屬性(Key attribute)、每一關係(Relationship)及其基數性(cardinality)。
思路引導 VIP
遇到實體關聯圖(ERD)題目,首要步驟是從敘述中淬取出「實體(名詞)」與「屬性」,並標示出具唯一性的「主鍵」。接著分析實體間的「關係(動詞)」,依據業務邏輯判斷基數性(1:1、1:N 或 M:N),需特別注意如「訂購數量」這類必須依附於多對多關係上的聯合屬性。
小題 (二)
試為該實體關聯圖(ER Diagram),決定出最簡化之各關聯表格。需描述出每一表格的名稱、屬性(attribute)、主要鍵(primary key)及外來鍵(foreign key)。
思路引導 VIP
面對 ER 圖轉換關聯表題目,首先需找出獨立實體(客戶、產品、訂單)及其主鍵。接著透過分析關聯的對應基數(Cardinality)來配置外來鍵:一對多(1:N)關聯將「一」端的主鍵放入「多」端做外來鍵;多對多(M:N)關聯則必須建立一個新的交集表格(如訂單明細),並包含雙方的主鍵作為複合主鍵與外來鍵,以及關聯本身的屬性(訂購數量)。
小題 (三)
試寫出一 SQL 程式片段,為每一張訂單所採購之每一項產品,列印出該訂單編號、產品名稱及採購金額。
思路引導 VIP
看到這題,首先要從題目背景的實體關聯描述中推導出關聯式資料表綱要(Schema),特別是辨識出「訂單」與「產品」之間存在多對多關係,必須轉換為交集表(即訂單明細表)來儲存「訂購數量」。接著,提取所需欄位並使用 JOIN 語法連結相關資料表,將「單價」與「訂購數量」相乘運算即可取得衍生屬性「採購金額」。
小題 (四)
試寫出一 SQL 程式片段,為每一張訂單列印出該訂單編號及該訂單所採購總金額。
思路引導 VIP
本題測驗考生對多對多(M:N)關聯的綱要轉換與 SQL 查詢能力。首先應意識到「訂單」與「產品」間存在隱含的中介表(如訂單明細)以記錄「訂購數量」;接著結合產品表的「單價」計算小計,最後利用 GROUP BY 對訂單編號進行分組,並以 SUM() 函數加總各訂單的總金額。