2012-03-09 10 views
-1

それぞれのテーブルがアカウントを表す複数のデータベーステーブルをAndroidで作成しようとしています。私はデータベースあたり1つ以上のテーブルを取得するのに苦労しています複数のデータベースをAndroidで作成する

誰にでも私に表示できるサンプルコードはありますか?または何か提案?

おかげ

答えて

2

私はあなたのアプリケーションについては何も知りませんが、あなたがあなたのデータベーススキーマを設計している方法は、少し疑問に聞こえます。すべてのアカウントのテーブルを作成することは本当に最も効果的ですか?

にかかわらず、SQLiteでテーブルを作成することはかなり簡単です。 SQLiteOpenHelperクラスでは、db.execSQL(CREATE_TABLE_STATEMENT)を呼び出してテーブルを作成できます。ここで、CREATE_TABLE_STATEMENTは、特定のテーブルのSQLステートメントです。作成する必要があるすべてのテーブルに対してこれを呼び出すことができます。これは通常、データベースが初期化されたときにSqliteOpenHelperのonCreateメソッドで呼び出されますが、ヘルパーの外でも呼び出すことができます。

+0

私はデータベースのフォーマット方法があまりよくありません。私は、各口座にそれ自身のテーブルがあり、そこに記載されているすべての取引が一番簡単だと思っていました。 –

+1

また、あなたのアカウントに正確に何が入っているのかよく分かりませんが、アカウントごとの表のデザインは良い選択ではありません。あなたが100,000のアカウントを持っているとどうなりますか?あなたは100,000のテーブルを持っていますか?なぜ勘定テーブルと取引テーブルを持っていないのですか?次に、取引テーブルは外部キーを使用してaccountsテーブルを参照します。 –

+0

どこにでも1から10,000の取引があるので、それぞれ2-3の口座しかないので、最も簡単な方法です。 –

0

かなりの量のテーブルとデータを使用する場合、資産フォルダにあらかじめデータベースを入れておくなど、別の方法もあります。

0

私がアンドロイドでデータベースを使い始めたとき、私はこれが非常に親切であることを発見しました。

http://developer.android.com/resources/tutorials/notepad/index.html

psのは、今あなたが唯一の2-3のアカウントがあることに言及したことを、一つのテーブル/アカウントを作成すると、はるかに合理的な最初の予想より聞こえます。

実際には、データの処理対象とパフォーマンス要件がどこにあるかによって異なります。トランザクションタイプのデータが非常に異なる構造を持つ場合、各(固定)タイプのトランザクションに対して1つのテーブルまたは複数のテーブルを使用することもできます。

0

Androidでデータベーステーブルを作成するのは非常に難しいです。 db.execSQL(CREATE_TABLE_STATEMENT); DBはSQLiteDatabaseオブジェクトとCREATE_TABLE_STATEMENTであるあなたのあなたが明確にアプリの要件を説明しなかったが、私はユーザーごとに1つのテーブルを作成するあなたのアプローチでは、いくつかの短所を見ることができますあなたの質問のように、テーブルのSQL文

を作成している

  1. 作成し、多くのユーザーが存在する場合は、一部のユーザーまたはすべてのユーザー間で共有されるだろういくつかの情報、設定が後でに、あなたがそれらを複製する必要があります場合は、uがウルデータベース
  2. に多くのテーブルを持つことになりますすべてのユーザーの単一表で

ユーザーのテーブルが1つあり、1つの列のトランザクションの別のテーブルがuser_idで、ユーザーテーブルにリンクすることをお勧めします。後でデータベースを拡張または維持する方が簡単です。

希望します。

関連する問題