未分類
春期
データベーススペシャリスト 2017年 春期 問2
2 / 25
図のデータモデルは会計取引の仕訳を表現している。“移動”がリンクする“勘 定”の残高を増やす場合は金額の符号を正に、減らす場合は負にすることで、貸借 平均の原理を表現する。このモデルに基づき、“勘定”表,“会計取引”表、“移動” 表を定義した。勘定科目 “現金”の2017年4月30日における残高を導出するため のSQL 文はどれか。ここで、モデルの表記には UMLを用い,表中の実線の下線は 主キーを表す。また、“会計取引”表には今期分のデータだけが保持される。 勘定 会計取引 * 2..* 勘定科目 取引番号 取引日 期首残高 移動 残残高 金額 制約:一つの会計▶ 取引につながる移 動の金額の和はゼ 口であること。 勘定(勘定科目,期首残高) 会計取引(取引番号、取引日) 移動(勘定科目,取引番号,金額)

正解と解説
表示する
正解 イ
SELECT 期首残高+SUM(金額)AS 残高FROM 勘定、移動、会計取引 WHERE 勘定.勘定科目=移動、勘定科目 AND 会計取引。取引番号=移動。取引番号 AND 勘定.勘定科目=”現金”AND 取引日 <='2017-04-30° GROUP BY 勘定、勘定科目、期首残高
ある勘定科目の残高は、期首残高に、その勘定に関する移動金額の合計を加えて求める。基準日以前の取引に絞り、勘定・移動・会計取引を結合し、期首残高+SUM(金額)を勘定科目・期首残高でグループ化して算出する(イ)が正解。集計に期首残高を含めない他の選択肢では正しい残高が出ない。