2012-01-29 14 views
0

私はアンドロイド開発には初めてです。私は電話帳アプリを開発しています。私がやっていることは、電話帳に連絡先を入力しようとしていることです。各連絡先には名前、番号、emailIdがあります。 3つのデータベースはそれぞれ別のデータベースに格納されているため、連絡先、電話番号、電子メールdbを順番に読んでいます。最初の読み取りから取得したcontactIdに基づいて、私は他の2つのテーブルを照会しています。ただし、連絡先データベースから取得したcontactIdは、電話と電子メールの連絡先IDと一致しません。 私は、Contacts._IDが3つのテーブルのすべてのキーであることを前提としています。 私がここで間違っているかどうか教えてください。連絡先IDの値はアンドロイド

答えて

0

DBを分離したとすると、同じデータベース内の異なるテーブルを意味するのでしょうか?とにかく、いわゆる "外部キー"を使う必要があります。私はあなたがGoogleの場合、多くの情報を見つけることができると確信しています

リレーショナルデータベースを使用していると仮定して、 "プライマリキー"の列を持つテーブルT1を持っているとしましょう)T1_PKとしましょう。 あなたのケースでは、特定の連絡先の電子メールアドレスを持つテーブルのような最初のテーブルを参照する2番目のテーブルT2があるとします。この2番目の表では、T1_FKのような列が必要です。この列は、関連する連絡先が格納されているT1の未処理部分を「ポイント」します。この列にはT1の値が列T1_PKに格納されます。

SELECTコマンドにSQLとJOINキーワードを使用すると、すべてのテーブルのすべての情報を含むビュー(「リレーショナルデータベース」も使用できます)を作成できます。

+0

Thx Herschel。連絡先と電話テーブルの共通の列としてcontact_idを取得しました...それが私の問題を解決しました。 – rahul

0

関連するレコードを識別するためにテーブルにいくつかの一意のIDが必要です(contacts_idではない可能性があります)。連絡先テーブルからのIDだけです。

関連する問題