关于MySQL关系数据库设计的快速提示

时间:2009-07-14 01:26:56

标签: mysql database-design relational

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

我从未接受过有关数据库设置的教育/学习,但这似乎会限制数据库的负载,因为当用户通过身份验证并安装了应用程序时,我只需查询首选项表(isset($ fbauthboolean))或其他东西。

思考?我可以澄清一下吗?

谢谢!

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

2 个答案:

答案 0 :(得分:2)

我认为您不需要两个数据库,但您可能需要在同一模式中使用单独的表。

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

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

如果您不想购买图书,可能需要Google进行规范化。

答案 1 :(得分:0)

对于你的偏好表,我会像

那样
Preferences( pref_id, facebook_id, preference, value)

在哪里偏好是某些代码,如'Quote','AboutMe'等,而value是一个字符串。

您甚至可以拥有一个preference_value表,其中包含'QUOTE','Funny Quote'/'ABOUTME,'About Me'等列表