Accessでデータベースを構築!外注した場合の開発費用は?

更新日:2021年02月22日 発注カテゴリ: Webシステム開発
Accessでデータベースを構築!外注した場合の開発費用は?

Microsoft Accessを知っていますか?企業のもっとも貴重な財産といわれるほど、データの重要性が増している現代では、データを活用するためのデータベースの存在感が増しています。しかし、大企業が使っているような基幹システムは、どんな企業でも簡単に導入できるわけではありません。中小企業の担当者であれば、ちょっとしたことをデータベースで管理したい、でもデータベースを構築してもらう予算がない、と悩んでいるのではないでしょうか?そんな方に最適なのが「Access」です。そこで本記事では、中小企業の担当者によくある疑問「VBAの知識があれば使える?」「Accessなら開発費用を抑えられる?」などに応える形で、Accessによるデータベース構築方法、外注した際の開発費用相場を紹介していきます。

データベースとは?

データベースとは、簡単に検索・活用できるように「整理して蓄積されたデータの集合体」です。在庫管理・販売管理・顧客管理・基幹システムなどの業務アプリケーションはもちろん、WebサービスやSNSまで、いまやデータを「共有」して「活用」するシステム・アプリケーションに必要不可欠なのがデータベースです。

ただし、データベース本来の意味からいえば、顧客情報を手書きで記入してある顧客台帳も「データベース」です。Excelで整理して蓄積されたデータの集合体を管理できているなら、それも「データベース」です。

しかし、顧客台帳は「紙」であり、Excelは「表計算ソフト」です。データ量が少なければ管理できますが、データ量が膨大になれば管理し切れなくなります。データベース専用のシステム・アプリケーションが存在するのは、日に日に肥大化していく情報量に対応するためなのだといえるでしょう。

DBMS(データベース管理システム)とは?

そのデータベース専用のシステム・アプリケーションを代表するのが「DBMS(DataBase Manegement System)」です。データベースそれ自体は「データが格納された箱」であり、そのままでは活用できません。

DBMSの役割は、ルールに従って情報を整理してデータベースに格納し、リクエストに応じて適切な情報をデータベースから取り出す、文字通りデータベースを管理することなのです。一般的には、DBMSのことも単に「データベース」と呼ぶ場合が多いようです。

もちろん、DBMSの種類はひとつではありません。大きくは、データベースに情報を整理して格納するための「ルール」の違いによって、階層型・ネットワーク型・リレーショナル型の3つに分類できます。

リレーショナルデータベースとは?

大きく3つの種類があるデータベースですが、現在、主流として活用されているのが「リレーショナルデータベース」です。プログラムが複雑化する傾向にあるという弱点もありますが、データの扱いが柔軟で幅広く使えるのがポイント。Oracle、MySQL、PostgreSQLなど、主要なDBMSのほとんどがリレーショナルデータベースです。

表形式になったデータベースの構造を持ち、ルールがわかりやすいのもリレーショナルデータベースの特徴。Excelにたとえていえば、関連情報のまとまったシートが「テーブル」、シートの行が「レコード」、シートの列が「フィールド」となっており、それぞれのデータを「関連づけて(リレーショナル)」おくことで、キーとなるフィールド検索から関連情報をすべて呼び出せます。

たとえば、顧客番号フィールドで特定の番号を検索すれば、該当する顧客の名前・住所・電話番号から、購入履歴まで呼び出せます。

データベースアプリケーション「Access」

広い意味、一般的な用語としてのデータベースが、DBMSであることがおわかりいただけたでしょうか?それでは、Microsoft Accessとはなにか?「Access」は、リレーショナルデータベース「アプリケーション」です。

Accessに近い性格を持つ製品としては「FileMaker」が挙げられますが、これらが一般的なDBMSと異なっているのは、「DBMS + アプリケーション」だからです。

たとえば、DBMSはデータベースを管理する機能を持ちますが、それだけではデータベースを操作・活用できません。データベースを操作・活用するユーザーインターフェース(UI)は別途、プログラミングで構築する必要があります。一方、アプリケーションのAccessなら、Access単体でユーザー自身がUIを簡単にデザイン・構築できるのです。

Accessを活用するメリット

Accessを活用する最大のメリットは、基本的にノンプログラミングで簡単にデータベースを構築できることでしょう。複雑なクエリ(スクリプト)を実行させるにはVBAの知識が必要ですが、Excelでマクロを組むのに慣れている方ならそれほど難しくありません。

Office製品として簡単・安価に入手でき、CSVに対応しているためExcel / Windowsと相性がいいのもポイントです。Accessのメリットを箇条書きで挙げておきます。

  • Microsoft Office製品として簡単・安価に購入できる
  • 安価なデータベースなのに意外とできることは多い
  • データベース開発が簡単
  • ExcelやCSVを始めWindowsとの相性がいい

Accessのデメリットは?

