データベースとは、いろいろなシステムで利用されるデータが決まった形式 (=データモデル) で保持されている「箱」のようなものです。
システムエンジニアの世界ではData Baseの頭文字をとって「DB」と呼ぶのが一般的。

このページでは、IT初心者向けに「データベースとは何か?」をわかりやすく解説します。
プログラマーやシステムエンジニアを目指す方であれば、知らないと恥ずかしい超・基本知識の1つ。是非最後までご覧ください。
データベースとは
データベースは一言で説明すると「様々なデータを決まった形で整理して集めたもの」です。


と説明されても、ちょっと漠然としていて、IT初心者の方にとってはイメージしづらい部分があるかと思います。
ここでは、データベースの成り立ち・歴史を簡単にご説明したいと思います。
データベースの成り立ち

データベースという用語はDoD (Department of Defense = 米国国防省) で誕生しました。
アメリカ国内で散在していた様々な軍事情報を一か所に集め、そこを見れば国内すべての軍事情報をすべて把握できるようにしたのがデータベースの起源です。


データベースという概念が誕生する前は、〇〇の情報を知りたいなら□□の図書館へ・・・△△の情報を知りたいなら●●の大学へ・・・・と情報収集するにも膨大な労力が必要でした。
これらの散在している情報を1か所に集積し、決まった形で管理・保持することで、必要な情報を素早く収集することが可能にしたのが "データベース" という概念です。
データベースの例
データベースはシステムの世界に限らず実は様々な場面で利用されています。

例えば、電話帳やアドレス帳、クラスの生徒名簿など、決まった形でデータが集められているのでデータベースの例と言えます。

我々はこのように様々な場面でデータベースを活用していることが分かります。

もしデータベースがなかったら、〇〇さんの電話番号が知りたい!思っても、過去のメモなどを頑張って探したり、知っている人に聞いたりしないといけません。
このようにシステムの世界でも、決まったデータを決まった形で整理・保持しておくことは、システムの効率性を高めるうえで非常に重要なことなのです。
では、コンピュータの世界ではどのようにデータを管理・整理しているのでしょうか。ここからは、コンピュータ内部におけるデータ保持形式の違いに着目してデータベースをより深く学んでいきたいと思います。
データベースの種類
データベースは、どのような形でデータを保持するか?という観点で見た際、以下の3種類に分類することができます。


ここでは、代表的な3つのデータベースを見ていきながら、データベースのイメージを深めていきましょう。
リレーショナルデータベース

データベースの中で最も一般的に利用されるのがリレーショナルデータベースです。
リレーショナルデータベースは、エクセルのように表形式(テーブル)であらわされるデータベースで、テーブル間の関係(リレーション)を定義することでデータの結びつきや関連性をわかりやすく表します。


学生の個人情報を保持するテーブルや、成績を管理するテーブルなどを表形式で整理しつつ、それら2つのテーブルの関連性がわかりやすい形式で表しています。
「データベースといえばリレーショナルデータベース」と言っても過言ではないぐらいポピュラーな形式。
データベースの勉強をする=リレーショナルデータベースの勉強をする という感じなので、リレーショナルデータベースという用語は必須で頭に入れておきましょう。
階層型データベース

階層型データベースは、データを階層型の親子関係で表現するデータベースです。


上記の階層型データベースの例では、英語の点数を各生徒別に保持しています。Cさんの点数は、英語 > C と階層をたどることで取得することができます。
ネットワーク型データベース

階層型データベースで表現することが難しい場合(子が複数の親を持つような場合)に用いられるのがネットワーク型データベースです。


ネットワーク型データベースを見れば、Aさんは国語と英語を受験していますが、Cさんは英語しか受験していないということが分かります。
システムエンジニアを目指したい方は
システムエンジニアを目指す方や、IT知識を1から身につけたい方は以下のページをご覧ください。
正直どこから学び始めればよいかわからない。どのように勉強していけば、エンジニアとしてのスキルが磨けるか?が分からない・・・という方は必見です。
システムエンジニア向けに「できるエンジニア」になる方法を1から解説しておりますので、是非ご覧ください。