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つのフォームにまとめるにはどうすればよいですか?
- 4. 1日に複数のCOUNTを1つのクエリに含めるにはどうすればよいですか?
- 5. 複数のデータテーブルを1ページにまとめるにはどうすればいいですか?
- 6. 複数のimageViewを1行にまとめるにはどうすればいいですか?
- 7. 1つのディレクティブに複数のdivを含めるにはどうすればよいですか?
- 8. Rust HashMapを作成するにはどうすればいいですか?値は複数のタイプのうちの1つになりますか?
- 9. 1つのプロパティをエンティティフレームワークとの複数のリレーションにマップするにはどうすればよいですか?
- 10. Django:複数のグループを1つのファイルにまとめるにはどうしたらいいですか?
- 11. 1つのJavaScript関数を複数の関数にコールバックするにはどうすればよいですか?
- 12. matlabの1つのウィンドウに複数のプロットを表示するにはどうすればいいですか?
- 13. 1つのインサートのテーブルに複数の行を追加するにはどうすればいいですか?
- 14. 1つのグラフに複数の線と点を表示するにはどうすればよいですか?
- 15. ConstraintLayoutで複数のビューを1つとして扱うにはどうすればいいですか
- 16. Java:これら2つのメソッドを1つにまとめるにはどうすればよいですか?
- 17. 1つのボタンで複数のパラメータの値を設定するにはどうすればいいですか?
- 18. 1つのボタンに複数のアクションを追加するにはどうすればいいですか?
- 19. 複数のモジュールを1つのAPKに構築するにはどうすればいいですか?
- 20. SELECTで2つのテーブルを1つにまとめるにはどうすればよいですか?
- 21. ブログエンジンのデータベースをTumblrのような複数の投稿タイプのために構造化するにはどうすればいいですか?
- 22. 1つのコマンドに複数の関数を追加するにはどうすればよいですか?
- 23. 1人のAndroidアプリで複数のユーザーを管理するにはどうすればよいですか?
- 24. 1つの「脳」にアクセスする複数のサイトを扱うにはどうすればよいですか?
- 25. 複数の列を1つの列に貼り付けるにはどうすればいいですか?
- 26. 1つのSQLトリガーで複数のイベントを使用するにはどうすればいいですか?
- 27. 3つのイメージを1行にまとめるにはどうすればいいですか?
- 28. 1つのオブジェクトを複数のScalatestスイートと共有するにはどうすればよいですか?
- 29. Kivy:2つの画面を1つにまとめるにはどうすればよいですか?
- 30. 1つの関数で複数のステートメントを実行するにはどうすればよいですか?
お返事ありがとうございました。これは多くの意味があります。 –