検定部

【全商情処】第64回 ビジネス情報 1級 解説【5】

検定部

第5問(データベース)

目標:1問ミス(ー3点)~2問ミス(ー6点)

① 外部キー

外部キーとは、別表の特定の列しか利用できないようにする制約事項の一つ。

ポイントとして、参照される設定元は必ず主キーである必要があります。

これを抑えて、今回の問題を解いてみましょう。

今回は追加注文表の外部キーについて聞いています。まずはそれぞれの表の主キーを探しましょう。

この時点で、外部キーになるのは「顧客コード」か「配達番号」となりました。

追加注文表に存在するのは「顧客コード」であるので、顧客表の顧客コードと外部キーで関係されているとわかります。

② 更新

SQLで更新であれば、UPDATE ~ SET ~ でした。

UPDATE 表名
SET    列名 = 値 
WHERE 更新する行を特定する条件;

③ グループ化

まず、問題文に「~ごと」とあればGROUP BYを疑いましょう。

GROUP BYはSELECTで指定したフィールドの集計関数以外が一致します。

GROUP BYの条件は「HAVING」を利用します。

④ 集計

今回重要となる作成条件はこれです。

さて、上のようにするにはどうすればいいでしょうか。

ヒントは(   )があるところです。わざわざ(   )が必要な計算式が入るということです。

今回、定期配達代金を決めるトリガーは「本数」です。しかし、1本目は1600のままなので、-1してあげる必要があり、答えは「 本数 – 1 」となります。

⑤ ワイルドカード

この時点でLIKEのイ・ウのどちらかになりました。

ここでワイルドカードを理解しなければなりません。

例えば「100_」と指定した場合は「1001」や「1009」はOKですが、「10010」など1文字以上のあいまい検索はできません。

一方「100%」と指定した場合は「100」もいいですし、「1000」でも、「10001000」でもOKとなります。

今回「_」を利用しているなら、出力結果と矛盾が生じるので「%」を利用しているイが正解となります。

コメント

タイトルとURLをコピーしました