検索
連載

そもそも、リレーショナルデータベースとは何か?ゼロからのリレーショナルデータベース入門(1)(1/4 ページ)

データベースを基礎から勉強し理解を深めていくことは簡単なことではありません。本連載では、データベースに対するハードルを少しでも低くするために、初心者の方に必要なデータベースの基本から、障害対策やチューニングといった実践に即した内容までを幅広く解説していきます。今回は、データベースの役割と、それを管理するソフトウェアであるDBMSの基本機能について解説します。【更新】

PC用表示 関連情報
Share
Tweet
LINE
Hatena

連載バックナンバー

「データベース」とは何か?

 企業には、顧客に関するデータや商品の在庫数など、企業活動で生じた「さまざまなデータ」が存在します。このようなデータを共有利用するために1つにまとめたデータの集合体が「データベース」です。

 どこの会社でも行っている「売上管理」でデータベースを考えてみましょう。会社の規模が小さいうちは、「表計算ソフトウェアで、簡単に管理できる」と思うかもしれません。しかし、売り上げが伸び、取引先が増え、従業員数も増えていくに従って、これだけでは問題が発生するようになります。例えば、複数の従業員が同じようなデータを、それぞれ独自のやり方で作成/保持していると、「どれが最新のデータか分からない」「どれが正しいデータなのか分からない」「ある月の特定の日の売り上げデータだけが知りたかったのに、探すのに時間がかかる」、といったように、データ管理が徐々に難しくなり、必要かつ正確なデータをすぐに取り出せなくなる状況に陥ります。

 そうならないように活用するのがデータベースです。データベースは大量のデータでも安全かつ効率的に管理できる仕組みが整えられたシステムです。そのため、複数の人が大量のデータを扱う際にとても有効なツールです。もう少し具体的な例で、データベースの必要性を解説していきましょう。

 ある企業では、「社員データ」「顧客データ」など、業務上必要なさまざまなデータを支店ごとに個別に管理しています(図1)。

photo 図1 ある企業のデータ管理方法の例

 社員データは全国どの支店でも必要ですが、それを各支店で個別に管理するとなると、いくつかの問題が生じます。

 例えば新入社員が入社し、社員データベースとしてその情報を反映するとします。そのとき、各支店単位でデータを登録し、管理する方法では、ある支店だけ登録し忘れたた、変更が必要だったのにされていなかった、といったトラブルが起こり得ます。また、支店がそれぞれデータを保持するということは、データ保持のための仕組みやディスク領域がそれぞれ必要になります。全社的に考えると無駄が多く、管理もとても煩雑になってしまいます(図2)。

photo 図2 各支店が個別に社員データを管理する場合の課題

 このような状況は、全社で共有するデータを1つの「集合体」にすると解決できます。そうすれば、データの登録漏れや変更漏れが発生する心配がなくなります。無駄にディスク領域を使わなくても済むようになります。このデータの集合体が、データベースというわけです(図3)。

photo 図3 複数人が共有したいデータを1つの「集合体」にする。これがデータベースである

「DBMS」とは何か

 前述したように、データベースは「共有利用」を前提として複数のデータを1つにまとめたデータの集合体です。しかし、1つのデータベースを複数の利用者(以下、ユーザーとします)で使う場合には、また別の問題が発生します。

 その1つが、「複数のユーザーが、ほぼ同時に同じデータを変更してしまった場合」の対処です。例えば、Aさんが変更作業している途中に、Bさんが“別の内容に置き換えてしまう”と、「データの矛盾」が発生してしまいます。このデータの矛盾を防ぐためには、ユーザーが順番にデータにアクセスできるように、つまり、誰かの作業中にはファイルを更新できないように制御する必要があります。

 また、全てのユーザーがあらゆるデータにアクセスできてしまうのも大きな問題です。セキュリティやコンプライアンスを考える上で、「誰がどのデータにアクセスできるのか」を制御する「アクセス制御」も必要になります。

 これを全て人力で管理するのはとても大変です。しかし、データベースを複数人で利用しても適切に管理してくれるソフトウェアがあります。このソフトウェアが、データベース管理システムです。「DBMS(Database Management System)」とも呼ばれます(図4)。

photo 図4 DBMSの簡単な仕組みと役割

 ユーザーからのデータベースに対する要求は、必ずDBMSを介して行われます。DBMSは、データを処理する前に「順序制御」や「権限確認」などを行ってくれます。

       | 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る