【问题标题】:Quick tips on relational database design for MySQLMySQL 关系数据库设计的快速提示
【发布时间】:2009-07-14 01:26:56
【问题描述】:

我正在制作一个 Web 应用程序,用于存储用户信息以及他们对应用程序的偏好。这值得分成两个数据库吗?我在想一个表“用户”,字段“id,useridfromFacebook,facebookRealName”(所以 1, 52052025295,Alex McP),然后有一个表“首选项”,字段“id,useridfromFacebook,电子邮件,颜色,SomeQuoteorSomething”(4 , 52052025295, 1, 441155, '只有年轻的好人')

我从来没有学过数据库设置,但这似乎会限制数据库的负载,因为当用户通过身份验证并安装了应用程序时,我只需要查询首选项表,如果(isset($fbauthboolean)) 什么的。

想法?我可以澄清一下吗?

谢谢!

我在原始帖子中混淆了“数据库”和“表”这两个词。已编辑。我只有一个带有多个表的数据库,但都与同一个用户有关。一个表包含 NAME 数据,另一个表存储 PREFERENCES 类型数据

【问题讨论】:

  • 请注意,来自 Facebook API 的用户信息在您被允许存储的内容方面受到严格限制。确保你的应用被允许存储他们的“facebookRealName”之类的东西。
  • 好点,谢谢。开始使用 FB 时,有很多事情需要考虑;我只是让 FootPrints 应用程序自己工作,而这都是预先制作的代码。嗯,这就是它的乐趣!

标签: mysql database-design relational


【解决方案1】:

我认为您不需要两个数据库,但您可能希望在同一架构中使用不同的表。

我真的很喜欢 Toby Teorey 的 "Database Modeling and Design"。看看你是否同意。

我也喜欢Database Programmer blog。很有帮助,写得很好。

如果你不想买书,你可能想谷歌标准化。

【讨论】:

    【解决方案2】:

    对于您的偏好表,我会选择类似

    Preferences( pref_id, facebook_id, preference, value)
    

    偏好是一些代码,例如“Quote”、“AboutMe”等,而 value 是一个字符串。

    您甚至可以有一个带有“QUOTE”、“Funny Quote”/“ABOUTME”、“About Me”等列表的preference_value 表

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多