「データ操作」カテゴリーアーカイブ

【応用情報・基本情報】
・関係データベースのデータの操作を修得し,応用する。
・データベース言語の種類,SQL 文を修得し,応用する。

【ITパスポート】
・データの抽出などの操作を理解する。

データ操作

情報処理技術者試験での学習内容

【応用情報・基本情報】
・関係データベースのデータの操作を修得し,応用する。
・データベース言語の種類,SQL 文を修得し,応用する。

【ITパスポート】
・データの抽出などの操作を理解する。

(1)データベースの操作 ITパスポート 基本情報 応用情報

関係データベースのデータの操作として,集合演算(和,差,積,直積),関係演算(選択,射影,結合,商)などを理解する。

用語例:関係代数

(2)データベース言語 基本情報 応用情報

1.データベース言語の種類

データベース言語は,DDL(Data Definition Language:データ定義言語)とDML(Data Manipulation Language:データ操作言語)などに大別されること,また,これらにはSQLを単独で使用する独立言語方式と,他のプログラム言語から使用する親言語方式があることを理解する。

用語例:会話型SQL,埋込型SQL,モジュール言語,コマンド方式,フォーム,クエリ

2.データベース言語(SQL)

a.データ定義言語

スキーマ,テーブル,ビュー,処理権限を定義するSQL 文を理解する。また,データ型,列制約,表制約の定義方法,ビューの更新(更新可能なビューと更新不可能なビュー)を理解する。

用語例:実表,ビュー表,文字型,数値型,日付型,一意性制約,参照制約,検査制約,非NULL 制約,アクセス権

b.データ操作言語(SELECT 文)

要求されるデータを選択するために,SELECT 文による問合せの方法,条件を指定した特定行や列の選択,表の結合,BETWEEN やIN などの述語指定,集合関数,グループ化,並べ替えなどを理解する。

用語例:集約関数,パターン文字,相関名,副問合せ,相関副問合せ

c.その他のデータ操作言語

INSERT 文,UPDATE 文,DELETE 文などのSQL 文を理解する。

d.埋込型SQL

カーソル操作,非カーソル操作,親言語との接続など,埋込型SQL によるデータ操作の仕組み,利点,利用法を理解する。また,カーソル操作において,カーソルの宣言,操作の開始,終了,読み込みを行うなどのSQL 文を理解する。

用語例:カーソル

データベースの操作(1)

この記事での学習内容 ITパスポート 基本情報 応用情報

関係データベースのデータの操作として,集合演算(和,差,積,直積),関係演算(選択,射影,結合,商)などを理解する。

用語例:関係代数

データベースの操作

関係データベースにおけるデータ操作には、検索系のデータ操作と更新系のデータ操作があります。

データベースの関係演算

関係データベースにおける主な操作には、選択、射影、結合があり、これらを関係演算といいます。

選択

選択とは、評価ら行を抽出する操作です。すべての行のうち、ある条件に当てはまるものだけを選び出します。多くのレコードから必要なレコードだけに絞り込むための操作です。

選択の条件

選択は、「商品名=ジュース」のように、一つだけの条件で選ぶ以外に、複数の条件をANDまたはORで組み合わせて使うことができます。

例えば、単価が150で、かつ仕入先がB飲料である行を選択する場合、「単価=150  AND  仕入先=B飲料」という、二つの条件をANDで結ぶ論理積の関係になります。

また、仕入先がA食品の行とB飲料である行の両方を選択する場合、「仕入先=A食品  OR  仕入先=B飲料」という、二つの条件をORで結ぶ、論理和の関係になります。

仕入先がA食品以外の行を選択する場合は、「仕入先≠A食品」という否定の関係となります。

ワイルドカード

選択の条件文に、「%」や「_」といったワイルドカードを文字の代わりに用いて、列の内容の一部を使った選択ができます。

  • %: 任意の文字列を表します。文字数は0文字以上で何文字でも構いません。
  • _: 任意の1文字を表します。

上の表の場合、ワイルドカードを用いて以下のように選択できます。

  • 「商品名=%パン」:「クリームパン」「あんパン」「チョコパン」を選択。
  • 「商品名=_ _パン」:「あんパン」を選択。

射影

射影とは、表から列を抽出する操作です。幾つかの列からなる表のうち、必要な列のみを表示し、他を非表示にできます。

結合

結合とは、複数の表を一つに結合して表示する操作です。

