派遣で働くエンジニアのスキルアップを応援するサイト

PRODUCED BY RECRUIT

【基本情報技術者試験のトッカカリ】関係データベースの用語と特徴

関係データベース(リレーショナルデータベース)は馴染みのある形式なので、すぐに理解できるようになるよ!と、言いたいところですが、歴史が長いジャンルであり、現場で関わる人も多いために複雑になりがち。実は全体像が掴みづらい分野なのです。

そこでまずは、データベースについて本格的に学ぶ前に「トッカカリ」として用語の整理から、ゆるくはじめていきましょう。

今日のニャゴロウ講座
関係データベース、まずは用語に慣れよ!

関係データベースってなんだっけ?という方はぜひ前回の記事からご覧ください

関係データベースをとりまく用語たち

関係データベース(リレーショナルデータベース)は、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のきほんのきほん』(マイナビ出版)がある。

※本記事に記載されている会社名、製品名はそれぞれ各社の商標および登録商標です。