首页 文章

用于存储用户配置文件的更好的数据模型是什么?

提问于
浏览
2

我正在研究关系数据库的数据模型,我必须存储用户信息以及用户的 Profiles ,如教育水平,个人兴趣,爱好等 . 类似于大多数社交网站或任何其他系统允许您构建配置文件 .

我无法确定将所有这些信息存储在一个Users表中是否更好,或者将其分成两个表 .

如果我将它分成两个表,我会有Users表,只存储UserID,Name,e-mail,DOB,gender .

UserProfiles将存储与配置文件相关的其余内容,与Users表共享相同的UserID

3 回答

  • 2
    • 如果单个用户有多个配置文件意味着一对多关系,那么我建议您创建2个表,一个是用户,另一个是用户配置文件 .

    • 如果一个用户只有一个配置文件,那么您应该只创建一个表,其中包含User和profile两个属性 .

  • 3

    采用更模块化的设计,这将提供更大的灵活性和控制 . 如果您打算经常查询相同的数据,我建议将数据保留在单个表中的唯一时间 .

    有一篇很好的文章here深入探讨了为什么连接很昂贵 . 您应该最终根据链接中提供的信息做出决定,但正如我之前提到的,如果您计划经常一起查询两个表,那么请将数据保存在单个表中 .

  • 1

    我认为,为了决定选择哪种数据模型,只需查看一些类似的需求Datamodels,它们在this Datamodel Library中显示 .

    特定于您的用户配置文件Datamodel要求,this link may be useful .

    希望这些链接有用 . 或者我得到了描述facebook类型数据模型的数据模型图像:

    enter image description here

相关问题