1992年リリースと、データベースアプリケーションの草分け的存在であるAccessですが、基本がデスクトップアプリケーションであること、大幅な機能強化が長い間されていないことからいくつかのデメリットがあります。

なかでも、データ量やテーブル数の多い複雑なデータベースが構築できないのは、Access最大のウィークポイントだといえるでしょう。

データベースの共有自体は可能ですが、Accessは大人数がアクセスしての運用には向きません。共有方法を工夫しないとデータベースファイルが壊れるなどの弱点もあります。

Accessでデータベースを構築する方法

概要が理解できたところで、Accessを活用してデータベースを構築する方法を簡単に紹介しておきましょう。自社での内製が難しい場合でも、データベース構築の考え方・手順が理解できれば、システム開発会社との打ち合わせもスムーズに進みます。

  • 構築する具体的な目的・目標
  • データのピックアップ
  • ピックアップしたデータの整理
  • 属性ごとに分割
  • 各データの種類
  • ユーザーインターフェースの作成

順番に詳しく見ていきましょう。

手順1. Accessでデータベース構築する具体的な目的・目標を決める

まず最初にすべきことは、データベースを構築して「最終的になにをしたいのか?」具体的な目的と目標を決めることです。

たとえば、ホームページを制作するにも、業務システムを開発するにも、なんのために制作・開発するのか?どんな効果を得たいのか?目的とゴールとなる目標を設定するはずです。データベース構築もそれとまったく同じです。いきなりUIのデザインに取りかかるようなことをしていけません。

普段の業務を棚卸しして振り返りながら、非効率な作業をいかにAccessデータベースで置き換えていくか?イメージするのが重要です。

手順2. 管理するのに必要なデータをピックアップする

データベース構築の目的・目標に従って、それを達成するために必要な要素=データをピックアップします。システム開発工程でいえば、必要な要素を洗い出す「要件定義」に近いといえるでしょう。

たとえば、勤務時間を管理して給与計算を効率化したいなら、従業員の基本情報、職級、基本給、有給残日数、欠勤数、早退・遅刻数など、意外に多くの情報が必要なのが分かります。ピックアップされたこれらの情報は、各テーブル(シート)のフィールド(列の項目)になる重要な要素です。

手順3. ピックアップしたデータをテーブルにまとめる

データベースに必要な要素をピックアップしたら、それをテーブルにまとめます。Excel「シート(テーブル)」それぞれの「列の項目(フィールド)」に要素を指定し、それに従った個別データを「行(レコード)」として追加していくイメージです。

たとえば、Excelシートでの従業員情報管理にたとえるなら、それぞれの行(レコード)を見れば個別従業員の情報がすべて把握できる、と考えていただければいいでしょう。

ただし、このままでは単にデータを表にしただけに過ぎず、Excelシートでの管理となんら変わりません。データベースとして活用できるように、Accessの「テーブル設計」が必要です。システム開発工程でいえば「基本設計」に近いといえるかもしれません。

手順4. テーブルを属性ごとに分割する

データベースを活用するメリットは、フィールドの情報をキーにして関連するデータをすべて呼び出せることです。ただし、関連するデータの属性はすべて同じではありません。

リレーショナルデータベースでのテーブル設計のポイントは「データ属性ごとにテーブルを分割し、キーとなる情報でそれぞれを関連づける(リレーション=リンク)」ことです。

たとえば基本給、残業時間、総支給額は従業員の個人情報ともいえますが、ひとつのテーブルで毎月の給与を管理していくのは現実的ではありません。

従業員の個人情報テーブル、給与情報テーブル、というデータ属性で分割し「社員番号」で紐付けるようにすれば、社員番号をキーにしてどちらの情報も呼び出せます。

  • 従業員情報テーブルの例
従業員管理表 社員番号 氏名 性別 年齢 入社日 所属 役職
レコード1 1001 日本太郎 25 2020/04/01 1 1
レコード2 1002 東京次郎 44 2000/04/01 2 2
  • 給与情報テーブルの例
従業員管理表 社員番号 基本給 残業 支給額
2020年5月 1001 200,000 30時間 260,000
2020年5月 1002 300,000 20時間 360,000

上図の例では、どちらのテーブルにも「社員番号」という共通のフィールドがあるのがわかります。これをリレーションしておけば、社員番号をキーに従業員情報から給与情報を呼び出すのも、その逆も可能です。

分割するときのポイント「重複情報はIndexで管理」

上図のテーブル例では「所属」「役職」以外のフィールドデータは、すべて「固有の情報」です。固有の情報に関しては「適切な情報を入力」していくほかありませんが、「所属」「役職」は複数の個人に「重複する情報」です。こうしたデータはIndexで管理して入力の手間を省くのがポイントです。

たとえば、所属の「Index1=開発部」「Index2=営業部」、役職の「Index1=一般社員」「Index2=係長」といった具合です。

手順5. 各データの種類を決める

