データベース構築をAccessで開発したらいくらになるのか?

更新日:2020年06月03日 発注カテゴリ: Webシステム開発
データベース構築をAccessで開発したらいくらになるのか?

Accessは、お手軽にデータベース構築ができるメリットがあることから、多くの企業が活用をしています。とはいえ、お手軽といっても自社でデータベース構築をするとなると…なかなか難しいのが現実ですよね。特に中小企業では、IT関係の高いスキルを持っている人がおらず、なかなか手を出せずに困っているケースも多いです。ただ、声を大にして伝えたいことは「うろたえるな!」です。規模の小さなデータベースであれば、自社開発で構築できる可能性があるので、うろたえないで欲しいのです。まったくの素人だと難しいことは間違いありませんが、データベースとは何なのか?を知っていれば可能性があります。これに加えて、エクセルを使いこなせるスキルも持っていれば…さらにデータベース構築ができる可能性が高まります。ここでは「Accessとは何なのか?」「Accessを使ったデータベース管理とは?」「どうやって作っていくのか?」を中心にお話をしていきます。また、自社での構築がどうしても難しいと判断した場合のために、外注へ依頼をしたとき、どれくらいの費用になるのか?も軽く紹介をします。

関連する記事

Accessを使ったデータベース構築の基本を知ろう!

まずは基本中の基本である「そもそもAccessって何よ?」から説明をしていきます。

ここで、しっかりと基本的なことを学んでいきましょう。

(すでに知っている人は読み飛ばしてもらっても構いません)

Accessってどんなデータベース?

Microsoft社が提供しているデータベースで「簡易的なデータベース開発ができるお手軽ツール」という位置づけです。

データベースの種類は、リレーショナル・データベースとなり、各データを関連付けて情報を管理するツールになります。

リレーショナルを直訳すると「関係のある」「相関的な」というようなニュアンスになるので、関係のある情報の集まりと和訳できるわけですね。

正直なところ、これだけでは漠然とした理解でフワフワしているかと思います。

今のところは、このフワフワ状態で問題はありません。

この後、読み進めていけば、徐々にAccessというデータベースの輪郭がハッキリとしてくるはずです。

Accessのメリットは?

データベースには、Oracle(オラクル)、SQL Server(エスキューエルサーバ)、MySql(マイエスキューエル)などの種類があり、さまざまな業界で大活躍をしています。

本題であるAccessは「お手軽ツール」の立ち位置になっているため、これらのデータベースとは一線を画する存在となっています。

最たる例は、アプリ開発をしている会社などでは「扱うデータが多くなってきたから、サクッとAccessを使ってデータベース化でもするか…」といったノリで作れてしまうほどの手軽さなのです。

オラクルなどは、このような手軽さはまったくないため、本格的なデータベースを作る専用のツールといった方がいいかもしれませんね。

ともあれ、Accessには多くのメリットがあるので箇条書きにしておきますね。

  • Microsoft Officeとして簡単に購入することができる
  • 他データベースと比較しても安価に購入することができる
  • 安価なデータベースなのに意外とできることは多い
  • データベース開発が簡単に行うことができる
  • ExcelやCSVを始めWindowsとの相性がよい

Accessのデメリットは?

複雑なテーブル設計ができない、複雑なSQL文が書けないデメリットがあります。

一言で言えば、規模が大きく扱うデータの種類が多いとAccessは使えないということです。

また、データを更新している最中に何かしらの異常が発生するとファイル自体が壊れてしまうこともあります。

一応は、修復機能が備わってはいますが、おまけ程度の機能と理解しておいた方がよいです。

こまめにバックアップを取っていくしかないわけです。

Accessを使ってどうやってデータベースを構築するのか?

Accessを使ったデータベースの構築手順について、ポイントを絞って説明していきます。

手順を一読してもらって「できそう」と感じてもらえれば、自社でのデータベース構築を挑戦してみるのもよいかもしれませんね。

逆に「できなさそう」と感じたとしても、実際にAccess開発業者へ依頼をするときに、話を進めやすくできるメリットが生まれるので、ぜひ知識として持っておいてください!

手順1. Accessデータベースを使って何をやりたいのか?を決める

データベース構築を行う場合、よく陥ってしまう失敗が「データベースで管理させるデータを一生懸命考えてしまう」ことです。

何がいけないのか?と疑問に思うかもしれませんが…この考え方は、データベースを構築することに満足してしまうパターンにハマることが多いので注意をしたいところなのです。

あくまでも大切なことは「最終的にAccessデータベースで何をして、何に使いたいのか?」です。

部品の在庫管理をしたい、従業員の勤務時間を管理したいなど、最終ゴール地点をハッキリさせることでデータベースで管理する情報が定まります。

