慶應SFC 総合政策学部 情報入試 2019年 大問Ⅳ 過去問解説

アプリケーションとデータベースの設計の方法が問われる高度な問題。

(ア)
店名1と住所の対応付けの間違いを検出できる
→レシートを1枚入力した段階では住所が正しいのか分からないので、できない。
店名1と電話番号の対応付けの間違いを検出できる
→レシートを1枚入力した段階では電話番号が正しいのか分からないので、できない。
店名1の入力忘れを検出できる
→空欄かどうかを検出すればいいので、できる。
合計金額の入力ミスを検出できる
→単価を合計すれば合計金額になるので、できる。
電話番号の欄に購入時刻が入力されていることが検出できる
→電話番号の桁数は任意なので4桁である購入時刻が入力されていてもエラーとはできず、できない。
購入日の欄に購入時刻が入力されていることが検出できる
→購入日と購入時刻は桁数が違うので、できる。
実際には存在しない店名1が入力されていることが検出できる
→できない。
実際には存在しない店名2が入力されていることが検出できる
→できない。

(イ)
正しい店名1と住所が入力されたことがある場合、店名1と住所の対応付けの間違いを検出できる
→既に正しいデータがあるので、できる。
正しい店名1と電話番号が入力されたことがある場合、店名1と電話番号の対応付けの間違いを検出できる
→既に正しいデータがあるので、できる。
店名1の入力忘れを検出できる
→空欄でないというデータの入力形式は決まっているから、できる。
合計金額の入力ミスを検出できる
→データベースデータのみでは、できない。
電話番号の欄に購入時刻が入力されていることが検出できる
→データベースのデータのみでは、できない。
購入日の欄に購入時刻が入力されていることが検出できる
→購入日と購入時刻は桁数が違うというデータの入力形式は決まっているから、できる。
実際には存在しない店名1が入力されていることが検出できる
→まだ入力されていない店名1かもしれないので、できない。
実際には存在しない店名2が入力されていることが検出できる
→まだ入力されていない店名2かもしれないので、できない。
特定の1枚のレシートに書かれていた情報を全てリストアップできる
→入力されたデータがどのレシートのものか分かるようになっていないから、できない。
ある日に購入した品目をリストアップすることができる
→その日のレシートのデータをすべてリストアップし、そのデータから品目をリストアップすればいいので、できる。

(ウ)
この問題では、はじめに
そのデータを取得するためにはどんなテーブルを揃えなければならないのか
を考え、次に
その中からどのレコードを選択すればいいか
を考え、最後に
選択したレコードの中からどいうフィールドを抽出すればいいか
を考える。
つまり、結合→選択→射影の順番に必ずなる。

(a)
まず購入品目テーブルにレシートIDはあるから、購入品目テーブルだけでいい。
その中からレシートIDが「15379」であるレコードを選択する。
そしてその中から品目と単価を抽出する。
よって
選択 購入品目テーブル レシートIDが「15379」
射影 一時テーブル 品目 単価
である。

(b)
購入品目テーブルに、店舗テーブルの店名1と店名2を加えなくてはいけない。
そのためには、レシートテーブルからレシートIDに対応する店舗IDを抽出しなくてはいけない。
ここまでが結合作業である。
その後、店名1が「デリアルファ」であるレコードを選択する。
そしてその中から店名1と店名2と品目と単価を抽出する。
よって、
結合 購入品目テーブル レシートテーブル レシートID
結合 一時テーブル 店舗テーブル 店舗ID
選択 一時テーブル 一時テーブル 店名1が「デリアルファ」
射影 一時テーブル 店名1 店名2 品目 単価
である。

(c)
レシートテーブルに店名1を加えなくてはいけない。
その後、購入日が「20190217」であるレコードを選択する。
そしてその中から店名1を抽出する。
よって、
結合 レシートテーブル 店舗テーブル 店舗ID
選択 一時テーブル 購入日が「20190217」
射影 一時テーブル 店名1
である。

AO入試・小論文に関するご相談・10日間無料添削はこちらから

「AO入試、どうしたらいいか分からない……」「小論文、添削してくれる人がいない……」という方は、こちらからご相談ください。
(毎日学習会の代表林が相談対応させていただきます!)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です