図のデータモデルは会計取引の仕訳を表現している。
“移動”がリンクする“勘定”の残高を増やす場合は金額の符号を正に、減らす場合には負にすることで、貸借平均の原理を表現する。
このモデルに基づき、“勘定”表、“会計取引”表、“移動”表を定義した。
勘定科目“現金”の2015年4月30日における残高を導出するためのSQL文はどれか。
ここで、モデルの表記にはUMLを用い、表中の実線の下線は主キーを表す。
また、“会計取引”表には今期分のデータが保持される。
勘定(勘定科目, 期首残高)
会計取引(取引番号, 取引日)
移動(勘定科目, 取引番号, 金額)
ア | 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’ |
答え イ
【解説】
勘定科目“現金”の2015年4月30日における残高は以下の条件の“金額”の和になる。
【キーワード】
・貸借平均の原理