【问题标题】:Social Network Database社交网络数据库
【发布时间】:2011-04-10 06:43:37
【问题描述】:

我正在为我的社交网站项目构建数据库。我的数据库必须保存许多用户帐户的信息。每个用户都有一个配置文件,该配置文件包含各种信息。帐户所有者应该能够设置每个配置文件信息的隐私(私人或公共)。我想知道我应该如何跟踪每个个人资料详细信息的这些隐私选项。有一个名为 Privacy 的表,其列是详细信息,值是隐私选项,这是一个好的设计吗?任何人都可以给我一个想法吗?谢谢

【问题讨论】:

  • 是的,这是我的学期作业

标签: database-design social-networking


【解决方案1】:
User(ID, Name)
ProfileInfo(ID, Name, CanSetPrivate)
Profile(User_ID, Profile_ID, Value, IsPrivate)

【讨论】:

  • 感谢您的帮助。这是我最初的想法,但我担心这会导致数据库中有很多行。我想知道这种结构在现实世界中是否常见?就像 facebook、myspace 之类的网站......如何做
  • 行数不是问题。 1000 万访问者,100 条个人资料信息,只有 10 亿条个人资料行。但是将Profile 列(例如,使用XML 结构化)直接存储在User 表中可能会更有效,并将所有配置文件信息放在一个位置。
  • 使用 XML 结构将许多配置文件信息存储在一列中对我来说听起来不错。这种方法有什么潜在的问题吗?
  • 如果您删除 ProfileInfo(或更新其 ID),您将无法删除(或更新)相应的值。您将无法(无法手动管理一些辅助索引,或者您的数据库提供索引计算列)有效地检索用户个人资料中的用户(例如,EducationLevel>College 和 Savannah 附近的 BirthPlace)...
  • ...但我终于注意到您没有在架构中提到 SQL。这可能不是其他数据库的问题,例如哦...
猜你喜欢
  • 1970-01-01
  • 2012-02-27
  • 1970-01-01
  • 2011-03-21
  • 2021-04-22
  • 2016-10-02
  • 1970-01-01
  • 1970-01-01
  • 2014-01-31
相关资源
最近更新 更多