情報I 学習サイト
必須75分

情報システムを支えるデータベース

学習目標
学習の作業時間の目安
読む(データベースの役割、テーブル、主キー)20分
読む(結合・選択・射影、仮想表)15分
例を追う(SQL の読み取り)20分
自力演習(段階別の練習)15分
振り返り5分

1. データベースの役割

大量のデータを体系的に整理し、検索・抽出などの再利用をしやすくしたものがデータベースです。データベースは、複数の利用者が同時に使っても、データの整合性(一貫性)を保つ必要があります。データの管理は、DBMS(データベース管理システム)が行います。

2. リレーショナルデータベース

今の情報システムで最もよく使われるのが、リレーショナルデータベースです。データをテーブル(表)に格納し、表の1行をレコード(行または組)、1列をフィールド(列または属性)と呼びます。表どうしは、共通の項目で結び付けます(リレーションシップ)。

書籍コード(主キー)書籍名著者コード分類コード B001サンプル書名AA01100 B002サンプル書名BA02200 行(レコード): 1冊分のデータ 列(フィールド): 項目ごと 選択: 条件に合う行を取り出す(例: 分類コード = 910) 射影: 必要な列だけを取り出す(例: 書名だけ)
図1 テーブル。各行が1件のデータ(レコード)、各列が項目(フィールド)。書籍コードは行を一意に特定する主キーになる。

3. 結合・選択・射影

操作内容
結合複数の表を共通の項目で結び付け、1つの表として表示する。
選択与えた条件に合う行を取り出して表示する。
射影表の中から一部の列を抜き出して表示する。

これらの操作の結果は仮想表(ビュー)として定義でき、実データを複製せずに使えます。

4. SQL(データ操作言語)

データの操作は、SQL の SELECT 列名 FROM 表名 WHERE 条件; で指定します。例: 分類コードが 200 の書籍の書名と分類コードを表示する(独自の例)。

SELECT 書籍マスタ.書籍名, 書籍マスタ.分類コード FROM 書籍マスタ WHERE 分類コード = 200;

「書籍マスタ」の中から、分類コードが 200 の行を選び(選択)、その中の 2 つの列を表示する(射影)、という2つの操作の組み合わせです。

段階別の練習

易(基本の確認)

  1. テーブルの1行を何と呼ぶか。
    答えと解き方レコード(行、組)。
  2. テーブルの1列を何と呼ぶか。
    答えと解き方フィールド(列、属性)。

標準(手順を組み合わせる)

  1. 条件に合う行だけを取り出す操作は、選択と射影のどちらか。
    答えと解き方選択。
  2. SELECT 書籍名 FROM 書籍マスタ WHERE 分類コード = 200; が表すものを、1文で説明しなさい。
    答えと解き方書籍マスタのうち分類コードが 200 の行を選び、書籍名の列だけを表示する。

共通テスト形式(読み取りと判断)

  1. 表の中の1つの値を特定するために、行と列のどちらを指定するか。両方か。
    答えと解き方行と列の両方(行を条件で選び、列で項目を選ぶ)。
  2. 表の列を2つだけ表示し、行の条件で絞り込む操作は、選択と射影のどちらを組み合わせたものか。
    答えと解き方両方(選択で行を絞り、射影で列を抜き出す)。

振り返り

← 前のページ 次のページ →