平成28年度 秋期 ITパスポート試験 公開問題 問74 解説 データベース抽出条件
“気温”表の2011年の7月1日から8月31日までの間で,最高気温が35度以上のレコードを全て抽出したい。抽出条件として,適切なものはどれか。
- ア 年 = 2011 and (月 = 7 and 月 = 8) and 最高気温 ≦ 35
- イ 年 = 2011 and (月 = 7 and 月 = 8) and 最高気温 ≧ 35
- ウ 年 = 2011 and (月 = 7 or 月 = 8) and 最高気温 ≦ 35
- エ 年 = 2011 and (月 = 7 or 月 = 8) and 最高気温 ≧ 35 ✓ 正答
解説
データベース抽出条件の基本と問題の解き方
この問題は、データベースから特定の条件に合致するデータレコードを抽出する際の条件式を正しく選択する能力を問うものです。
解き方のポイント:
- 期間の指定: 抽出したい期間は「2011年の7月1日から8月31日まで」です。これは「2011年の7月」または「2011年の8月」のいずれかの月を指します。複数の条件のうち、どちらか一方を満たせば良い場合は論理和(OR)演算子を使用します。
- 気温の条件: 抽出したいのは「最高気温が35度以上」のレコードです。これは「35度以上」という条件なので、数学的には または で表現されます。
- 年: 抽出したい年は「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句などで使われる概念に基づいています。
条件は、主に以下の要素で構成されます。
- カラム(フィールド): データを格納している列の名前(例: 年、月、最高気温)。
- 演算子: カラムの値と指定する値を比較したり、結合したりするための記号。
- 比較演算子: (等しい), (より大きい), (より小さい), (以上), (以下), (等しくない) など。
- 論理演算子:
AND(かつ),OR(または),NOT(否定)。
- 値: 比較対象となる具体的なデータ(例: 2011, 7, 35)。
論理演算子 AND と OR の違い
この問題で重要なのは、AND と OR の使い分けです。
- 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度以上」という条件は、「」と表現するのが一般的です。
教育的意図と実社会での活用
この問題は、データベース操作の基礎となる「検索条件の組み立て方」を理解させることを意図しています。日常生活や仕事で「特定の期間のデータ」や「特定の条件を満たす情報」を探す場面は多岐にわたります。
- ビジネスシーン:
- 「過去1年間で、売上が100万円以上の顧客リスト」を抽出する。
- 「特定のキャンペーン期間中に購入された、特定の商品」の販売データを集計する。
- 「A部署またはB部署に所属する、正社員」の従業員リストを作成する。
- 学術研究:
- 「ある地域で、特定の年以降に観測された、特定の気象現象」のデータを調査する。
- 「特定の疾患を持ち、なおかつ特定の治療を受けた患者」の症例を分析する。
- 個人の情報管理:
- 「特定の月に撮影した写真」を整理する。
- 「〇〇円以上で購入した領収書」を検索する。
このように、検索条件を論理的に組み立てる能力は、膨大な情報の中から必要なものだけを効率的に見つけ出すための、非常に重要なスキルと言えます。ITパスポート試験では、このような情報リテラシーの基礎を問う問題が多く出題されます。