我必須爲大學項目設計一個用戶帳戶/配置文件表。基本的想法,我有如下:用戶配置文件數據庫設計
- 用戶帳戶(電子郵件,用戶名,PWD,以及很多其他的領域)
- 用戶資料表的表。
在我看來,有兩種方法可以模擬一個用戶資料表:
把所有的字段的表 [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
。
您對這種模式有何看法?
一個缺點是要收集單個用戶的所有配置文件信息,現在我必須進行連接。
第二個缺點是字段'FieldContent'的類型爲varchar
。如果我想要它是另一種類型(int
,float
,date
,FK到另一個列表框等)?
您已解決此問題? – JCM