【发布时间】:2011-02-18 05:06:09
【问题描述】:
我想为社交网络设计一个数据库,为用户提供个人资料。我应该为用户及其个人资料使用单独的表格,还是只为用户和其中的所有属性使用一个表格?
【问题讨论】:
标签: database-design social-networking
我想为社交网络设计一个数据库,为用户提供个人资料。我应该为用户及其个人资料使用单独的表格,还是只为用户和其中的所有属性使用一个表格?
【问题讨论】:
标签: database-design social-networking
如果你想做大,那就为用户做一个单独的。
用户和属性同表的优势:
分表的优点:
【讨论】:
如果您要使用关系数据库,我会推荐一个单独的表(规范化、外键等)
如果您有兴趣尝试其中一个文档存储数据库(例如 MongoDB、CouchDB、RavenDB),那么我会首先考虑您是否在访问用户时通常访问属性。如果是这样,那么您应该将属性作为嵌入文档放置在用户内部。
祝你好运!
【讨论】:
将它们分开,用户和配置文件松散耦合从长远来看会有所帮助。个人资料可以是社区、组,而不仅仅是用户,所以我建议将它们分开。
【讨论】: