• 締切済み

javaとaccessについて

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

  • Java
  • 回答数5
  • ありがとう数0

みんなの回答

  • 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

  • JAVAについて教えて下さい!!

    JAVAについて、教えて下さい。JAVAをPCにインストールするメリットとデメリットについて教えて下さい。セキュリティ上の問題はないのですか?宜しくお願いします。

  • javaからAccessをアクセスするときにファイルを直接指定できないのですか?

    JavaでMicrosoft Accessにアクセスするときに以下のプログラムでアクセスしました。 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection con = DriverManager.getConnection("jdbc:odbc:DBs"); このプログラムを作成する前にODBC データソース アドミニストレータでデータベースの登録を行いました。 データベース名はデータソース名に拡張子を付けた名前にしました。 ODBC データソース アドミニストレータの登録を行わずにプログラムの中にファイルの場所を記述してMicrosoft Accessにアクセスすることはできないのでしょうか?

  • JAVAを使う理由を教えてください。

    ASPにするべきかJAVAにするべきか迷っています。 JAVAを使う理由、メリット、デメリットなど 教えてください。

  • javaでのアクセスカウント

    javaでアクセス解析のプログラムを作成しました。 IPアドレス、tomcatセッション、ユーザーエージェントを保存して、カウントをしています。 次にbot対策を行いたいのですが、ユーザーエージェントで絞る以外にbotの除外方法はないでしょうか? 何か良い案がありましたら、ご回答をお願いします。

  • Java Generics の Enhhanced for-loop におけるメリット

    私自身JAVAに明るくないのですが、なぜか更に分かっていない人にプレゼンをすることになってしまいました。プレゼン内容は「JAVAプログラム・コーディングでGenericsを使用するメリット、デメリット」で、Enhhanced for-loop のケースということで……。ネットで色々調べて、メリットとしては「Genericsを使いこなすと、Java言語プログラム・コードを大幅に簡略化できる」ということは分かりましたが、その他のメリットやデメリットなどがよく分かりません。(loopが始まると途中で止められない?というようなことが分かったような分からないような) どなたか、素人でも分かるように単純明快に解説して下さい or 解説しているサイトを教えて下さい! どうかよろしくお願いします!

    • ベストアンサー
    • Java
  • Javaから未フォーマットのディスクへのアクセス

    Javaから未フォーマットのディスクへのアクセス Windows上でドライブレターは割り振られているが、そのドライブにアクセスすると「未フォーマット」として認識されている媒体に対して、Javaのプログラム(JNI使わず)からRAWイメージを読み出すことはできますか?

    • ベストアンサー
    • Java
  • Javaのフレームワークについて

    Javaのフレームワークについての質問です。 現在、Webアプリケーションのショッピングサイトのようなサーバー側の規模がちょっと大きくなるものに関しては、スクリプト言語のPHPやRubyの代表的なフレームワークを使って作成しているのですが、Java用のWebアプリケーションのフレームワークもこれから使ってみたいと考えています。 それで、質問なのですが、 (1)現在、Java用のWebアプリケーション作成のフレームワークで世の中で皆さんが一番使われているものってどれになるのでしょうか?私が現在知っている限りでは、Struts、Struts2、JSF(Java Server Faces)、Seasar、Seasar2 くらいがあるのですが、使い分けのコツみたいなものがあれば教えていただきたいのです。(それぞれの、メリット、デメリットのようなもの。) (2)スクリプト言語のフレームワークとJavaのフレームワークの使い分けのようなものも分かれば教えてください。私の認識では、Java用のフレームワークを用いて設計しなければいけないものって、たとえば大手銀行の決済システムとか、かなり規模の大きなものを想定しています。プログラムの動作スピードを上げたい時とか、セキュリティー関係を厳重に行い時などを想定しています。Javaのフレームワークを使うメリットなども分かれば教えてください。 よろしくお願い致します。

  • JavaとPHPの違い

    JavaとPHPの違い Javaのメリット、デメリット、 PHPのメリット、デメリット。 2つの優位性をよかったら教えてください。(下矢印)(下矢印) 発表の資料で困ってます。(下矢印)(下矢印)

  • javaのメリット、デメリット

    javaのことを改めて知るためにjavaのメリット、デメリットを調べているのですが、ほかの言語と比べるとどこでしょうか? Webにもいろいろありましたが、情報が交錯していて整理できないのでよろしくお願いいたします。

  • アクセスカウンタのメリット、デメリット

    個人のホームページを作成しつつ公開しています。 アクセスカウンタは今はまだつけてません。 それでずばり、アクセスカウンタをつけるメリット、デメリット、なぜにアクセスカウンタを設置するのか、その目的、真意について、教えてください。

専門家に質問してみよう