-shared-img-thumb-SAYA160312140I9A3606_TP_V

あなたは、仕事で取引している数十人の顧客情報をパソコンで管理したいと思った場合にどうするでしょうか。専用の顧客管理ソフトを使うのではなく、市販ソフトだけで行うことを前提にした場合です。

そのような場合、顧客の氏名、住所、電話番号、メールアドレス、…といったデータをリストにして、Microsoft Excelのような表計算ソフトに入力することが多いのではないかと思います。別にExcelを使わなくても、表形式のリストにしていれば扱いやすいはずです。

データを表にする目的の一つは、「表計算」という言葉からもわかるように「計算、集計を行いやすくすること」があります。そしてもう一つは、「データベース化すること」があります。顧客情報をデータベースにしておくことで、あとで容易に検索を行ったり住所・氏名などのデータを一気に出力したりできます。

ここでは、情報システムで使うデータベースの基礎知識についてお話していきます。ここで述べる内容を理解して関連する知識を習得していくことにより、実際の情報システム構築や保守の作業に役立てることができます。

データベースの考え方

データベースとは、一連のデータを「決まった形式で」ひとまとまりとして扱うものです。「決まった形式」にする理由は、バラバラな形式で保存してしまうとあとで必要なデータを取り出しにくくなってしまうからです。

例えば、顧客情報をリストに記入することを考えてみます。リストを「氏名、住所、電話番号、メールアドレス、…」と順番を守って書いていけばよいですが、この順番がバラバラになっていると大変です。あとで「顧客全員の氏名を抽出したい」と思ったときに、リストのどこを見たらよいかわかりません。

そのため、決まった形式で保存することが重要になります。

データベースの形式としては、非常に多くの種類が提案されています。その中で最も広く一般的に使われているのが、「リレーショナルデータベース」です。

リレーショナルデータベースというと名前は難しそうですが、要はExcelのような表形式のことです。すべてのデータを表形式で保存するのが、リレーショナルデータベースです。

リレーショナルデータベースが最も広まった理由は、「世の中のデータは、すべて表にあらわせる」と割り切ったからだといわれています。また、データの取り扱い方(データモデル)をシンプルに割り切ったからこそ、その応用範囲が極めて広くなったのです。

情報システムは、ほぼすべてがデータベースを持っています。そして、データベースをプログラムで処理することによってさまざまな機能を提供しています。そのため、データベースに関する知識は大変重要です。

標準的なデータベースソフト

このようなデータベースを使うためのソフトウェアは、有償・無償を含めかなり多くのものが出回っています。その中でも初心者向きなものは、「Microsoft Access」(以下、Accessと記述)です。

Accessは、Excelのような表形式や「フォーム」という専用の画面でデータを入力できます。入力したデータは、「レポート」という画面を使って、任意の形式で出力できます。宛名ラベルを作ったり、年賀状の宛名印刷を行ったりすることも簡単です。

WordやExcelなどのオフィスソフトウェアを使っていると、自然にAccessも使えるようになるでしょう。

さらに本格的なデータベースソフトウェアとしては、「Oracle Database」(Oracle社)、「SQL Server」(Microsoft社)などの商用製品が有名です。実際に、これらの商用ソフトウェアは数多くの商用システムに採用されています。

商用システムでデータベースを使うには、「トランザクション」「排他制御」といった機能が必須となります。トランザクションとは、データ挿入・更新などの複数の操作をまとめて1操作として扱うことです。排他制御とは、一つのデータに対して複数のユーザーから同時にアクセスが行われた場合にデータの更新を制御する機構です。

これらの機能は、ともに保存されているデータの一貫性を確保するために使用されます。

SQL言語

データベースの世界では、自由にデータを検索したり加工して出力したりするためにデータベースを操作する言語が定められています。リレーショナルデータベースでは、「SQL(エスキューエル)言語」(以下、SQLと記述)が一般的です。

コンピューターの言語は、たいていのものは「手続き型言語」(プログラムを組んで、そのステップ通りに処理を行っていく言語)ですが、SQLは「非手続き型言語」といって、データを挿入したり取り出したりするという目的に即して書く言語です。これだけでも、SQLには他のコンピューター言語にはない特徴があります。

SQLは、データベースを扱うほとんどのシステムで広く使われています。そのため、システム管理者ならば習得した方が良いです。SQLは、長年使われてかなり奥の深い言語でもあります。少しずつ時間をかけて習得すれば良いと思います。

このように、データベースに関する知識は、システム設計・保守を行う際に役に立ちます。データベースを操作する言語としては、SQLが一般的です。SQLを知っていると、本当に自由にデータベースを操作できるようになります。そのため、システム管理に携わる方ならば習得するとよいでしょう。