[事務所TOP] [コラム一覧へ]

ポイント:Access、データベース、ExcelとAccessの違い、データベース設計、EUC、動かないコンピュータ、システムの柔軟性

Accessでのシステム構築の意味


データベースと表計算の違い

 EUCが普及してかなりたちます。最近では、エンドユーザーがOffice製品を活用して自分の部署の業務を効率化するのは、当たり前になっています。Office製品はますます多機能、使いやすくなり、ノンプログラムでかなりのことができるようになっています。Office製品でも業務効率化の立役者といえば、ExcelとAccessだと思います。この2つの製品は明らかに目的は違うのですが、「じゃ、情報蓄積の道具と使う場合はどちらでしよう」と悩まれる方が意外と多いです。

 表計算はあくまで表計算なのですが、2次元の表形式にデータを蓄積していけるので、最初のデータベース設計というフェーズをとばして情報の蓄積を行うことができます。非常にお手軽です。私も単純な情報はついついExcelに情報を蓄積してしまいます。Excelのデータの並び替えやオートフィルタで十分な業務が多いのも事実です。

 つまり、Excelは1つの2次元の表で情報を表現します。一方、Accessはいくつかの2次元の表(テーブル)から、キーといわれる関連性を表す項目を仲介して、必要なデータを組み合わせて表示します。この表現で既に分かりにくいかもしれませんが、Accessはリレーショナルデータベースなのです。

 リレーショナルデータベースは先にも書きましたが、いくつかの表を関係でつなげて必要な情報のみを表示します。この「いくつかの表」「関係でつなげる」などの部分がデータベース設計になります。

データベースの項目を考えて会社を表現

 このデータベース設計を行わないと、Accessは使えません。ここがAccessの敷居を高くしているのだと思います。Excelにはデータベース設計はありません。Excelは2次元で非常に理解しやすのです。ただ、現実社会では、単純に1つの2次元の表では表自体が複雑になってしまう場合があります。

 例えば会社の情報を考えた場合、その会社と関係のある項目は非常に多くあります。例えば、社員、顧客、商品、販売記録・・・列挙したらキリがありません。実際にそんなことをする方はいないと思いますが、会社に関わる全体の情報を一枚の2次元の表にしようとしたら大変なことになります。おそらくExcelの場合は、社員なら社員だけを切り出して2次元の表にすると思います。

 ただ、Access(リレーショナルデータベース)ならば、極端な話ですが、ちゃんとデータベース設計をすれば会社に関わる全体の情報を表現することができます。現実には大変な作業ですが、でも理論的には可能です。

なぜ、自分でシステムを組むのか?

 とは言うものの、データベース設計はそんな簡単なものではありません。実はAccessが普及し始めたころ、EUCで部門ごとにできたデータベースは設計がちゃんとできていないシステムが次々と作られて、情報品質を落としてトラブルになるという事がありました。この問題は根本的には解決していません。

 しかし、部門が自分たちで必要なシステムを自分たちで作るのはとても画期的な話です。自分たちで必要なシステムを自分たちで作るので、そのシステムは必要最低限で業務にちゃんと即した有効なシステムであることが多いのです。これは変な言い方ですね。役に立たないシステムはあるのでしょうか? 実は非常にたくさんあります。 

 「作る人」と「使う人」が違うのがシステム開発の常識です。「作る人」と「使う人」が違うために生じる認識のギャップが「動かないシステム」をつくってしまう最大の原因となっています。ところが、「作る人」=「使う人」のシステム構築が可能になってなった場合、認識のギャップは生じません。

 ここが、大切なポイントです。今の経営環境はとても変化が激しいです。システム自体に非常に柔軟性が求められています。SOAとかシステムに柔軟性を持たせる考え方はいろいろ出てきています。しかし「作る人」と「使う人」が同じというのが、究極の柔軟性といえるでしょう。ただ、これを大規模システムで実現するのはかなり大変です。

 しかし、部門内システムなど比較的小規模なシステムなら「作る人」と「使う人」が同じという究極の柔軟性を実現することができます。それを実現するのにAccessは非常に便利な道具と言えます。

 しかし、すべてAccessでシステムを組むのはナンセンスです。会計や給与などは比較的業務が固まっているので、市販のパッケージを使うと良いでしょう。顧客管理や日報管理など業務の変化が激しい部分のみでもAccessなどで構築し、システムに柔軟性をもたせるとよいと思います。

 ただ、Accessなどで部門のシステム構築を構築する際に留意すべき点があります。担当者の問題、リカバリの問題、システム品質の問題などで、Accessの場合はネットワーク利用の問題もあります。これらに関しては、後日考えたいと思います。

関連コラム
Accessでのシステム構築の意味 2006年10月2日記述
DBMSの選択について 2005年7月25日記述
OpenOffice.orgのひとつの活用方法 2005年5月9日記述
CSVファイルの役割 2004年12月20日記述

2006年10月2日 宿澤直正


[事務所TOP] [コラム一覧へ]

Copyright (C) 2005 宿澤経営情報事務所