関係データベース(リレーショナルデータベース)は馴染みのある形式なので、すぐに理解できるようになるよ!と、言いたいところですが、歴史が長いジャンルであり、現場で関わる人も多いために複雑になりがち。実は全体像が掴みづらい分野なのです。
そこでまずは、データベースについて本格的に学ぶ前に「トッカカリ」として用語の整理から、ゆるくはじめていきましょう。

関係データベース、まずは用語に慣れよ!
関係データベースってなんだっけ?という方はぜひ前回の記事からご覧ください!
関係データベースをとりまく用語たち
関係データベース(リレーショナルデータベース)は、Excelで作る「表」によく似た形式です。
ソフトウェアとしては、データベースとExcelとは性質の異なるものなのですが、データの構造はよく似ています。これはまた後述します。
▲関係データベースの例(表のように項目がキッチリ決まっている)
■表、行、列、値のさまざまな呼び方
関係データベースでは、データを格納する表のことをテーブルと言います。例えば、住所録や売り上げ表など、Excelのシート1枚分のようなものがテーブルです。
また、「フンボルト社の情報」「コウテイ社の情報」のように、一つの1件分のデータを行、「社名」「都道府県」のようなデータのそれぞれの項目を列と呼びます。一つ一つのものが値です。
ここで、初心者が躓きやすいポイントがあります。なぜか、行と列の呼び方が、複数存在するのです!
たとえば、私の周りでは、行のことを「レコード」と呼びますが、列のことは「カラム」と呼びます。「なんだ英語で呼んでるだけでしょ?」と思うのは早合点です。
実は、「レコード」に対応する列の呼び名は、「フィールド」であり、列を「カラム」と呼びたいならば、行のことは「ロウ」と呼ぶべきなのです。
「お前の周りの言葉が乱れてるだけだ!」と思われるかもしれませんが、筆者が確認する限り、多くの人が色んな呼び方をしています。
組み合わせについては諸説ありますが、初心者の皆さんには、「とりあえず『行』『列』と呼ぶことにして、そのほかの呼び名は追々覚える」もしくは「自分の周りの人と同じ呼び方をする」を攻略法として推奨します。困ったときは、日本語です!そして、周りの人です!自分が覚えやすいのが一番なのです。
大事なのは、データベースの構造を知ることであり、呼び名を覚えることではありません。ただ、書籍や、ドキュメントを読むときに戸惑うこともあるでしょうから、「別名がたくさんある」ことは、心づもりとして覚えておきましょう。
■現場で「データベース」と聞いたときは
また、この業界で「データベース」と言ったときはまず、広義の意味でのデータベースではなく、DBMS(データベース管理システム)で管理されたデータベースであることがほとんどです。
DBMSとは、「MySQL」や、「PostgreSQL」のようなソフトウェアのことでしたね。
また本稿では、皆さんにわかりやすいように、DBMSとデータベースを区別して書いていますが、現場ではこの二つが混同されていることもあります。
「データベース何使ってるの?」というときのデータベースはDBMSのことですし、「データベースのバックアップとらなきゃ」のときのデータベースは、データベース本体のことです。慣例的に、文脈で判断することが多いので、ここは慣れるしかありません。
関係データベースとExcelの違い
ここまで関係データベースに関する用語を整理してみました。「でもExcelも同じようなことが言えるよね?」と思った方もいるでしょう。確かに、関係データベースとExcelは「表」という点では似た形式をとっているため、初心者の皆さんには、違いがわかりづらいかもしれません。
そもそも、前回の記事でも「一定の基準で集められたデータの集合体であれば、データベース」とお話しているとおり、Excelで作られた表も、原則にのっとるならば、データベースの一種だと言えるのです。
では、どう違うのか。データベースとExcelでは、実際に使用する際にソフトウェアとしての性質が異なるのです。急に「???」となったかもしれませんね。このあたりをもう少し整理していきましょう。
■データの原本に触るか、否か
DBMSで管理されたデータベースと、Excelとで、大きな考え方の違いとして、「データの原本に触るかどうか」があります。
Excelは、「管理したい実データ」と「計算や抽出などの操作」の両方が一体となってExcel上で使用されることが多いため、どうしてもデータの原本を触りたくなります。並び替えにしても、取り出しにしても、原本をそのままいじってしまう人が大半ではないでしょうか。
一方で、データベースの場合は、原本はそのままに、並び替えや特定のデータの取り出しは、そのときだけのデータのカタマリ「結果セット(Result Set)」を一時的に作成します。原本はいじらないのです。
もちろん、データそのものを追加したり削除したりしたいときには、書き換えるのですが、単なる並び替えや、取り出しのときには、書き換えません。こうすることにより、誤ってデータの原本を削除してしまったり、書き換えてしまうリスクを減らすことができます。
他にも、違う点は多いですし、根本的に違うソフトなのですが、初心者は、「データベースでは原本はいじらない」という性質を念頭においておくと、データベースのアレコレが理解しやすくなると思います。
関連データベースは、制限を設けてデータを扱いやすく
関連データベースについて、もうひとつ知っておきたいことがあります。それは、「制約を設けることが多い」ということです。
簡単なものだけ紹介すると、たとえば、「主キー(しゅきー:Primary key)」というものがあります。
キー(key)とはレコードを特定するときに使う列または列集合です。その名のとおり、特定するための鍵(キーポイント)になる情報という意味です。
DBMSは、プログラムの要求に応じて、データベースから該当の行を呼び出したり、追加したり、上書きしたり、削除したりしますが、その場合には「どの行に対して操作するか」が明確でなければなりません。そのときに使われるのがキーというわけです。
キーの中でも、特に、確実にその行を指定できるキーが、主キーです。これは、他と重複できませんし、登録を必須にします。つまり、「絶対に重複しない値をいれなければならない」という制約なのです。
他にも、空欄にしてはいけない制約を付けたり、特定の種類のデータでなければ入力できないようにしたりします。
こうした制約をなぜ設けるのかと言えば、「その方がデータを扱いやすいから」です。
必須の項目なのに、空欄があったり、電話番号を入れるべき場所に、住所が入力されてしまっては困ります。そうならないように、あらかじめ決め事をして、データ全体を扱いやすくするのです。
ニャゴロウ先生のまとめ
今回は、関係データベースの用語や、特徴についてお話しました。関係データベースは、決めることや、できることが多いので、最初のうちは、「なぜこのようなことをしなければならないのか?」と戸惑うかもしれませんが、このように、理由があるのです。
今回紹介したこと以外にも、「覚えるのがつらいなあ」と思ったときには、理由や使い方を探ると良いでしょう。
▼「コンピュータ構成要素」はどうなっているのか(ハードウェア編全3回)
技術ライター、イラストレーター。システム開発のかたわら、雑誌や書籍などで、データベースやサーバー、マネジメントについて執筆。図を多く用いた易しい解説に定評がある。主な著書に『なぜ?がわかるデータベース』(翔泳社)、『図解即戦力 Amazon Web Serviceのしくみと技術がこれ1冊でしっかりわかる教科書』『ゼロからわかるLinuxサーバー超入門 Ubuntu対応版』(技術評論社)、『仕組みと使い方がわかる Docker&Kubernetesのきほんのきほん』(マイナビ出版)がある。
※本記事に記載されている会社名、製品名はそれぞれ各社の商標および登録商標です。