手順2. データを取り出して具体的に何をやりたいのか?をハッキリさせる

手順1で決めた「やりたいこと」を、さらに ""細かいやりたいこと"" に落とし込んでいきます。

従業員の勤務時間を管理したい例であれば、勤務時間を使って何をやりたいのか?を決めていくわけです。

例えば、給与計算を楽にしたい、36協定の管理をしたい、人件費の算出を簡単にしたいなど、さまざまなことができます。

手順3. 具体的なやりたいことに必要なデータをピックアップする

具体的にやりたいことが決まったら、続いては「実現するために、どんなデータが必要になるのか?」をピックアップしていきます。

例えば、勤務時間を管理して給与計算をしたい場合は、従業員の基本情報、従業員の職級、基本給の金額、有給残日数、欠勤数、早退・遅刻数など、意外と多くの情報が必要となることが分かります。

このピックアップしたものが、データベースの1つ1つのデータとして保存をしていくことになります。

(エクセルでいう列名に当たるデータになります)

手順4. ピックアップしたデータを表にしてみる

イメージとしては…ピックアップしたデータを表に落とし込んでいく作業になります。

データベースの世界では、ここからの作業を「テーブル設計」と言います。

非常に重要な工程ですが、考え方は単純なので身構える必要はまったくありません。

エクセルが使える人は、このエクセルをイメージしながら読んでいくと理解が進みやすいと思います。

手順5. 大きな表にしたら細かい表に分解していく

データベースは基本的に細かな表(テーブル)をいくつも作って、それをリンク付けてデータの管理をしていきます。

(豆知識:このリンク付けが最終的には「関係のあるデータ群」となり、リレーショナル・データベースと呼ばれるゆえんとなっているわけですね)

細かく分割するときのポイント「重複情報があるか?」

表を分割するとき、同一の情報が多くあるか?ないか?が、まず1つ目の基準となります。

例えば、職級ですが「平社員」「主任」「係長」「主査」「主幹」「課長」など多くの種類があります。

ですが、これの情報は各々の社員に1つだけ与えられる階級ではないですよね。

平社員は大勢いますし、主任も大勢います、係長からは少人数にはなってきますが同一のポジションの社員はいます。

このような情報を1つの表にして、Indexを付けてあげるわけです。

Index:1 = 平社員、Index:2 = 主任、Index:3 = 係長…のようなイメージの表を作っていきます。

細かく分割するときのポイント「固有の情報か?」

続いての細かく分解するポイントは「それだけしかない唯一無二の情報か?」です。

正直なところ、頭に「???」とはてなマークがたくさん付いてしまった人が多いと思いますが…凄く単純な話なので頑張りどころです!

単純に社員一人一人の情報って、唯一無二の情報ですよね。

性別や年齢、名前、生年月日、住んでいるところなど、その人だけの情報を集めた表も一緒に作っていくというイメージです。

具体的には、以下のようなデータがいくつもデータベースの表(テーブル)に登録されていくことになります。

社員管理表 データ1 社員管理表 データ2
社員番号 12345678 00001234
名前 日本太郎 東京次郎
性別
年齢 25 44
入社日 2020年4月1日 2000年4月1日
所属 開発部 人事部
職級 1 2

当然、唯一無二の情報となるため、会社で管理する場合は、社員数分の情報が表(テーブル)に登録されることになります。

こうすることで、2020年4月の給与の情報を作るときに「社員番号」だけを登録すれば「その人だ!」ということが分かるようになります。

その結果、余計な情報を給与表に登録しなくてもよくなるわけですね。

2020年4月給与表
社員番号 12345678
基本給 200,000円
残業 30時間
支給額 260,000円

イメージは上記のようなデータの持ち方になります。

2020年4月給与表には、社員番号が紐付け(リレーションシップ)されているため、これをたどっていけば名前や年齢、職給などが分かるわけです。

これが意味することは、2020年4月給与表には、社員の詳しい情報を記載しなくても社員番号だけで事足りるということで、ここがデータベースのポイントになる部分です。

各データの種類を決める

データベースでデータを管理する場合、そのデータの種類をデータベース自身へ教えてあげないといけません。

年齢だったら「整数型」、名前だったら「文字列型」、生涯年収だったら「長整数型」…のようなイメージです。

データベースを制御するためのユーザインタフェースを作成

Accessが手軽と言われるゆえんが、データベースの表を作った勢いでユーザインタフェースの作成ができるからです。

Oracleであれば、専用の開発環境を用意して作成していかないといけませんが…それこそ、エクセルのVBAと同じ要領で操作画面を作っていくことができます。

もちろん、プログラミングになるので、ある程度のスキルが必要となります。

「エクセルを使えば問題ないのでは?」問題について

