リレーショナルデータベースは、最も普及し、一般的に利用されているデジタルデータベースです。本記事では、リレーショナルデータベースの概要や仕組み、具体例、リレーショナルデータベースと非リレーショナルデータベースの違いなどについて解説します。
リレーショナルデータベースとは?
1つのリレーショナルデータベースは、互いに関連するデータ項目を整理するモデルに基づくデータの集合です。この用語は当初、英国のコンピューター科学者Edgar Frank “Ted” Coddが、IBM Research Laboratoryで1970年に提唱しました。
リレーショナルデータベースは、各データに共通する情報に基づいて、他の複数のテーブルと関連付けられるテーブルに、価値ある情報やデータを整理します。ユーザーは、1つ以上の関連テーブルにあるデータを単一のクエリで利用し、新しいデータセットを構築できます。
リレーショナルデータベースで使われるデータ構造には、テーブル、インデックス、ビューなどがあります。リレーショナルデータベースの主要な構成要素は、テーブル、列、行です。
リレーショナルデータベースの管理には、リレーショナルデータベース管理システム(RDBMS)が使われます。さらに、多くのRDBMSは、クエリの実行や管理に対応する構造化問い合わせ言語(SQL)をサポートしています。
続きを読む:SQLクエリ最適化のベストプラクティス
リレーショナルデータベースはどのように機能する?
リレーショナルデータベースは機能し、複数の関連テーブルにある情報やデータを「キー」で結び付けます。キーとは、テーブル内に含まれる一意のデータ行に割り当てられる一意の識別子です。この一意の識別子は「主キー」と呼ばれ、ID、シリアル番号、ユーザー名などが該当します。
主テーブルのレコードと関連するレコードが別のテーブルにある場合、そのレコードに主キーを含めることができます。別のテーブルのレコードに主キーを追加すると、それは「外部キー」と呼ばれます。主キーと外部キーをつなぐことで、複数のテーブルにまたがるデータセット間に関係が生まれます。
リレーショナルデータベースの例
代表的な標準リレーショナルデータベースには、次のものがあります。
- Oracle
- MySQL
- PostgreSQL
- Microsoft SQL Server
- IBM Db2
一般的に利用されているクラウドベースのリレーショナルデータベースには、次のものがあります。
- Oracle Cloud
- AWS Relational Database Service
- Google Cloud SQL
- IBM Db2 on Cloud
- SQL Azure
続きを読む:PostgreSQLとMySQL:データベース管理システムを比較
リレーショナルデータベースと非リレーショナルデータベースの違いとは?
リレーショナルデータベースは、あらかじめ定義されたデータモデルに準拠する構造化データ向けに開発されています。一方、非リレーショナルデータベースは、非構造化データに使われます。例えば、販売管理、請求処理、資産管理にはリレーショナルデータベースが適しています。
非リレーショナルデータベースは、より限定された用途で使われる傾向があります。非リレーショナルデータベースの用途の例としては、高度に最適化された検索インデックスを必要とするビッグデータの処理が挙げられます。
以下にリレーショナルデータベースと非リレーショナルデータベースの違いを示します。
| リレーショナルデータベース | 非リレーショナルデータベース | |
|---|---|---|
| データ型 | 構造化 | 一般に非構造化 |
| クエリ言語 | SQL | SQLおよびその他 |
| データベースの正規化 | 対応 | 非対応 |
| データ量 | 大規模 | さまざま。一部はビッグデータに対応可能 |
| 形式 | 表形式 | 一般に階層型 |
| 最適な用途 | 大量の構造化データトランザクション | 専門的な用途 |
| 例 | Oracle、MySQL、PostgreSQL | MongoDB、Dynamo DB、Redis |
リレーショナルデータベースモデル
リレーショナルデータベースモデルは、データベースを関係と関係の集合として表します。関係とは、関連するデータ値をまとめたテーブルであり、各行はデータ値の集合を表すとともに、関係性や現実世界のエンティティを示します。各行の値は、テーブルとその列を使って解釈されます。
リレーショナルデータベースモデルでは、情報やデータをテーブルとして保存します。関連データの物理的な保存方法は、論理的な整理方法とは独立している点に注意してください。
エンティティ間の関係の種類
2つのエンティティ間の結び付きを関係と呼びます。リレーショナルデータベース設計におけるエンティティ間の関係には、3つの関係の種類があります。
- 1対1の関係
- 1対多または多対1の関係
- 多対多の関係
1対1の関係では、テーブルXの各レコードはテーブルYの1つのレコードにのみ関連し、テーブルYの各レコードもテーブルXの1つのレコードにのみ関連します。例えば、従業員とその会社支給ノートパソコンの関係がこれに当たります。
1対多または多対1の関係では、テーブルXの各レコードはテーブルYの多数のレコードに関連し、テーブルYの各レコードはテーブルXの多数のレコードに関連します。例えば、企業と、従業員用ノートパソコンの保有台数の関係がこれに当たります。
多対多の関係では、テーブルXの多数のレコードがテーブルYの多数のレコードに関連し、テーブルYの多数のレコードもテーブルXの多数のレコードに関連します。例えば、会社支給ノートパソコンと、そこにインストールされたアプリケーションの関係がこれに当たります。
リレーショナルデータベースを使うと、ユーザーや企業は、利用可能な情報やデータ間の関係をより深く理解できます。長年にわたり、リレーショナルデータベースは大量のデータを適切に管理し、より優れた、高速で堅牢かつ扱いやすいものへと進化してきました。そのため、現在も最も普及しているデータベースの種類であり続けています。