【发布时间】:2011-05-19 05:33:04
【问题描述】:
我正在我的网站上创建用户个人资料,但不知道如何设计:有很多字段,有些是 1:1,例如居住城市、生日等。但是有 50 多个字段是 1:many (或多对多?)比如最喜欢的电影、运动队、约会偏好、网名、电话号码、电子邮件地址等。当我们有以前工作过的公司、以前的学校等时,情况会变得更加复杂。一个人可以属于许多公司而且这个组里有很多字段,比如工作日期、部门、公司名称、行业名称等。
所以问题是如何存储所有这些?如果我们对所有这些配置文件字段进行规范化,将会有很多很多表要加入。据我所知,对于社交网络,人们推荐一种非规范化的方法。但无论如何,我将所有用户详细信息和个人资料详细信息存储在主用户表中,因此每一行都是唯一用户。如果我必须存储所有这些多重偏好,特别是喜欢的电影可以进入数百个和过去的公司本身有一个完整的字段组,所以用户表中会有很多重复项。
社交网络对此采取什么方法?
【问题讨论】:
标签: php mysql database schema social-networking