FacebookやGoogle+を含む複数のソースからユーザーがサイトにログインするようなWebサイトを構築しています。私のデータベースの各ユーザーには、コメントや投稿などの作成を追跡できるようになりました。どのように効率的にこれをSQLデータベースで行うのですか?ユーザーの種類ごとに新しいテーブルを作成しますか?複数のタイプのユーザーを1つのデータベースにまとめるにはどうすればいいですか
答えて
通常のアプローチがある:
- Facebookの特定データと共通データと
USER
テーブル FACEBOOK_USER
テーブル(それ自身のPKとUSER
FKだ有する)GOOGLE_USER
テーブル...
ユーザーを読み込むときに、すべてのテーブルを結合することも、多くの特殊な型がある場合は、ユーザーを読み込んで個別に読み込むことができます(USER
のテーブルにIS_x_USER
を保存しておくとよいでしょう)。
ユーザーテーブルとユーザータイプテーブルの2つのテーブルが必要です。ユーザテーブルには、ユーザタイプテーブルにリンクしてそのタイプを示すタイプのカラムがあります。 Google+ではやFacebookのようなタイプの各ログに固有の情報を持っている場合は、タイプの各特定のログ用のテーブルを作成することができ
User (
Id Int NOT NULL PRIMARY KEY,
UserName VarChar(50) NOT NULL,
EmailAddress VarChar(100),
{... More fields generally used by all account types ...}
UserTypeId Int NOT NULL
)
UserType (
Id Int NOT NULL PRIMARY KEY,
Type VarChar(50) NOT NULL
)
:私はこのような基本的なものになるだろう。しかし、現実には、可能な限り異なる種類のすべての基本情報フィールドが同じになるため、心配することはほとんどありません。
お返事ありがとうございます。 usertypeテーブルはユーザテーブルのユーザIDのようになり、タイプ番号などとなりますか?このメソッドは、私はFacebookやGoogleから実際のユーザーIDを格納することができますか?それは私が走っていた問題だったので、IDを重複する可能性なしに、そのIDを格納したいのですか?複数のテーブルを作成する必要があるようでした。 –
したがって、User.Idは各ユーザーに固有です。ただし、2人のユーザーが同じUserNameを持つことはできますが、異なるUserTypeIdを持つことができます。この場合、User.Id列を使用して、ユーザーが情報を作成したユーザーを他の各テーブルで識別します。 –
- 1. 複数のタイプのデータベースに1つのObjectContextを使用するにはどうすればよいですか?
- 2. 複数のドメインオブジェクトを1つのフォームにまとめるにはどうすればよいですか?
- 3. 1つのディレクティブに複数のdivを含めるにはどうすればよいですか?
- 4. Django:複数のグループを1つのファイルにまとめるにはどうしたらいいですか?
- 5. 1つのインサートのテーブルに複数の行を追加するにはどうすればいいですか?
- 6. SELECTで2つのテーブルを1つにまとめるにはどうすればよいですか?
- 7. 1つの「脳」にアクセスする複数のサイトを扱うにはどうすればよいですか?
- 8. ブログエンジンのデータベースをTumblrのような複数の投稿タイプのために構造化するにはどうすればいいですか?
- 9. イベントメソッドに1つまたは複数の値を返すにはどうすればよいですか?
- 10. 1つの要素に複数のXAMLスタイルを適用するにはどうすればよいですか?
- 11. 1つのMavenプロジェクトに複数のWARファイルをパッケージ化するにはどうすればよいですか?
- 12. 複数のバープロットを1つのグラフに表示するにはどうすればよいですか?
- 13. 1つのファイルに複数の機能を追加するにはどうすればよいですか?
- 14. 複数のクラスに1つのSetUpTestFixtureを使用するにはどうすればよいですか?
- 15. 複数のラジオボタングループを1つのフォームに作成するにはどうすればよいですか?
- 16. 複数のffmpegストリームを1つの4x4コラージュに結合するにはどうすればよいですか?
- 17. 1つの入力に複数のセルを追加するにはどうすればよいですか?
- 18. 複数の部分テンプレートを1つのファイルにマージするにはどうすればよいですか?
- 19. 複数のPloneサイトを1つのサイトに結合するにはどうすればよいですか?
- 20. 複数のRecycleviews/GridViewを1つのアクティビティに追加するにはどうすればよいですか?
- 21. アンドロイドの1つのアクティビティで複数のレイアウトを使用するにはどうすればよいですか?
- 22. 複数の画像を1つのモデルに投稿させるにはどうすればよいですか?
- 23. 複数のタブコントロールページに1つのコントロールを表示させるにはどうすればよいですか?
- 24. 1つのリポジトリから複数のiOSアプリケーションを保守するにはどうすればよいですか?
- 25. 複数のIDから1つのIDを照合するにはどうすればよいですか?
- 26. 1つのサーバーで複数のWSGIアプリケーションを設定するにはどうすればよいですか?
- 27. 1つのポートで複数のWCFサービスを実行するにはどうすればよいですか?
- 28. 1つのフォームで複数のアクションを実行するにはどうすればよいですか?
- 29. 複数のパスワードを1つのキーで暗号化するにはどうすればよいですか?
- 30. キュウリ:1つの例で複数のシナリオアウトラインを使用するにはどうすればよいですか?
お返事ありがとうございました。これは多くの意味があります。 –