Accessの導入を考えるとき「エクセルを使えば事足りるのでは?」と、ためらってしまうことがあります。

逆に、Accessでデータベースを導入したものの、実際に運用してみたらエクセルで事足りた…と、逆のパターンもあります。

このような残念なことにならないためにも、導入する前、どちらで運用するのか?をハッキリと決めたいところですよね。

そこで、ここではエクセルをデータベース代わりにしたときに起きる問題、さらには「どっちにしたらいいのか?」の判断基準も記載するので参考にしてください。

エクセルを活用した場合に起こる問題とは?

エクセルをデータベースのような使い方をしたとき、メリットは「手軽に自作することができる」ことが挙げられます。

さらに、もともと表計算ソフトとして名を馳せているソフトであり、使いこなせる人も多いのでとっつきやすいわけです。

反面…2つの大きな問題が発生します。

それが、OSやOfficeのバージョンに依存すること、扱えるデータ量に限界があることです。

OSとOfficeのバージョンに大きく依存する問題

1つ目が、OSのバージョンとOffice(エクセルやワードなど)のバージョンに大きく依存をしてしまうことです。

特にエクセルは頻繁にバージョンアップしていくため、最悪の場合、その都度で更新作業をしていかないといけません。

さらに、更新作業を続けていくと「こっちを修正すると、あっちに問題が発生し…あっちを修正すると、こっちに問題が発生する」という残念な状態になってしまいます。

Accessでデータベース化をした場合、バージョンに依存しにくいメリットがありメンテナンスが楽になります。

扱うデータ量が多くなると途端に重くなる

2つ目が、エクセルがものすごく重たくなる可能性があり、大きなストレスを感じてしまう可能性があることです。

データベースではないため、どうしても扱うデータが大きくなってしまうと処理が追いつかなくなって重くなってしまうわけです。

例えば、数式を各セルに埋め込んでいったり、条件付き書式を各セルに設定をしたりと、さまざまなことをエクセルにさせつつも、扱うデータが多くなれば当然の結果といえます。

また、このように重くなった後に改善をしたいと思っても、それこそ重たすぎて手がつけられない状況になることも耳にします。

エクセルで厄介なのが、ネットワーク上に置いてあるファイルを他方からアクセスされてしまって、データの整合性がとれなく問題にも繋がってきます。

問題がクリアできればエクセルで問題なし

逆の捉え方をすれば、2つの問題さえクリアできれば、全然、エクセルでも問題ありません。

例えば、OSバージョンやOfficeバージョンは、まったく上げずに運用をしてもいいわけです。

そもそも、OSやOfficeのバージョンアップは、セキュリティ対策や機能改善が大きな目的となります。

外部ネットワーク(全世界につながるネットワーク)に繋げなければ、セキュリティは関係のない話ですし、使い慣れていれば機能改善も不要で、バージョンアップをする意味がありません。

また、エクセルが重くなることも、使い方を限定(ローカルPCでのみ利用するなど)して、エクセルの最大の弱点でもある「排他処理」を物理的に行えば、こちらも解決できるわけです。

エクセルとAccess…どっちを使えばいいのか?の判断基準

とはいえ…エクセルでの対応ができなくなる境界線は確実に存在するので、ここでは判断基準となる1つの考え方を伝えておきたいと思います。

ズバリ「同等の要求仕様をExcel開発業者(VBA)とAccess開発業者の両方に出して見積もりをしてもらう」というものです。

その結果、基本的には安い方を選択すればいいですが、Accessの開発の方がエクセルに比べて面倒なため高くなる傾向があります。

ですので、見積額の差をみて「メンテナンス性」や「機能性」、「サポート内容」を総合的に判断して決めていくといいでしょう。

もし「メンテナンス性」など、よく分からないという場合は、見積もり時に「OSバージョンが変わったとき、どれくらいの費用が発生するか?」と、何かしら変更があったことを想定して質問してみるといいです。

ここの費用差を1つのメンテナンス性の良し悪しの判断材料にすることができます。

余談ですが…ここの答えが窮してしまうような業者の場合、メンテナンス性が低く、ちょっとした変更をお願いしただけでも大きな費用を請求してくる可能性が高いです。

実際にエクセルで試してみることも判断基準となる

ニュアンスで非常に申し訳ないのですが…「やりたいことがエクセルでできそうだな」ぐらいの手応えがある場合は、実際にデータベース代わりに構築してみるのもいいです。

ただし、以下の手順を踏んでください。

  • 1. まずやりたいことを業者に見積もってもらう(見積もりをしてもらうだけ)
  • 2. やりたいことをエクセルでやってみる
  • 3. エクセルでやってみた結果を振り返る
  • 4. OKならエクセル、NGならできなかったことを伝えてAccessで対応してもらう

