情報システムを支えるデータベース
学習目標
- テーブル、レコード、フィールド、主キーを区別して説明できる。
- 選択と射影の違いを、行と列で説明できる。
- 簡単な SELECT 文を読み取れる。
| 学習の作業 | 時間の目安 |
|---|---|
| 読む(データベースの役割、テーブル、主キー) | 20分 |
| 読む(結合・選択・射影、仮想表) | 15分 |
| 例を追う(SQL の読み取り) | 20分 |
| 自力演習(段階別の練習) | 15分 |
| 振り返り | 5分 |
1. データベースの役割
大量のデータを体系的に整理し、検索・抽出などの再利用をしやすくしたものがデータベースです。データベースは、複数の利用者が同時に使っても、データの整合性(一貫性)を保つ必要があります。データの管理は、DBMS(データベース管理システム)が行います。
2. リレーショナルデータベース
今の情報システムで最もよく使われるのが、リレーショナルデータベースです。データをテーブル(表)に格納し、表の1行をレコード(行または組)、1列をフィールド(列または属性)と呼びます。表どうしは、共通の項目で結び付けます(リレーションシップ)。
3. 結合・選択・射影
| 操作 | 内容 |
|---|---|
| 結合 | 複数の表を共通の項目で結び付け、1つの表として表示する。 |
| 選択 | 与えた条件に合う行を取り出して表示する。 |
| 射影 | 表の中から一部の列を抜き出して表示する。 |
これらの操作の結果は仮想表(ビュー)として定義でき、実データを複製せずに使えます。
4. SQL(データ操作言語)
データの操作は、SQL の SELECT 列名 FROM 表名 WHERE 条件; で指定します。例: 分類コードが 200 の書籍の書名と分類コードを表示する(独自の例)。
SELECT 書籍マスタ.書籍名, 書籍マスタ.分類コード FROM 書籍マスタ WHERE 分類コード = 200;
「書籍マスタ」の中から、分類コードが 200 の行を選び(選択)、その中の 2 つの列を表示する(射影)、という2つの操作の組み合わせです。
段階別の練習
易(基本の確認)
- テーブルの1行を何と呼ぶか。
答えと解き方
レコード(行、組)。 - テーブルの1列を何と呼ぶか。
答えと解き方
フィールド(列、属性)。
標準(手順を組み合わせる)
- 条件に合う行だけを取り出す操作は、選択と射影のどちらか。
答えと解き方
選択。 - SELECT 書籍名 FROM 書籍マスタ WHERE 分類コード = 200; が表すものを、1文で説明しなさい。
答えと解き方
書籍マスタのうち分類コードが 200 の行を選び、書籍名の列だけを表示する。
共通テスト形式(読み取りと判断)
- 表の中の1つの値を特定するために、行と列のどちらを指定するか。両方か。
答えと解き方
行と列の両方(行を条件で選び、列で項目を選ぶ)。 - 表の列を2つだけ表示し、行の条件で絞り込む操作は、選択と射影のどちらを組み合わせたものか。
答えと解き方
両方(選択で行を絞り、射影で列を抜き出す)。
振り返り
- レコードとフィールドを、表の行と列で説明できましたか。
- SELECT 文を、選択と射影に分けて読めましたか。