我必须为大学项目设计一个用户帐户/配置文件表。基本的想法,我有如下:用户配置文件数据库设计
- 用户帐户(电子邮件,用户名,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