2012-05-04 3 views
1

これは私の初めてのプログラミングです。私はmysqlコマンドで何をすべきか、そしてJavaで何をすべきかを理解するのに苦労しています(私はデータベースをJavaでプログラミングしています。なぜならWeb上で使用する必要がないからです)。mysqlコマンドではどのような処理を行うべきですか、Javaで何をすべきですか?

は、私は、次のパイプラインを持っていると言う:

  1. は、ユーザからファイルをエクセル得ます。このExcelファイルは、ID番号で識別できます。
  2. excelファイルから情報を抽出します。
  3. 抽出した情報をデータベースに保存します。この情報は、前述のID番号によって識別可能なままである必要があります。
  4. 該当するID番号を見つけ、保存された抽出情報を入手してください
  5. 情報を含むテキスト文書を作成してください。

私が助けが必要なのは、パート2です。 Javaクラスのインスタンスで情報を保存する必要がありますか? または、すぐにデータベースのすべての情報をテーブルに保存する必要がありますか?

今私はクラス内のすべてを見るのに慣れているので、データベースを使用するという点を見ても苦労しています。助けてください!

+2

デザインから判断してください。一意の各ユーザーエントリを簡単に保存できるため、データベースを推薦する情報を保存する必要があります。クラスを使用する必要がある場合は、直列化してファイルに書き込むことができます。クラスアプローチでは、DBの面倒なアプローチよりも重大なオーバーヘッドが発生する可能性があると思います。 – Venki

+1

データベースを使用する良い理由は、プログラムがクラッシュしても次回利用可能になります。 –

答えて

2

今私はクラス内のすべてを見るのに慣れているので、データベースの使用の点を見ても苦労しています。

データベースのヘルプ。プログラムを2回実行する間に情報を格納する必要がある場合、または一度にメモリに収まるより多くのデータを処理する必要がある場合(仮想メモリを含む)、データを保持する必要があります。そうしなければ、データベースは必要ありません。

特にMySQLはrelationalデータベースなので、リレーションに基づいてデータの一部(たとえば5つ以上の歯を持つすべてのウィジェット)を簡単に取得して操作できます。

クラスに慣れている場合は、他のクラスとのリレーションが1対1、1対多、多対多のクラスに慣れています。データベースは同じものを持つことができます。 1:1の関係では、列は同じ表にあります。 1:多くの関係:多くの関係では、結合できる表間の関係があります。

http://www.databasejournal.com/sqletc/article.php/1469521/Introduction-to-Relational-Databases.htmを参照して、データベースのコンテキストでの関係を紹介してください。

+0

ありがとう! どのデザインがより信頼性と再利用性に優れているか、あなたの意見を得ることはできますか? A.クラスFooのインスタンスに、クラスBarとBazのインスタンスが含まれています。次に、Fooをデータベース に格納します。B.クラスFoo、BarおよびBazのインスタンスを個別にデータベースに格納しますが、テーブルの同じ行に格納します。 – NoobieToobie

+0

@NoobieToobieは、データベースに何かを格納するために、[normal forms](http://www.bkent.net/Doc/simple5.htm)を使ってクラスをテーブルに分解してください。 –

関連する問題