平成27年 春期 データベーススペシャリスト 午前II 問2

図のデータモデルは会計取引の仕訳を表現している。
“移動”がリンクする“勘定”の残高を増やす場合は金額の符号を正に、減らす場合には負にすることで、貸借平均の原理を表現する。
このモデルに基づき、“勘定”表、“会計取引”表、“移動”表を定義した。
勘定科目“現金”の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日における残高は以下の条件の“金額”の和になる。

  • “勘定”表の勘定科目と“移動”表の勘定科目が一致
  • “会計取引”表の取引番号と“移動”表の取引番号が一致
  • “勘定”表の勘定科目が“現金”
  • 取引日が2015年4月30日以前
また、“会計取引”表には今期分のデータしかないため、期首残高を考慮する必要があるので、これをSQL文にすると
 SELECT 期首残高 + SUM(金額) AS 残高 FROM 勘定, 移動, 会計取引
    WHERE 勘定.勘定科目 = 移動.勘定科目 AND
        会計取引.取引番号 = 移動.取引番号 AND
        勘定.勘定科目 = ‘現金’ AND
        取引日 <= ‘2015-04-30’
    GROUP BY 勘定.勘定科目, 期首残高

(イ)になる。


キーワード
・貸借平均の原理

キーワードの解説
  • 貸借平均の原理
    複式簿記において、仕訳帳や総勘定元帳などの借方の合計と貸方の合計が常に一致するという原理です。
    この原理は、貸借対照表等式および損益計算書等式から導かれる
     資産 + 費用 = 負債 + 純資産 + 収益
    の式を根拠にしています。

もっと、「貸借平均の原理」について調べてみよう。

戻る 一覧へ 次へ