この方法のメリットは「判断基準が明確なため失敗が少ない」ということで、デメリットは「結局、Accessを利用することになった場合、作ったエクセルが無駄になる」ことです。

ただ、結局Accessを選択したとしても、やれなかったことを明確に伝えることができるため、まったくの無駄になるわけではありません。

つまり、業者とスムーズな話し合いをすることが可能なので、適正な費用でAccessデータベースの構築が可能になります。

Accessデータベース構築化を業者に依頼したときの費用は?

最終的にAccessのデータベース構築を業者へ依頼をしようとした場合、どれくらいの費用か?を知りたいところです。

ここからは代表的な2パターンを想定して費用相場を紹介したいと思います。

1つ注意して欲しいことは、あくまでも相場であって条件によって大きく金額が変わる可能性があるということです。

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

勤怠を管理して月ごとの勤務時間や休みなどを出力するようなデータベースを構築した場合ですが…単純なものであれば70万円前後で実現可能です。

用意するテーブルも多くはないですし、ユーザインタフェースも単純なものになるため1ヶ月程度で作成することができます。

もし、管理している勤怠データを使って給与明細の出力もしたいとなると、開発規模が大きくなるので費用は高くなりますが…それでも、3ヶ月程度で作れるので200万円を切るぐらいで実現が可能です。

ちなみに、この場合「登録する従業員数の多い・少ないは開発費用に影響しない」ということです。

単純に扱うデータ量が多くなるだけであって、テーブルや画面が増えるわけではありません。

したがって「従業員数が多いので費用が高くなる」ような見積もりが出てきた場合は、要注意業者となります。

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

経理を管理するデータベースともなると、さまざまな情報が必要となるため、データベースのテーブル設計が複雑なものになります。

となれば、比例して費用も高くなってくるわけですが…中小企業の一般的な経理システムであれば、4ヶ月ぐらいの開発規模で300万円ぐらいが妥当な線となります。

これが高いとなれば、管理するデータの種類を減らしたり、あくまでも支援ツールとして使うだけと割り切って特定の経理データだけに特化したりすることで削減が可能です。

逆に、高機能を求めれば比例して費用が高くなります。

法律が変わったとき、簡単に計算テーブルを更新ができる機能があったり、事細かい条件を追加してスグにでも税務調査に対応ができるような帳票を出せるようにしたり、これら機能を作るにはスキルと時間を要する代表格です。

ただ…こればかりはピンきりなので、いろいろと業者と調整をしていきましょう。

裏技!エクセルとAccessの両方を使えば…安価に!?

ちなみにですが…AccessはエクセルやCSVとの相性が抜群です。

したがって、自社である程度のデータをエクセルで管理できているのであれば、これを使ってデータベース作りをすることも可能です。

つまり、ベースが既にできているので、費用を安く押さえることができます。

業者の中には「そのエクセルデータは使えない。すべてゼロからの開発になるため費用は○○万円。」と見積もりを出してくることがあります。

これが意味することは、単純に業者のスキルが低いか、依頼者の足元を見てふっかけてきているかのどちらかです。

ただし、デメリットとして、データベース構築とエクセルとが「中途半端」な状態になるリスクもあることは理解しておいてください。

上手にバランスの取れたシステムにすることがキーポイントになってきます。

ともあれ、既存エクセルと連結する場合、Accessはエクセルの支援ツール的な存在になるイメージで構築をしていくといいでしょう。

まとめ:他データベースと比較をすれば安価に構築可能

ということで、Accessのデータベース構築について触れてきましたがいかがでしたか?

確かに難しい面もあったかもしれませんが、基本的にはデータを管理しているだけなので仕組みとしては簡単です。

IT系の話をするとき、さまざまなカタカナや小難しい考え方が出てくるので条件反射で「難しい!」とアレルギー反応を出してしまう人が多いですが、難しい話ではないので落ち着いてじっくりと読んでみてください。

また、Accessは、Oracleなど大規模なデータベースと比較をすると、安価にデータベースが構築することが可能です。

例えば、経理システムの場合「4ヶ月で300万円程度」と記載しましたが、Oracleだと「6ヶ月500万円〜」となります。

ちなみに、この相場は「1人で開発した場合」と想定しているので、ケースによっては2人・3人で取り掛かることもあり、さらに費用は上がっていきます。

ともあれ、Accessは小規模〜中規模に向いているデータベースなので長くても4ヶ月程度に収まるぐらいを目安にしていくといいです。

Webシステム開発を一括見積もりで発注先を楽に探す

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

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

比較ビズへ掲載しませんか?

カテゴリ一覧

人気記事

Webシステム開発の最新記事

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

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

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

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

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

営業活動でよくある悩み

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

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