ITパスポート試験 / 平成28年度 秋期 ITパスポート試験 公開問題 / 問74
certification-simodake-work

平成28年度 秋期 ITパスポート試験 公開問題 問74 解説 データベース抽出条件

設問図

“気温”表の2011年の7月1日から8月31日までの間で,最高気温が35度以上のレコードを全て抽出したい。抽出条件として,適切なものはどれか。

  1. ア 年 = 2011 and (月 = 7 and 月 = 8) and 最高気温 ≦ 35
  2. イ 年 = 2011 and (月 = 7 and 月 = 8) and 最高気温 ≧ 35
  3. ウ 年 = 2011 and (月 = 7 or 月 = 8) and 最高気温 ≦ 35
  4. エ 年 = 2011 and (月 = 7 or 月 = 8) and 最高気温 ≧ 35 ✓ 正答

解説

データベース抽出条件の基本と問題の解き方

この問題は、データベースから特定の条件に合致するデータレコードを抽出する際の条件式を正しく選択する能力を問うものです。

解き方のポイント:

  1. 期間の指定: 抽出したい期間は「2011年の7月1日から8月31日まで」です。これは「2011年の7月」または「2011年の8月」のいずれかの月を指します。複数の条件のうち、どちらか一方を満たせば良い場合は論理和(OR)演算子を使用します。
  2. 気温の条件: 抽出したいのは「最高気温が35度以上」のレコードです。これは「35度以上」という条件なので、数学的には 3535 \ge または 35\ge 35 で表現されます。
  3. 年: 抽出したい年は「2011年」です。

これらの要素を組み合わせると、抽出条件は「年が2011であり、かつ(月が7月または8月であり)、かつ最高気温が35度以上である」となります。

選択肢の検討

  • ア 年 = 2011 and (月 = 7 and 月 = 8) and 最高気温 ≦ 35
    • (月 = 7 and 月 = 8) は、「月が7月かつ月が8月」という、絶対に満たされない条件です。
    • 最高気温 ≦ 35 は、「35度以下」であり、問題の意図と逆です。
  • イ 年 = 2011 and (月 = 7 and 月 = 8) and 最高気温 ≧ 35
    • (月 = 7 and 月 = 8) は、満たされない条件です。
  • ウ 年 = 2011 and (月 = 7 or 月 = 8) and 最高気温 ≦ 35
    • (月 = 7 or 月 = 8) は正しいですが、最高気温 ≦ 35 は「35度以下」であり、問題の意図と逆です。
  • エ 年 = 2011 and (月 = 7 or 月 = 8) and 最高気温 ≧ 35
    • 年 = 2011 : 年は2011年で正しいです。
    • (月 = 7 or 月 = 8) : 月は7月または8月であり、期間の指定に合致しています。
    • 最高気温 ≧ 35 : 最高気温は35度以上であり、条件に合致しています。

したがって、 が最も適切な抽出条件となります。

データベースにおける抽出条件と論理演算子

抽出条件の構成要素

データベースから情報を取得する際、SQL(Structured Query Language)などのクエリ言語を用いて、どのようなデータを、どのような条件で取得したいかを指定します。この問題で示されている抽出条件も、SQLのWHERE句などで使われる概念に基づいています。

条件は、主に以下の要素で構成されます。

  • カラム(フィールド): データを格納している列の名前(例: 年、月、最高気温)。
  • 演算子: カラムの値と指定する値を比較したり、結合したりするための記号。
    • 比較演算子: == (等しい), >> (より大きい), << (より小さい), \ge (以上), \le (以下), \ne (等しくない) など。
    • 論理演算子: AND (かつ), OR (または), NOT (否定)。
  • 値: 比較対象となる具体的なデータ(例: 2011, 7, 35)。

論理演算子 ANDOR の違い

この問題で重要なのは、ANDOR の使い分けです。

  • AND (かつ): 指定された全ての条件を満たすレコードを抽出します。例えば、「年が2011 AND 月が7」という条件は、2011年7月のデータのみを抽出します。
  • OR (または): 指定された条件のいずれか一つでも満たすレコードを抽出します。例えば、「月が7 OR 月が8」という条件は、7月のデータと8月のデータの両方を抽出します。

問題への適用

「2011年の7月1日から8月31日まで」という期間は、2011年の7月全体と、2011年の8月全体を指しています。これは、「2011年の7月または2011年の8月」という条件になります。したがって、月に関する条件では OR を使用するのが適切です。

もし「月が7 AND 月が8」としてしまうと、月が7月であり、かつ同時に8月である、という満たせない条件になってしまい、一つもデータが抽出できなくなってしまいます。

また、「最高気温が35度以上」という条件は、「35\ge 35」と表現するのが一般的です。

教育的意図と実社会での活用

この問題は、データベース操作の基礎となる「検索条件の組み立て方」を理解させることを意図しています。日常生活や仕事で「特定の期間のデータ」や「特定の条件を満たす情報」を探す場面は多岐にわたります。

  • ビジネスシーン:
    • 「過去1年間で、売上が100万円以上の顧客リスト」を抽出する。
    • 「特定のキャンペーン期間中に購入された、特定の商品」の販売データを集計する。
    • 「A部署またはB部署に所属する、正社員」の従業員リストを作成する。
  • 学術研究:
    • 「ある地域で、特定の年以降に観測された、特定の気象現象」のデータを調査する。
    • 「特定の疾患を持ち、なおかつ特定の治療を受けた患者」の症例を分析する。
  • 個人の情報管理:
    • 「特定の月に撮影した写真」を整理する。
    • 「〇〇円以上で購入した領収書」を検索する。

このように、検索条件を論理的に組み立てる能力は、膨大な情報の中から必要なものだけを効率的に見つけ出すための、非常に重要なスキルと言えます。ITパスポート試験では、このような情報リテラシーの基礎を問う問題が多く出題されます。

参考リンク

学習の記録にははてなブックマーク!

気づいたこと・覚えたことをコメントにメモしよう