用户表数据库最佳实践

时间:2012-06-04 17:59:54

标签: database database-design

我想知道组织用户数据的最佳做法是什么。

我应该将每行的所有用户数据存储在一个表中,还是应该将其切割成较小的块并使用多个与主键相关的表?

例如。

首先,我想记录姓名,职业,位置等个人信息。 最终可以选择添加使用历史记录。如他们填写了多少和哪些调查以及他们评论了哪些文章。

在键入此内容时,我有一个表用于注释用户名+密码的表,个人信息表以及随着我的需求增长而不断添加表...

虽然想要一些确认。

2 个答案:

答案 0 :(得分:8)

如果要有一对多的关系,那么你应该把它拆开,但对于一对一的事情你不应该。因此,如果用户将拥有多个地址,电话号码,历史记录,朋友等,那么您将拥有与客户ID相关联的地址表(或电话号码,历史记录或朋友表)。

对于用户名和密码,您不需要单独的表格。

答案 1 :(得分:1)

最佳做法是优化您的数据库,或者您真的想要首先组织用户数据,因为您可以通过加入不同的表格轻松跟踪整个用户数据

SELECT * FROM user_A a INNER JOIN userdata_B b ON a.id=b.a_id

如果用户包含多个记录,例如名称name2,Occ​​up1,Occup2,location1,location2等,那么您必须创建多个表并将此记录填充到这些表中,因为如果将整个用户数据填充到单个表中,结果将花费很多执行时间

此后应用索引.......