平成21年度 秋期33テクノロジ系

基本情報 平成21年度 秋期 問33:テクノロジ系に関する問題

関係データベースの “製品" 表と“売上” 表から, 売上報告のビュー表を定義する SQL 文中の a。 に入るものはどれか。 CREATE VTEW 売上報告(製品番号,製品名, 納品数 , 売上年月日 , 売上金額) AS | sa | 製品.抽品番号,製品.製品名,売上.納品数,売上.売上年月日 , 売上.納品数 * 製品単価 FROM 製品,売上 WHERE 製品.製品番号 = 売上.製品番号 表名 列名 製品 製品番号, 製品名, 単価 売上 製品番号, 納品数, 売上年月日

  • aGRANT
  • bTrNSERT
  • c8SCHEMA
  • dSELECT正答
正答:DSELECT

AI解説(初心者・標準・上級)

理解度に合わせて3レベルの解説を無料で読めます。

初心者向けまずはここから。やさしく要点を解説

答えは d「SELECT」 です。

問題は「ビュー(仮想の表)を作るSQL文」を完成させる穴埋め。

```

CREATE VIEW ビュー名(列名...) AS [ここ] FROM ... WHERE ...

```

この「ここ」には、ビューの元になるデータを取り出すためのSELECT文が入ります。ビューは実体の表ではなく、「いつもこの検索結果が見たい」を保存しておく仕組みなので、必ずSELECTで「何を取るか」を書きます。

👉 覚え方:「ビュー=保存しておく検索」だからSELECT。

ほかの選択肢:a GRANT=権限を与える命令/b INSERT=データを追加する命令/c SCHEMA=テーブルの集合の定義。どれも「データを取り出す」用途ではない。

標準試験対策の基準レベル

なぜこれが正解か

正解は d。CREATE VIEW文の基本構文は `CREATE VIEW ビュー名(列名…) AS SELECT 列1, 列2, … FROM 表 WHERE 条件` であり、ASの後にはビューの内容を定義するSELECT文が来る。本問のa部分はSELECT文の冒頭、すなわち`SELECT`キーワードが入る。

各選択肢の解説

  • a GRANT:権限付与のDCL文(GRANT SELECT ON … TO … 等)。
  • b INSERT:行追加のDML文。ビュー定義の本体には来ない。
  • c SCHEMA:CREATE SCHEMA等で使うキーワード。スキーマ全体の定義。
  • d SELECT:データ抽出のDML文。CREATE VIEWの本体に必須(正解)。

覚え方・ひっかけ注意

SQL文の分類:DDL(Data Definition:CREATE/ALTER/DROP)/DML(Data Manipulation:SELECT/INSERT/UPDATE/DELETE)/DCL(Data Control:GRANT/REVOKE)/TCL(Transaction Control:COMMIT/ROLLBACK/SAVEPOINT)。CREATE VIEWはDDLだが、内部にDMLのSELECTを含むハイブリッド構造。

上級誤答論破・背景理論まで深掘り

理論的背景

ビュー(VIEW)は導出表(derived table)または仮想表とも呼ばれ、永続化された問合せ定義。実体データは持たず、参照のたびに元の表に対してSELECTを実行する。利点は (1) データ独立性(物理スキーマ変更時の影響緩和)、(2) アクセス制御(特定列・行のみ見せる)、(3) 問合せ簡略化(複雑なJOINを名前で参照)、(4) 業務概念の抽象化。一方で複雑なビューはオプティマイザの最適化を阻害し性能劣化を招くこともある。更新可能ビュー(updatable view)の条件はSQL標準で厳格に規定されており、JOIN・GROUP BY・DISTINCT・集約関数を含むビューは原則更新不可。

実務での使われ方

運用パターン:(1) マテリアライズドビュー(物理的にデータを保存し定期更新)、Oracle/PostgreSQL/SQL Serverで実装、集計の高速化に有効、(2) インデックス付きビュー(SQL Server)、(3) セキュリティビュー(行レベルセキュリティの代替、特定部署の行のみ見せる)、(4) API表現としてのビュー(アプリは物理テーブルでなくビューにアクセスして疎結合化)。データウェアハウスではスタースキーマのファクト/ディメンション集計をビューで提供することも多い。

試験での位置づけ

FE科目AでSQL文の種別・基本構文が頻出。データベーススペシャリストではビューの更新可能性条件、マテリアライズドビューのリフレッシュ戦略、ビューを使ったセキュリティ設計、WITH句(共通テーブル式CTE)との比較が問われる。応用情報の午後ではビューと表のJOINを含むSELECT文の最適化問題が定番。

選択肢の発展補足

SQL標準の発展機能:ウィンドウ関数(ROW_NUMBER、RANK、LAG/LEAD、移動平均)、CTE/再帰CTE(WITH RECURSIVE、階層問合せ)、MERGE文(UPSERT、SQL:2003)、JSON型/JSONB型(PostgreSQL、SQL:2016)、時系列拡張(System-Versioned Temporal Tables、SQL:2011)。NoSQL/NewSQL時代でも、Apache Cassandra・MongoDB・Amazon DynamoDBはSQLライクなクエリ言語(CQL、MQL)を提供し、ビューに相当するマテリアライズドビュー機能を持つ。データレイク(Apache Iceberg、Delta Lake)の出現でビュー概念は分散ストレージ上の論理ビュー(lakehouse)に拡張されている。

出典・引用について

出典:IPA(情報処理推進機構)公式 基本情報技術者試験 平成21年度 秋期33/ 公的機関配布資料につき出典明記の上引用。解説は合格ナビによる独自AI解説です。

テクノロジ系の他の過去問

1
テクノロジ系
2
テクノロジ系
3
テクノロジ系
4
テクノロジ系
5
テクノロジ系

あなたの弱点を診断して、合格までの最短ルートを

この分野を連続演習し、AIがあなたの弱点を分析。合格ナビなら基本情報の過去問を解きながら学べます。