【发布时间】:2017-02-11 08:23:06
【问题描述】:
我仍在扩展和开发我的应用程序。
我目前有一个包含 35 列的用户表。我搜索了我的问题,但如果我做对了还是错了,我仍然有点困惑。有人说用户表,有人说做关系。
在用户表中,除了 id、用户名、电子邮件和密码,我还存储每个用户拥有的真实姓名、完整地址、年龄、个人资料图像名称、国家、社交网址、高级帐户(开/关)等
在我的应用程序中,每个用户都有一个个人资料页面,我通过用户名(唯一)查询用户表以查看用户是否存在,如果是,我从用户表中获取我想要的内容,而不是加入和建立关系表等
我应该保持原样还是更好地将用户表拆分为关系前。 user_details(简历、图片名称、国家等)和 user_settings(高级、电子邮件通知等)?
我与我的应用程序的其他部分有关系,但你我似乎无法理解为什么有些人更喜欢做一个关系表来存储用户国家和其他相关信息。任何想法将不胜感激。
【问题讨论】:
-
没有正确或错误的答案,这是一个设计问题,您的设计应该反映您自己的业务需求。
-
35 列是可以接受的,我想说的是,您应该在必要时开始将信息拆分到新表中。在您的示例中,我可能会将“社交网址”存储在另一个具有 1-N 关系的表中,仅此而已。那是因为一个用户可以有很多社交网址
-
表格是否“大”(例如,简历、图片)?快速变化(喜欢)?
-
就用户而言,这些表都不是很大,但是是的,我在用户表中存储了一个图片名称,bio。我用于个人资料查看的一般信息。至于社交链接,这些链接是固定的,因此用户此时无法添加更多。
标签: mysql database-design