別々の表にある共通の項目を結合キーとして表同士を結びつけ、それぞれの表に含まれる列からなる一つの表として表示することができます。

表の結合の際、”のりしろ”となる項目を結合キーといいます。結合キーには同じデータ型、同じ桁数の列同士を使います。
上の例の場合、それぞれの「商品番号」が結合キーとなっています。

二つの表で一方の表と同じ項目を含むレコードを、もうひとつの表から取り出し、その後結果からその項目を削除する。

ビュー表

選択や射影、結合などの結果表示される表のことをビュー表といいます。これに対し、実際に保存されている表のことを実表といいます。

選択も射影も結合も、データベースのスキーマとして作られている表(実表)から、DBMSが必要な部分を読み込んで表示した結果です。実表そのものを変えてしまう操作ではありません。

例えば、結合の操作をすると今までなかった列の組み合わせを持つ表を表示できますが、これによってスキーマに新しい表が追加されるというわけではありません。

きちんと正規化されたスキーマは、選択や射影といった操作でデータを抽出したり組合せたりし易いだけではなく、演算した結果を表示することも可能で、いろいろな用途に利用できます。(正規化のプロセスで導出項目を削除するのは、関係演算の実行時に演算できるため)

データベースの操作(2)

この記事での学習内容 ITパスポート 基本情報 応用情報

関係データベースのデータの操作として,集合演算(和,差,積,直積),関係演算(選択,射影,結合,商)などを理解する。

用語例:関係代数

 

データベースの集合演算

集合演算は、集合同士の演算であり、関係演算よりも基本的な演算として使われます。

和集合演算

和集合演算は、表Aと表Bのすべての行を合わせた表を作る演算です。同じ行は一つで済ませます。

差集合演算

差集合演算は、表Aのうち、表Bと同じ行を取り除いた表を作る演算です。

 

積集合演算

積集合演算は、表Aと表Bの両方にある行だけの表を作る演算です。同じ行は一つで済ませます。

直積集合演算

直積集合演算は、表Aの行と表Bの行のすべてを組み合わせた行で構成される表を作る演算です。列の数や属性はAとBの間で異なっていても構いません。

更新系のデータ操作

更新系のデータ操作には、挿入、更新、削除があります。

  • 挿入: 表に新しいレコードを挿入する。
  • 更新: 表の指定した項目を更新する。
  • 削除: 表から指定したレコードを削除する。

 

 

 

データベース言語

この記事での学習内容 基本情報 応用情報

データベース言語は,DDL(Data Definition Language:データ定義言語)とDML(Data Manipulation Language:データ操作言語)などに大別されること,また,これらにはSQLを単独で使用する独立言語方式と,他のプログラム言語から使用する親言語方式があることを理解する。

用語例:会話型SQL,埋込型SQL,モジュール言語,コマンド方式,フォーム,クエリ

データベース言語

データベース管理システムへのユーザからの指示は、データベース言語で表現します。データベース定義言語には以下の様なものがあります。

  • データ定義言語(DDL)
  • データ操作言語(DML)
  • データ制御言語(DCL)

データ定義言語

データ定義言語(Data Definition Language:DDL)は、データベースを使う準備として、データ群の構造であるスキーマを定義するための言語です。

機能
CREATE DATABASE
又は CREATE SCHEMA
データベース名を定義する
CREATE TABLE表を定義する
CREATE VIEWビュー表を定義する
GRANTアクセス権を定義する

データ操作言語

データ操作言語(Data Manipulation Language:DML)は、日常的にデータベースの検索や更新をするための言語です。DMLには以下の4種類があります。

独立言語方式
プログラムを作成する際に利用するプログラム言語とは別に用意された言語です。会話形でコマンドを入力して結果が出てくる形で利用します。特にこのように利用される言語を会話形SQL(Structure Query Language)と呼んでいます。クエリーとは問合せという意味で、データベースに問合せていろいろな操作(更新、検索、削除、追加等)をするという意味になります。
親言語方式
高水準言語(COBOL、FORTRAN、Cなど)にDMLを組み込んで利用する方式です。高水準言語を親言語と呼びます。親言語方式には組み込み方の違いにより2種類あります。
モジュール方式
プログラム内からDML部分をサブルーチンとして呼びだす方式です。
埋め込み方式
プログラム内にDMLを直接書き込んでしまう(埋め込む)方式です。

データ制御言語

データ制御言語(Data Control Language:DCL)は、コミットやロールバックといった、トランザクションの制御などを行います。