関係モデル
関係データベース(RDB:Relational Database)は、データを表(テーブル)の形で管理し、複数の表を関連付けて扱うデータベースの方式です。
用語解説
関係データベース(リレーショナルデータベース、RDB)は、データを行(レコード)と列(フィールド)で構成される表(テーブル)として保存し、複数のテーブルを共通する列で関連付けて管理するデータベース方式です。
行と列の形で整理することで、検索、更新、集計を一定のルールで行えます。
基本要素
| 要素 | 説明 |
|---|---|
| テーブル | データを保存する表です。 |
| 行(レコード) | 1件分のデータです。例として、1人の顧客情報などです。 |
| 列(属性、フィールド) | データ項目の種類です。例として、顧客ID、氏名などです。 |
| 主キー(Primary Key) | 表の中の特定の行(レコード)を1つに特定するための列です。重複や空は原則不可です。 |
| 外部キー(Foreign Key) | 別の表の主キーを参照して、表同士の関係を作るための列です。表同士の関連付けに使います。 |
具体例
社員の情報と部署の情報を別テーブルに分け、共通の列で関連付けます。
社員テーブル
| 社員番号 | 氏名 | 部署コード |
|---|---|---|
| 001 | 田中太郎 | D01 |
| 002 | 鈴木花子 | D02 |
| 003 | 佐藤一郎 | D01 |
部署テーブル
| 部署コード | 部署名 |
|---|---|
| D01 | 営業部 |
| D02 | 開発部 |
この例では社員テーブルの社員番号が主キーです。
社員テーブルの「部署コード」が共通の列で、部署テーブルの「部署コード」(主キー)を参照する外部キーとして扱えます。
データ操作言語:SQL
関係データベースでは、SQL(Structured Query Language)を用いてデータを操作します。
| 操作 | SQL文 | 内容 |
|---|---|---|
| 検索 | SELECT | テーブルからデータを取り出します。 |
| 追加 | INSERT | テーブルに行を追加します。 |
| 更新 | UPDATE | 既存の行の内容を変更します。 |
| 削除 | DELETE | テーブルから行を削除します。 |
関係データベースの集合演算
テーブルに対する代表的な操作は次のとおりです。
| 操作名 | 説明 |
|---|---|
| 選択(セレクション) | 条件に合う行を取り出します。 |
| 射影(プロジェクション) | 指定した列だけを取り出します。 |
| 結合(ジョイン) | 共通する列を基に、複数テーブルをまとめて扱います。 |
理解のポイント
-
関係データベースは、表(テーブル)でデータを管理します。
-
行は1件分のデータ、列はデータ項目です。
-
主キーは行を一意に識別する列です。
-
外部キーは他テーブルの主キーを参照し、テーブル間の関連を表す列です。
-
選択は行、射影は列、結合はテーブル同士の関連付けとして区別します。
-
試験上は「関係データベース」と「リレーショナルデータベース」は同じ意味として扱われます。
発展知識
関連用語
| 用語 | 概要(40文字程度) |
|---|---|
| SQL | 関係データベースを検索、更新する言語です。 |
| 主キー | 行を一意に決める重複しない列です。 |
| 外部キー | 他のテーブルの主キーを参照して関連付けます。 |
| 正規化 | 重複や矛盾を減らすための表の分割手法です。 |
| 結合(JOIN) | 複数テーブルを関連で結び付けて検索します。 |
| トランザクション | 複数処理をひとまとまりで管理する仕組みです。 |
※本解説は生成AIによる学習支援用の参考情報です。内容の正確性や最新性は保証されません。生成された回答を再確認するようにしてください。