Excelシートで一覧表を作成する際には、入力データの種類によって「数値」を変更しているでしょう。Accessデータベースを構築する際も同じです。基本給フィールドを「金額」に指定するなど、入力データに応じて最適な種類の数値を設定する必要があります。

フィールドのデータ種類をキチンと指定できていれば、期間を区切った総残業時間を計算する、給与総額を計算するなど、便利なクエリ(スクリプト)を作成して実行できます。

手順6. データベースを操作するユーザーインタフェースを作成

データベースを構成するテーブル・レコード・フィールドを作成してリレーションまで完了したら、最後に操作画面であるUI(ユーザーインターフェース)を作成します。シンプルながら、専用環境を用意しなくてもUIを作成できるのは、Accessのメリットの一つです。

実際のUI作成自体はノンプログラミングで直感的に実行可能ですが、配置したボタンにクエリ(スクリプト)を割り当てる際はVBAの知識・スキルが必要です。

ただし、冒頭でも触れたように、Excelマクロに慣れている方ならAccessマクロにも親しみやすく、プログラミングはそれほど難しいものではありません。

Accessのデータベース構築を外注する費用相場は?

データベースの基本さえ理解できれば、Accessを活用してデータベースを内製するのはそれほど困難なことではありませんが、業務の洗い出しから構築まで、相応の手間と時間がかかるのも事実です。

コア業務の隙間時間に自作していたのでは、完成までに膨大な時間がかかってしまうことも考えられます。費用対効果の折り合いが付くのであれば、システム開発会社に外注するのがおすすめです。それでは、Accessのデータベース構築を外注したら、どの程度の開発費用がかかるのでしょうか?

勤怠を管理するデータベースは70万円前後

勤務時間や休暇などを出力する勤怠管理中心のデータベースであれば、少ないテーブル数で済むため、約1か月程度の開発期間で70万円前後の予算を見ておけばいいでしょう。給与明細を出力したいなど、より複雑なデータベースであっても約3か月間、200万円前後です。

重要なことは、Accessデータベースの開発費用は「テーブル数」「ユーザーインターフェース・リレーションの複雑さ」に左右されることです。

データ入力まで代行してもらえばそれだけ費用はかかりますが、開発費用とは別に考えるべきです。Accessデータベースの開発費用は「開発期間 × 人件費」で割り出せます。

経理を管理するデータベースは300万円〜

経費を含めた各入出金を扱う経理業務をAccessデータベースで管理するとなれば、相応のテーブル数や開発が必要になります。一般的な中小企業の経理システムであれば、開発期間約4ケ月程度、300万円からというのが相場だといえるでしょう。

もちろん、上述したようにAccessの開発費用は開発期間と人件費で決まります。本当に必要な機能なのかをしっかりと吟味し、データベースに持たせる機能を絞っていけば、開発費用も抑えられるでしょう。「データベース構築の目的・目標の策定」が重要なのです。

データベース構築費用相場【ケース別で解説】では、より詳しく構築費用に関して紹介しているのでぜひ参考にしてみて下さい。

まとめ:Accessデータベースはリーズナブル!

相場を見てもわかるように、Accessの開発費用は1か月約70万円と考えておけば間違いありません。では、従業員がコア業務の片手間にAccessデータベースを構築したらどうでしょう

?エンジニアでも1か月かかる開発であれば、少なくとも3か月、場合によっては半年近くの期間を要するかもしれません。

時給2,000円の従業員であれば、300時間で60万円のコストがかかる計算になります。費用対効果を考えれば、システム開発会社の活用がいかにリーズナブルか、理解できるのではないでしょうか?

ほかのデータベースと比較して、トータルコストを抑えられるのもAccessのメリットです。DBMSであれば高性能なデータベースサーバが、FileMakerでもMac Miniクラスのサーバが必要なのに対し、AccessならNAS(ネットワークストレージ)での共有も可能です。

開発費用もDBMS、FileMakerなら最低でも400万円からが必要です。まさに中小企業担当者の悩みに応えられるのが「Access」なのです。

Webシステム開発を一括見積もりで発注先を楽に探す
比較ビズへ掲載しませんか?

Webシステム開発の案件一覧

Webシステム開発のお見積り案件の一覧です。このような案件に対応したい場合は「資料請求フォーム」よりお問い合わせください。

一括見積もりで発注業務がラクラク!

  • 無料一括見積もりで募集開始
  • 複数の業者・専門家から提案が入る
  • ピッタリの一社を見つけよう

不透明な見積もりを可視化できる「比較ビズ」

比較ビズは「お仕事を依頼したい人と受けたい人を繋ぐ」ビジネスマッチングサービスです。
日本最大級の掲載企業・発注会員数を誇り、今年で運営15年目となります。
比較ビズでは失敗できない発注業務を全力で支援します。

日々の営業活動で
こんなお悩みはありませんか?

営業活動でよくある悩み

そのお悩み比較ビズが解決します!

詳しくはこちら
お電話での見積もりはこちら