我正在尝试为社交网站设计数据库。我正在将配置文件表的字段链接到其他表但仍然停留在某些点上。请参阅个人资料表中的一些列,并建议我很好地设计
第1场:家乡 将此字段与城市表联系起来
字段2:移动 直接值不需要链接
第3场:教育 这个字段将再次包含像degree,college,passing_yr等子字段,所以我正在准备具有user_id_fk的单独映射表
user_id_fk |度}学院| passing_yr
u_101 | BCA | Some College | 2005
u_101 | MCA | Some College | 2008
字段4:电子邮件ID 用户可以拥有> = 1个电子邮件ID,其中1是主要的,其他是可选的。可能存在我尚未决定的电子邮件ID数量的上限。我应该为这个领域单独的映射表
第5场:朋友 计划创建包含2列的映射表。两列都有user_id_fk
字段6:网站 用户可以拥有任意数量的站点。像数据一样创建XML&放入配置文件表的站点列,可能不是一个好主意。我为教育(第二场)映射设计创建单独的表可能是一个很好的设计,但我不确定。
第7场:社交ID 用户可以拥有任意数量的社交ID,例如facebook,twitter等。这里既没有字段名称,也没有其值或该列的重复条目数(用户拥有多少社交ID)。
请建议性能良好的数据库的良好设计,并且必须能够轻松地提取任何细节。例如;一个站点的所有者数量,是否有任何其他用户具有相同的电子邮件ID,互助等等。