0

ユーザープロファイルを作成していますが、プライバシーレベルのスキーマに関する質問がいくつかあります。

プロファイルの詳細->Facebookのように、誕生日、性別、場所、興味、関係、ユーザーのフルネームなどの複数のフィールドがあります。データベースの観点から-これはどのように行われますか?私はMySQLを使用しているので、最初にプライバシーレベルはMySQLでうまく機能しますか、それとも非リレーショナルDBが必要ですか?次に、フィールドレベルにプライバシーを割り当てるには、次のようにします。

オブジェクトテーブル->プロファイルフィールド1、プロファイルフィールド2、.....
プライバシールックアップテーブル->友達= 1、友達の友達= 2、全員= 3、ブロックリスト= 4、...
ユーザーオブジェクトテーブル->プロファイルフィールド1にはプライバシールックアップ1があります(つまり、フィールド2は友達のみに設定されています)?

上記は固定リストのプライバシーレベルではうまく機能しますが、たとえばリスト以外のプライバシーレベルがある場合、たとえば、人物X、Y、Zをブロックし、Aという名前のユーザーにのみ表示させたい場合、これには固定レベルはありません。では、これをスキーマレベルでどのように表現するのでしょうか。

これはファイルレベルですが、プライバシーは個々の写真や個々のビデオなどのより高いオブジェクトレベルでもあります。それで、これを設計する方法をガイドするために使用するDBに関する一般的な提案/基本スキーマはありますか?

ありがとう。

4

1 に答える 1

0

あなたができることは、プライバシーの無制限のリストを可能にするエンティティ関係モデリングを実装することです.

このようなテーブルを持つことができます:

Privacy
id    varchar(36)
label text()

IsPrivacyActivated
privacyid      varchar(36)
isActivated    boolean

UserPrivacy
userid   varchar(36)
privacyid varchar(36)

このようにして、上で述べたすべての機能を非常に簡単に実装できます。

お役に立てれば幸いです。

于 2010-11-15T15:45:10.550 に答える