リレーショナルデータベースって、そもそもナニ?

データを「どこに・どうやって」しまうか、考えたことありますか?

お店で働いたことがある方なら、こんな経験があるかもしれません。

  • 商品の在庫をノートに書いていたら、どのページに何が書いてあるかわからなくなった
  • お客さんの注文表と在庫表が別々で、いちいち見比べるのが大変だった

こういった「データの管理」は、コンピュータの世界でもずっと大きなテーマでした。そこで生まれたのがデータベースという仕組みです。そして今や世界中のシステムで使われているのが、リレーショナルデータベース(RDB, RDBMS) です。

データベースとは?

「データベース」とは、ひと言でいえばデータを整理して保存しておく場所です。ただ保存するだけじゃなく、「あとで素早く取り出せる」「間違いが起きにくい」「複数の人が同時に使える」といった工夫がされています。

Excelのファイルもデータの保存場所ではありますが、データベースはもっと大量のデータを、もっと確実に扱えるように設計された専用の仕組みです。

リレーショナルデータベースの「リレーショナル」って?

「リレーショナル(Relational)」は、日本語にすると「関係の」という意味です。リレーショナルデータベースでは、データを表(テーブル) の形で保存します。Excelのシートをイメージすると近いです。そして、その複数の表どうしを「関係(リレーション)」でつなぐことができる——それがこの仕組みの最大の特徴です。

表でデータを管理するって、どういうこと?

たとえば、あなたがネットショップを運営しているとしましょう。

「顧客」テーブル

顧客ID氏名メールアドレス
1田中 太郎tanaka@example.com
2鈴木 花子suzuki@example.com

「注文」テーブル

注文ID顧客ID商品名金額
1011ワイヤレスイヤホン8,000円
1022スマホケース1,500円
1031充電ケーブル1,200円

「注文」テーブルの顧客IDが、「顧客」テーブルの顧客IDと結びついています。これが「リレーション(関係)」です。たとえば「顧客ID:1の人の注文履歴を全部見たい」と思ったとき、この関係をたどれば田中さんの注文(101番と103番)をすぐに取り出せるわけです。

なぜ一つの大きな表にまとめないの?

「全部ひとつの表に書けばいいじゃないか」と思うかもしれません。

たとえばこんなふうに:

注文ID氏名メール商品名金額
101田中 太郎tanaka@example.comワイヤレスイヤホン8,000円
102鈴木 花子suzuki@example.comスマホケース1,500円
103田中 太郎tanaka@example.com充電ケーブル1,200円

でも、これには問題があります。

  • 無駄が多い:田中さんの名前とメールアドレスが何度も繰り返されている
  • 修正がたいへん:田中さんのメールアドレスが変わったら、全行を探して直さなければならない
  • ミスが起きやすい:うっかり片方だけ直すと、データが矛盾してしまう

テーブルを分けておけば、顧客情報は1か所にだけ存在します。変更も1回で済み、矛盾も起きません。これを「データの正規化」といいます。

データはどうやって取り出すの? → SQL の登場

リレーショナルデータベースからデータを取り出したり操作したりするには、SQL(エスキューエル) という専用の言語を使います。たとえば「田中さんの注文履歴をすべて取得したい」場合、SQLではこう書きます:

日本語に訳すと「注文テーブルと顧客テーブルを顧客IDでつなぎ、氏名が田中太郎の注文ID・商品名・金額を取ってきて」という意味です。SQLはプログラミング言語の中でも比較的読みやすく、英語に近い感覚で書けるのが特徴です。

どんなところで使われているの?

リレーショナルデータベースは、私たちの生活のあらゆる場所で活躍しています。

場面使われ方の例
ECサイト商品・在庫・注文・ユーザー情報の管理
銀行・金融口座残高や取引履歴の管理
病院・医療患者情報や電子カルテの管理
SNSユーザー情報・投稿・フォロー関係の管理
業務システム社員情報・給与・勤怠の管理

スマホのアプリ、会社の業務システム、ネットショッピング——実は、ほぼどこかにリレーショナルデータベースが使われています。

代表的なリレーショナルデータベースの製品

RDBにはさまざまな製品があります。

  • MySQL / MariaDB:Webサービスで広く使われる定番の無料ソフトウェア
  • PostgreSQL:高機能で信頼性が高く、企業でも多く採用される無料ソフトウェア
  • Oracle Database:大規模な商用システムで広く使われるプロ向け製品
  • Microsoft SQL Server:Windows環境や企業システムに強いMicrosoft製品
  • SQLite:小規模・組み込み用途に使われる軽量タイプ

合わせて読みたい

まとめ:リレーショナルデータベースの3つのポイント

最後に、大切なことをおさらいしましょう。

  • データを「表(テーブル)」の形で整理して保存する
  • 複数の表を「関係(リレーション)」でつなぎ、効率よく管理する
  • SQL という言語を使ってデータを操作する

「データを表でまとめて、表どうしをつなぐ」——シンプルなこのアイデアが、50年以上にわたって世界中のシステムを支え続けています。最初は難しそうに聞こえるリレーショナルデータベースですが、根っこにあるのは「データを整理して、使いやすくする」というごく自然な発想です。この記事が、その入り口を少し身近にするきっかけになれば幸いです。