• 締切済み

javaとaccessについて

今、javaで住所録を作成していますがレイアウトなどが上手くプログラム出来なくAccessで全部作ってしまおうと思っているのですが、今回に限らずAccessとJavaを比べてAccessで作成するとメリット、デメリットてありますか?

みんなの回答

  • t98907
  • ベストアンサー率0% (0/2)
回答No.5

jdbc-odbcドライバを使えば、javaでもaccessをデータベースにしてプログラムできます。データベースが小規模であったり、同時に複数からアクセスされる心配がなければ大丈夫だったりします。 sql serverやoracleをバックエンドにおき、accessをそれらのフロントエンドとして使えば、sql serverやoracleといった信頼性あるデータベースをaccessで簡単に操作できます。そしてフォームやレポートも簡単に作ることができます。それがaccessの利点です。 javaとaccessのvbaを比べた場合、プログラムの構造をすっきりさせることができるのはjavaです。 これらの言語からデータベースを使う場合の手間を比べると、daoやadoを使うaccessとjdbcを使うjavaでは同じくらいだと言えます。 データが大きくなったときはjavaなら不安がない、というのはちょっと誤解を招く言い方です。javaでもaccessをデータベースに使えば不安があります。accessでsql serverやoracleを使えば簡単だし、処理速度も問題ないと思います。

  • Bonjin
  • ベストアンサー率43% (418/971)
回答No.4

#1です。 >データが大きくなったときはJavaなら、なぜ不安がないのでしょうか? 一般的にデータベースというのはデータが増えれば増えるほど処理速度が遅くなります。 OracleやSQLServerなどの主要なDBMSはデータが増えてもなるべく処理速度を落とさないように設計されています。しかし、Accessは専用データベースではなく、使い勝手を重点にして設計されているので、処理速度はあまり考慮されていません。そのため、データが増えればそれに比例して処理が遅くなります。と言っても、現在のPCのスペックではそれほど差が出ないかも知れませんし、Accessの場合はデータのサイズに制限があるので問題ないかも知れません。「不安がある」と書いたのは実証しているわけではないのでそう書きました。 さて、Javaの場合はなぜ大丈夫なのかというと、Javaはプログラミング言語であってデータベースの実装とは無関係だからです。データベースにアクセスするためのインターフェース(JDBC)は提供していますが、それらはあくまでインターフェースであって、実装ではないからです。データの抽出や挿入・上書きなどはJavaから指示することが出来ますが、それを実行するのはデータベース自身です。 なので、Accessで作った場合は、Accessというデータベースを使用するしかありませんが(実際にはMSDEも使えますが)、Javaで作った場合は、OracleやSQLServerなどデータベース部分を自由に変更することが出来ます(独自機能を使っていなければ)。そのため、Javaで作る場合にはデータベース部分の速度というのはJavaに関係なくデータベースに依存します。

  • covachan
  • ベストアンサー率38% (46/120)
回答No.3

まず、DB(ファイル)にAccessを使用するという前提なら、絶対にAccessは必要になりますよね? であるならば、コストも同じ用にかかりますし、 それならば何をおいてもAccess単体で動くのベストではないですか? Access単体であるならばJavaとAccessとの親和性(ODBC関連?)などを考える必要もなくなりますし、 環境も設定する箇所が断然減ります。 ややこしい処理や、他のシステムとの連携などややこしい処理が必要でなければ、 Accessのデータを操作するためのVBAがありますからそれで十分事足ります。 結局のところJAVAは無駄以外の何者でもないと思います。

  • t98907
  • ベストアンサー率0% (0/2)
回答No.2

accessは開発環境が一通りそろっていますが、javaはオープンソース系ソフトを使う場合いろんなところからダウンロードする必要があり手間がかかります。ただideはaccessよりeclipseの方が優れています。 また、javaならソースコードの管理はeclipseからcvsが使えますが、accessだとvssになります。 accessのvbaは非常に簡単ですが強力です。ちまたに資料も多いのでサンプルコードなどを入手しやすいと思います。javaは少しハードルが高く、入手できる資料も少しむずかしめ、ちょっと突っ込んだことを調べると英語のwebサイトに行き当たってしまいます。 accessだと、帳票とレポートがguiで作成できるので楽です。javaはpdfのライブラリを使ったりjsfあるいはswingで苦労します。 accessは擬似オブジェクト指向とでもいう中途半端なものなので、javaのようにmvcモデルを意識してキレイに設計するのが難しいです。 目安として大規模な開発、複雑な仕様ならjavaで作った方が楽です。今回の件はお話を聞く限りaccessでさらっと作る方をオススメします。

  • Bonjin
  • ベストアンサー率43% (418/971)
回答No.1

JavaとAccessって多少分野の違う技術だから比較対象にはならないんですけど、Javaでデータベースを使ったアプリを作る場合とAccessのアプリを作る場合とで比べると・・・ Accessでのメリット ・Accessだけあれば作れる(データベースからプログラムまで1つのソフトで作れる) ・印刷(レポート)が簡単 ・GUIとデータベースの関連づけが簡単にできる(データとフォームの関連づけやValidationなど) デメリット ・ロジック層とデータ層が分離されていない(アプリケーション=データ) ・データが大きくなったときにAccessでの処理速度に不安がある ・バックアップ運用などの柔軟性に欠ける と、考えればもっとあるのでしょうが、すぐに言えるのはこんな所でしょうか・・・ 住所録程度の小規模なアプリならば、Javaで作るよりもAccessで作った方が開発効率も良く不具合も起こりにくいです。また、デメリットも書きましたが、移植時や大規模なものを作ったときのデメリットなので小規模アプリに取ってはデメリットでもないものもあります。 Access自体は小規模な開発では良くある案件です。某大企業も店舗の端末プログラムはAccessで出来たものを使っていたりもします。 要はJavaもAccessも問題を解決するためのツールの1つであって、要件などによって使い分けることが大切です。「Javaが流行だからJavaでやろう」とかではなく、「この問題を解決するにはこれを使うのが一番良い(適している)だろう」という考え方が大事です。

morumomo
質問者

補足

お答えありがとうございます。 希望通りの回答だったのですが、「データが大きく なったときにAccessでの処理速度に不安がある」 というのが、あまり理解できませんでした。 データが大きくなったときはJavaなら、なぜ不安がないのでしょうか?

関連するQ&A