データベースにはさまざまな属性や目的を持ったデータが格納されています。
近年のデータベースの主流モデルであるリレーショナルデータベースは、「テーブル」単位でデータを保持する構造です。そのため、データベースを使ってデータの追加や更新、削除を実施する場合には、「テーブル」の概念を理解する必要があります。
ただし、「テーブル」自体は難しいものではありません。MicrosoftのExcelやGoogleのスプレッドシートなど、日常的に使われている表計算ソフトもテーブルの特徴を引き継いでいる構成のため、多くの方々は普段から接しているからです。
この記事では、データベースのテーブルの概念について、表や列の表現方法も含めて解説します。
テーブルとは表形式のデータ構造
この章では、データベースにおける「テーブル」の基本構造について説明します。テーブルとは、行と列で構成された表形式のデータを意味します。
行は1つのデータセットであり、列はそれぞれの属性を表します。
列(カラム)
列はテーブルにおける横軸のデータです。なお、MicrosoftのExcelやGoogleのスプレッドシートでは列という用語が一般的ですが、データベースの文脈では「カラム」と呼ぶことが標準です。
下記はテーブルのサンプルです。6列のカラムがあり、それぞれ「CustomerID」「FirstName」「LastName」「Email」「Phone」「City」という属性を持っています。
サンプル:顧客情報テーブル
行(レコード)
行はテーブルにおける縦軸のデータです。列と同じくExcelやスプレッドシートでは行という用語が一般的ですが、データベースの文脈ではそれぞれの行が「レコード」として扱われることが標準です。
下記はテーブルのサンプルです。5行のレコードがあり、CustomerID.1から5までの一連の情報を記録しています。
サンプル:顧客情報テーブル
フィールド(セル)
フィールドは、テーブルにおいて行と列が交差する点に位置するデータです。表計算ソフトウェアでは「セル」と呼ばれることが一般的ですが、データベースの文脈では「フィールド」と呼ばれ、1つのデータ値を保持します。
各フィールドはレコードの属性値を意味し、テーブル内の各レコードの情報を構成します。
たとえば、下記のテーブルサンプルでは、CustomerID.2のFirstNameのフィールドに「Suzuki」という値が格納されています。このように、フィールドはテーブルの最も基本的なデータ要素であり、各カラムのデータタイプに応じた情報を格納します。
サンプル:顧客情報テーブル
テーブルの関係性_リレーショナル
データベースのテーブルは、横軸のカラムと縦軸のレコードで構成される2次元のデータ形式です。
通常、PostgreSQLやMySQLなどDBMSと呼ばれるデータベースソフトウェアを使う場合には、非常に大きなデータを管理しますので、テーブルも1つではありません。
データベースの中には、顧客データテーブルや商品マスタテーブル、注文履歴テーブルなど、多くのデータテーブルが存在しており、お互いに関連付けされています。
このようなデータベースのことを「リレーショナルデータベース」と呼び、現在のデータベースの主流モデルとして位置付けされています。
テーブル間の関係(リレーショナル)は、1対1、!対多、多対多のような形で表現されます。
ひとつのテーブルが他のテーブルと関係性を持つことについては、MicrosoftのExcelの「Vlookup式」をイメージするとよいでしょう。キーを基にして、他のテーブルと関係性を持ち、他のテーブルのデータ項目を付加することが可能です。
リレーショナルデータベース(関係データベース)とは、データベース内に複数のテーブルを持ち、それぞれのテーブルがお互いに関連性を持つデータモデルです。関連性を持つことで、異なるテーブル間でデータの整合性と効率的なアクセスが維持されます。
たとえば、【顧客情報テーブル】におけるカラム「CustomerID」は、このテーブルの主キーとして機能します。このIDは、【注文履歴テーブル】内の外部キーとしても利用され、顧客に関連する注文情報を参照することが可能です。
同様に、【注文履歴テーブル】のカラム「ProductID」は、【商品マスターテーブル】の主キー「ProductID」に対応しています。そのため、注文された商品の詳細な情報を簡単に参照することが可能です。
リレーショナルデータベースは、このような構造によって、顧客の購入履歴から商品の詳細情報まで、複数のテーブルを横断してデータを関連付けることができます。
サンプル:顧客情報テーブル
サンプル:注文履歴テーブル
サンプル:商品マスタテーブル
あとがき
今回はデータベース用語としての「テーブル」の基本概念について説明しました。
テーブルはデータベースのみではなく、ビジネスシーンにおいて汎用的に使われています。MicrosoftのExcelの行列を使ってデータを管理している企業は非常に多く、その合理性・有用性を理解しているはずです。
本格的なデータベースを運用する際には、テーブルの管理が極めて重要です。ぜひリレーショナルデータベースの基本概念であるテーブルに慣れ親しんで、ビジネスデータを正しく管理・活用しましょう。