0

MySQL のようなデータベース ソフトウェアの有用性を本当に理解していないのではないかと心配しているので、おそらくこれは簡単に答えられる質問です。

私は、プログラムで使用するための獣医学を保存してアクセスするプログラムを書いています。これはスタンドアロン アプリケーションです。つまり、インターネットやデータベースには接続しません (サーバーへの接続が必要な印象を受けます)。現在、単純なパターンで解析する膨大な .txt ファイルがあります (生息地は 7 行目から 10 行ごとに、名前は 1 行目から 10 行ごとに、など)。これは解析エラーを起こしやすいです。 (多くのデータが怠惰なデータ入力者によってコピー/貼り付けされているため、指定されたエンコーディングでは認識できないデータを読み取る際の問題) そして私はただ感じますデータが必要になるたびに巨大な .txt ファイルを解析するのは非常に非効率的です。さらに、「All of our important data.txt」という名前の .txt が配置されたデプロイ済みプログラムを見たことがありません。

データベースは答えですか?このような基本的なアプリケーションで単純に使用できますか? 動物ごとにクラスを書くのはばかげているように思えます。XML も役立つと聞いたことがありますが、マークアップ言語であること以外はほとんど何も知りません。

要約すると、アプリケーション内に大量のデータを格納する方法がわかりません。例えるなら、辞書/百科事典アプリケーションのデータをどのように保存しますか?

4

2 に答える 2

3

ということは、インターネットにアクセスできないスタンドアロン アプリケーションはデータベースに接続できないということですか? DBがスタンドアロンアプリに存在できないという基本的な仮定は間違っています。今日の Web アプリケーションは、ブラウザ支援の SQL データベースを使用してデータを保存します。必要なのは、憶測ではなく、実験することだけです。指示が必要な場合は、軽量のSQLiteから始めてください

于 2013-09-18T04:09:35.417 に答える
0

データベースは、あなたが説明している種類のアプリケーションにとって間違いなく良いアイデアですが、データをまったく変更する必要がなく、「巨大な」データがない場合に適した別の提案をします。それの量。

Java は、オブジェクトをシリアライズする機能を提供します。これを使用して、オブジェクト インスタンス データをファイルとの間で直接永続化および取得できます。この単純なアプローチを使用すると、次のことができます。

  • テキスト ファイルを解析して、シリアライズ可能なアプリケーション固有のオブジェクト インスタンスのコレクションにするコードを記述します。
  • これらのインスタンスを、アプリケーションの一部を形成するいくつかのファイルにシリアル化します。
  • アプリケーションが実行されるたびに、オブジェクトをメモリに逆シリアル化します。
  • 独自の Java コードを記述して、これらのオブジェクトからデータを自分で検索および取得します。たとえば、カスタム コンパレータで順序付けられたコレクション構造を使用します。

次の場合は、このアプローチで十分です。

  • データが変更されるとは思わないでください。
  • アプリケーションが実行されると予想される JVM のメモリ内に常に収まることを期待してください。
  • 高度なクエリ機能は必要ありません。

上記の 1 つ以上が当てはまらない場合でも、このアプローチを試すのに適している可能性があります。そのため、次のステップは、 HibernateCastorなどのいわゆるオブジェクト リレーショナル マッピング ツールを使用してシリアライズ可能なデータを永続化することです。ファイルではなく、データベース (XML またはリレーショナル) です。そこから、データベースの機能を使用して、データを維持およびクエリできます。

于 2013-09-18T04:40:17.103 に答える