大学のプロジェクトのユーザーアカウント/プロフィールテーブルを設計する必要があります。私が持っている基本的な考え方は以下の通りである:ユーザープロフィールのデータベースデザイン
- ユーザアカウント(メール、ユーザ名、PWD、および他の分野の束)
- ユーザー・プロファイル・テーブル用のテーブル。
ユーザー・プロファイル・テーブルをモデル化するための2つの方法があるように私には思える:
は、テーブル内のすべてのフィールド [UserProfileTable]
UserAccountID (FK) UserProfileID (PK) DOB Date Gender (the id of another table wich lists the possible gender) Hobby varchar(200) SmallBio varchar(200) Interests varchar(200)
を入れて...
共通フィールドをテーブルに入れ、ProfileFieldNameテーブルを設計します。これはですすべてのフィールドが必要です。たとえば、次のように
[ProfileFieldNameTable] ProfileFieldID int (PK) Name varchar
名前は「利益」など、「趣味」、「バイオ」になります...最後に、私たちは、プロファイルフィールドを持つプロファイルを関連付けるテーブルを持っています:
[ProfileFieldTalbe]
ProfileFieldID int (PK)
UserProfileID FK FK
FieldContent varchar
'FieldContent'は、趣味、ユーザーの趣味、興味などについての小さなテキストを保存します。
この方法は拡張可能です。つまり、このようにフィールドを追加するとINSERT
に対応します。
このスキーマについてどう思いますか?
1つの欠点は、1人のユーザーのすべてのプロファイル情報を収集するために、今は参加する必要があることです。
フィールド 'FieldContent'がタイプvarchar
であるという欠点があります。何か別のタイプ(int
、float
、date
、FKとリストボックスなどの別のテーブル)にしたい場合はどうすればいいですか?
これを解決しましたか? – JCM