データベースの1つ。OracleやMySQL、postgreSQLなどリレーショナルデータベースは近年主流でたくさんの製品があります。 リレーショナルデータベースは主にデータを表形式で管理します。項目ごとにまとまった行と列でデータが蓄積され、それらの表形式のデータを擬似的に結合することなどができます。

リレーショナルデータベース(RDB)とは

3年以上前に更新されました。情報が古い可能性があります。
更新日 : 2019年06月05日

データベースの1つ。OracleやMySQL、postgreSQLなどリレーショナルデータベースは近年主流でたくさんの製品があります。

リレーショナルデータベースは主にデータを表形式で管理します。項目ごとにまとまった行と列でデータが蓄積され、それらの表形式のデータを擬似的に結合することなどができます。

リレーショナルデータベースとは

リレーショナルデータベースは、その名の通り、関係データベースとも言われます。

また、Relational Databaseと書くので、RDBと略されることも多いです。

リレーショナルデータベースでは、データを表形式で管理します。Microsoft Excelなどで表計算ソフトを利用したことがある方は、それと似たような形でデータを管理するんだと思って頂いて大丈夫です。

また、それらの表形式のデータを、データのジャンルごとにきちんと分けて入れていくことが一般的です。例えば、ユーザーの登録情報用の表とユーザーが投稿した内容を管理する表とで分け、投稿ジャンルとユーザージャンルで別の表としてデータを管理します。

リレーショナルデータベースでは、それらの別々で管理された表を、関係性をもたせながらデータを読み出すことができます。これがリレーショナルと呼ばれる理由です。

リレーショナルデータベースの特徴

先程別々の表を関係性をもたせてデータを取得すると説明しましたが、ここがリレーショナルデータベースのすごいところなので、例を使ってもう少し詳しく説明します。

下記の図を見てみましょう。

とあるECサイトを例にとって考えます。このECサイトではユーザー情報を、ユーザー番号・姓・名・電話番号を1つのデータの塊として定義します。

また、ECサイトの機能としてユーザーは複数の配送先を設定できるようにしています。このとき配送先の住所情報を、ユーザー番号・配送先名・住所を1つのデータの塊として定義します。

RDBではこのようなユーザー情報や住所情報などの表それぞれをテーブルと言い、テーブル内のデータの項目(ユーザー番号や姓・名などの列情報)をカラムと言います。

また、テーブルに入るデータ1行分をレコードと言います。

このとき、このデータベースからユーザー情報と住所情報の一覧をまとめて取得したい場合に、関係性をもたせて取得します。

住所情報には、ユーザー情報が直接入っているわけではなく、ユーザーを一意に識別するユーザー番号をもたせています。こうする事により、ユーザー番号の一致しているデータを結合させてまとめてデータを取得できます。

それぞれのデータを別に持たせて、取得するときに結合するメリット

住所情報にもユーザーの情報をそのまま入れておけばいいじゃないかと思う方もいらっしゃるでしょう。実はこのように表を別々で管理することによって、様々なメリットが得られます。

  • ユーザー情報を変更する場合には、ユーザー情報の表だけ書き換えれば良い
    田中マチコさんが結婚して姓が変わる場合を考えてみましょう。
    このときユーザー情報の姓のデータを書き換えるだけで良いので、住所情報は影響が出ません。住所情報にも姓のデータを格納していたら、両方書き換えなければ行けないのでミスも発生しやすく手間が多いです。
  • 単純にデータ量を節約できる
    住所情報にはユーザー番号だけが入っています。必要なデータは必要なデータが入っている表の固有番号だけを持っていれば、それに関係するデータは簡単に取得できるため、データ量の節約になります。
  • 取得する情報の効率化が図れる
    ユーザーの名前だけが知りたい場合や東京都向けの配送先情報一覧が欲しい場合には、それ以外の無駄な情報は必要ありません。リレーショナルデータベースで適切に分類された表を作成することにより、必要なデータを必要な分だけ検索することが可能です。

このようにリレーショナルデータベースを利用して表を適切に管理することで人間の管理という点でも、プログラムのデータ管理の点でもメリットがあります。