我应该为社交网络数据库的用户及其配置文件创建单独的表吗?

时间:2011-02-18 05:06:09

标签: database-design social-networking

我想为社交网络设计一个数据库,为用户提供配置文件。我应该为用户及其配置文件使用单独的表,还是仅为用户及其中的所有属性使用一个表?

3 个答案:

答案 0 :(得分:3)

如果你想变大,那么为用户单独做一个。

同一桌面中用户和属性的优势:

  • 更简单的SQL查询。
  • 如果你认为你总是需要这些属性,那么就少了一个。

单独表的优点:

  • 在现实生活中,你并不总是需要属性。
  • 当您需要将其他内容与用户配对时,您不需要所有属性。

答案 1 :(得分:0)

将它们分开,用户和配置文件松散耦合从长远来看会很有帮助。个人资料可以是社区,群组也可以是用户,因此我建议将它们分开。

答案 2 :(得分:0)

如果您要使用关系数据库,我建议使用单独的表(规范化,外键等)

如果您有兴趣尝试其中一个文档存储数据库(例如,MongoDB,CouchDB,RavenDB),那么我会首先考虑您访问用户时是否正常访问属性。如果是这样,那么您应该将属性作为嵌入文档放在用户中。

祝你好运!