問2 午前Ⅱ 平成27年度 データベーススペシャリスト試験

問題

図のデータモデルは会計取引の仕訳を表現している。“移動”がリンクする“勘定”の残高を増やす場合は金額の符号を正に,減らす場合は負にすることで,貸借平均の原理を表現する。このモデルに基づき,“勘定”表,“会計取引”表,“移動”表を定義した。勘定科目“現金”の2015年4月30日における残高を導出するためのSQL文はどれか。ここで,モデルの表記にはUMLを用い,表中の実線の下線は主キーを表す。また,“会計取引”表には今期分のデータだけが保持される。

db-2015-04-am2-02

勘定(勘定科目, 期首残高)

会計取引(取引番号, 取引日)

移動(勘定科目, 取引番号, 金額)

SELECT SUM(金額) AS 残高 FROM 勘定, 移動, 会計取引

WHERE 勘定.勘定科目=移動.勘定科目 AND

会計取引.取引番号=移動.取引番号AND

勘定.勘定科目=’現金’ AND

取引日 <= ’2015-04-30’

SELECT 期首残高+SUM(金額) AS 残高 FROM 勘定,移動,会計取引

WHERE 勘定.勘定科目=移動.勘定科目 AND

会計取引.取引番号=移動.取引番号 AND

勘定.勘定科目= ’現金’ AND

取引日〈=’2015-04-30′

GROUP BY 勘定.勘定科目,期首残高

SELECT 残高 FROM 勘定,移動,会計取引

WHERE 勘定.勘定科目=’現金’ AND

取引日<=’2015-04-30′

SELECT 残高 FROM 勘定, 移動, 会計取引

WHERE勘定.勘定科目=移動.勘定科目 AND

勘定.勘定科目=’現金’ AND

取引日<=’2015-04-30′

解答